위로
아래
데이터베이스 설계 순서
데이터베이스 설계 순서
- 설계 순서 : 개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
- 개념적 모델링 : Entity를 도출하고 ERD를 작성하는 단계
- 논리적 모델링 : ERD를 사용할 특정 DBMS의 논리적 자료구조에 맞게 매핑하는 과정. 테이블을 설계하고 정규화한다.
- 물리적 모델링 : 데이터베이스의 저장구조, 액세스 경로, 인덱스 등을 설계한다.
ERD
ERD (Entity Relationship Diagram)
- E-R 다이어그램
- 엔티티(Entity)들의 관계(Relationship)을 나타낸 도표(Diagram)
- 데이터베이스 구조를 한 눈에 알아보기 위해서 쓰인다.
- DB를 개발하기 전에 데이터베이스 설계의 이해를 높이기 위해 데이터 모델링을 실시한다.
- 쿼리문을 작성할 때 테이블들이 구조화된 다이어그램을 보면서 도움을 받을 수 있다.
- 데이터의 다양한 특징을 확인할 수 있어 요구사항을 그에 맞게 개발할 수 있다.
- ERD의 핵심 3가지
- Entity
- Relationship
- Attribute
Entity (개체)
- 관리하고자 하는 정보의 실체 혹은 개념
- 모든 엔티티는 하나 이상의 식별자(UID)를 지녀야 한다.
- 개체 : 현실에 존재하는 개별적으로 식별할 수 있는 물리적 또는 추상적인 개체
- 예시 : 학생, 수업 등
Attribute (속성)
- 엔티티를 구성하고 있는 구성 요소
- 데이터 타입을 같이 명시해주어야 한다.
- 예시 : 학생이라는 Entity는 학번, 학생 이름 등의 Attribute를 가질 수 있다.
- 종류
- Key Attribute : 다른 객체들과 중복되지 않는 고유한 값을 가진 속성으로, 객체를 식별하는 데 사용
- Composite Attribute : 독립적인 속성들이 모여서 생성된 Attribute
- Multi-Valued Attribute : 하나의 속성이 여러 개의 값을 가지는 속성
- Derived Attribute : 다른 Attribute가 가지고 있는 값으로 유도된 속성
Relationship (관계)
- 엔티티간의 관계
- 두 엔티티간에 선을 긋고 관계 명칭을 기록한다.
- 예시 : 학생이라는 Entity와 수업이라는 Entity끼리는 '수강하다'라는 관계를 맺는다.
Cardinality (관계 형태)
- 일대일(1:1) 관계 : 양쪽 다 하나씩만 존재하는 경우
- 일대다(1:n) 관계 : 하나의 원소가 두 개 이상의 원소와 관계를 맺는 경우
- 다대다(n:m) 관계 : 양쪽 모두 하나 이상의 원소와 관계 맺어지는 경우
ERD 표기법
IE 표기법 (Information Engineering Notation)
표기법
- 실선 : 필수적인 사항. 부모 Entity의 기본키를 자식 Entity의 기본키로 사용하는 관계
- 점선 : 선택적인 사항. 부모 Entity의 기본키를 자식 Entity에서 외래키로 사용하는 관계
- 단선 : 1개
- 삼지창 : 여러 개
- 원 : 0개
예시