스키마

- 개념 스키마 : 모든 데이터를 통합한 조직 전체의 DB구조를 논리적으로 정의, 1개만 존재 (전체적인 뷰) 

- 외부 스키마 : 프로그래머나 사용자 입장에서 DB모습으로 조직의 일부를 정의 (사용자 뷰, 서브 스키마)

- 내부 스키마 : 전체 DB를 물리적 저장형태로 기술 (저장 스키마)

 

관계대수 : 정보 검색을 위한 유도방법, 절차적 언어

1. Select(σ) : 튜플, 수평연산 / σ(조건) R

2. Project(π) : 속성, 수직연산 / π(조건) R

3. Join(▷◁) : 두개의 릴레이션 합침 / R ◁ 키속성r = 키속성s S

4. Division(÷) : R-S / R [속성r ÷ 속성s] S

 

● 관계 해석 : 원하는 정보 정의, 비절차적 언어, 술어해석

 - 튜플 관계해석, 도메인 관계해석

 

● 정규화 : 쪼개는 과정

비정규

↓ 도메인 : 원자값

1NF

기본키에 대해 완전 함수적 종속 (부분 함수적 종속 제거)

2NF

모든 속성이 기본키에 대해 이행 함수적 종속 제거 (이행적 종속 : a->b이고 b->c 이면 a->c)

3NF

결정자 + 후보키

BCNF

↓ 다치 종속

4NF

↓ 조인 종속

5NF

 

● 반정규화 : 통합, 중복, 분리 과정

1. 테이블 통합 : 조인

2. 테이블 분할 : 수평 분할(레코드 기준), 수직 분할(속성 기준)

3. 중복 테이블 추가 : 집계 테이블 추가, 진행 테이블 추가, 특정부분만 포함된 테이블 추가

4. 중복 속성 추가 : 경로 단축을 위해 속성을 중복으로 추가

+ Recent posts