다음은 내가 직면 한 문제를 나타내는 인위적인 예제의 스키마 그림입니다. 내가 확인 어떻게, SQL에서 그 문 (하우스와 문 청사진) 각 모두가 같은 집 청사진 부모를 부모 기록 :두 부모 레코드가 SQL에서 동일한 조부모 레코드를 갖도록하는 방법
내 질문입니까? 다시 말하면, 모든 출입 기록에 한 명의 House Blueprint 조부모 만 있는지 확인하려면 어떻게해야합니까?
이미 일대 다 관계를 지정하는 데 외래 키에 대한 모범 사례를 사용하고 있습니다. 문 인스턴스는 집을 기반으로하는 어떤 색상으로도 칠할 수 있기 때문에 문 테이블이 필요합니다. Doctor Blueprint 테이블이 필요합니다. 누가 문을 설계했는지 추적하고 싶기 때문입니다. 또한,이 고안된 예제에서 Door Blueprint는 하나의 상위 하우스 청사진 만 가질 수 있습니다 (현실적인 것은 아니므로 여러 청사진에서 Door Blueprint를 사용할 수 있다는 가능성을 무시하십시오).
내가 겪고있는 문제는 때때로 한 하우스 청사진에 부착 된 하우스 레코드와 다른 하우스 청사진 레코드에 첨부 된 도어 청사진을 가진 도어 레코드를 받는다는 것입니다. 이것은 결코 일어나서는 안됩니다. 그리고 아마도 내 레코드 삽입 논리에서이를 방지 할 수는 있지만 SQL 수준이 아닙니다.
Door의 House Blueprint로 돌아가는 경로가 두 가지 다르지만 나는 다른 방법을 사용하지 않는다고 생각합니다.
나는 코드 스 니펫 (code snippets)을 많이 찾지 않습니다. 구문을 직접 이해할 수 있기 때문입니다. 오히려, 나는에서 문제를 해결하기위한 높은 수준의 접근 방식 인 을 찾고있다. 또한 SQLite3을 사용하고 있지만이 문제는 모든 RDBMS에서 해결 될 수 있다고 상상합니다.
미리 감사드립니다.
높은 수준의 접근 방식은 * 모든 기능 종속성을 열거하고 가위로 실행하려면 5NF로 정규화하거나 BCNF로 표준화하는 것입니다. –