-
DB 테이블 관계의 종류Data Base/관계형 데이터 모델링 2022. 5. 18. 16:38
1:1 관계(일대일 관계)
1:1 관계란 특정 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 가지는 것을 의미한다.
1:N 관계(일대다 관계)
1:N 관계는 한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것 을 의미한다.
현실세계에는 1:N관계가 많이 있는데, 실제 DB를 설계할 때 자주 쓰이느 방식이다.
1:N 관계는 N:M관계처럼 새로운 테이블을 만들지 않는다.
특정 테이블이 관계를 대상 테이블을 소유한다고(has a 관계) 표현한다.
또한 1:N의 관계를 계층 관계로 이해 할 수도 있다.
departments_manager - employees
여러 개가 되는 N입장에서는 (1)유일한 상위 테이블 중 어떤 테이블에 속해 있는지 표현해야 하므로
부모 테이블의 PK를 자식 테이블에 FK로 집어 넣어 관계를 표현한다.
부모 테이블(1)에서는 내 하위 테이블의 정보를 넣을 필요가 없고 자식 테이블(N)에서만 각각의 자식테이블의 레코드을이 부모 정보(FK)를 넣음 으로써 관계를 표현할 수 있다.
N:M 관계(다대다 관계)
N:M관계는 관계를 가진 양쪽 엔티티 모두에서 1:N관계를 가지는 것을 말한다.
즉, 서로가 서로를 1:N관계로 보고 있는 것이다.
departments - dept_emp - employees
N:M관계는 서로가 서로를 1:N관계, 1:M관계로 갖고 있기 때문에, 서로의 PK를 자신의 외래키 컬럼으로 갖고 있으면 된다.
일반적으로 N:M관계는 두 테이블의 대표키를 컬럼으로 갖는 또 다른 테이블을 생성해서 관리한다.
[출처 -https://velog.io/@gillog/DB-11-1N-NM-%EA%B4%80%EA%B3%84 ]
'Data Base > 관계형 데이터 모델링' 카테고리의 다른 글
데이터 모델링2 - 데이터 이해하기 (1) 2023.09.06 데이터 모델링1 - 데이터 모델링과 일상의 예시 (0) 2023.09.06 논리적 데이터 모델링 (0) 2022.01.01 Optionality (0) 2021.12.30 엔티티간의 연결 (0) 2021.12.30