More Related Content
PDF
PPT
PDF
PPTX
PDF
PDF
[Effective Modern C++] Chapter1 - item2 PDF
[Effective Modern C++] Chapter1 - item1 PDF
What's hot
PDF
정규표현식 Regular expression (regex) PPTX
PDF
RPG Maker와 Ruby로 코딩 시작하기 Day 2 PDF
PDF
PPTX
PDF
HI-ARC ACM ICPC TF #5 (ADVANCED DFS) PDF
Start IoT with JavaScript - 5.객체2 PDF
03. function in typescript PDF
[오라클교육/닷넷교육/자바교육/SQL기초/스프링학원/국비지원학원/자마린교육]#16.SQL초보에서 Schema Objects까지 PPTX
PDF
타임리프 폼과 어노테이션.Key PDF
PDF
Viewers also liked
PPT
PPTX
PDF
PPTX
PDF
게임을 위한 DynamoDB 사례 및 팁 - 김일호 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming PDF
PDF
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버 PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
2014.4.30 프라이머 개발자 모임 - 서버 장애 예방 및 대응 방법 공유 PDF
20150724 제10회 부산 모바일 포럼 - 웹과 모바일을 위한 클라우드 데이터베이스 필승 전략 PDF
PPTX
NDC2014 코인박스@NDC 치킨럽포스트모템 Similar to 데이터베이스 정규화
PPTX
SQL 2-1.pptxyhhsjsjjzjzjzjzjzjhzhzhzhhzhzhzh PDF
[PyCon KR 2018] 땀내를 줄이는 Data와 Feature 다루기 PPTX
181215 MS SQL로 알아보는 데이터베이스 PPTX
PDF
Database Entity, 정규화에 대해 알아보자.pdf PDF
From maching learning to deep learning episode2 PDF
RUCK 2017 빅데이터 분석에서 모형의 역할 PPTX
새로쓴 대용량 데이터베이스 솔루션 1분리형일체형테이블 PDF
PDF
[212]검색엔진dot의내부 강희구최규식 PDF
데이터베이스 시스템 chapter3_STG박하은 PPTX
PPTX
101102 endofdb select.1_rdbms PDF
PPTX
PDF
PPTX
PDF
PPTX
PDF
#17.SQL초보에서 Schema Objects까지_오라클교육/SQL기초교육/구로IT학원/구로디짙털단지역 More from Hoyoung Jung
PPTX
PDF
PPTX
PDF
PPTX
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PDF
PPTX
PPTX
PDF
PPTX
PDF
PPTX
PPTX
데이터베이스 정규화
- 1.
- 2.
GOAL
-1 정규형의정의를 안다.
-2 정규형의 정의를 안다.
-3 정규형의 정의를 안다.
-BCNF의 정의를 안다.
-주어진 스키마가 어떤 정규형을 만족하는지 판단할 수 있다. - 3.
데이터베이스 설계 다시보기
데이터베이스 설계
= 테이블을 만드는 과정
테이블을 만드는 과정
= 애트리뷰트를 어떻게 묶을 것인지를 결정
좋은 테이블을 설계
= 애트리뷰트를 잘 묶는 방법 - 4.
잘 설계된 테이블
다른 테이블의 애트리뷰트 값을 읽어오는 것은
외래키의 참조를 통해서만 가능해야 한다. - 5.
잘못된 설계
ENAME
SSN
BDATE
ADDRESS
DNUMBER
DNAME
DMGRSSN
EMP_DEPT
SSN
PNUMBER
HOURS
ENAME
PNAME
PLOCATIONS
EMP_PROJ
fd1
fd2
fd3 - 6.
잘못된 설계의 문제점
데이터의 중복 발생
이상현상(anormaly) 발생
이상현상
- 삽입이상/ 삭제이상 / 갱신이상 - 7.
삽입 이상
새로운부서를 신설하고 싶습니다.
ENAME
SSN
BDATE
ADDRESS
DNUMBER
DNAME
DMGRSSN
EMP_DEPT - 8.
삭제 이상
마지막사원이 나갔습니다.
ENAME
SSN
BDATE
ADDRESS
DNUMBER
DNAME
DMGRSSN
EMP_DEPT - 9.
갱신 이상
개발팀의이름이 dev팀으로 바뀌었습니다.
ENAME
SSN
BDATE
ADDRESS
DNUMBER
DNAME
DMGRSSN
EMP_DEPT - 10.
- 11.
- 12.
- 13.
- 14.
- 15.
* 진짜 함수
Y = X * X : 함수
X가 Y를 함수적으로 결정한다.
Y가 달라지면 X값은 반드시 달라진다.
cf.) X가 달라져도 Y는 같을 수 있다.
X Y
X
0
1
-1
2
-2
…
Y
0
1
1
4
4
… - 16.
함수적 종속성 예시
1.주민번호 이름
2.부서 ID 부장이름
3.이름 직속상관
이 중에 틀린 것은? - 17.
key 다시보기
슈퍼키(superkey)
-애트리뷰트의 집합
-고유하게 식별됨
예)
- [사번, 부양가족이름]
- [주민번호 앞자리, 주민번호 뒷자리, 이름]
- [사번,이름, 성별, 나이, 부서, 집전화, … ] - 18.
key 다시보기
후보키(candidate key)
-슈퍼키의 부분집합
-구성 애트리뷰트중 하나라도 제거하면 슈퍼 키가 아닌 것
앞 장의 예제에서 후보키가 있나요?
- [사번, 부양가족이름]
- [주민번호 앞자리, 주민번호 뒷자리, 이름]
- [사번,이름, 성별, 나이, 부서, 집전화, … ] - 19.
key 다시보기
기본키 (primary key)
- 여러 후보키 중 대표적인 키 하나가 테이블의 기본 키가 됨
- 20.
- 21.
제 1 정규형
- 테이블은 반드시 하나 이상의 키를 가지고 있어야 한다.
- 애트리뷰트의 도메인이 오직 원자값만을 포함한다.
- 22.
제 1 정규형
다음과 같은 속성은 허용하지 않는다.
- 복합 애트리뷰트
- 다중 애트리뷰트
- 중첩 릴레이션
- 23.
제 1 정규형이것만 기억하자.
기본키가 있고 애트리뷰트가 원자값을 가지면 제 1 정규형
- 24.
진짜 제 1정규형의 정의
http://ko.Wikipedia.org/wiki/제1정규형
(1)열에는 위-아래의 순서가 없다.
(2)행에는 좌-우의 순서가 없다.
(3)중복되는 열이 없다.
(4)열과 행의 교차점에는 반드시 하나의 값이 존재해야 한다.
- 25.
완전 함수적 종속과제 2 정규형
*완전 함수적 종속
ABC X라고 할 때 ABC중 하나라도 제거하면 함수적 종속이 발생하지 않는 경우 - 26.
완전 함수적 종속과제 2 정규형
*부분 함수적 종속
완전함수적 종속이 아닌 경우 부분 함수적 종속이라고 함
예)
ABC D
BC D - 27.
제 2 정규형
-1정규형을 만족하고
-후보 키가 아닌 애트리뷰트들이 후보 키에 대해 완전 함수적 종속인 경우
- 28.
제 2 정규형
후보 키는? (SSN, PNUMBER)
SSN
PNUMBER
HOURS
ENAME
PNAME
PLOCATIONS
EMP_PROJ
fd1
fd2
fd3 - 29.
제 2 정규형
부분 함수적 종속이 발생하므로 2 정규형이 아님
SSN
PNUMBER
HOURS
ENAME
PNAME
PLOCATIONS
EMP_PROJ
fd1
fd2
fd3
완전 함수적 종속성
부분 함수적 종속성
부분 함수적 종속성 - 30.
제 2 정규형
고쳐 봅시다!
SSN
PNUMBER
HOURS
ENAME
PNAME
PLOCATIONS
EMP_PROJ
fd1
fd2
fd3
완전 함수적 종속성
부분 함수적 종속성
부분 함수적 종속성 - 31.
이행 종속과 제3 정규형
*이행 종속
X Y 이고 Y Z 이면 X Z
- 32.
제 3 정규형
-2정규형 +
-후보 키가 아닌 애트리뷰트들에서 이행 종속이 발생하지 않는다.
- 33.
제 3 정규형위배
ENAME
SSN
BDATE
ADDRESS
DNUMBER
DNAME
DMGRSSN
EMP_DEPT
이행 함수적 종속성 - 34.
BCNF
X Y 인 모든 X, Y에 대하여
(1)Y가 X의 부분집합이거나
(2)X는 후보 키어야 한다.
-후보 키가 아닌 애트리뷰트가
다른 애트리뷰트를 함수적으로 결정하면 BCNF가 아니다.
기타 : cycle이 생기면 BCNF가 아니다. - 35.