정규화 규칙에 맞으면 1 : 1 관계를 정규화 할 수 있습니다 (정의상!). 즉, 1 : 1 관계에 대해서는 정상적인 형태를 따르는 것이 불가능합니다.
1 : 1 관계의 실용성에 대한 귀하의 질문에 대답하기 위해, 이것은 독특한 술어 (열)를 가진 하위 유형이있는 경우와 같이 완벽하게 유용한 구문 인 경우가 있습니다.
1 : 1 관계를 사용하는 이유는 관점에 따라 다릅니다. DBA는 모든 것을 성과 결정으로 생각하는 경향이 있습니다. 데이터 모델러와 프로그래머는 이러한 결정을 디자인 또는 모델 지향적이라고 생각하는 경향이 있습니다. 실제로, 이러한 관점들 사이에는 많은 중복이 있습니다. 그것은 당신의 관점과 우선 순위에 달려 있습니다. 1 : 1 관계에 대한 동기 부여의 예는 다음과 같습니다.
매우 넓은 열의 하위 집합이 있으며 성능상의 이유로 저장소에서 열을 물리적으로 분리하려고합니다.
자주 읽거나 업데이트되지 않는 열의 일부 하위 집합이 있으며 성능상의 이유로 자주 사용하는 열과 구분하기를 원합니다.
일반적으로 선택적인 일부 열이 있지만 레코드가 특정 유형임을 알면 필수입니다.
하위 유형에 논리적으로 함께 속하는 일부 열이 있으며 코드의 개체 모델에 맞게 열을 모델링하려고합니다.
엔터티 수퍼 유형의 일부 하위 유형에만 적용 할 수있는 열이 있으며 스키마에서 다른 하위 유형에 대해이 데이터가 없음을 적용하려고합니다.
엔터티에 속하는 일부 열이 있지만보다 제한적인 액세스 규칙 (예 : 직원 테이블의 급여)을 사용하여 이러한 특정 열을 보호해야합니다.
따라서 때로는 드라이버가 성능이고 때로는 모델 순도이거나 선언적 스키마 규칙을 최대한 활용하려는 욕구를 알 수 있습니다.