필수개념
1) 스키마(Schema)
* 스키마란, 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
외부스키마 - 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터 베이스의 논리적 구조를 정의한 것 개념스키마 - 데이터베이스의 전체적인 논리적 구조
- 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재내부스키마 - 물리적 저장장치의 입장에서 본 데이터베이스 구조
- 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현방법, 내부 레코드의 물리적 순서등을 나타냄
2) 데이터베이스 설계 순서
요구조건 분석 : 요구조건 명세서 작성
↓
개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R모델
↓
논리적 설계 : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
↓
물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
↓
구현 : 목표 DBMS의 DDL로 데이터베이스 생성, 트랜잭션 작성
추가개념
sec 31) 데이터 전환(C)
* 데이터 전환 - ETL(Extracion-추출, Transformation-변환, Load-적재), 데이터 이행(Data Migration) 또는 데이터 이관
* 데이터 전환계획서 - 데이터 전환 작업에 필요한 모든 계획을 기록하는 문서
sec 32) 데이터 검증(C)
* 데이터 검증 - 데이터로 전환이 잘 됐는지 확인하는 과정
* 검증 방법에 따른 분류
- 로그검증 - 추출, 전환, 적재 로그를 검증
- 기본항목검증 - 로그 검증 외에 별도로 요청된 항목 검증
- 응용 프로그램 검증 - 응용 프로그램을 통한 데이터 전환의 정합성을 검증
- 응용 데이터 검증 - 사전에 정의 된 업무 규칙을 기준으로 데이터 전환의 정합성을 검증
- 값 검증 - 숫자 항목의 합계 검증, 코드 데이터의 범위 검증, 속성 변경에 따른 값 검증을 수행
* 검증 단계에 따른 분류
- 추출 - 원천 시스템 데이터에 대한 정합성 확인 / 로그검증
- 전환 - 매핑 정의서에 정의된 내용이 정확히 반영되었는지 확인, 매핑 정의서 오류 여부 확인 / 로그검증
- DB적재 - SAM 파일을 적재하는 과정에서 발생할 수 있는 오류나 데이터 누락 여부 등확인 / 로그검증
- DB적재 후 - 적재 완료 후 정합성 확인 / 기본항목 검증
- 전환 완료 후 - 데이터 전환 완료 후 추가 검증 과정을 통해 데이터 전환의 정합성 검증 / 응용 프로그램 검 증,응용 데이터 검증
sec 33) 오류 데이터 측정 및 정제(C)
* 오류 데이터 측정 및 정제 -고품질의 데이터 운영, 관리 위해 수행(순서:분석->측정->정제)
- 데이터 품질 분석 - 오류 데이터를 찾기 위해 원천 및 목적 시스템 데이터의 정합성여부를 확인하는 작업(정합성- 데이터 값이 모순없이 일관+일치하는 정도)
- 오류데이터 측정 - 데이터 품질 분석을 기반으로 정상 데이터와 오류 데이터의 수를 측정하여 오류 관리 목록을 작성함
- 오류 데이터 정제 - 오류 관리 목록의 각 항목을 분석하여 원천 데이터를 정제하거나 전환 프로그램을 수정.
* 오류 상태
- Open - 오류 보고 후 분석X
- Assigned - 오류의 영향 분석 및 수정을 위해 개발자에게 오류를 전달한 상태
- Fixed - 개발자가 오류를 수정한 상태
- Closed - 수정된 오류에 대해 테스트를 다시 했을 때 오류X
- Deferred - 오류 수정을 연기한 상태
- Classified - 보고된 오류를 관련자들이 확인 했을 때 오류가 아니라고 확인된 상태
* 데이터 정제요청서 - 원천 데이터의 정제와 전환 프로그램의 수정을 위해 요청사항 및 조치사항 등 데이터 정제와 관련된 전반적인 내용을 문서로 작성한 것
- 오류 관리 목록을 기반으로 데이터 정제 요건 목록을 작성, 이 목록의 항목별로 데이터 정제요청서를 작성.
* 데이터 정제보고서
- 데이터 정제보고서는 데이터 정제요청서를 통해 정제된 원천 데이터가 정상적으로 정제되었는지 확인한 결과를 문서로 작성한 것이다.
- 정제 요청 데이터와 정제된 데이터 항목을 눈으로 직접 비교하여 확인.
sec 34) 데이터베이스 개요(A)
* 데이터 저장소 - 데이터를 논리적 구조로 조직화 or 물리적 공간에 구축
- 논리 데이터저장소: 데이터를 논리적인 구조로 조직화한 것.
- 물리 데이터저장소: 논리 데이터저장소를 여러 특성을 고려해 실제 저장장치에 저장.
* Database - 공동 사용 데이터를 중복배제 통합, 저장장치에 저장해 사용하는 운영데이터.
>> 데이터베이스 구분 정의
- 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터
- 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료
- 운영 데이터(Operational Data): 조직 고유업무에 반드시 필요한 자료
- 공용 데이터(Shared Data): 여러 응용 시스템들이 공동소유 + 유지하는 자료
* DBMS(DataBase Management System; 데이터베이스 관리 시스템)
- DBMS는 사용자의 요구에 따른 정보 생성, DB 관리 소프트웨어
- 기존의 파일 시스템이 갖는 데이터의 종속성, 중복성의 문제 해결 위한 시스템
>> DBMS 필수 기능 3가지
- 정의(Definition)기능: 데이터의 형(Type)과 구조에 대한 정의, 이용방식, 제약 조건 등을 명시하는 기능
- 조작(Manipulation)기능: 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능
- 제어(Control)기능: 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능
* 데이터의 독립성(종속성에 대비)
- 논리적 독립성: 응용프로그램과 DB를 독립, 데이터의 논리적 구조를 변경해도 응용 프로그램은 영향X
- 물리적 독립성: 응용프로그램과 물리적 장치 독립, 디스크를 추가/변경해도 응용 프로그램은 영향X
* 스키마(Schema) - 데이터베이스의 구조와 제약조건에 관한 전반적 명세를 기술한 것
- 외부 스키마: 사용자 or 개발자가 각 개인의 입장서 DB의 논리적 구조를 정의
- 개념 스키마: DB의 전체 논리적 구조/ 모든 응용 프로그램 or 사용자가 필요한 데이터를 종합한 조직 전체의 DB로 하나만 존재
(필기 20.9)
- 내부 스키마: 물리적 저장장치 입장에서 본 DB 구조 실제 저장될 레코드 형식, 저장데이터 항목 표현방법, 내부레코드의 물리적순서 등을 나타냄
sec 35) 데이터베이스 설계(A)
* DB 설계 - 사용자 요구분석 후 컴퓨터에 저장할 수 있는 DB구조에 맞게 변형 후 DBMS로 DB를 구현해 일반 사용자들이 사용.
>> DB 설계 시 고려사항
- 무결성 - 삽입, 삭제, 갱신 등의 연산 후에도 DB에 저장된 데이터가 정해진 제약 조건을 항상 만족
- 일관성 - DB에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 초지일관.
- 회복 - 시스템에 장애가 발생 시 장애 발생 직전상태로 복구할 수 있어야함.
- 보안 - 불법적 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야함.
- 효율성 - 응답시간의 단축, 시스템의 생산성, 저장 공간의 최적화 등이 가능해야함.
- DB 확장 - DB운영에 영향을 주지 않으면서 지속적으로 데이터를 추가할 수 있어야함.
실기 20.7
* DB 설계순서(개->논->물)
- 요구 조건 문석(요구조건 명세서 작성)
- 개념적 설계(개념스키마, 트랜잭션 모델링, E-R모델)
- 논리적 설계(목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계)
- 물리적 설계(목표 DBMS에 맞는 물리적 구조의 데이터로 변환)
- 구현(목표 DBMS의 DDL(데이터 정의어)로 DB생성, 트랜잭션 작성)
* 요구 조건 분석 - 사용할 사람으로부터 필요한 용도를 파악하는 것
- DB 사용자에 따른 수행 업무, 필요한 데이터의 종류, 용도, 처리형태, 흐름, 제약 조건 등을 수집.
- 수집된 정보를 바탕으로 요구 조건 명세를 작성
* 개념적 설계(정보 모델링, 개념화) - 정보의 구조를 얻기 위해 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정.
- 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행.
- 요구 분석에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
- DBMS에 독립적인 개념 스키마를 설계
필기 20.6
* 논리적 설계(데이터 모델링) - 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping)시키는 과정 / 개념 세계의 데이터를 필드로 기술된 데이터 타입과 이 데이터 타입들 간의 관계로 표현되는 논리적 구조의 데이터로 모델화. / 개념적 설계가 개념 스키마를 설계하는 단계라면, 논리적 설계에서는 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계. / 트랜잭션의 인터페이스를 설계
필기 20.9
* 물리적 설계(데이터 구조화) - 논리적 설계에서 논리적 구조로 표현된 데이터를 물리적 저장장치(디스크)에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정/ 다양한 DB응용에 대해 처리성능을 위해 DB파일의 저장 구조 및 액세스 경로를 결정 / 저장 레코드의 형식, 순서, 접근 경로, 조회 집중 레코드 등의 정보를 사용하여 데이터가 컴퓨터에 저장되는 방법을 묘사.
* DB 구현 - 논리적 설계 + 물리적 설계서 도출된 DB스키마를 파일로 생성하는 과정.
- 사용하려는 특정 DBMS의 DDL(데이터 정의어)로 DB스키마를 기술 후 컴파일해 빈 DB 파일을 생성.
- 응용 프로그램을 위한 트랜잭션을 작성
- DB접근을 위한 응용 프로그램 작성.