관계대수
(Relational Algebra)
합집합(∪),교집합(∩),차집합(-),카티션프로덕트(X)
셀렉트,프로젝트,조인,디비전,리네임셀프조디 유인디카
[개념] RDB에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적언어
[유형] 1) 순수관계연산 - RDB에 적용가능하게 특별히 개발
SELECT(σ), PROJECT(π), JOIN(⋈), DIVISION(÷)
2) 집합연산 - 수학적 이론집합에서 출발
UNION, DIFFERENCE, INTERSECTION, CARTESIAN PRODUCT
σ(조건)(R) , R = 릴레이션 이름
π(속성리스트)( R)
R ⋈ 키속성 r = 키속성 s S (키속성 r = 릴레이션 R의 속성, 키속성 s = 릴레이션 S의 속성)
R[속성r ÷ 속성s]S (속성r은 릴레이션 R의 속성, s는 릴레이션 S의 속성, 속성 r = 속성 s)
함수적 종속성
기준 값:결정자,
종속되는 값:종속자
[개념] 애트리뷰트들 사이의 관계에 대한 제약조건으로 애트리뷰트 A가 B의 결정자이면 B는 A에 함수적으로 종속 (A->B)
o 완전함수종속 : XY→Z일 때 X→Z, Y→Z가 성립하지 않는 경우
o 부분함수종속 : XY→Z일 때 X→Z 또는 Y→Z가 성립, 제2정규화 필요
o 이행함수종속 : X→Y이고 Y→Z일 때 X→Z가 성립하는 경우, 제3정규화 필요
o 결정자함수종속 : X→Y이고 X가 후보키가 아닌 경우, BCNF 정규화 필요
o 다중치종속(MVD) : A,B,C 속성 R에서 속성 A가 B값 집합 결정, C는 독립적 : A->>B
o 조인종속성(JD) : R의 부분집합 A,B..Z, A,B..Z를 조인한 결과가 R이 같은 때 : *(A,B..Z)
X→Y에서 Y에 대응되는 X는 하나. X가 기본키이면 Y는 X에 함수적으로 종속
- 완전 함수종속
- 부분 함수종속
- 이행 함수종속
- 결정자 함수종속
- 다중치 종속
- 조인 종속
암스트롱 공리(axiom)
함수적종속성, 반가이결분의
반사(Y가 X의 부분집합이면 X->Y)
증가(X->Y이면 XZ->YZ)
이행(X->Y이고, Y->Z이면 X-Z)
결합(X->Y이고, X->Z이면 X-YZ)
분해(X->YZ이면 X->Y이고 X-Z)
의사이행(X->Y이고 YZ->W이면 XZ->W)
[개념] F의 폐포(closure, F+)를 구하기 위한 추론 규칙으로 어떤 릴레이션 R에 존재하는 함수종속에 대한 추론규칙(inference rule)
[기본]
1)반사:Y가 X의 부분집합 X->Y 2)증가:X->Y이면 XZ->YZ
3)이행:X->Y,Y->Z 면 X->Z
[유도] 4)결합:X->Y,Y->Z 면 X->YZ 5)분해:X->YZ 면 X->Y, X->Z
6)의사이행:X->Y,YZ->W 면 XZ->W
반사는 그냥…
증가는 ㅈ추가(Z추가)
이행은 이(2개인것)를 제거
결합은 X는 그대로 우변을 Merge(X->YZ)
분해는 결합의 역순(X-YZ로 시작)
의사이행(X->Y로시작)
순환적 폐포
(recursive closure)
내부참조, BOM관계대수로서는 표현할 수 없음
[개념] 동일한 테이블에서 튜플들간의 순환적 관계(Recursive Relationship)를 질의하는데 사용. 관계대수로서는 표현할 수 없음
[사례] emp테이블의 사원튜플에서 상사 또는 부서코드의 컬럼을 추가하여 재귀호출로 조회
[자기참조관계(BOM)] 부품이 자기를 참조, (1:1, 1:M, M:N)
[개념] 하나의 Entity타입내에서 Entitiy-Entitiy간 관계를 맺고 있는 형태
[유형] 복합형(다중 entity), 통합형(단일 entity)
정규화
무중분, FD
3원칙(무손실,중복성감소,분리의원칙)
반부이결다후
[개념] 이상현상을 야기시키는 속성간의 종속관계를 제거하기 위해 릴레이션을 작은 여러 릴레이션으로 무손실 분해하는 과정
[1차]완전함수종속 (반복제거) ->갱신(삽입,수정,삭제)이상 발생방지
[2차]부분함수종속제거(기본키에 종속적이지 않은 속성분리), 다중키의 부분집합키가 다른 속성을 결정
[3차]이행함수종속성 제거, 기본키가 아닌 속성과 다른 속성과의 관계가 존재함을 의미
[BCNF]결정자(후보키 아닌)종속성 제거
- 3NF만족하면서 추가로 해당 릴레이션의 모든 결정자는 후보키여야 한다.
[4차] 다중종속 속성 분리
[5차] 결함 종속성 제거(후보키를 통하지 않은 종속 제거)
[사례] 결정자(민번) -> 종속자(이름,주소,성별)
[절차] 전제조건+정규형 - 1:N 식별, 비식별 생성
중복->비정규형->1정규형+부분종속->2정규형+이행종속
'04.Database' 카테고리의 다른 글
DB JOIN (0) | 2020.06.08 |
---|---|
DB 유형 - DBaaS (0) | 2020.06.08 |
정규화 - 연결 함정 (Connection Trap) (0) | 2020.06.08 |
Migration - DB 성능개선 - 튜닝, 리팩토링, 마이그레이션 (0) | 2020.06.08 |
동시성 제어 - MVCC (0) | 2020.06.08 |