개발/CS

[DB] 개념적 데이터 모델링

zz132456zz 2022. 4. 12. 00:39
728x90

데이터베이스 설계

사용자의 요구 사항을 고려하여 데이터베이스를 생성하는 과정

설계 과정 중에 오류가 발견되어 변경이 필요하면 이전 단계로 돌아가서 설계 내용을 변경할 수 있다.

 

1단계 : 요구 사항 분석

- 사용자의 요구 사항을 수집하고 분석하여 개발할 데이터베이스의 용도를 파악한다. (요구 사항 명세서)

2단계 : 개념적 설계

- DBMS에 독립적인 개념적 구조를 설계한다. (E-R 다이어그램)

3단계 : 논리적 설계

- DBMS에 적합한 논리적 구조를 설계한다. (릴레이션 스키마)

4단계 : 물리적 설계

- DBMS로 구현 가능한 물리적 구조를 설계한다. (물리적 스키마)

5단계 : 구현

- SQL 문을 작성하고 DBMS에서 실행하여 데이터베이스를 생성한다.

 

데이터 모델링 (data modeling)

데이터베이스 설계의 핵심과정으로 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정이다.

 

데이터 모델링을 2단계로 나눌 수 있다.

1. 개념적 데이터 모델링

현실 세계 -> 개념 세계

2. 논리적 데이터 모델링

개념 세계 -> 데이터베이스

 

데이터 모델 (data model)

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

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

논리적 데이터 모델은 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구이다.

 

 

개체 (entity)

개체란 현실 세계에서 조직을 운영할 때 구별되는 모든 것이다.

저장할 가치가 있는 중요 데이터를 가지고 있는 사람이나 사물, 개념, 사건 등이다.

다른 개체와 구별되는 이름을 가지고 있고, 각 개체만의 고유한 특성이나 상태를 하나 이상 가지고 있다.

 

 

속성 (attribute)

개체나 관계가 가지고 있는 고유의 특성이다.

의미 있는 데이터의 가장 작은 논리적 단위이다.

 

관계 (relationship)

관계는 개체와 개체가 맺고 있는 의미 있는 연관성이다.

개체 집합들 사이의 대응 관계이다.

 

관계의 참여 특성

1. 필수적 참여 (전체 참여)

모든 개체 인스턴스가 관계에 반드시 참여해야 하는 것을 의미한다.

 

2. 선택적 참여 (부분 참여)

개체 인스턴스 중 일부만 관계에 참여해도 되는 것을 의미한다.

 

관계의 종속성

1. 약한 개체

다른 개체의 존재 여부에 의존적인 개체

2. 오너 개체

다른 개체의 존재 여부를 결정하는 개체

 

오너 개체와 약한 개체는 일반적으로 일대다의 관계를 가지고 있다. 약한 개체는 오너 개체와의 관계에 필수적으로 참여한다.

약한 개체는 오너 개체의 키를 포함하여 키를 구성한다.

 

 

 

 

 

 

 

 

 

 

728x90