「다형과 참조 배열」로 돌아가기
9. 선택 기준
| 데이터의 성질 | 사용하는 것 |
|---|
| 변종이 카탈로그이고 여러 곳이 같은 것을 가리킴 | 테이블마다 컬럼 하나, 각각 foreign. 3절이 이것을 선언 하나로 접으려 했고, 되돌렸습니다 |
| 값이 어느 테이블의 id이기만 하면 됨 — 행에 닿을 필요가 없음 | 검사 refs=A;B (참조가 내는 이름 §6) |
| 변종이 그 행에만 종속되고 id를 부여할 가치가 없음 | 다형 레코드(5절) |
| 원소 개수가 행마다 다르고 각 원소의 형태도 다름 | 다형 레코드 + 멀티 로우(5.3) |
검토 §5.2는 참조 경로로 한 벌 작성해 보고 실측한 다음에
값 임베딩을 판단하는 순서를 정했습 니다. 그 순서는 지켜졌지만 결론이 달라졌습니다 — 실측이
참조 경로를 되돌리는 근거가 되었고(참조가 내는 이름 §5),
값 임베딩의 판단은 6.1절이 구현 없이 마쳤습니다. 그래서 5절은 3절의 뒤가 아니라
그것만으로 성립합니다.
10. 담지 않는 것
| 무엇 | 근거 |
|---|
$value — 변종의 값을 한 셀로 압축 | 주 레이아웃 §7의 1차 판정 그대로 거부합니다. sep 표기와 중복되는 두 번째 방법이 됩니다 |
| 다단 상속 · 변종의 변종 | 5.1 |
| 한 테이블이 추상 타입 여럿의 변종이 되는 것 | $type의 답이 여럿이 됩니다. 요구가 실측되면 그때 정합니다 |
| 다형 레코드의 순환 | DSL §9.2 그대로 DAG입니다 |
다형 참조와 점 표기(Table.Field)의 혼용 | 다중 대상이 이미 거부하는 자리입니다 |
| DB 익스포터의 다형 레코드 매핑 | 변종마다 컬럼 집합이 다르므로 테이블 매핑을 새로 정해야 합니다. 5절 이후의 별건입니다 |
11. 단계와 게이트