MS Access의 (유형, ID) (일명 '다형성')- 외래 키 열을 어떻게 만들려면?

StackOverflow https://stackoverflow.com/questions/154209

  •  03-07-2019
  •  | 
  •  

문제

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 테이블에 나타나는 사진 주석으로 입력 한 것을 원합니다.

다른 팁

나는 많은 사람들이 그런 종류의 메타 테이블을 만든다고 생각합니다. 당신이 설명한대로 정확히 정확히.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top