정보처리기사
정보처리기사(실기) - 데이터 저장소
내이름효주
2024. 4. 7. 14:20
- 데이터 모델: 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델
- 데이터 모델 절차: 개념적, 논리적, 물리적
- 개념적 설계(개념적 데이터 모델): 사용자의 요구에 대한 트랜잭션을 모델링하는 단계
- 현실세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조 도출
- DB 종류와 관련없음!
- 주요 산출물: 개체-관계 다이어그램 - 논리적 설계(논리적 데이터 모델): 트랜잭션의 인터페이스를 설계하는 단계
- DBMS에 맞는 논리적 스키마 설계
- 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현
- 관계형 데이터베이스에서는 테이블을 설계하는 단계
- 논리적 설계 단계에서 정규화 수행, 논리적 데이터베이스 구조로 매핑, 스키마 평가 및 정제- 1) 관계 데이터 모델 - 논리적 구조가 2차원 테이블 형태로 구성된 모델
기본키와 외래키로 관계 표현
1:1, 1:N, N:M 관계를 자유롭게 표현
- 구성요소: 릴레이션(행과 열로 구성된 테이블), 튜플(행), 속성(열), 카티널리티(튜플의 수), 차수(속성의 수), (릴레이션)스키마(열 정보), (릴레이션)인스턴스(데이터 집합)
- 관계대수: 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어 - 일반 집합 연산자(합집합, 교집합, 차집합, 카티션 프로덕트), 순수 관계 연산자(셀렉트 σ ➡ 튜플, 프로젝트π ➡ 속성, 조인▷◁ ➡ 튜플, 디비전 ÷ ➡ 튜플)
- 관계해석: 튜플 관계 해석과 도메인 관계 해석을 하는 비절차적인 언어(무엇을 얻을지에 대한)
- 2) 계층 데이터 모델 - 논리적 구조가 트리형태로 구성된 모델
상하관계가 존재(부모-자식)
1:N 관계만 허용 - 3) 네트워크 데이터 모델 - 논리적 구조가 그래프 형태로 구성된 모델
상위와 하위 레코드 사이에 다대다(N:M) 관계를 만족 - 속성
- 개체(□): 데이터베이스에 표현하려는 사물 또는 사건
- 속성(○) : 개체가 가지고 있는 요소 또는 성질
- 관계(◇) : 두 개체 관의 관계를 정의
- 정규화 ➡ 이상 현상: 데이터 종속성으로 인해 릴레이션을 조작할 때 발생하는 비합리적 현상(삽입, 삭제, 갱신 이상)
- 함수 종속: 릴레이션에서 속성의 의미와 속성 간 상호 관계로부터 발생하는 제약조건
X → Y 관계일 때 X는 결정자, Y는 종속자
1) 부분 함수 종속(Partial Functional Dependency) : 기본키가 복합키일 경우 기본 키를 구성하는 속성 중 일부에게 종속된 경우
2) 완전 함수 종속(Full Functional Dependency) : X → Y 일 때 Y는 X의 전체 속성에 대해 종속, 부분 집합 속성에 종속하지 않는 경우
3) 이행 함수 종속(Transitive Functional Dependency): X → Y, Y → Z 종속관계가 있을 때 X → Z가 성립되는 경우
- 정규화: 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정 - 반정규화(역정규화): 정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는데이터 모델링 기법
- 장점: 성능 향상과 관리의 효율성 증가
- 단점: 데이터의 일관성 및 정합성 저하, 유지를 위한 비용이 별도로 든다
- 테이블 병합, 분할, 중복 테이블 추가, 컬럼 중복화, 중복관계 추가
- 1) 관계 데이터 모델 - 논리적 구조가 2차원 테이블 형태로 구성된 모델
- 물리적 설계(물리적 데이터 모델): 논리 데이터 모델을 사용하고자 하는 각 DBMS의 특설을 고려하여 데이터 베이스 저장 구조로 변환하는 모델
- 테이블, 인덱스, 뷰, 파티션 등 객체를 생성
- 응답시간, 저장 공간의 효율화, 트랜잭션 처리를 고려하여 설계
- 성능 측면에서 반정규화 수행- 데이터 무결성: 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실세계의 실제 값이 일치하는 성질
1) 개체 무결성: 한 엔터티에서 같은 기본키를 가질 수 없거나 기본키의 속성이 null을 허용할 수 없는 제약조건
2) 참조 무결성: 외래키가 참조하는 다른 개체의 기본키에 해당하는 값이 기본키거나 null이어야 하는 조건
3) 속성 무결성, 사용자 정의 무결성, 키 무결성 - 키: 조건을 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 기준이 되는 속성
1) 유일성: 식별자에 의해 엔터티 내에 모든 튜플들을 유일하게 구분하는 특성
2) 최소성: 최소한의 속성으로 식별자를 구성하는 특성
- 종류: 기본키, 대체키, 후보키(유일성, 최소성) , 슈퍼키(유일성), 외래키
- 데이터 무결성: 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실세계의 실제 값이 일치하는 성질
- 인덱스: 검색 연산의 최적화를위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조
- 파티셔닝: 테이블 또는 인덱스 데이터를 파티션 단위로 나누어 저장하는 기법
1) 레인지 파티셔닝: 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝
2) 해시 파티셔닝: 범위가 없는 데이터에 적합
3) 리스트 파티셔닝: 특정 파티셔닝에 저장될 데이터에 대한 명시적 제어가 가능한 기법, 컬럼의 조건이 많은 경우
4) 컴포지트 파티셔닝: 레인지, 해시, 리스트 중 2개 이상의 파티셔닝 결합
5) 라운드로빈
- 개념적 설계(개념적 데이터 모델): 사용자의 요구에 대한 트랜잭션을 모델링하는 단계
- 데이터 모델 절차: 개념적, 논리적, 물리적