Database - RDBMS Relationship

iseon_u·2022년 7월 2일
0

Database

목록 보기
22/23
post-thumbnail

RDBMS Relationship 관계형 데이터베이스 설계


1:1 관계 One-to-one relationship

  • 하나의 레코드가 다른 테이블의 레코드 한 개와 연결된 경우
  • 1:1 관계는 자주 사용하지 않는다.

  • Member 테이블에 phone_id 는 FK 로써, Phonebook 테이블의 id 와 연결되어 있다.
  • 각 전화번호가 단 한 명의 유저와 연결되어 있고, 그 반대도 동일하다면, Member 테이블과 Phonebook 테이블은 1:1 관계
  • 1:1 관계면 직접 저장하는 게 나을 수 있다.

1:N 관계 One-to-many relationship ⭐

  • 하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우
  • 관계형 데이터베이스에서 가장 많이 사용

  • 한 명의 유저가 여러 전화번호를 가질 수 있으나 여러 명의 유저가 하나의 전화번호를 가질 수는 없다.

N:M 관계 Many-to-many relationship

  • 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우
  • N:M (다대다) 관계를 위해 스키마를 디자인할 때는 Join 테이블을 만들어 관리
  • 1:N (일대다) 관계와 비슷하지만 양방향에서 다수의 레코드를 가질 수 있다.

  • N:M 관계를 위한 테이블을 Join 테이블이라고 한다.
  • member_package 테이블에서는 회원 한 명이 여러 개의 상품을 가질 수 있고 하나의 상품이 여러 개의 회원을 가질 수 있다.
  • member_package 테이블은 member_id 와 package_id를 묶어주는 역할
  • member_package 테이블을 통해 어떤 회원이 몇 개의 상품을 구매했는지 어떤 상품이 몇 명의 고객을 가지고 있는지 확인 가능
  • 조인 테이블을 위한 기본 키는 반드시 있어야 한다.
profile
🧑🏻‍💻 Hello World!

0개의 댓글