
데이터 모델
- 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다.
데이터 모델 표시요소
- 구조
- 연산
- 제약 조건
데이터 모델 절차
- 개념적 설계(개념적 데이터 모델) : 사용자의 요구에 대한 트랜잭션을 모델링하는 단계, ERD 다이어그램을 산출함.
- 논리적 설계(논리적 데이터 모델) : 트랜잭션의 인터페이스를 설계하는 단계, DBMS에 맞는 논리적 스키마를 설계하는 단계, 관계형 데이터베이스에서 테이블을 설계하는 단계, 정규화를 수행
- 물리적 설계(물리적 데이터 모델) : 데이터베이스 저장구조로 변환하는 단계, 반 정규화를 수행
관계 데이터 모델
- 데이터를 행과 열로 구성된 2차원 테이블 형태로 구성한 모델로 E.F.Codd가 제안한 모델이다.
관계 데이터 모델의 구성
- 릴레이션
- 튜플
- 속성
- 카디널리티 : 튜플의 수
- 차수 : 속성의 수
- 스키마
- 인스턴스
관계 대수와 관계 해석
- 관계 대수는 관계형 데이터베이스에서 원하는 정보를 기술하는 절차적 언어이고, 관계 해석은 프레디킷 해석(Predicate Calculus)에 기반한 언어이며 비절차적 언어이다.
관계 대수 연산자
- 일반 집합 연산자
- 합집합, 교집합, 차집합, 카티션 프로덕트
- 순수 관계 연산자
- Select(행), Project(열), Join, Division
E-R(개체-관계) 다이어그램
- 개체 : 사각형
- 관계 : 마름모
- 속성 : 타원
- 다중 값 속성 : 이중타원
- 개체-관계 연결 : 실선
- 개체-속성 연결 : 실선
- 관계-속성 연결 : 점선
이상 현상
- 데이터의 중복성으로 인해 릴레이션을 조작할 때 발생하는 비합리적인 현상
- 삽입 이상
- 삭제 이상
- 갱신 이상
함수 종속
- 부분 함수 종속(Partial Functional Dependency)
- 완전 함수 종속(Full Functional Dependency)
- 이행 함수 종속(Transitive Functional Dependency)
정규화
- 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지하고, 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정이다.
- 1정규형 : 원자값으로 구성
- 2정규형 : 부분 함수 종속을 제거
- 3정규형 : 이행 함수 종속을 제거
- 보이스-코드 정규형 : 결정자가 후보키가 아닌 함수 종속을 제거
- 4정규형 : 다치 종속을 제거
- 5정규형 : 조인 종속을 제거
반 정규화(비정규화, 역정규화)
- 정규화된 엔티티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법이다.
- 테이블 병합
- 테이블 분할
- 중복 테이블 추가 : 집계 테이블 추가, 진행 테이블 추가, 특정 부분만을 포함하는 테이블 추가
- 중복 속성 추가(컬럼 중복화)
- 중복 관계 추가
데이터베이스 무결성 종류
- 개체 무결성 : 한 엔티티에서 같은 기본 키를 가질 수 없거나, 기본 키의 속성이 NULL을 허용할 수 없는 제약 조건(기본 키, 유니크 인덱스)
- 참조 무결성 : 외래 키가 참조하는 다른 개체의 기본 키에 해당하는 값이 기본 키값이나 NULL이어야 하는 제약 조건(외래 키)
- 속성 무결성 : 속성의 값은 기본값, NULL 여부, 도메인이 지정된 규칙을 준수해야 하는 제약 조건(CHEECK, NULL/NOT NULL, DEFAULT)
- 사용자 정의 무결성 : 사용자의 의미적 요구사항을 준수해야 하는 제약 조건(트리거, 사용자 정의 데이터 타입)
- 키 무결성 : 한 릴레이션에서 같은 키값을 가진 튜플을 허용할 수 없는 제약 조건(유니크)
키 특성
- 유일성
- 최소성
파티셔닝
- 레인지 파티셔닝(범위 파티셔닝)
- 해시 파티셔닝
- 리스트 파티셔닝(목록 파티셔닝)
- 컴포지트 파티셔닝(조합 파티셔닝)
- 라운드로빈
데이터베이스
- 다수의 인원, 시스템 또는 프로그램이 사용할 목적으로 통합하여 관리되는 데이터의 집합이다. 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요하다.
- 통합된 데이터, 저장된 데이터, 운영 데이터, 공용 데이터
데이터베이스 특성
- 실시간 접근성, 계속적인 변화, 동시 공용, 내용 참조
데이터베이스 저장 기술
- 데이터 웨어하우스 : 사용자의 의사결정에 도움을 주기 위하여, 기간 시스템의 데이터베이스에 축적된 데이터를 공통 형식으로 변환해서 관리하는 데이터베이스이다.
- 특징 : 주체 지향적, 통합적, 시 계열적, 비휘발적
- 데이터 마트 : 전사적으로 구축된 데이터 속의 특정 주제, 부서 중심으로 구축된 소규모 단위 주제의 데이터 웨어하우스이다.
- 빅데이터의 특성을 가진다. (데이터의 양, 데이터의 다양성, 데이터의 속도)
NoSQL
- 데이터 저장에 고정된 테이블 스키마가 필요하지 않고 조인 연산을 사용할 수 없으며, 수평적으로 확장이 가능한 DBMS이다.
NoSQL 특성
- Basically Available : 언제든지 데이터는 접근할 수 있어야 한다.
- Soft-State : 특정 시점에서 데이터의 일관성이 보장되지 않는다.
- Eventually Consistency : 일정 시간이 지나면 데이터의 일관성이 유지된다.
NoSQL 유형
- Key-Value Store
- Column Family Data Store
- Document Store
- Graph Store
데이터 마이닝
- 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아내는 기술이다.
데이터 마이닝 주요 기법
- 분류 규칙
- 연관 규칙
- 연속 규칙
- 데이터 군집화