Tech Log

[DataBase] 데이터베이스 관계(Relationship) 본문

Computer Science/DataBase

[DataBase] 데이터베이스 관계(Relationship)

yuhee kim 2023. 2. 13. 22:35

데이터베이스에는 여러 개의 테이블이 있고 이러한 테이블은 서로의 관계가 정의되어 있다.

이 관계는 관계화살표를 통해 나타낼 수 있다.

관계화살표는 다음과 같다.

 

출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=xxsaintxx&logNo=220518940689

 

1:1 관계

출처 : 면접을 위한 CS 전공지식 노트(2022)

어느 엔티티 쪽에서 상대 엔티티와 반드시 단 하나의 관계를 갖는 것이다.

 

예를 들어 위 그림처럼 유저 한 명 당 이메일이 한 개씩 존재한다면 유저와 이메일은 1:1 관계다.

테이블을 두 개의 테이블로 나눠 테이블을 구조를 더 이해하기 쉽게 만들어준다. 

 

1:N 관계

출처 : 면접을 위한 CS 전공지식 노트(2022)

한 개체가 다른 많은 개체를 포함하는 관계다.

한 쪽 엔티티가 관계를 맺은 엔티티 쪽의 여러 객체를 가질 수 있는 것을 말한다.

 

예를 들어 쇼핑몰을 운영한다고 가정하면, 한 유저당 여러 개의 상품을 장바구니에 넣을 수 있다.

이 경우 유저와 상품은 1:N 관계다.

하나도 넣지 않는 경우도 있으니 0이 포함되는 화살표를 그려야 한다.

 

N:M 관계

출처 : 면접을 위한 CS 전공지식 노트(2022)

관계를 가진 양쪽 엔티티 모두에서 1:N 관계를 가지는 것을 말한다.

N:M은 테이블 두 개를 직접적으로 연결해서 구축하지 않고

1:N, 1:M 이라는 관계를 갖는 테이블 두 개로 나눈다.

 

위 그림에서는 학생과 강의의 관계를 통해 N:M을 설명하고 있다.

학생도 강의를 많이 들을 수 있고 강의도 여러 명의 학생을 포함할 수 있기 때문에 학생과 강의는 N:M의 관계가 된다.

 

참조
  • 주홍철, 면접을 위한 CS 전공지식 노트, 길벗(2022)
  • gil.log

'Computer Science > DataBase' 카테고리의 다른 글

[DataBase] 정규화(Normalization)  (0) 2023.02.18
[DataBase] ERD(Entity Relationship Diagram)  (0) 2023.02.17
[DataBase] 키(Key)  (0) 2023.02.14
[DataBase] 필드 타입  (0) 2023.02.13
[DataBase] 데이터베이스의 구성  (0) 2023.02.13
Comments