1:1 관계의 테이블 키제약조건 설정시 문의 0 1 975

by 게릴라 [DB 기타] 일대일관계 테이블관계 키제약조건 postgreSQL [2020.01.28 14:12:03]


안녕하세요.

postgreSQL DB에 1:1관계의 테이블이 있습니다.( A와 B테이블, A에 데이터가 인서트될 때 B에도 같이 인서트되는 로직이 있다고 가정할 때(A가 먼저 입력되고 그에 맞게 B에 입력되는 구조))

<X table : 기준정보테이블>

-company_cd ==> Primary Key

 

<A table : 서머리테이블>

-idx bigserial (auto increment) ==>Primary Key

-company_cd ==> Primary Key, Foreign Key ( X table의 company_cd )

-summary_info

 

<B table : 디테일 테이블>

-idx bigserial (auto increment)  

-company_cd 

-detail_info

 

A 테이블의 idx와 company_cd가 B 테이블의 idx와 company_cd와 1:1로 같게 데이터를 입력한다고 하면 (동시에 30개의 로우를 입력한다고치면 A와 B테이블에 각각 30개가 입력)

어떻게 키 설정을 해줘야할까요? 

1번)

<B table>

-idx bigserial (auto increment) ==> Primary Key 

-company_cd ==> Primary Key , Foreign Key  ( X table의 company_cd ) 

-detail_info

 

2번)

<B table>

-idx bigserial (auto increment) ==> Primary Key, Foreign Key  ( A table의 idx ) 

-company_cd ==> Primary Key , Foreign Key  ( A table의 company_cd ) 

-detail_info

 

3번)

<B table>

-idx bigserial (auto increment) ==> Foreign Key  ( A table의 idx ) 

-company_cd ==> Foreign Key  ( A table의 company_cd ) 

-detail_info

 

1:1 관계로 테이블 구성은 처음이라 헷갈려서 문의드립니다.

읽어주셔서 감사합니다.

 

by 마농 [2020.01.28 16:43:56]

B 의 idx 는 auto increment 하지 말고 A 의 idx 를 상속받아야죠.
즉, 2번) 구조에서 auto increment 빼면 될 듯 합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입