MS Access의 (유형, ID) (일명 '다형성')- 외래 키 열을 어떻게 만들려면?
문제
Ruby-on-Rails에서는 이것을 "다형성 연관성"이라고합니다.
나는 몇 가지가있다 Commentable
내 응용 프로그램의 물건은 각각의 테이블이 다음과 같습니다.
Post
id | title | text | author (FK:Person.id) | ...
Person
id | name | ...
Photo
id | title | owner (FK:Person.id) | path | ...
추가하고 싶습니다 Comments
다음과 같이 테이블 :
Comments
id | commentable_type | commentable_id | text | author (FK:Person.id)
이런 식으로 데이터베이스의 참조 무결성을 잃어버린다는 것을 이해하지만 다른 옵션은 여러 가지를 갖는 것입니다. Comments
테이블 : PostComments
, PersonComments
, PhotoComments
, ...
그리고 지금 질문을 위해 :
먼저 테이블 이름을 얻음으로써 조회를 수행하는 방법을 집교화하는 양식을 어떻게 구축 할 수 있습니까? Comments.commentable_type
그리고 나서 신분증 Comments.commentable_id
?
해결책
이 기술은 SQL 세계에서 구어체 적으로 '서브 클래싱'으로 알려져 있습니다. 작업 예제 (SQL Server Syntax이지만 MS 액세스에 쉽게 조정). David Porta의 블로그..
시나리오에서 모든 주석에 공통적 인 데이터 항목은 의견 테이블에 있습니다. 각 유형에 특정한 것은 복음 등과 같은 특수 테이블에 있습니다. FK는 ID의 2 열 화합물과 유형의 유형이어야합니다. Personcomments 테이블에 나타나는 사진 주석으로 입력 한 것을 원합니다.
다른 팁
나는 많은 사람들이 그런 종류의 메타 테이블을 만든다고 생각합니다. 당신이 설명한대로 정확히 정확히.
제휴하지 않습니다 StackOverflow