[DB] 프로젝트를 위한 RDBMS 설계방법3 - 논리적 설계

Seungju Hwang·2021년 2월 25일
0

CS

목록 보기
3/10
post-thumbnail

Intro


앞서 저는 보드를 구독하고 글을 쓰는 커뮤니티에 대해 간단하게 요구사항을 분석해보고 개념적인 설계를 진행했습니다.

이젠 한단계 더 나아가 구체화 시켜서 RDBMS를 설계해보겠습니다.


1. 논리적 설계

  • 모든 개체는 릴레이션(Table)로 변환
  • N:M 관계는 릴레이션(Table)로 변환
  • 1:N 관계는 외래키로 표현
  • 1:1 관계는 외래키로 표현
  • 다중값 속성은 독립 릴레이션(Table)로 변환

1-1 모든 개체 ➡ 릴레이션(Table)

  • ER 다이어그램의 각 개체를 릴레이션(Table)으로 변환
  • 개체는 테이블, 속성은 테이블의 속성으로 변환!

1-2 N:M 관계 ➡ 릴레이션(Table)

  • 다대다 관계에서 관계는 릴레이션 이름, 관계속성은 릴레이션 속성으로 변환

1-3 1:N 관계 ➡ 외래키(FK)

  • 1:N 관계(일대다 관계)에서 1측 개체의 기본키를 N측 릴레이션에 포함시키고 외래키
    (FK, Foreign Key)로 지정한다.

1-4 1:1 관계 ➡ 외래키(FK)

  • 일반적 1:1 관계(일대일 관계)는 외래키(FK)를 주고 받는다.

1-5 다중값 속성 ➡ 독립 릴레이션

  • 릴레이션에서는 다중 값 속성을 가질 수 없으므로 다중 값 속성은 별도의 릴레이션으로 생성해야 한다.
  • 예) 하나의 보드가 5가지의 추가 기능이 있다고 할 때, 추가기능 정보를 담기 위해 보드 TABLE에 추가기능 컬럼을 5개 만들 순 없으니까, 별도의 추가기능 TABLE을 생성하고 외래키로 참조한다.

profile
기록하는 습관은 쉽게 무너지지 않아요.

0개의 댓글