관계 중 하나가 선택 사항 인 동안 다 대일 관계의 두 계층 수준을 정규화하는 방법은 무엇입니까?

노암 스타이너

테이블이 3 개 있다고 가정합니다.

Table A           

| id      |
+---------+
| integer |

Table B

| id      | a_id                             | 
+---------+----------------------------------+
| integer | integer NOT NULL REFERENCES A(id)|

Table C

| id      | a_id                              | b_id                     |
+---------+-----------------------------------+--------------------------+
| integer | integer NOT NULL REFERENCES A(id) | integer REFERENCES B(id) |

b_idin Table CTable B어디에 있는 행만 참조해야합니다 .c.a_id = b.a_id

그 관계를 설계하고 테이블을 정규화하는 적절한 방법은 무엇입니까?

참고 문헌을 읽는 것도 환영합니다. 무엇을 찾아야할지 모르겠습니다.

컨텍스트 그래픽 예 :

Folder_
       |_File 
       |_File 
       |_SubFolder_
       |           |_File
       |_SubFolder_
       |           |_File
       |           |_File
       |           |_File
       |_SubFolder       

제 경우 에는 시스템의 태그처럼 표현 SubFolder되지 않습니다 Folder. 존재는 다른 기능없이 파일 그룹화를위한 것입니다.

혼란

3 개의 테이블이 필요하다고 가정하면 (단순성을 위해 여기에 언급되지 않은 다른 필드 때문에) 여러 필드를 사용하여 외래 키를 정의 할 수 있습니다.

ALTER TABLE C
   ADD CONSTRAINT FK_C_TO_B
   FOREIGN KEY(a_id, b_id)
   REFERENCES B(a_id,id)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관