본문 바로가기

정보처리

데이터베이스 설계

728x90

1. 데이터베이스 설계의 개념

- 데이터베이스 설계란 데이터베이스의 구조, 즉 데이터베이스 스키마(Database Schema)를 개발하는 과정

- 요구 조건 분석(Requirement Analysis), 개념적 설계(Conceptual Design), 논리적 설계(Logical Design), 물리적 설계(Physical Design), 데이터베이스 구현(Database Implementation)의 단계를 순서대로 반복하여 수행

- 데이터베이스 설계 시에는 데이터베이스의 구조에 치중하는 데이터 중심(Datadriven) 설계와 데이터 처리 및 응용에 치중하는 처리 중심(Processing-driven) 설계를 병행

 

2. 요구 조건 분석

- 요구 조건 분석은 데이터베이스를 사용할 사람이 필요홀 하는 용도를 파악하는 작업

- 사용자의 요구 조건을 수집하고 분석하여 공식적인 요구 조건 명세(Requirement Specification)를 작성

- 요구 조건 분석 단계에서 수집하고 분석해야 할 요구 조건은 다음과 같음

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

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

- 작성된 요구 조건 명세는 주요 사용자 그룹과 함께 다시 검토하고 확인한 후 최종 시스템 명세로 확정

 

3. 개념적 설계

- 개념적 설계는 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정

- 개념적 설계 단계에서는 개념 스키마 모델링(Conceptual Schema Modeling)과 트랜잭션 모델링(Transaction Modeling)을 병행하여 수행

- 개념 스카마 모델링은 데이터의 조직과표현에 치중하기 때문에 데이터 중심 설계라 할 수 있고, 트랜잭션 모델링은 응용을 위한 데이터 처리에 치중하기 때문에 처리 중심 설계라 할 수 있음

- 개념 스키마 모델링은 요구 조건 분석의 결과로 나온 요구 조건 명세를 기반으로 개념적 데이터 모델에서의 데이터 구조, 즉 개념 스키마를 기술하는 과정

- 요구 조건 분석 결과로부터 개념적 데이터 모델을 유도하는 기본 원리는 추상화

- 추상화란 복잡한 것들을 단순화하는 것을 의미. 구체적인 추상화 방법으로는 여러 속성들을 그룹 지어 하나의 개체로 만드는 집단화(Aggregation)와 공통 성질을 가진 여러 부류의 개체를 보다 일반적이고 포괄적인 개체로 만드는 일반화(Generalization)가 있음

- 트랜잭션 모델링에서는 트랜잭션의 입, 출력과 기능적 형태를 정의하는 트랜잭션 명세를 작성. 즉, 일력 데이터, 출력 데이터, 그리고 제어의 기능적 흐름을 명세함으로써 트랜잭션을 개념적이고 시스템 독립적으로 정의할 수 있음

 

4. 논리적 설계

- 논리적 설계는 현실 세계에서 발생하는 데이터 형태를 컴퓨터가 이해하고 처리할 수 있는 특정 데이터베이스 관리 시스템이 지원하는 논리적 데이터 구조로 변환시키는 과정

- 논리적 데이터 모델에서의 데이터 구조, 즉 논리 스키마를 설계

- 논리적 설계를 위해서는 먼저 특정데이터베이스 관리 시스템을 선정해야 함. 특정 데이터베이스 관리 시스템 선정 시, 소프트웨어 획득 비용, 유지 비용, 데이터베이스 구축 및 전환 비용, 교육 및 운용 비용 등을 고려해야 함

- 관계형 데이터베이스 관리 시스템을 선정한 경우에는 개념적 설계에서 기술한 ER 도형을 정형적인 규칙에 따라 릴레이션 스키마로 변환

- 더욱 좋은 릴레이션 스키마를 만들기 위하여 정규화(Normalization) 과정을 수행

- 개념적 설계에서 기술한 트랜잭션 명세로부터 트랜잭션의 전체적인 골격을 개발하고 인터페이스를 정의

 

5. 물리적 설계

- 물리적 설계는 주어진 응용 프로그램에 대한 성능 향상을 위해 데이터베이스 파일에 대한 특정한 저장 구조와 접근(Access) 경로를 결정하는 과정

- 효율적이고 구현 가능한 물리적 데이터베이스 구조, 즉 물리 스키마(Physical Schema)를 설계하는 것이 목적

- 물리적 설계에는 저장 구조를 위한 레코드의 양식, 순서, 저장 공간 등과 접근 경로를 위한 인덱싱, 클러스터링, 해싱 등의 설계가 포함

- 물리적 설계를 위하여 특정 데이터베이스 관리 시스템뿐만 아니라 특정 하드웨어 및 운영체제의 특성도 고려

- 효과적인 물리적 설계를 위해 데이터베이스 트랜잭션을 요청해서 응답을 얻기까지의 응답 시간, 데이터베이스 파일과 접근 경로 구조에 대한 저장 공간의 효율성, 일정 단위 시간 동안 처리되는 트랜잭션의 평균 수인 트랜잭션 처리도(Throughput) 등을 고려

- 논리적 설계에서 기술한 트랜잭션의 인터페이스로부터 상세 트랜잭션을 정의

 

6. 데이터베이스 구현

- 데이터베이스의 구현은 데이터베이스를 실제로 구축하는 과정

- 데이터베이스 구현 단계에서는 선정된 데이터베이스 관리 시스템의 DDL(Data Definition Language)로 기술된 명령문을 실행시켜 데이터베이스 스키마와 데이터베이스 파일을 생성. 또한 필요할 경우 데이터베이스에 데이터를 입력

- 데이터베이스 구현 단계에서는 응용 프로그래머에 의해 상세 트랜잭션이 실행 트랜잭션으로 구현. 즉, DML(Data Manipulation Language)로  기술된 명령문을 가지는 프로그램 코드가 작성

728x90

'정보처리' 카테고리의 다른 글

관계형 데이터 모델  (0) 2024.04.22
ER(Entity Relationship) 모델  (0) 2024.04.22
스키마  (0) 2024.04.16
데이터베이스 관리 시스템(DBMS)  (0) 2024.04.15
데이터베이스 개념  (0) 2024.04.12