[ 목차 ]
1. 자료 저장 방법 - 순차방법
2. 자료 저장 방법 - 인덱스 방법
3. 데이터 모델링
4. 정규화
5. 정규화 특징
6. 논리 데이터저장소
7. 논리 데이터 저장소 확인 절차
1. 자료 저장 방법 - 순차방법
1) 레코드들의 물리적 순서가 레코드들의 논리적 순서와 같ㅇ게 저장하는 방법
2) 엔트리 순차 파일 : 레코드가 시스템에 삽입되는 순서대로 만들어지는 파일
3) 키순차 파일 : 리코드들의 키값의 크기 순으로 만들어지는 파일
1] 장점 : 키값을 이용하기에 검색이 효율적
2] 단점 : 삽입 시 매우 느림
4) 레코드 접근은 기본적으로 레크드가 저장되어 있는 물리적 순서에 따름
5) 어느 한 레코드를 접근하기 위해서는 물리적으로 이 레코드 앞에 저장되어 있는 모든 레코드들을 접근하지 않으면 안되기 때문에 이 순차 파일은 파일을 복하하거나 레코드들을 순차적으로 일괄처리 하는 응용에서 많이 사용
2. 자료 저장 방법 - 인덱스 방법
1) 데이터 레코드를 접근하기 위해 먼저 인덱스를 찾아 그 인덱스가 가리키는 주소를 따라가 원하는 레코드를 접근하는 방법
2) 인덱스 파일을 사용하는 데이터파일은 인덱스 파일과 데이터 파일로 구성
3) 인덱스 파일은 <키값, 주소> 쌍으로 구성
4) 종류
1] 인덱스된 순차파일
- 하나의 인덱스를 사용
- 키 값에 따라 정렬된 데이터 레코드를 순차적으로 접근하거나 주어진 키값(인덱스)을 가지고 직접 접근하는 두 가지 방법을 모두 지원(랜덤처리, 순차처리)
순차파일 SAM
1) 목차 없는 책
2) 파일 내의 각 레코드를 논리적 순서에 따라 물리적으로 연속된 위치에 기록한 파일
3) 기억장소의 낭비가 없음
4) 색인 순차 파일에 비해 삽입, 삭제, 검색이 어려움
색인 순차 파일 ISAM
1) 목차 있는 책(정적 인덱스)
2) 인덱스를 통한 랜덤 처리와 데이터의 순차처리를 병행할 수 있는 파일
3) 삽입, 삭제, 갱신, 검색이 용이
4) 삽입 시 기본 영역에 추가 공간이 없을 경우 오버플로 영역에 저장(오버플로 영역을 위한 추가 공간 필요)
5) 파일 사용 중 삽입, 삭제가 빈번해져서 오버플로 레코드가 많아지면 파일을 재편성해야 함
6) 데이터 파일에 레코드가 삽입, 삭제될 때 인덱스 내용은 변하지만 인덱스의 구조는 변하지 않음
7) 만약 데이터 파일에서 새로 삽입할 레코드의 저장 공간이 업을 때는 오버플로 구역을 사용
동적인덱스 VASM
1) 동적인덱스 방법을 이용한 색인 순차 파일
2) 기본 구역과 오버플로우 구역을 구훈하지 않음(기본 구역 내에 예비 공간을 두어 추가로 삽입될 경우 이용)
3) 레코드를 삭제하면 그 공간을 재사용 가능(정적 인덱스는 재사용 불가)
4) 인덱스나 데이터 파일을 블록으로 구성하고 각 블록에는 추가로 삽입될 레코드를 감안하여 일정 비율 이상의 빈 공간을 미리 예비
5) 빈 공간이 다 사용되어 한 블록이 갇그 차면 이를 둘로 분할하고, 일정 수의 레코드를 유지하지 못하는 블록은 다른 블록에 합병
2] 다중키 파일
- 하나의 데이터 파일에 여러 개의 상이한 접근 방법을 지원
- 기본 개념은 데이터를 중복시키지 않으면서 다중 경로를 제공하는 것
- 즉, 테이블 내의 여러 속성에 키를 주어 다양한 경로를 통해 접근하도록 하는 것
역화일 inverted file
1) 각 필드마다 인덱스를 만들어 구현하는 것으로 하나 또는 몇 개의 색인 값을 결합해 레코드의 주소를 결정
다중리스트 파일
1) 인덱스 대신 데이터 레코드들 사이에 여러 개의 리스트를 구축하여 구현
2) 하나의 인덱스 값마다 하나의 데이터 레코드 리스트를 구축
3) 색인은 동일한 키 값을 갖는 데이터 레코드 중 하나의 레코드에 대한 포인터만을 갖고 후속 데이터는 포인터로 추적하도록 구성
3] 직접 파일
- 해싱 함수를 계산해서 물리적 주소를 직접 접근(대화형 처리 가능)
- 순서에 관계없이 저장, 레코드 주소의 변환과정의 시간 소요, 기억공간 효율 저하
3. 데이터 모델링
1) 현실 세계의 사용자 요구사항을 컴퓨터 세계의 정보구조로 변환하기 위해 실체와 관계를 중심으로 분석/설계하여 점차 자료구조를 만들어가는 과정
2) 개념 모델링을 통해 개발 범위를 파악, 업무 중심의 분석 단계(논리 데이터 모델링, 분석 모델링)를 거쳐 개발하고자 하는 환경을 고려한 설계단계(물리 데이터 모델링, 설계 모델링)로 구체화하고 개발단계(db 구축, 애플리케이션 개발)로 진행
현실세계
1) 하나 이상의 특성으로 구성된 개체로 표현
개념세계
1) 하나 이상의 속성으로 구성된 개체 타입으로 표현
컴퓨터세계
1) 하나 이상의 필드로 구성된 레코드 타입으로 표현
개체 = 엔터티 = 테이블
속성 = 어트리뷰트 = 필드
개체 인스턴스 = 실제값
3) 단계 : 개념적 설계 -> 논리적 설계 -> 물리적 설계
4) 목적
- 연관 조직의 정보요구에 대한 정확한 이해 가능
- 사용자, 설계자, 개발자 간에 효율적인 의사소통 수단을 제공
- 데이터 체계 구축을 통한 고품일 s/w와 유지보수 비용의 감소효과 기대 가능
- 신규 또는 개선 시스템의 개발 기초를 제공
5) 특징
- 데이터 중심 분석을 통한 업무 흐름 파악이 용이
- 데이터 무결성 보장
- 데이터의 공유를 통한 중복을 제거하고 일관선 있는 정보를 제공받을 수 있음
4. 정규화
1) 데이터의 중복을 방지하고 보다 효율적으로 데이터를 저장하기 위함(이상 발생 감소)
2) 제 1 정규형
1] 반복 되는 속성을 제거한 뒤 모든 속성이 원자 도메인 만으로 되어 있는 정규형
3) 제 2 정규형
1] 제 1 정규형을 만족(원자)하면서 부분함수 종속성을 제거하여 완전(충분)함수 종속성을 만족하는 정규형
2] 함수적 종속 : 어떤 테이블의 x, y를 속성 집합의 부분 집합이라고 할 때, x의 값 각각에 대해 시간에 관계 없이 항상 속성y 값이 오직 하나만 연관되어 있는 경우(x 결정자, y 종속자)
3] 즉, x를 알면 y를 알 수 있는 상태
4] 기본키가 두 개 이상일 때, 완전은 두 기본키를 알아야 다른 값을 알 수 있는 것이고 부분은 하나의 기본키만 알아도 다른 값을 알 수 있는 것
4) 제 3 정규형
1] 제 2 정규형을 만족하면서 이행적 함수 종속 관계를 제거하여 비이행적 함수적 종속 관계를 만족하는 정규형
2] 이행적 함수적 종속 : x를 알면 y를 알고, y를 알면 z를 알게되어 결국 x를 통해 z를 알게 되는 것
3] x, y를 분리시키면 비이행적 함수적 종속 만족
5) BCNF
1] 제 3 정규형을 만족하고 결정자가 후보키가 아닌 함수 종족을 제거해 모든 결정자가 후보키여야 하는 것
6) 제 4 정규형
1] 다치 속성을 제거
2] 다치 종속 : 하나의 기본키에 여러개가 종속되는 경우
7) 제 5 정규형
1] 조인 종속성 이용
갱신이상
1) 반복된 데이터 중에 일부만 수정하면 데이터의 불일치가 발생
삽입이상
1) 불필요한 정보를 함께 저장하지 않고는 어떤 정보를 저장하는 것이 불가능
삭제이상
1) 유용한 정보를 함게 삭제하지 않고는 어떤 정보를 삭제하는 것이 불가능
5. 정규화 특징
1) 현재 테이블이 3정규형 상태라면 1, 2정규형은 자동 만족
2) 정규형 차수가 높아질수록 만족시켜야할 제약조건이 증가
3) 정규화는 논리적 처리 및 품질에 큰 영향
4) 목적은 논리적 데이터베이스 구조상에 있어 삽입, 수정, 삭제 결과 생기는 이상현상 제거
5) 레코드들의 관련 속성들 간의 종속성을 최소화하기 위한 구성 기법
6) 정규화가 잘못되면 데이터의 불필요한 중복을 야기해 릴레이션 조작 시 문제 발생
7) 정규화되지 못한 릴레이션 조작 시 발생하는 이상 현상의 근본적 원인은 여러 가지 종류의 사실들이 하나의 릴레이션에 표현되기 때문
6. 논리 데이터저장소
1) 데이터 구조 등의 논리적인 자료구조로 만들어진 데이터 저장소
2) 물리 데이터 저장소와 별개로 사용자, 개발자가 이해하기 쉬운 논리적인 구조로 추상화하여 제공
1[ 엔터티 : 관리할 대상이 되는 실체
2] 속성 : 관리할 정보의 구체적 항목
3] 관계 : 엔터티간의 대응관계
3) 논리 데이터 모델링
1] 데이터 구조에 대한 논리적 정의단계로, 정확한 업무 분석을 통한 자료의 흐름을 분석하여 현재 사용 중인 양식, 문서, 장표를 중심으로 자료항목을 추출하여 추출된 엔터티와 속성들의 관계를 구조적으로 정의하는 단계
2] 논리 데이터 저장소를 설계하는 과정이 논리 데이터 모델링
4) 특징
1] 요구사항을 충분히 수집하지 않으면 다음 단계의 요구사항 변경에 따른 많은 비용 발생
2] 모든 이해당사자들과 의사소통의 보조자료로서 E-R 모델을 활용
3] 논리적 모델은 하드웨어나 소프트웨어에 독립적
7. 논리 데이터 저장소 확인 절차
1) 엔터티 확인
1] 작성된 엔터티 목록, 엔터티 정의서, 논리 ER-다이어그램, TO-BE업무 흐름도를 비교하면서 엔터티 누락, 중복 여부 확인
2) 속성 확인
1] 엔터티 정의에서 데이터 속성을 확인
2] 자주 사용되는 코드성 데이터는 공통코드 대상
3) 관계 확인
1] 엔터티 간의 관계 확인
2] 정규화 수준 점검
3] 엔터티 관계도, 목록 점검
4) 데이터 흐름 확인
1] 프로세스별 CRUD 매트릭스 확인 : 업무 프로세스와 데이터간 상관 분석표(행 : 업무 프로세스, 열 : 엔터티 타입)
2] CURE 매트릭스에서 사용되지 않는 엔터티가 있는지 확인
3] CURE 매트릭세에서 엔터티를 사용하지 않는 프로스세가 있는지 확인
5) 데이터 접근 권한 확인
1] 엔터티별 데이터 접근 권한 확인
2] 계정별 접근 제어 확인
3] 다수의 사용자가 접근하는 데이터베이스에서 각 사용자 또는 사용자 집단이 자신들이 허가받은 데이터에만 접근하도록 제어
6) 백업정책 및 분산구조 확인
1] 데이터 백업 및 복구 정책 확인
2] 초기 데이터 구축 계획 확인
3] 데이터 백업 주기 및 대상, 백업 방식에 대해서 확인
'자격증 > 정보처리기사 2과목' 카테고리의 다른 글
2-6장. 데이터 입출력 구현-물리 데이터저장소 설계(3) (0) | 2020.05.13 |
---|---|
2-5장. 데이터 입출력 구현-물리 데이터저장소 설계(2) (0) | 2020.05.13 |
2-4장. 데이터 입출력 구현-물리 데이터저장소 설계(1)-2 (0) | 2020.05.12 |
2-3장. 데이터 입출력 구현-물리 데이터저장소 설계(1)-1 (0) | 2020.05.12 |
2-1강. 데이터 입출력 구현-논리 데이터저장소 확인(1) (0) | 2020.03.18 |