데이터 모델 표시 요소
- 연산(Operation): 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
- 구조(Structure): 데이터베이스에 논리적으로 표현될 대상으로서의 개체 타입과 개체 타입 간의 관계
- 제약 조건(Constraint): 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
데이터 모델 절차: 요개논물
- 요구 사항 분석
- 개념적 설계: 사용자의 트랜잭션을 모델링하는 단계
- 논리적 설계: 트랜잭션의 인터페이스를 설계하는 단계
- 물리적 설계: 논리 데이터 모델을 특정 DBMS의 특성 및 성능을 고려하여 물리적인 스키마를 만드는 단계
논리 데이터 모델링 속성: 개속관
- 개체(Entity): 관리할 대상이 되는 실체
- 속성(Attribute): 관리할 정보의 구체적 항목
- 관계(Relationship): 개체 간의 대응 관계
개체-관계(E-R) 모델
- 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해 가장 널리 사용되고 있는 모델
정규화(Normalization)
- 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
정규화 단계: 원부이결다조
- 1정규형(1NF): 원자값으로 구성
- 2정규형(2NF): 부분 함수 종속 제거(완전 함수적 종속 관계)
- 3정규형(3NF): 이행 함수 종속 제거
- 보이스-코드 정규형(BCNF): 결정자 후보키가 아닌 함수 종속 제거
- 4정규형(4NF): 다치(다중 값) 종속 제거
- 5정규형(5NF): 조인 종속 제거
이상 현상(Anomaly)
- 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상
이상 현상의 종류: 삽삭갱
- 삽입 이상(Insertion Anomaly): 정보 저장 시 해당 정보의 불필요한 세부 정보를 입력해야 하는 경우
- 삭제 이상(Deletion Anomaly): 정보 삭제 시 원치 않는 다른 정보가 같이 삭제되는 경우
- 갱신 이상(Update Anomaly): 중복 데이터 중에서 특정 부분만 수정되어 중복된 값이 모순을 일으키는 경우
반 정규화(De-Normalization)
- 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
반 정규화 기법
- 테이블 병합
- 테이블 분할
- 수평 분할
- 수직 분할
- 중복 테이블 추가
- 집계 테이블 추가
- 진행 테이블 추가
- 특정 부분만을 포함하는 테이블 추가
- 컬럼 중복화
- 중복 관계 추가
인덱스(Index)
- 검색 연산의 최적화를 위해 데이터베이스 내 열에 대한 정보를 구성한 데이터 구조
인덱스 종류: 순해비함 단결클
- 순서 인덱스(Ordered Index): 데이터가 정렬된 순서로 생성되는 인덱스
- 해시 인덱스(Hash Index): 해시 함수에 의해 직접 데이터에 키 값으로 접근하는 인덱스
- 비트맵 인덱스(Bitmap Index): 각 컬럼에 적은 개수 값이 저장된 경우 선택하는 인덱스
- 함수 기반 인덱스(Functional Index): 수식이나 함수를 적용하여 만든 인덱스
- 단일 인덱스(Singled Index): 하나의 컬럼으로만 구성한 인덱스
- 결합 인덱스(Concatenated Index): 두 개 이상의 컬럼으로 구성한 인덱스
- 클러스터드 인덱스(Clustered Index): 기본 키(PK) 기준으로 레코드를 묶어서 저장하는 인덱스
인덱스 스캔 방식
- 인덱스 범위 스캔(Index Range Scan)
- 인덱스 전체 스캔(Index Full Scan)
- 인덱스 단일 스캔(Index Unique Scan)
- 인덱스 생략 스캔(Index Skip Scan)
파티션(Partition)
파티션의 종류: 레해리컴라
- 레인지 파티셔닝(Range Partitioning): 연속적인 숫자나 날짜를 기준으로 하는 파티셔닝 기법
- 해시 파티셔닝(Hash Partitioning): 파티션 키의 해시 값에 의한 파티셔닝 기법
- 리스트 파티셔닝(List Partitioning): 특정 파티션에 저장될 테이터에 대한 명시적 제어가 가능한 파티셔닝 기법
- 컴포지트 파티셔닝(Composite Partitioning): 레인지 파티셔닝, 해시 파티셔닝, 리스트 파티셔닝 중 2개 이상의 파티셔닝을 결합하는 파티셔닝 기법
- 라운드로빈 파티셔닝(Round-Robin Partitioning): 라운드로빈 분할로 회전하면서 새로운 행이 파티션에 할당되는 방식
파티션의 장점: 성가백합
- 성능 향상
- 가용성 향상
- 백업 가능
- 경합 감소
데이터베이스(Database)
- 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터 집합
데이터베이스의 정의: 통저운공
- 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임
- 저장된 데이터(Stored Data): 저장 매체에 저장된 데이터
- 운영 데이터(Operational Data): 조직의 업무를 수행하는데 필요한 데이터
- 공용 데이터(Stored Data): 여러 어플리케이션, 시스템들이 공동으로 사용하는 데이터
데이터베이스 특성
- 실시간 접근성(Real-Time Accessibility)
- 계속적인 변화(Continuous Evolution)
- 동시 공용(Concurrent Sharing)
- 내용 참조(Content Reference)
데이터베이스 종류
- 파일 시스템(File System)
- 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 관리 방식
- 종류
- ISAM(Indexed Sequential Access Method): 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
- VSAM(Virtual Storage Access Method): 대형 운영체제에서 사용되는 파일 관리 시스템
- 관계형 데이터베이스 관리 시스템(RDBMS; Relational DataBase Management System)
- 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리 시스템
- 계층형 데이터베이스 관리 시스템(HDBMS; Hierarchical DataBase Management System)
- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
- 네트워크 데이터베이스 관리 시스템(NDBMS; Network DataBase Management System)
- 데이터의 구조를 네트워크상의 망상 형태로 표현한 데이터 모델
DBMS(DataBase Management System)
- 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어
유형: 키컬도그
- 키-값(Key-Value) DBMS
- 컬럼 기반 데이터 저장(Column Family Data Store) DBMS
- 문서 저장(Document Store) DBMS
- 그래프(Graph) DBMS
특징
- 데이터 무결성
- 데이터 일관성
- 데이터 회복성
- 데이터 보안성
- 데이터 효율성
빅 데이터(Big Data)
- 시스템, 서비스, 조직(회사) 등에서 주어진 비용, 시간 내에 처리 가능한 데이터 범위를 넘어서는 수십 페타바이트(PB) 크기의 비정형 데이터
빅 데이터의 특성
- 데이터의 양(Volume) (3V)
- 데이터의 다양성(Variety) (3V)
- 데이터의 속도(Velocity) (3V)
- 데이터의 진실성(Veracity) (5V)
- 데이터의 가치(Value) (5V)
- 데이터의 정확성(Validity) (7V)
- 데이터의 휘발성(Volatility) (7V)
NoSQL
- 전통적인 RDBMS와 다른 DBMS를 저장하기 위한 용어로, 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인(Join) 연산을 사용할 수 없으며 수평적으로 확장 가능한 DBMS
특성
- Basically Available
- Soft-State
- Eventually Comsistency
유형
- Key-Value Store
- Column Family Data Store
- Document Store
데이터 마이닝(Data Mining)
- 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술
주요 기법: 분연연데
- 분류 규칙(Classification): 과거 데이터로부터 특성을 찾아내어 분류모형을 만들어 이를 토대로 새로운 레코드의 결과값을 예측하는 기법
- 연관 규칙(Association): 데이터 안에 존재하는 항목들 간의 종속 관계를 찾아내는 기법
- 연속 규칙(Sequence): 연관 규칙에 시간 관련 정보가 포함된 형태의 기법
- 데이터 군집화(Clustering): 대상 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업
관계 대수
- 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 정형 언어
일반 집합 연산자: 합교차카
- 합집합(Union): ∪
- 교집합(Intersection): ∩
- 차집합(Difference): -
- 카티션 프로덕트(Cartesian Product): ×
순수 관계 연산자: 셀프조디
- Select: σ
- Project: π
- Join: ▷◁
- Division: ÷
'정보처리기사' 카테고리의 다른 글
[9. 소프트웨어 개발 보안 구축] 핵심 키워드 정리 (0) | 2023.04.10 |
---|---|
[8. SQL 응용] 핵심 키워드 정리 (2) | 2023.04.07 |
[7. 애플리케이션 테스트 관리] 핵심 키워드 정리 (0) | 2023.04.06 |
[3. 통합 구현] 핵심 키워드 정리 (0) | 2023.04.05 |
[4. 서버 프로그램 구현] 핵심 키워드 정리 (1) | 2023.04.05 |