개발자 성장일지

제 4장 데이터 모델링 본문

DataBase

제 4장 데이터 모델링

hdigimon 2023. 10. 10. 15:06

1. 데이터 모델링 개념

  • 데이터 모델링(데이터베이스 설계)이란 현실 세계의 사물이나 개념을 데이터베이스 개체(테이블)로 표현하기 위한 일련의 과정
  • 데이터 모델링은 크게 개념적 모델링, 논리적 모델링, 물리적 모델링 단계로 나뉨

 

2. 데이터 모델링 과정

  • 데이터베이스 생명주기는 구축 – 사용 – 개선 - 재구축의 순환과정으로 이루어짐
  • 데이터 모델링 첫 단계로 현실 세계를 파악하고 사용자의 요구사항을 수집 및 분석 단계

 

3. 개념적 모델링

  • 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정
  • 개체(entity)를 추출하고 각 개체들 간의 관계를 정의하여 ER 다이어그램(ERD, Entity Relationship Diagram)을 만드는 과정

 

4. 논리적 모델링

  • 개념적 모델링에서 만든 ER 다이어그램을 사용하려는 DBMS에 맞게 사상(매핑, mapping)하여 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정
  • 논리적 모델링 과정에서는 상세 속성을 추출 및 정규화를 수행 그리고 데이터의 형태 및 크기(표준화)를 확정

5. 물리적 모델링

  • 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정
  • DBMS 특성에 맞게 저장 구조를 정의해야 데이터베이스가 최적의 성능을 낼 수 있음

6. ER 모델

  • ER(Entity Relationship) 모델은 데이터 모델링 과정 중 개념적 모델링에서 사용하는 모델로, 1976년 Peter Chen이 제안
  • ER 모델은 현실의 사물을 개체(Entity)와 개체 간의 관계(Relationship)로 표현

7. 개체와 속성

  • 개체(Entity)는 사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 가지고 있는 독립적인 실체
  • 개체는 다른 개체의 도움없이 독자적으로 존재하는 강한 개체(Strong Entity)와 독자적으로 존재할 수 없는 약한 개체(Weak Entity)가 있음
  • 속성(Attribute)은 개체가 가진 특성
  • 개체는 직사각형, 속성은 타원으로 표현하고 개체를 유일하게 식별할 수 있는 속성은 밑줄 그음

8. 관계와 관계 타입

  • 관계(Relationship)는 개체와 개체 사이의 연관성을 나타내는 개념으로 마름모로 표현
  • 관계 타입은 개체와 개체 간의 연결 가능한 관계를 정의한 개념

9. IE 표기법

  • IE(Information Engineering) 표기는 ERD을 더 쉽게 표현하여 모델링 도구에서 사용하는 표기법
  • IE 표기에서는 개체와 속성은 직사각형으로 표현하고 관계는 실선 또는 점선으로 표현
  • 관계 대응수는 아래와 같은 기호로 표현

10. 관계유형 1:N

  • 학생 1명(인스턴스, 튜플) 은 1개 이상의 과목을 수강할 수 있기 때문에 1:N 관계

11. 관계유형 1:1

  • 학생 1명(인스턴스, 튜플) 은 1개의 신체정보만 가질 수 있기 때문에 1:1 관계

12. 관계유형 N:M

  • 학생 1명(인스턴스, 튜플) 은 1개 이상의 강좌를 수강할 수 있기 때문에 1:N 관계
  • 강좌 1개(인스턴스, 튜플) 는 1명 이상의 학생이 수강할 수 있기 때문에 1:N 관계
  • 일반적으로 두 엔티티가 N:M 관계에 있는 경우 중간에 또 다른 엔티티를 두어 1:N 관계로 전환

13. 관계 참여도

  • 관계 참여도는 필수(|), 선택(O) 두 가지로 표현
  • 필수 참여는 어느 한쪽의 엔티티 값이 존재하면 반대 엔티티에도 존재하는 참여
  • 선택 참여는 어느 한쪽의 엔티티 값이 존재하지만 대응되는 반대쪽 엔티티에 존재하거나 존재하지 않는 참여

14. 식별 관계

  • 강한 개체 관계는 강한 개체 간의 관계로 비식별자 관계라 하고 점선으로 표현
  • 약한 개체 관계는 약한 개체를 포함하는 관계로 식별자 관계라 하고 실선으로 표현

 

'DataBase' 카테고리의 다른 글

모델링 실습 - ERD  (0) 2023.10.10
제 3장 SQL 고급  (1) 2023.10.10
제 2장 테이블 제약 조건  (0) 2023.10.10
DBMS(MariaDB) 설치 및 환경 구축 실습  (0) 2023.10.10
제 1장 데이터베이스 이해  (0) 2023.10.10