데이터 베이스 설계

ideafy·2023년 11월 27일

CS

목록 보기
4/17
post-thumbnail

DB 구축

  1. 데이터
  2. DB
  3. DBMS

DB 설계 단계

1) 요구사항 분석 - DB의 용도를 파악한다.

  • 결과물: 요구사항 명세서

2) 개념적 설계 - DBMS에 독립적인 개념적 구조 설계

  • 결과물: E-R다이어그램

3) 논리적 설계 - DBMS에 적합한 논리적 구조 설계

  • 결과물: 논리적 스키마

4) 물리적 설계 - DBMS로 구현 가능한 물리적 구조 설계

  • 결과물: 물리적 스키마

5) 구현 - DBMS에서 SQL문을 이용해 DB 생성

요구사항 분석

주요작업: 사용자의 범위 결정, 업무 분석, 요구사항 수집, 요구사항 명세서 작성

개념적 설계

주요작업: 개체 추출, 관계 설정, E-R 다이어그램 작성

논리적 설계

주요작업: E-R 다이어그램 -> 릴레이션 스키마로 변환, 제약 조건 설정, 결과 문서화

  • E-R 다이어그램 -> 릴레이션 스키마 변환 규칙

    1) 모든 개체는 릴레이션으로 변환한다.
    2) 다대다(n:m) 관계는 릴레이션으로 변환한다.
    3) 일대다(1:n) 관계는 외래키로 표현한다.
    4) 일대일(1:1) 관계는 외래키로 표현한다.
    5) 다중값 속성은 독립적인 릴레이션으로 변환한다.

1) 모든 개체는 릴레이션으로 변환한다.

복합 속성은 복합 속성을 구성하는 단순 속성만 속성으로 변환한다.
(복합 속성의 예: 주소)
(단순 속성의 예: 우편 주소, 기본 주소, 상세 주소)

2) 다대다(n:m) 관계는 릴레이션으로 변환한다.

  1. 관계 릴레이션에 n-side, m-side의 기본키를 외래키로 참조하고 기본키로 설정한다.
  2. n-side, m-side의 기본키를 외래키로 참조하고 기존 관계 릴레이션의 후보키를 기본키로 설정한다.

3) 일대다(1:n) 관계는 외래키로 표현한다.

  1. 일반적인 1:n 관계는 외래키로 표현한다.
  • 1-side의 기본키를 n-side에 외래키로 참조한다.
  1. 약한 개체가 참여하는 1:n 관계는 외래키를 포함해서 기본키를 지정한다.
  • n-side의 기본키 = (기존 기본키, 1-side 기본키)

4) 일대일(1:1) 관계는 외래키로 표현한다.

  1. 일반적인 1:1 관계는 외래키를 서로 주고 받는다.(불필요한 데이터 중복이 발생할 가능성이 있다.)
  2. 필수적으로 참여하는 개체 릴레이션만 외래키를 받는다.
  • 1:1 관계에서 필수로 참여하는 개체가 있다면 상대의 기본키를 외래키로 참조한다.
  1. 모든 개체가 필수적으로 참여하면 릴레이션을 하나로 합친다.
  • 1:1 관계가 상호 필수 관계(서로 관계에 필수 참여)이면 새로운 릴레이션을 만들고 서로의 기본키를 외래키로 참조하고 기본키를 설정한다.

5) 다중값 속성*은 독립적인 릴레이션으로 변환한다.

(다중값 속성: 여러 입력이 들어갈 수 있는 속성, ex.직원 - 부하직원)

기타 고려 사항

  1. 모든 관계는 독립적인 릴레이션으로 변환이 가능하다.
  2. 순환 관계는 자신의 기본키를 외래키로 참조한다.
profile
재밌게 공부하고 싶어요

0개의 댓글