본문 바로가기
DB/DB_Modeling

1:1 관계

by Mr.DonyStark 2023. 10. 24.

○ 부부관계
당사자의 입장에서 상대를 보더라도 반드시 단하나씩 관계를 가지는 것을 의미
일부일처제인 혼인 제도에서, 즉, 한 남자는 한 여자와 한여자는 한남자와 결혼할 수 밖에없음. 부인 또는 남편을 2명이상 둘 수 없음
이런 관계를 1:1 관계라고 개념 상 하나라도 합쳐도 전혀 관계가 없음

테이블간의 PK가 외래키, 외래키는 PK로 1:1 참조하고 있는 형태임. 이와 같은 상황에서 특정 테이블에 대한 신랑ID 또는 신부ID를 삭제시 오류 발생함. 이유는 서로 참조하고 있는 관계이자 데이터가 적재되어있는 상황이기 때문

활용 쿼리문

--데이터 다중삽입
insert into 신랑
values(1,'홍길동', null),
(2,'김길동',null),
(3,'김두한',null)

insert into 신부
values(1,'어우동', null),
(2,'황진이',null),
(3,'대장금',null)

--데이터 수정
update 신랑 set 신부ID = 1 where 신랑ID = 1
update 신랑 set 신부ID = 2 where 신랑ID = 2
update 신랑 set 신부ID = 3 where 신랑ID = 3

update 신부 set 신랑ID = 1 where 신부ID = 1
update 신부 set 신랑ID = 2 where 신부ID = 2
update 신부 set 신랑ID = 3 where 신부ID = 3

--full outer join
select * from 신랑 a
full outer join 신부 b on a.신랑ID = b.신랑ID

--해당 쿼리 실행시 오류발생 : 1:1관계이며 서로 참조하는 관계이자 상황에서 삭제시 오류발생
delete 신랑 where 신랑ID = 1

 

'DB > DB_Modeling' 카테고리의 다른 글

정규화 INTRO  (0) 2023.10.26
Anomaly : 데이터 이상현상  (1) 2023.10.25
M:N 관계  (0) 2023.10.16
1:M 관계와 재귀적 관계 (part 3)  (0) 2023.10.13
1:M 관계 (part 2)  (0) 2023.10.12