1. 데이터베이스 – 키 종류 및 개념
슈퍼키
고유하게 식별하는 모든 조합
후보키
최소한의 속성의 집합만으로도
어떤 한 튜플을 유일하게 구분
기본키 대체키
2. 데이터베이스 – 키 종류 및 개념
사원 번호 이름 부서명 전화번호
N1 유가희
Backbone 000-1212
N2 전옥현 Web
1212-1231
사원 번호 과목
N1 DB
N2 리액트
슈퍼키 – 사원 번호, 사원 번호-이름, 사원 번호, 사원 번호-부서명
후보키 – 사원 번호, 전화번호 (동일 이름이 있는 경우가 있기 때문)
기본키 – 사원 번호
대체키 – 전화번호
외래키 – 사원 번호
3. 데이터베이스 – 정규화
정규화를 통해 불필요한 데이터를 없앨 수 있고, 삽입/갱신/삭제시 발생할 수 있는 각 종 이상
현상(Anamolies)들을 방지
1차 정규화
1차 정규형은 각 로우마다 컬럼의 값이 1개씩만 있어야 함
이를 컬럼이 원자값(Atomic Value)을 갖는다 말함
이름 부서 과목 월급
유가희
Back
Bone
DB,
Networ
ks
100
전옥현 Web React 200
이름 부서 과목 월급
유가희
Backbo
ne
DB 100
유가희
Backbo
ne
Networ
ks
100
전옥현 Web React 200
4. 데이터베이스 – 정규화
2차 정규화
테이블의 모든 컬럼이 완전 함수적 종속을 만족
기본키 중에서 특정 컬럼에만 종속된 컬럼이 없어야 함.
이름, 부서, 월급 -> 기본정보
이름, 과목 -> 과목
이름 부서 월급
유가희 Backbone 100
전옥현 Web 200
이름 과목
유가희 DB
유가희 Networks
전옥현 React
이름 부서 과목 월급
유가희 Backbone DB 100
유가희 Backbone
Networ
ks
100
전옥현 Web React 200
5. 데이터베이스 – 정규화
3차 정규화
제 2 정규형에 속하면서, 기본키가 아닌 모든 속성이 기본키에 “이행적 함수 종속”이 되지
않으면 제 3 정규형이다.
X Y , Y Z, X Z
이름 부서, 부서 월급, 이름 월급
이름 부서 월급
유가희 Backbone 100
전옥현 Web 200
이름 부서
유가희 BackBone
전옥현 Web
부서 월급
BackBone 100
Web 200