다음 표가있는 경우 (괄호 안에 PK가있는 경우) ...데이터베이스에 일대 다 관계를 올바르게 작성하려면 어떻게해야합니까?
Store { [StoreCode], PhoneNumber, Address, ...}
StoreHours { [id], DayofWeek, Open, Close, ClosedDate }
이제 내 생각에는 모든 상점에서 같은 시간 &를 사용하지 않을 것입니다. "OpenTimeA
, OpenTimeB
, OpenTimeC
, CloseTimeA
, CloseTimeB
, ..."과 같이 Store 테이블에 여러 개의 열을 만드는 대신 관계 테이블을 만들 수 있습니다. 그러나, 나는 그 (것)들을하기에 익숙하지 않고, 처음으로 그것을 바로 얻고 싶다. 여기 내가 위의 테이블에 추가하는 생각은 ...
Has_a { [StoreCode, id ] }
내 질문은 내가 이런 식으로 할 경우 ...
더 좋은 방법은 무엇입니까? 테이블을
Has_a
보다 더 크게 만들거나 이름을 지정하여 상점에 대한 여러 유형의 관계에 사용할 수 있습니다. 예를 들어 다른 테이블Managers
를 추가하고Has_a
테이블에 관리자 ID를위한 열을 추가하십시오.like ...
StoreInformation { [StoreCode], TimeId, ManagerId, ...}
내가이 작업을 수행하더라도 상점 코드 외에 정확하게 동일한 여러 레코드가있을 확률은 얼마입니까? – daveomcd
UNIQUE 제약 조건이기도 한'PRIMARY KEY' 제약 조건 때문에 여러 개의 동일한 레코드를 가질 수 없습니다. –
Doh! 고마워 하지마! 그리고 닫힌 날짜를 변형 시키려면 다른 테이블'StoreClosed {[SchoolCode, Closed (Date)]}'를 만들 수있을 것 같네요 ... – daveomcd