1. 데이터베이스 설계의 개념
- DB의 구조, 즉 DB 스키마를 개발하는 과정
- 요구조건 분석-> 개념적 설계-> 논리적 설계-> 물리적 설계-> 데이터베이스 구현
- 데이터 중심 설계와 처리 중심 설계를 병행
데이터 중심 설계 | DB 구조에 치중 |
처리 중심 설계 | 데이터 처리 및 응용에 치중 |
2. 요구 조건 분석
- 사용할 사람이 필요로 하는 용도를 파악
- 사용자의 요구 조건 수집, 분석-> 공식적인 “요구 조건 명세” 작성
- 요구 조건
- 정적 정보 구조 : 개체, 속성, 관계, 제약 조건 등
- 동적 데이터베이스 처리 요구 조건 : 트랜잭션 유형, 트랜잭션 실행 빈도 등
- 범기관적 제약 조건 : 기관의 경영 목표 및 정책, 규정
* 트랜잭션 : DB에서 하나의 논리적 기능을 수행하기 위한 일련의 연산집합. 작업의 단위
- 작성된 요구 조건 명세는 주요 사용자 그룹과 함께 다시 검토, 확인-> 최종 시스템 명세로 확정
3. 개념적 설계
- 정보의 구조를 얻기 위해 현실 세계의 무한성과 계속성을 이해, 다른 사람과 통신하기 위해 현실 세계에 대한 인식
추상적 개념으로 표현하는 과정
- 개념 스키마 모델링 / 트랜잭션 모델링 병행 수행
개념 스키마 모델링 * 대표적 표현 방식 ER 도형 | 데이터의 조직과 표현에 치중하는 “데이터 중심 설계” 개념적 데이터 모델에서의 데이터 구조, 즉 개념 스키마를 기술하는 과정 개념적 데이터 모델 유도 기본 원리 : 추상화
| ||||||
트랜잭션 모델링 | 응용을 위한 데이터 처리에 치중하는 “처리 중심 설계” 트랜잭션의 입 출력과 기능적 형태를 정의하는 트랜잭션 명세 작성 트랜잭션을 개념적이고 시스템 독립적으로 정의 입력 데이터, 출력 데이터, 제어의 기능적 흐름 명세 |
4. 논리적 설계
- 현실 세계에서 발생하는 데이터 형태를 컴퓨터가 이해하고 처리할 수 있는 특정 DB 관리 시스템이 지원하는 논리적 데이터 구조로 변환시키는 과정
- 논리 스키마 설계 : 데이터의 구조 설계
-
특정 DB 관리 시스템 선정 | 선정 시 고려할 사항 | |
소프트웨어 획득 비용 유지 비용 | - DB 구축 및 전환 비용 교육 및 운용 비용 |
-
관계형 DB 관리 시스템을 선정 | |
ER 도형(개념스키마!)를 정형적 규칙에 따라 릴레이션 스키마로 변환 | 정규화 : 데이터 모델을 좀 더 구조화하고 개선시켜 나가는 과정 |
정규화 과정 : 더 좋은 릴레이션 스키마를 만들기 위해 수행 |
- 트랜잭션 명세(개념적 설계)-> 트랜잭션의 전체적 골격 개발 & 인터페이스 정의
5. 물리적 설계
- 응용 프로그램에 대한 성능향상을 위해 DB 파일에 대한 특정한 저장 구조와 접근 경로 결정하는 과정
- 물리 스키마 설계 : 효율적이고 구현 가능한 물리적 DB 구조 설계
-
물리적 설계 : | 저장 구조를 위한 | 레코드 양식, 순서, 저장 공간 등의 설계 |
접근 경로를 위한 | 인덱싱, 클러스터링, 해싱 등의 설계 | |
특정 DB 관리 시스템 & 특정 하드웨어 및 운영체제 특성 고려 |
-
효과적인 물리적 설계를 위해 | DB 트랜잭션을 요청해 응답을 얻기까지의 응답 시간 | 등을 고려 |
DB 파일과 접근 경로 구조에 대한 저장 공간 효율성 | ||
일정 단위 시간 동안 처리되는 트랜잭션 평균수인 트랜잭션 처리도 |
- 트랜잭션 인터페이스(논리적 설계)-> 상세 트랜잭션을 정의
6. 데이터베이스 구현
- DB 실제로 구축하는 과정
- 선정된 DB 관리 시스템의 DDL로 기술된 명령문을 실행시켜 DB 스키마와 DB 파일을 생성
필요한 경우 DB에 데이터 입력
- 응용 프로그래머에 의해 상세 트랜잭션이 실행 트랜잭션으로 구현
DML로 기술된 명령문을 가지는 프로그램 코드가 작성 됨
'[자격증] 정보처리기사' 카테고리의 다른 글
[정보처리기사][실기]2과목 06 관계형 데이터 모델 (0) | 2019.11.12 |
---|---|
[정보처리기사][실기]2과목 05 ER 모델 (0) | 2019.11.12 |
[정보처리기사][실기]2과목 03 스키마 (0) | 2019.11.12 |
[정보처리기사][실기]2과목 02 데이터베이스 관리 시스템 (0) | 2019.11.12 |
[정보처리기사][실기]2과목 01 데이터베이스 개념 (0) | 2019.11.12 |