본문 바로가기
Database

[Database] 데이터 모델링

by IT 정복가 2023. 5. 31.
728x90

위의 그림은 세계에 존재하는 개념이 데이터베이스로 구축되는 과정을 보여준다. 

데이터 모델리은 현실 세계의 복잡한 개념을 단순화하고 추상화 시켜 데이터베이스화하는 과정이다.

최종적으로 구축된 데이터베이스는 현실 세계의 대상이 되었던 개념과 일치해야 한다.

 

데이터베이스의 생명주기

1. 요구사항 수집 및 분석 사용자들의 요구사항을 듣고 분석하여 데이터베이스 구축의 범위를 정하는 단계
2. 설계 분석된 요구사항을 기초로 주요 개념과 업무 프로세스 등을 식별하고, 사용하는 DBMS의 종류에 맞게 변환한 후, 데이터베이스 스키마를 도출함.
3. 구현 설계 단계에서 생성한 스키마를 실제 DBMS에 적용하여 테이블 및 관련 객체를 만듦.
4. 운영 구현된 데이터베이스를 기바으로 소프트웨어를 구축하여 서비스를 제공함.
5. 감시 및 개선 데이터베이스 운영에 따른 시스템의 문제를 관찰하고 데이터베이스 자체의 문제점을 파악하여 개선함.

 

데이터 모델링 과정

1. 요구사항 수집 및 분석 요구사항 수집 방법
1) 실제 문서를 수집하고 분석함
2) 담당자와의 인터뷰나 설문조사를 통해 요구사항을 직접 수렴함
3) 비슷한 업무를 처리하는 기존의 데이터베이스를 분석함
4) 각 업무와 연관된 모든 부분을 살펴봄
2. 개념적 모델링 요구사항을 수집하고 분석한 결과를 토대로 업무의 핵심적인 개념을 구분하고 전체적인 뼈대를 만드는 과정

개체를 추출하고 각 개체들 간의 관계를 정의하여 ER다이어그램을 만드는 과정까지 말함
3. 논리적 모델링 개념적 모델링에서 만든 ER다이어그램을 사용하려는 DBMS에 맞게 사상하여 실제 데이터베이스로 구현하기 위한 모델을 만드는 과정 
4. 물리적 모델링 작성된 논리적 모델을 실제 컴퓨터의 저장 장치에 저장하기 위한 물리적 구조를 정의하고 구현하는 과정

DBMS의 특성에 맞게 저장 구조를 정의해야 데이터베이스가 최적의 성능을 낼 수 있음.

ER모델

ER 다이어그램: ER 모델은 개체와 개체 간의 관계를 표준화된 그림으로 나타냄.

1. 개체(Entity)

사람, 사물, 장소, 개념, 사건과 같이 유무형의 정보를 가지고 있는 독립적인 실체
비슷한 속성의 개체 타입을 구성하며, 개체 집합으로 묶임.

ER 다이어그램 표현

개체 타입은 직사각형으로 나타냄

강한 개체: 다른 개체의 도움 없이 독자적으로 존재할 수 있는 개체

약한 개체: 독자적으로 존재할 수 없고 반드시 상위 개체 타입을 가짐.


2. 속성(Attribute)

개체가 가진 성질

ER 다이어그램 표현

속성은 기본적으로 타원으로 표현, 개체 타입을 나타내는 직사각형과 실선으로 연결됨

속성의 이름은 타원의 중아에 표기함

속성이 개체를 유일하게 식별할 수 있는 키일 경우 속성 이름에 밑줄을 그음.


3. 관계(Relationship)

개체 사이의 연관성을 나타내는 개념

 

ER다이어그램 표현


차수에 따른 관계 타입의 유형

관계 집합에 참가하는 개체 타입의 수를 관계 타입의 차수(degree)라고 함

1진 관계: 한 개의 개체가 자기 자신과 관계를 맺는 경우

2진 관계: 두 개의 개체가 관계를 맺는 경우

3진 관계: 세 개의 개체가 관계를 맺는 경우

 

관계대응수(cardinality)

두 개체 타입의 관계에 실제로 참여하는 개별 개체 수

일대일(1:1) 관계

좌측 개체 타입에 포함된 개체가 우측 개체 타입에 포함된 개체와 일대일로 대응하는 관계

일대다 (1:N), 다대일 (N:1) 관계

실제 일상생활에서 가장 많이 볼 수 있는 관계

한쪽 개체 타입의 개체 하나가 다른 쪽 개체 타입의 여러 개체와 관계를 맺음

다대다 (M:N) 관계

각 개체 타입의 개체들이 서로 임의의 개수의 개체들과 서로 복합적인 관계를 맺고 있는 관계


ISA 관계

상위 개체 타입의 특성에 따라 하위 개체 타입이 결정되는 형태


역할

개체 타입 간의 관계를 표현할 때 각 개체들은 고유한 역할을 담당함.


약한 개체 타입과 식별자

약한 개체 타입

  • 상위 개체 타입이 걀정되지 않으면 개별 개체를 식별할 수 없는 종속된 개체 타입
  • 약한 개체 타입은 독립적인 키로는 존재할 수 없지만 상위 개체 타입의 키와 결합하여 약한 개체 타입의 개별 개체를 고유하게 식별하는 속성을 식별자 혹은 부분키라고 함.

 

728x90