중간 테이블의 복합 기본 키에있는 속성이 null일까요? 나는 삼항 관계가 있고 두 엔티티에는 하위 클래스가 있습니다. 서브 클래스에는 고유 한 기본 키가 있습니다. 중간 테이블의 기본 키는 하위 클래스 기본 키 (아래 이미지 참조)로 구성되므로 일부 속성이 null 일 때가 있습니다.3 진 관계의 서브 클래스 매핑
중간 테이블로 주문했습니다. 이러한 속성이 null 일 때가있을 것입니다. 예를 들어 고객이 레스토랑 메뉴에서 상품을 주문하면 음식 주문 ID는 null이됩니다. 이런 식으로해도 괜찮습니까? 어떻게해야하지 않습니까?
중간 주문() 테이블의 경우 메뉴 하위 클래스 테이블 레스토랑 및 케이터링 메뉴에서 오는 두 개의 기본 키를 바꿔야합니까? 따라서이 두 키를 수퍼 클래스 메뉴의 기본 키로 대체 한 다음 세 개의 외래 키를 사용하여 기본 키를 다시 세 테이블에 연결하십시오. – Rubiks
'orders'는'customer_id'와'menu_id' 외래 키를 가져야합니다. 각각의 단일 열은'customers'와'menus'의 단일 열 기본 키를 참조합니다. 레스토랑 및 케이터링 메뉴를 별도의 테이블로 분리해야하는 경우 (한 테이블의 스파 스 데이터가 세계에서 가장 나쁜 것은 아닙니다!), 'menus'에는 'restaurant_menu_id'및 'catering_menu_id'가 있어야합니다. 외래 키. 어느 쪽이든은 null가됩니다. 점검 제한 조건을 사용하여 최소한 하나의 값이 있는지 확인하십시오. – dmfay