Computer Science 기본 지식/데이터 베이스

DB (3) 개체-관계 모델링

로파이 2021. 5. 9. 17:14

현실 세계를 개체와 개체간의 관계를 이용해 개념적 구조로 표현하는 방법이다.

 

현실 세계를 개체-관계 모델을 이용해 개념적으로 모델링하여 그림으로 표현한 것을 개체-관계 다이어그램 또는 E-R 다이어그램이라 한다.

 

데이터베이스 생명 주기

  • 요구 조건 분석: 사용자와 응용을 식별하고 요구사항을 분석한다.
  • 설계:  개념적 설계, 논리적 설계 및 물리적 설계로 단계적으로 실행한다.
  • 구현: 설계된 데이터베이스 스키마를 정의하고 빈 데이터베이스 파일을 생성하며 응용 소프트웨어를 목표 DBMS 환경에 맞도록 구현한다.
  • 운영: 데이터베이스 시스템과 응용 시스템을 실제로 운영하고 관리하여 사용자의 요구에 따라 서비스를 제공한다.
  • 감시 및 개선: 시스템을 계속적으로 감시하고 데이터베이스를 변경하여 개선한다.

데이터베이스 설계 과정

단계 과정 내용
1단계 요구 사항 분석 데이터베이스의 용도 파악
결과물: 요구 사항 명세서
2단계 개념적 설계 DBMS에 독립적인 개념적 구조 설계
결과물: 개념적 스키마 (E-R 다이어그램)
3단계 논리적 설계 DBMS에 적합한 논리적 구조 설계
결과물: 논리적 스키마 (릴레이션 스키마)
4단계 물리적 설계 MBS로 구현 가능한 물리적 구조 설계
결과물: 물리적 스키마
5단계 구현 SQL 문을 작성한 후 이를 DBMS에 실행하여
데이터베이스 생성

 

(1) 요구 사항 분석

사용자에 필요한 데이터 종류와 처리 방법과 같은 요구사항을 분석하여 요구 사항 명세서를 작성한다.

포함되는 요구조건

- 개체, 속성, 관계, 제약 조건 등과 같은 정적 정보 구조에 대한 요구조건

- 트랜잭션의 유형, 트랙잭션의 실행 빈도와 같은 동적 데이터베이스 처리 요구조건

- 기관의 경영 목표 및 정책 그리고 규정과 같은 범 기관적 제약 조건

 

(2) 개념적 설계(정보 모델링, 개념화)

정보의 구조를 얻기 위하여 현실 세계를 이해하고 이에 대한 인식을 추상적 개념으로 표현하는 과정이다.

개념적 설계 단계는 요구 사항 분석 단계의 결과물인 명세서를 가지고 시작한다. 개념적 설계 단계에서는 요구 사항 분석 단계에서 파악한 사용자의 요구 사항을 개념적 데이터 모델을 이용해 표현한다.

 

① 개념적 스키마 모델링

개념적 스키마 모델링은 요구 조건 분석의 결과로 나온 명세를 E-R(Entity-Relationship) 다이어그램과 같은 개념적 데이터 모델, DBMS에 독립적이고 고차워적인 표현 기법으로 기술하는 것이다.

 

② 트랙잭션 모델링

요구 조건 분석 결과로 식별된 응용을 검토해서 구현해야 될 트랜잭션을 고차원 명세로 정의하는 것이다.

 

(3) 논리적 설계

특정 목표 DBMS가 처리할 수 있는 스키마를 생성하는 것이다. 개념적 설계를 바탕으로 논리적 구조를 설계한다. DBMS의 종류에 따라 네트워크 데이터 모델 / 계층 데이터 모델 / 관계 데이터 모델 / 객체지향 데이터 모델 등을 논리적 데이터 모델로 사용가능하다. 개념적 설계에서 생성한 E-R 다이어그램을 릴레이션 스키마로 변환하여 DBMS가 처리할 수 있도록 한다.

 

논리적 설계의 단계

- 논리적 데이터 모델로 변환: 개념적 스키마를 논리적 데이터베이스 구조로 변환한다.

- 트랜잭션 인터페이스 설계: 입출력과 기능적 형태로만 정의된 트랜잭션, 응용 프로그램에 대한 인터페이스를 설계하는 것.

- 스키마의 평가 및 정제: 데이터 양, 처리 빈도수, 처리 작업량과 같은 정량적 정보와 논리적 레코드의 접근, 데이터의 전송량, 데이터베이스의 크기로 성능 평가를 진행한다.

 

(4) 물리적 설계

- 논리적 설계 단계에서 표현된 데이터를 디스크 등 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.

- 데이터 베이스의 물리적 구조는 데이터베이스를 저장장치에 실제로 저장하기 위한 내부 저장 구조와 접근 경로 등을 의미한다.

- 물리적 설계의 결과물인 물리적 구조를 내부 스키마 또는 물리적 스키마라고 한다.

물리적 설계 시
고려사항
인덱스 구조
레코드 크기
파일에 존재하는 레코드 개수
파일에 대한 트랜잭션의 갱신과 참조 성향
성능 향상을 위한 개념 스키마의 변경 여부 검토
빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 검토
시스템 운용 시 파일 크기의 변화 가능성
물리적 설계 옵션 선택 시
고려사항
물리적 설계 옵션이란 특정 DBMS에서 제공하는 거으로 데이터베이스 파일에 대한 저장 구조와 접근 경로에 대한 다양한 옵션을 말함
반응 시간(Response Time): 트랜잭션 수행을 요구한 시점부터 처리 결과를 얻을때까지의 경과시간
공간 활용도(Space Utilization): 데이터베이스 파일과 액세스 경로 구조에 의해 사용되는 저장공간의 양
트랜잭션 처리량(Transaction Throughput): 단위시간 동안 데이터베이스 시스템에 의해 처리될 수 있는 트랜잭션의 평균 개수

 

(5) 구현

  • 논리적 설계 단계와 물리적 설계 단계에서 도출된 데이터베이스 스키마를 파일로 생성하는 단계이다.
  • DBMS에서 SQL로 작성한 명령을 실행하여 데이터베이스를 실제로 생성한다.
  • 사용되는 SQL 문은 테이블이나 인덱스 등을 생성할 떄 사용되는 데이터 정의어(DDL)로써 생성된 빈 데이터베이스 파일에 데이터를 입력한 후 응용 프로그램을 위한 트랜잭션을 작성하며 데이터베이스 접근을 위한 응용 프로그램을 작성한다.

데이터베이스 설계 시 고려사항

  • 무결성
  • 일관성
  • 회복
  • 보안
  • 효울성
  • 데이터베이스 확장

E-R 모델 개념

개체 타입(Entity type)과 이들 간의 관계 타입(Relationship type)을 이용해 현실 세계를 개념적으로 표현한다. 데이터를 개체(Entity), 관계(Relationship), 속성(Attribute)으로 묘사하나 특정 DBMS를 고려한 것은 아니다.

 

모델링 도구

(1) 개체

개체는 데이터베이스에 표현하려는 것으로 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체. 실세계에서 독립적으로 존재하는 유형, 무형의 정보를 의미한다.

 

개체는 고유한 특성이나 상태를 기술하는 속성을 하나 이상 가지고 있다. 개체를 고유의 이름과 속성들로 정의한 것을 개체 타입(entity type)이라 한다. 개체는 파일 시스템의 레코드에 대응하는 것으로 어떤 정보를 제공하는 역할을 수행하며 독립적으로 존재하거나 그 자체로서 구별가능하다. E-R 다이어그램에서 개체는 사각형으로 표현하고 사각형안에 개체의 이름을 표기한다.

 

개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체를 개체 인스턴스라고 한다. 개체와 속성은 파일 구조에서 레코드와 필드 용어에 대응된다. 그리고 개체 타입은 레코드 타입에 개체 인스턴스는 레코드 인스턴스에 대응된다.

  개체 이름 속성
개체타입 학생 이름 주소 전화번호

개체 집합을 구성하는 개체 인스턴스

개체 인스턴스: <김아무개, 제주특별시 장위동, 010-1111-2222>, <이아무개, 서울특별시 신도림동, 010-3333-4444>

 

(2) 속성

개체가 가지고 있는 고유의 특성

- 단순 속성: 분해 불가능한 유일 속성

- 복합 속성: 더 작은 속성으로 분해 가능한 속성

- 단일 값 속성: 특정 개체에 대해 하나의 값을 갖는 것을 말한다.

- 다중 값 속성: 어느 한 개체에 대해 몇 개의 값을 가지고 있는 것을 말한다.

- 유도 속성: 다른 속성이나 개체가 가지고 있는 값으로부터 유도되어 결정되는 경우

- 저장 속성: 유도 속성의 속성을 결정하기 위해 사용된 속성

- 널 속성: 널 값은 어떤 개체 인스턴스가 어느 특정 속서에 대한 값을 가지고 있지 않을 떄 이를 표시하기 위해 사용되는 속성을 의미

- 키 속성: 개체를 구성하는 속성들 중에서 특별하는 역할을 하는 속성

 

(3) 관계

개체와 개체가 맺고 있는 의미 있는 연관성으로 개체-관계 모델의 중요한 요소이다. 개체 집합들 사이의 대응 관계, 매핑을 의미한다.

 

소속 관계 타입

E-R 다이어그램 표기법

개체의 집합은 사각형, 속성은 타원으로 표현하며 개체와 객체의 관계 집합을 마름모로 나타낸다.

 

- E-R 모델 예제

설계 과정

  • 학생 개체: 학번을 기본키로 갖고 이름, 주소, 학년 속성 값을 가진다.
  • 교수 개체: 교번을 기본키로 갖고 전공, 학과 속성 값을 가진다.
  • 과목 개체: 과목 번호를 기본키로 갖고 과목 이름, 학점 속성 값을 가진다.

요구사항

  • 모든 학생은 하나의 학과에 소속되어 있다.
  • 모든 학생은 하나 이상의 과목을 수강해야한다.
  • 모든 교수는 한 명 이상의 학생을 지도해야한다.
  • 모든 교수는 하나 이상의 과목을 강의하며 과목이 없을 수 도 있다.
  • 모든 교수는 하나으 학과에 소속되어야 한다.

'Computer Science 기본 지식 > 데이터 베이스' 카테고리의 다른 글

DB (6) 정규화  (0) 2021.05.13
DB (5) SQL 언어  (0) 2021.05.12
DB (4) 관계 데이터베이스  (0) 2021.05.09
DB (2) 데이터베이스 시스템  (0) 2021.05.09
DB (1) 기초 용어  (0) 2021.05.08