[데이터베이스] 데이터베이스 설계와 ER 모델

2022. 6. 10. 21:35CS/데이터베이스

1. 데이터베이스 설계

  • 개념적 데이터베이스 설계와 물리적 데이터베이스 설계로 구분
  • 개념적 데이터베이스 설계는 실제로 데이터베이스를 어떻게 구현할 것인가와는 독립적으로 정보 사용의 모델을 개발하는 과정
  • 물리적 데이터베이스 설계에서는 물리적인 저장 장치와 접근 방식을 다룸
  • 개념적 데이터베이스 설계 과정에서 조직체(실세계)의 엔티티, 관계, 프로세스, 무결성 제약조건 등을 나타내는 추상화 모델을 구축
  • 엔티티는 서로 구분이 되면서 조직체에서 데이터베이스에 나타내려는 객체(사람, 장소, 사물 등)를 의미
  • 관계는 두 개 이상의 엔티티들 간의 연관을 나타냄
  • 프로세스는 관련된 활동을 나타냄
  • 무결성 제약조건은 데이터의 정확성과 비즈니스 규칙을 의미

2. 개념적 수준의 모델

  • 특정 데이터 모델과 독립적으로 응용 세계를 모델링할 수 있도록 함
  • 데이터베이스 구조나 스키마를 하향식으로 개발할 수 있기 위한 틀(framework)를 제공함
  • 인기 있는 개념적 수준의 모델은 엔티티-관계(ER : Entity-Relationship) 모델
  • ER 모델과 같은 개념적인 데이터 모델이 사상될 수 있는 다수의 구현 데이터 모델(implementation data model) 이 존재함.
  • 구현 단계에서 사용되는 세 가지 데이터 모델: 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델

3. 데이터베이스 설계의 개요

  • 한 조직체의 운영과 목적을 지원하기 위해 데이터베이스를 생성하는 과정
  • 목적은 모든 주요 응용과 사용자들이 요구하는 데이터, 데이터 간의 관계를 표현하는 것
  • 데이터베이스 개발은 일반적인 프로젝트 라이프 사이클 과정을 따름
  • 훌륭한 데이터베이스 설계는 시간의 흐름에 따른 데이터의 모든 측면을 나타내고, 데이터 항목의 중복을 최소화하고, 데이터베이스에 대한 효율적인 접근을 제공하고, 데이터베이스의 무결성을 제공하고, 이해하기 쉬워야 함.

 

* 데이터베이스 설계 과정 (개념 설계의 완성)

1) Application의 요구사항을 수집하여 기술

2) Application과 연관이 있는 엔티티 타입들을 식별

3) Application과 연관이 있는 관계 타입들을 식별

4) 관계가 1:1, 1:N, M:N 중에서 어느 것에 해당하는지 결정

5) 엔티티 타입과 관계 타입들에 필요한 애트리뷰트들을 식별하고, 각 애트리뷰트가 가질 수 있는 값들의 집합을 식별

6) 엔티티 타입들을 위한 기본 키를 식별

7) Application을 위한 ER 스키마 다이어그램을 그림

8) ER 스키마 다이어그램이 Application에 대한 요구사항과 부합하는지 검사

9) ER 스키마 다이어그램을 DBMS에서 사용되는 데이터베이스 모델로 변환

ER 표기법의 요약