본문 바로가기

정보처리기사/II. 소프트웨어 개발

II. 소프트웨어 개발 - 데이터 입출력 구현 (2)

(1) 물리 데이터 저장소

  1. 물리 데이터 저장소의 개념

  - 논리 데이터 모델 -> 데이터 베이스 저장 구조로 변환하기 위한 데이터 저장소

 

 2. 물리 데이터 저장소 모델 변환

논리 물리
개체 (Entity) 테이블
속성 (Attribute) 컬럼
UID 기본 키 (Primary key)
관계 외래 키 (Foriegn key)

    반 정규화 수행

  - 중복 테이블 추가, 테이블 조합, 테이블 분할, 테이블제거 , 컬럼 중복화

 

 3. 물리 데이터 저장소 구성

  - 테이블 제약 조건

    연쇄 : 외부키와 일치하는 Row 

    제한 : 외부키 없는 것만

    무효 : 외부키와 일치하는 모든 것을 Null

 

 4. 뷰 설계

  - 뷰 속성

  - REPLACE : 뷰가 이미 존재하는경우 뷰 재생성

  - FORCE : 테이블 존재 유무와 상관없이 뷰 생성

  - NOFORCE : 테이블이 존재할 경우 뷰 생성

  - WITH CHECK OPTION : 서브 쿼리 내의 조건을 만족하는 행 변경

  - WITH READ ONLY : DML 조작어 작업 불가

 

 5. 파티션 설계

   - 파티션 종류

   - 레인지 파티셔닝 : 열의 값을 기준으로 분할

   - 해쉬 파티셔닝 : 해시 함수에 따라 데이터 분할

   - 리스트 파티셔닝 : 미리 정해진 그룹핑에 따라 데이터 분할

   - 컴포지드 파티셔닝 : 범위 분할

 

   - 파티션 장점

   - 성능향상 , 가용성향상, 백업가능 ,경합감소

 

   - 경합감소 : *디스크 스트라이핑으로 입출력 성능을 향상

   * 디스크 스트라이핑 : 데이터를 1개이상의 디스크에 저장하여 디라이브를 병렬로 사용할 수 있는 기술

 

  6. 트랜잭션 인터페이스

   - 트랜잭션 인터페이스는 ACID 원칙을 기반으로 설계 됨

   - Atomicity (원자성) : 연산을 모두 반영하거나 모두 반영하지 말거나

   - Consistency (일관성) : 일관성있는 데이터베이스 상태를 유지

   - Isolation (독립성) : 둘 이상 동시 실행 시 한 개의 트랜잭션만 접근이 가능함

   - Durability (영속성) :  결과는 영구적으로 반영된다.