본문 바로가기
MySQL/기본 개념 및 지식

[MySQL] 18. 관계 차수

글: Song hyun 2024. 6. 4.
728x90
반응형

[MySQL] 18. 관계 차수

1. 관계 차수란?

2. 테이블 차수와 관계 차수

3. 테이블 간의 관계 정의

 


1. 관계 차수란?

-관계 차수(Relation Degree)는 관계형 데이터베이스(RDBMS)에서 사용되는 용어이다. 테이블 간의 관계를 설명할 때 '일대일','일대다','다대일','다대다' 같은 용어로 관계를 설명하는데, 이들이 관계 차수이다.

 

고객 테이블과 구매 테이블을 살펴보고 어떤 관계인지 생각해보자.

 

 위의 사진에서 고객 테이블과 구매 테이블의 관계 차수는 1:N의 관계라고 할 수 있을 것이다.


2. 테이블 차수와 관계 차수

*테이블 차수와 관계 차수는 용어가 비슷해 혼동하기 쉽다. 각각의 특징을 인지하고 혼동하지 말자!

 

(1) 테이블 차수: 테이블 내의 컬럼 수를 나타낸다.

(2) 관계 차수: 두 테이블 간의 관게의 복잡성(관계 차수)를 나타낸다.


3. 테이블 간의 관계 정의

 

(1) 1:1 관계 (One-to-One Relationship)

-두 개의 테이블에서 각각 하나의 레코드가 서로 직접 매칭되는 관계이다.

-이 관계는 보통 서로 다른 테이블의 기본키와 외래키를 사용-연결한다.

-ex: 사람과 여권 (한 명에게 하나의 여권만 주어짐)

 

(2) 1:N 관계 (One-to-Many Relationship)

-한 테이블의 하나의 레코드가 다른 테이블의 여러 레코드와 매칭되는 관계이다.

-이 관계는 주로 한 테이블의 기본키가 다른 테이블의 외래키로 사용되어 연결된다.

-ex: 고객-주문 (한 고객이 여러 주문을 할 수 있음)

 

(3) N:1 관계 (Many-to-One Relationship)

-다수의 레코드가 한 테이블의 단일 레코드와 매칭되는 관계이다.

-이는 1:N 관계의 반대 개념이며, 구현 방식은 동일하다.

-ex: 주문-고객 (여러 주문이 한 고객으로부터 비롯된 것일 수 있음)

 

(4) N:M 관계(=다대다 관계)(Many-to-Many Relationship)

-두 테이블 간에 다수의 레코드가 서로 매칭된다.

-이 관계를 구현하기 위해 보통 중간 연결 테이블을 사용하여, 각 테이블의 레코드를 연결한다.

-연결 테이블은 각 테이블의 기본키를 외래키로 포함하며, 이들 외래키의 조합이 중간 테이블의 기본 키가 되기도 한다.

다대다 관계는 이해하기 난해한 개념이다.

관계  특징
1:1 관계 두 개의 테이블에서 각각 하나의 레코드가 서로 직접 매칭된다.
1:N 관계 한 테이블의 하나의 레코드가 다른 테이블의 여러 레코드와 매칭된다.
N:1 관계 다수의 레코드가 한 테이블의 단일 레코드와 매칭된다.
N:M 관계 두 테이블 간에 다수의 레코드가 서로 매칭된다.

 

 

728x90
반응형