일대일 (1-0..1) 관계가있는 시나리오를 위해 데이터베이스를 설계한다고 가정 해 봅시다. 예를 들면 다음과 같습니다.
- 사용자 집합이 있으며 일부 사용자 도 고객 일 수 있습니다 .
따라서, 나는이 개 해당 테이블을 생성 users
하고 customers
,하지만 ...
… 주어진 SQL 플랫폼에서 이러한 상황을 표현하고 구현하는 가장 좋은 방법은 무엇입니까? 가능한 두 가지 해결책을 고려했습니다.
에서
users
테이블, 추가customer
로 FOREIGN KEY 참조 이어도 열customers
또는NULL
마크.customers
테이블 에서 테이블 을 가리키는user
열 (UNIQUE
제약 조건으로 설정 )을 포함users
하십시오.
이미 일부 포럼에서 비슷한 질문을했지만 그 대답은 기본적으로 "필요한 것", "편리한 것"입니다. 나는 이런 종류의 대답을 좋아하지 않습니다. 대신 DB 이론의 진지한 부분을 원합니다. 1-0..1 관계는 어디에서 읽을 수 있습니까?