시스템에 3 가지 유형의 사용자가 있습니다.테이블 상속 - 구조 문제
BaseUser(base_user_id, username, password, additional common data)
base_user_id는 PK이며, 신원
UserType1(user_id, data related to type1 only)
USER_ID가
UserType2(user_id, data related to type2 only)
USER_ID는 PK와 FK이다 base_user_id하는 PK와 FK이다 : 각 유형은 나는 다음과 같은 테이블을 만들어 서로 다른 정보 있다 to base_user_id
UserType3(user_id, data related to type3 only)
user_id는 PK이며 base_user_id는 FK입니다.
이제 각 유형의 사용자와 창고 테이블 간의 관계가 있습니다. type1 및 type2의 사용자는 warehouse_id 만 가져야하고 type3의 사용자는 warehouse_id 및 customer_id가 있어야합니다.
WarehouseOfUser(base_user_id,warehouse_id)
base_user_id은 구조 2 허용 FK가
문제가
WarehouseOfTyp3User(base_user_id,warehouse_id, customer_id)
base_user_id이 BaseUser에 base_user_id하는 FK입니다 BaseUser에 base_user_id하는 것입니다
나는이 구조에 대해 생각 보호하려는 것 : 1. type2 또는 type1의 사용자 WarehouseOfTyp3User 데이터에 추가하십시오. 2. type3에서 사용자의 WarehouseOfUser 데이터에 추가하십시오.그런 경우에 가장 적합한 구조는 무엇입니까?
업데이트 : 모든 사용자 유형에 대해 동일한 ID의 범위를 사용해야합니다. 각 테이블마다 동일한 user_id가 필요하기 때문에 각 사용자마다 별도의 테이블을 만들 수 없습니다.
내 업데이트를 참조하십시오. 모든 사용자 유형 ID를 동일한 테이블에 넣어야합니다. – Naor