2013-01-09 2 views
1

2 개의 다른 테이블의 2 개의 기본 키를 다른 테이블의 1 개의 외래 키와 결합 할 수 있습니까? 나는 product_food라는 이름의 테이블을 기본 키로, product_drinks를 drink_id를 기본 키로 사용하고있다. 그런 다음 food_id와 drink_id를 내 주문 테이블의 외래 키로 product_ID로 결합하고 싶다. 그게 가능하니?다른 테이블의 기본 키 2 개를 다른 테이블의 하나의 외래 키

답변

1

당신이 그것을 해결할 수있는 방법은 여러 가지 내 머리의 상단에서,있다가 :

  1. 당신은 동일한 ID를 사용하여, 같은 테이블에 음식과 음료를 얻을, 그들은 다른 필드를 사용할 수 있습니다.
  2. 고유 한 ID를 사용하여 테이블 제품을 만들고 음식과 음료에 제품 ID가 있어야합니다.
  3. orders 테이블에서 Null 허용 외래 키 food_id, drink_id를 만들고 가능하면 사용할 테이블을 추가하십시오.
1

기본 키로 사용해서는 안됩니다. 다른 Product_Id 기본 키를 정의하십시오.

식품 드링크 제품의 고유성이 필요한 경우 Food_Id 및 Drink_id라는 두 개의 열을 제품 테이블에 추가하고이를 외래 키로 설정하고 두 제품 모두에 고유 인덱스를 추가하여 신제품을 사용할 수 없게하십시오. 덧붙여서, 동일한 음식 음료 튜플로 만들었다.

초기 필요가 충분합니까?

관련 문제