3 minute read

데이터베이스 설계 단계

  1. 요구 사항 분석
    데이터베이스의 용도 파악
    결과물) 요구 사항 명세서
  2. 개념적 설계
    DBMS에 독립적인 개념적 구조 설계
    결과물) 개념적 스키마(E-R 다이어그램)
  3. 논리적 설계
    DBMS에 적합한 논리적 구조 설계
    결과물) 논리적 스키마(릴레이션 스키마)
  4. 물리적 설계
    DBMS로 구현 가능한 물리적 구조 설계
    결과물) 물리적 스키마
  5. 구현
    SQL문을 작성한 후 이를 DBMS에서 실행하여 데이터베이스 생성

데이터 모델링과 데이터 모델의 개념

데이터 모델링

현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정을 말한다.

2단계 데이터 모델링

  • 개념적 데이터 모델링
    현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업
  • 논리적 데이터 모델링
    개념 세계의 데이터를 데이터베이스에 저장하는 구조로 표현하는 작업

현실 세계 -> 개념적 모델링 -> 개념 세계 -> 논리적 모델링 -> 컴퓨터 세계

데이터 모델

데이터 모델링의 결과물을 표현하는 도구를 말한다.

  • 개념적 데이터 모델
    사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구
    예) 개체 - 관계 모델
  • 논리적 데이터 모델
    개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
    예) 관계 데이터 모델

개체 - 관계 모델(E-R model: Entity-Relationship model)

개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현

  • 핵심 요소 : 개체, 속성, 관계

개체 - 관계 다이어그램(E-R diagram)

개체 - 관계 모델을 이용해 현실 세계를 개념적으로 모델링한 결과물을 그림으로 표현한 것

개체 - 관계 모델

개체(entity)

현실 세계에서 구별되는 모든것
저장할 가치가 있는 중요 데이터를 가지고 있는 것
다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태, 즉 속성을 하나 이상 가지고 있다.
E-R 다이어그램에서 네모로 표현
예) 서점에 필요한 개체 : 고객, 책

속성(attribute)

개체나 관계가 가지고 있는 고유의 특성
의미 있는 데이터의 가장 작은 논리적 단위
E-R 다이어그램에서 타원으로 표현
예) 고객 개체의 속성 : 고객 아이디, 고객명

개체 타입(entity type)

개체를 고유의 이름과 속성들로 정의한 것
예) 고객(이름, 주소)

개체 인스턴스(entity instance)

개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
예) <홍길동, 서울시>

개체 집합(entity set)

특정 개체 타입에 대한 개체 인스턴스들을 모아놓은 것

단일 값 속성과 다중 값 속성

  • 단일 값 속성
    값을 하나만 가질 수 있는 속성
    예) 고객 개체의 이름, 적립금 속성
  • 다중 값 속성
    값을 여러개 가질 수 있는 속성
    예) 고객 개체의 연락처 속성, 책 개체의 저자 속성
    E-R 다이어그램에서 이중 타원으로 표현


하나의 고객이 여러개의 연락처를 가질 수 있다.

단순 속성과 복합 속성

  • 단순 속성
    의미를 더는 분해할 수 없는 속성
    예) 책 객체의 이름
  • 복합 속성
    의미를 분해할 수 있는 속성
    예) 고객 개체의 주소 속성(도-시-동 등으로 의미를 세분화할 수 있다.)
    E-R 다이어그램에서 속성 아래에 연결한다.

유도 속성

기존의 다른 속성의 값에서 유도되어 결정되는 속성
값이 별도로 저장되지 않는다.
E-R 다이어그램에서 점선 타원으로 표현

가격과 할인율로 판매가격을 유도할 수 있다.

키 속성(key attribute)

각 개체 인스턴스를 식별하는 데 사용되는 속성
모든 개체 인스턴스의 키 속성 값이 다름
둘 이상의 속성들로 구성되기도 한다
E-R다이어그램에서 밑줄로 표현
예) 고객 개체의 고객아이디 속성

관계(relationship)

개체와 개체가 맺고 있는 의미 있는 연관성
E-R다이어그램에서 마름모로 표현

관계의 유형

  • 관계에 참여하는 개체 타입의 수 기준
    • 이항 관계
      개체 타입 두 개가 맺는 관계
    • 삼항 관계
      개체 타입 세 개가 맺는 관계
    • 순환 관계
      개체 타입 하나가 자기 자신과 맺는 관계
  • 매핑 카디널리티 기준
    • 1:1관계
    • 1:N관계
    • N:M관계
  • 매핑 카디널리티
    관계를 맺는 두 개체 집합에서, 각 개체 인스턴스가 연관성을 맺고 있는 상대 개체 집합의 인스턴스 개수

관계의 참여 특성

  • 필수적 참여
    모든 개체 인스턴스가 관계에 반드시 참여해야 하는 것을 의미 E-R다이어그램에서 이중선으로 표현

  • 선택적 참여
    개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미


모든 고객은 책을 반드시 구매해야 하며 고객이 구매하지 않은 책이 존재할 수 있다.

관계의 종속성

  • 약한 개체(weak entity)
    다른 개체의 존재 여부에 의존적인 개체

  • 오너 개체(owner entity)
    다른 개체의 존재 여부를 결정하는 개체

오너 개체와 약한 개체는 일반적으로 일대다의 관계를 가지고, 약한 개체는 오너 개체와의 관계에 필수적으로 참여하는 특징이 있다. 약한 개체는 오너 개체의 키를 포함하여 키를 구성하는 특징이 있다. E-R다이어그램에서 약한 개체는 이중 사각형으로 표현하고 약한 개체가 오너 개체와 맺는 관계는 이중 마름모로 표현한다.


직원 개체는 오너 개체, 부양가족 개체는 약한 개체이다. 하나의 직원에 부양가족이 여럿일 수 있지만 반대는 되지 않는다. 부양가족이 없는 직원은 있을 수 있지만 반대는 되지 않는다.

Leave a comment