subsay
데이터 모델링 및 설계 - 데이터베이스 설계 본문
1. 데이터베이스 설계의 개념 및 고려 사항
데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것이다.
- 데이터베이스 설계 시 고려사항
> 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 함
> 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 함
> 회복(Recovery) : 시스템에 장애가 발생했을 때 장애 발생 직전의 상태로 복구할 수 있어야 함
> 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
> 효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함
> 데이터베이스 확장 : 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함
2. 요구 조건 분석
요구 조건 분석은 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악하는 것이다.
- 데이터베이스 사용자에 따른 수행 업무와 필요한 데이터의 종류, 용도, 처리 형태, 흐름, 제약 조건 등을 수집한다.
- 수집된 정보를 바탕으로 요구 조건 명세를 작성한다.
3. 개념적 설계(정보 모델링, 개념화)
개념적 설계란 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다.
- 개념적 설계 단계에서는 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다.
- 개념적 설계 단계에서는 요구 분석 단계에서 나온결과(요구 조건 명세)를 DBMS에 독립적인 E-R 다이어그램(개체 관계도)으로 작성한다.
- DBMS에 독립적인 개념 스키마를 설계한다.
4. 논리적 설계(데이터 모델링)
논리적 설계 단계에서는 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정이다.
- 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 노리적 구조의 데이토로 모델화한다.
- 개념적 설계가 개념 스키마를 설계하는 단계라면 논리적 설계에서는 개념 스키마를 평가 및 정재하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계이다.
- 트랜잭션의 인터페이스를 설계한다.
- 관계형 데이터베이스라면 테이블을 설계하는 단계이다.
5. 물리적 설계(데이터 구조화)
논리적 설계 단계에서는 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
- 물리적 설계 단계에서는 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정한다.
- 저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사한다.
- 물리적 설계 단계에 꼭 포함되어야 할 것은 저장 레코드의 양식 설계*, 레코드 집중(Record Clustering)의 분석 및 설계, 접근 경로 설계 등이다.
- 물리적 데이터베이스 구조의 기본적인 데이터 단위는 저장 레코드(Stored Record)이다.
- 물리적 데이터베이스 구조는 여러 가지 타입의 저장 레코드 집합이라는 면에서 단순한 파일과 다르다.
- 물리적 데이터베이스 구조는 데이터베이스 시스템의 성능에 중대한 영향을 미친다.
물리적 설계시 고려 사항
- 인덱스의 구조
- 레코드 크기
- 파일에 존재하는 레코드 개수
- 파일에 대한 트랜잭션의 갱신과 참조 성향
- 성능 향상을 위한 개념 스키마의 변경 여부 검토
- 빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려
- 시스템 운용 시 파일 크기의 변화 가능성
물리적 설계 옵션 선택 시 고려 사항
물리적 설계 옵션이란 특정 DBMS에서 제공되는 것으로, 데이터베이스 파일에 대한 저장 구조와 접근 경로에 대한 다양한 옵션을 말한다.
- 반응시간(Response Time) : 트랜잭션 수행을 요구한 시점부터 처리 결과를 얻을 때까지의 경과 시간
- 공간 활용도(Space Utilization) : 데이터베이스 파일과 액세스 경로 구조에 의해 사용되는 저장공간의 양
- 트랜잭션 처리량(Transaction Throughput) : 단위시간 동안 데이터베이스 시스템에 의해 처리될 수 있는 트랜잭션의 평균 개수
6. 데이터베이스 구현
구현 단계는 논리적 설계 단계와 물리적 설계 단계에서 도출된 데이터베이스 스키마를 파일로 생성하는 단계이다.
- 사용하려는 특정 DBMS의 DDL을 이용하여 데이터베이스 스키마를 기술한 후 컴파일하여 빈 데이터베이스 파일을 생성한다.
- 생성된 빈 데이터베이스 파일에 데이터를 입력한다.
- 응용 프로그램을 위한 트랜잭션을 작성한다.
- 데이터베이스 접근을 위한 응용 프로그램을 작성한다.
데이터베이스 설계 선수
1. 요구분석 : 요구 조건 명세서 작성
2. 개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델
3. 논리적 설계 : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
4. 물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
5. 구현 : 목표 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성
*저장 레코드의 양식 설계
저장 레코드의 양식을 설계할 때 고려할 사항은 데이터 타입, 데이터 값의 분포, 접근 빈도 등입니다.
'정보처리 기사' 카테고리의 다른 글
관계 데이터베이스 모델과 언어 - 관계형 데이터베이스의 제약 조건 (0) | 2017.09.26 |
---|---|
관계 데이터베이스 모델과 언어 - 관계형 데이터베이스의 구조 (0) | 2017.09.26 |
데이터 모델링 및 설계 - 망(네트워크)형 데이터 모델 (0) | 2017.09.25 |
데이터 모델링 및 설계 - 계층형 데이터 모델 (0) | 2017.09.25 |
데이터 모델링 및 설계 - 관계형 데이터 모델 (0) | 2017.09.21 |