- 1 - 논리 데이터베이스 설계
1. 데이터베이스 설계
1) 데이터베이스 설계의 개념
사용자의 요구를 분석해 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것
2) 데이터베이스 설계 시 고려 사항
무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터 베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야 함
일관성 : DB에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 일관되야함.
회복 : 시스템에 장애가 발생했을 때 장애발생 직전의 상태로 복구가능해야함
보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함
효율성 : 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야 함.
데이터베이스 확장 : 데이터베이스 운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야 함.
* 무결성과 일관성에 대해 숙지하시고, 고려사항 6개를 암기하세요 ㅎㅎ
3) 설계 순서
요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 구현 |
* 순서 기억하세요!
4) 요구조건 분석
DB를 사용할 사람들로부터 필요한 용도를 파악하는 것
DB 사용자에 따른 수행업무에 필요한 데이터의 종류, 용도, 처리형태, 흐름, 제약 조건등을 수집
수집된 정보를 바탕으로 요구 조건 명세를 작성
5) 개념적 설계(정보 모델링, 개념화)
정보의 구조를 얻기 위해 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위해 현실 세계를 추상적 개념으로 표현하는 과정
개념적 설계 단계에서는 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행한다.
요구 분석 단계에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성한다.
DBMS에 독립적인 개념 스키마를 설계한다.
* 아이스크림 공장에 관련된 DBMS를 설계한다고 생각했을 때, 우유를 공급하는 장치에 대한 DB, 아이스크림 막대기를 공급하는 장치에 대한 DB 등 현실 세계에 관련된 객체를 추상적인 개념으로 먼저 설계합니다!
6) 논리적 설계(데이터 모델링)
현실세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료구조로 변환시키는 과정
개념 세계의 데이터를 필드로 기술된 데이터 타입과, 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화한다.
개념적 설계가 개념 스키마를 설계하는 단계라면,
논리적 설계에서는 개념 스키마를 평가 및 정제하고, (* 개념적 설계에서 작성한 스키마를 평가 및 정제합니다.)
DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계다.
트랜잭션의 인터페이스를 설계한다.
관계형 데이터베이스(RDBMS)라면 테이블을 설계하는 단계다.
7) 물리적 설계(데이터 구조화)
논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
물리적 설계 단계에서는 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정한다.
저장 레코드의 형식, 순서, 접근 경로와 같은 정보를 사용해 데이터가 컴퓨터에 저장되는 방법을 묘사함.
8) 데이터베이스 구현
논리적 설계와 물리적 설계에서 도출된 DB 스키마를 파일로 생성하는 과정이다.
사용하려는 특정 DBMS의 DDL(데이터 정의어)를 이용해 DB 스키마를 기술한 후 컴파일 해 빈 DB파일을 생성한다.
생성된 빈 데이터베이스 파일에 데이터를 입력함.
응용 프로그램을 위한 트랜잭션을 작성
데이터베이스 접근을 위한 응용프로그램을 작성
2. 데이터 모델의 개념
1) 데이터 모델의 정의
현실 세계의 정보를 컴퓨터에 표현하기 위해 단순화, 추상화해 체계적으로 표현한 개념적 모형
데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들의 모임
데이터베이스 설계 과정에서 데이터의 구조를 논리적으로 표현하기 위해 사용되는 지능적 도구.
- 데이터 모델 구성 요소 : 개체, 속성, 관계
- 데이터 모델 종류 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델
- 데이터 모델에 표시할 요소 : 구조, 연산, 제약 조건
2) 데이터 모델의 구성 요소
개체(Entity) : 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
속성(Attribute) : 데이터의 가장 작은 논리적 단위로, 파일 구조 상의 데이터 항목 또는 데이터 필드
관계 : 개체 간의 관계, 속성 간의 논리적 연결
3) 개념적 데이터 모델(정보 모델)
현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정.
속성들로 기술된 개체 타입과 이 개체 타입들 간의 관계를 이용해 현실 세계에 표현
대표적으로 E-R 모델이 있다.
* 개념적 데이터 모델 = E-R 모델
자세한 내용은 여기입니다.
4) 논리적 데이터 모델
개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변화하는 과정
필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계를 이용해 현실 세계를 표현함
특정 DBMS는 특정 논리적 데이터 모델 하나만 선정해 사용함
데이터 관계를 어떻게 표현하느냐에 따라 관계 모델, 계층 모델, 네트워크 모델로 구분함.
5) 논리적 데이터 모델의 품질 검증
완성된 논리 데이터 모델이 기업에 적합한지를 확인하기 위해 품질을 검증하는 것
-> 논리 데이터 모델 품질 기준에 따라 개체, 속성, 관계, 식별자, 모델 전반 등에 대해 검토 체크리스트를 작성하고, 체크리스트의 각 항목을 확인하는 방식으로 검증
- 개체 품질 검증 항목
- 속성 품질 검증 항목
- 관계 품질 검증 항목
- 식별자 품질 검증 항목
- 전반적인 품질 검증 항목
6) 데이터 모델에 표시할 요소
구조(Structure) : 논리적으로 표현된 개체 타입들 간의 관계로, 데이터 구조의 정의적 성질을 표현
연산(Operation) : DB에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 DB를 조작하는 기본적 도구
제약 조건(Constraint) : DB에 저장될 수 있는 실제 데이터의 논리적 제약 조건
'2020 정보처리기사 필기 > 3과목 - 데이터베이스 구축' 카테고리의 다른 글
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(물리 데이터베이스 설계_1) (0) | 2020.08.21 |
---|---|
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_5) (0) | 2020.08.19 |
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_4) (0) | 2020.08.19 |
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_3) (0) | 2020.08.01 |
[2020 정보처리기사 필기 요약] 3과목 - 데이터베이스 구축(논리 데이터베이스 설계_2) (0) | 2020.07.30 |