데이터베이스
특정 조직이 업무 수행을 하는데 필요한 자료의 집합체입니다. 줄여서 DB라고도 하며, 이런 데이터를 효과적으로 이용할 수 있도록 정리 및 보관하기 위한 기본 소프트웨어를 DBMS(데이터베이스 관리 시스템)이라고 한다.
데이터베이스의 특징
- 실시간 접근성(Real Time Accessibility)
수시적이고 비정형적인 질의(조회)에 대하여 실시간 처리(Real-Time Processing)에 의한 응답이 가능해야 합니다.
- 계속적인 변화(Continuous Evolution)
새로운 데이터의 삽입(Insertion), 삭제(Deletion), 갱신(Update)으로 항상 최신의 데이터를 유지해야 합니다.
- 동시 공유(동시 공용)(Concurrent Sharing)
여러 사용자가 동시에 자기가 원하는 데이터를 이용할 수 있어야 합니다.
- 내용에 의한 참조(Content Reference)
데이터베이스에 있는 데이터를 참조할 때 데이터의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용으로 데이터를 찾을 수 있어야 합니다.
데이터베이스 설계과정
데이터베이스 설계는 말 그대로, 사용자들의 요구 사항을 반영하며 데이터베이스를 구축하는 과정이다.
(순서: 요구사항 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 구현)
요구사항 분석
- 데이터베이스의 사용자, 사용목적, 범위, 제약조건 등에 대한 내용을 정리하고 명세서를 작성한다.
- 요구사항 분석 단계에서 파악한 사용자의 요구사항은 이후 설계 과정에서 매우 중요한 자료가 되며, 데이터베이스의 품질을 결정짓게 하는 중요한 기준이 된다.
개념적 설계
- 개념 스키마, 트랜잭션 모델링, E-R모델
- 요구 사항 분석 단계에서 파악한 고객의 니즈(요구사항)을 개념적 데이터 모델을 이용하여 표현을 한다. 여기에서는 추상적인 개념을 사용하며, 요구조건 분석을 통해 DBMS 독립적인 E-R 다이어그램을 작성한다.
논리적 설계
- 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스 설계
- 이 단계에서는 테이블을 설계하고 정규화 과정을 거친다. 자료를 컴퓨터가 이해할 수 있도록 특정 DBMS의 논리적 자료 구조로 변환.
- DBMS의 종류에 따라 네트워크 데이터 모델, 관계 데이터 모델, 계층 데이터 모델, 객체 지향 데이터 모델 등을 논리적 데이터 모델로 사용할 수 있다. 이 중에서는 주로 관계 데이터 모델을 많이 사용.
- 논리적 설계 단계에서 E-R 다이어그램을 릴레이션 스키마로 변환하는 작업을 논리적 모델링 또는 단순 데이터 모델링이라고 한다. 또 논리적 데이터 모델로 표현된 결과물을 논리적 구조 또는 논리적 스키마라고 한다.
물리적 설계
-
목표 DBMS에 맞는 물리적 구조의 데이터로 변환
-
논리적 설계 단계에서 만들어진 논리적 구조를 바탕으로 물리적인 구조를 설계.
-
데이터베이스 파일의 저장 구조 및 액세스 경로, 인덱스 구조와 레코드의 크기, 순서, 경로 등을 결정하며, 반응시간과 공간활용도, 트랜잭션 처리량을 고려하며 설계.
-
이상적인 물리적 설계는 응답 시간을 최소화하고 저장 공간을 효율적으로 활용하며, 데이터 처리 능력을 향상시킬 수 있도록 설계하는 것이다.
구현
- 특정 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성
- 이전 설계 단계의 결과물을 기반으로 DBMS에서 SQL로 작성한 명령문을 실행하여 데이터베이스를 실제로 생성.
- 특정 DBMS에서 데이터베이스 스키마를 만들고 데이터를 입력하며, 응용 프로그램에서 사용하기 위한 트랜잭션을 만든다.