훌륭한 데이터베이스 설계는 시간의 흐름에 따른 데이터의 모든 측면을 나타내며, 데이터 항목의 중복을 최소화하고 데이터베이스에 대한 효율적인 접근을 제공한다. 또한 데이터베이스의 무결성을 제공하며, 이해하기 쉬워야 한다.
2. 데이터베이스 설계 순서
* 트랜잭션(Transaction)이란?
- 데이터베이스의 상태를 변화시키는 작업의 단위로, 어떠한 기능을 수행하기 위해 하나 또는 한꺼번에 수행되어야 할 일련의 연산들을 의미한다.
ex) ATM기로 어떤 거래를 하려는 경우, 카드를 넣고, 거래를 선택하고, 비밀번호를 인증하고, 거래를 완료하는 모든 과정.
3. 개념적 설계(정보 모델링, 개념화)
정보의 구조를 얻기 위해 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위하여 현실 세계에 대한 인식을 추상적 개념으로 표혀하는 과정이다.
스키마 모델링과 트랜잭션 모델링을 병행하여 수행하는 단계이다.
요구분석 단계에서 나온 결과(요구 조건 명세)를 DBMS에 독립적인 개념 스키마를 설계하여 E-R 다이어그램으로 작성한다.
4. 논리적 설계(데이터 모델링)
현실 세계에서 발생하는 자료를 컴퓨터가 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특적 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정이다.
개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화한다.
개념적 설계 단계에서의 개념 스키마를 평가 및 정제하고 특정 DBMS에 종속적인 논리적 스키마를 설계하는 단계이다.
트랜잭션의 인터페이스를 설계한다.
관계형 데이터베이스라면, 테이블을 설계하는 단계.
5. 물리적 설계
논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정이다.
데이터베이스 파일의 저장 구조, 레코드의 형식, 접근 경로와 같은 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사한다.
트랜잭션을 작성하는 단계이다.
물리적 설계 단계에 반드시 포함되어야 할 것은, 저장 레코드의 양식 설계, 레코드 집중의 분석 및 설계, 접근 경로 등이다.
* 물리적 설계 시 고려사항
- 인덱스의 구조.
- 레코드의 크기 및 개수.
- 파일에 대한 트랜잭션의 갱신과 참조 성향.
- 성능 향을 위한 개념 스키마의 변경 여부 검토.
- 빈번한 질의와 트랜잭션들의 수행속도를 높이기 위한 고려.
- 시스템 운용 시 파일 크기 변화의 가능성.
* 물리적 설계 옵션 선택 시 고려사항
- 반응 시간(Response Time) : 트랜잭션 수행을 요구한 시점부터 처리 결과를 얻을 때 까지의 경과 시간.
- 공간 활용도(Space Utilization) : 데이터베이스 파일과 액세스 경로 구조에 의해 사용되는 저장공간의 양.
- 트랜잭션 처리량(Transaction Throughput) : 단위 시간 동안 데이터베이스 시스템에 의해 처리될 수 있는 트랜잭션의 평균 개수.
6. 데이터베이스 설계 시 고려사항
데이터의 무결성 유지 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약조건을 항상 만족해야 한다.
데이터의 일관성 유지 : 데이터베이스에 저장된 데이터들의 사이, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야 한다.
데이터의 회복성 유지 : 시스템에 장애가 발생했을 때 장애 발상 직전의 상태로 복구할 수 있어야 한다.
데이터의 보안성 유지 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 한다.
데이터의 효율성 유지 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 한다.
데이터베이스의 확장성 유지 : 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 한다.
댓글 없음:
댓글 쓰기