위로 아래

데이터베이스 설계 순서

데이터베이스 설계 순서

  1. 설계 순서 : 개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
  2. 개념적 모델링 : Entity를 도출하고 ERD를 작성하는 단계
  3. 논리적 모델링 : ERD를 사용할 특정 DBMS의 논리적 자료구조에 맞게 매핑하는 과정. 테이블을 설계하고 정규화한다.
  4. 물리적 모델링 : 데이터베이스의 저장구조, 액세스 경로, 인덱스 등을 설계한다.

 

 

 


ERD

ERD (Entity Relationship Diagram)

  1. E-R 다이어그램
  2. 엔티티(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)
  3. 데이터베이스 구조를 한 눈에 알아보기 위해서 쓰인다.
  4. DB를 개발하기 전에 데이터베이스 설계의 이해를 높이기 위해 데이터 모델링을 실시한다.
  5. 쿼리문을 작성할 때 테이블들이 구조화된 다이어그램을 보면서 도움을 받을 수 있다.
  6. 데이터의 다양한 특징을 확인할 수 있어 요구사항을 그에 맞게 개발할 수 있다.
  7. ERD의 핵심 3가지
    1. Entity
    2. Relationship
    3. Attribute

 

Entity (개체)

  1. 관리하고자 하는 정보의 실체 혹은 개념
  2. 모든 엔티티는 하나 이상의 식별자(UID)를 지녀야 한다.
  3. 개체 : 현실에 존재하는 개별적으로 식별할 수 있는 물리적 또는 추상적인 개체
  4. 예시 : 학생, 수업 등

 

Attribute (속성)

  1. 엔티티를 구성하고 있는 구성 요소
  2. 데이터 타입을 같이 명시해주어야 한다.
  3. 예시 : 학생이라는 Entity는 학번, 학생 이름 등의 Attribute를 가질 수 있다.
  4. 종류
    1. Key Attribute : 다른 객체들과 중복되지 않는 고유한 값을 가진 속성으로, 객체를 식별하는 데 사용
    2. Composite Attribute : 독립적인 속성들이 모여서 생성된 Attribute
    3. Multi-Valued Attribute : 하나의 속성이 여러 개의 값을 가지는 속성
    4. Derived Attribute : 다른 Attribute가 가지고 있는 값으로 유도된 속성

 

Relationship (관계)

  1. 엔티티간의 관계
  2. 두 엔티티간에 선을 긋고 관계 명칭을 기록한다.
  3. 예시 : 학생이라는 Entity와 수업이라는 Entity끼리는 '수강하다'라는 관계를 맺는다. 

 

Cardinality (관계 형태)

  1. 일대일(1:1) 관계 : 양쪽 다 하나씩만 존재하는 경우
  2. 일대다(1:n) 관계 : 하나의 원소가 두 개 이상의 원소와 관계를 맺는 경우
  3. 다대다(n:m) 관계 : 양쪽 모두 하나 이상의 원소와 관계 맺어지는 경우

 

 


ERD 표기법 

IE 표기법 (Information Engineering Notation)

표기법

  1. 실선 : 필수적인 사항. 부모 Entity의 기본키를 자식 Entity의 기본키로 사용하는 관계
  2. 점선 : 선택적인 사항. 부모 Entity의 기본키를 자식 Entity에서 외래키로 사용하는 관계
  3. 단선 : 1개
  4. 삼지창 : 여러 개
  5. 원 : 0개

 

예시