Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
8 거대한 표현을 잘게 쪼개기
GeniusYG
RPG Maker와 Ruby로 코딩 시작하기 Day 2
Sunwoo Park
정규표현식 Regular expression (regex)
Sunyoung Kim
03. function in typescript
Han JaeYeab
12장 함수 조합 다시 보기4
cosmosyc
C# 세미나 12회차
Jeung_mh
HI-ARC ACM ICPC TF #5 (ADVANCED DFS)
Jae-yeol Lee
Haskell study 6
Nam Hyeonuk
1
of
35
Top clipped slide
데이터베이스 정규화
Dec. 1, 2014
•
0 likes
15 likes
×
Be the first to like this
Show More
•
4,182 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Engineering
데이터베이스 정규화
Hoyoung Jung
Follow
Master - CodeSquad at CodeSquad
Advertisement
Advertisement
Advertisement
Recommended
[Effective Modern C++] Chapter1 - item1
지환 김
876 views
•
15 slides
[Effective Modern C++] Chapter1 - item2
지환 김
383 views
•
7 slides
안드로이드기초
hylo926
479 views
•
4 slides
iOS 개발자를 위한 영어로 이름 짓기
hyunho Lee
95 views
•
17 slides
Python3 10장 문자열이야기
Jihoon Kong
1.6K views
•
20 slides
Modern effective cpp 항목1
Paul Myeongchan Kim
345 views
•
22 slides
More Related Content
Slideshows for you
(14)
8 거대한 표현을 잘게 쪼개기
GeniusYG
•
961 views
RPG Maker와 Ruby로 코딩 시작하기 Day 2
Sunwoo Park
•
196 views
정규표현식 Regular expression (regex)
Sunyoung Kim
•
8.1K views
03. function in typescript
Han JaeYeab
•
150 views
12장 함수 조합 다시 보기4
cosmosyc
•
479 views
C# 세미나 12회차
Jeung_mh
•
109 views
HI-ARC ACM ICPC TF #5 (ADVANCED DFS)
Jae-yeol Lee
•
597 views
Haskell study 6
Nam Hyeonuk
•
2K views
[오라클교육/닷넷교육/자바교육/SQL기초/스프링학원/국비지원학원/자마린교육]#16.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
•
638 views
Start IoT with JavaScript - 5.객체2
Park Jonggun
•
690 views
Cp2 w5
웅식 전
•
536 views
타임리프 폼과 어노테이션.Key
Seokju Hong
•
70 views
9. pointer
웅식 전
•
683 views
Regex
Kangwook Lee
•
540 views
Similar to 데이터베이스 정규화
(14)
파이썬 기본 문법
SeongHyun Ahn
•
1.4K views
스칼라와 스파크 영혼의 듀오
Taeoh Kim
•
853 views
파이썬을 활용한 자연어분석 기초
김용범 | 무영인터내쇼날
•
2.1K views
You don't know JS / this / chapter 1-2
Kiwoong Kwon
•
22 views
ES6 for Node.js Study
승빈이네 공작소
•
264 views
R 시작해보기
SEUNGWOO LEE
•
217 views
파이썬+주요+용어+정리 20160304
Yong Joon Moon
•
9.5K views
파이썬을 활용한 자연어 분석 - 2차
김용범 | 무영인터내쇼날
•
1K views
3주차 스터디
Seungwee Choi
•
436 views
Assembly 스터디 2
Jinkyoung Kim
•
555 views
Project#2말의여행 Hwp
Kimjeongmoo
•
512 views
Macro & compilation
Ikhoon Eom
•
66 views
Windows Debugging Technique #2
Wooseok Seo
•
430 views
Windows reversing study_basic_2
Jinkyoung Kim
•
93 views
Advertisement
More from Hoyoung Jung
(20)
철권 1단에서 벗어나기
Hoyoung Jung
•
487 views
코딩 공부 시작하기
Hoyoung Jung
•
664 views
내 질문에는 왜 답변이 달리지 않을까
Hoyoung Jung
•
1.6K views
entry를 이용한 코딩 교육1
Hoyoung Jung
•
2.1K views
Github Markdown
Hoyoung Jung
•
1.1K views
stored procedure2 + jdbc
Hoyoung Jung
•
1.3K views
mysql stored procedure
Hoyoung Jung
•
2.3K views
암달의 법칙과 쿼리튜닝 기초
Hoyoung Jung
•
6.3K views
mysql 서브쿼리
Hoyoung Jung
•
2.5K views
GROUP BY, CASE WHEN
Hoyoung Jung
•
1.5K views
트랜잭션
Hoyoung Jung
•
1.4K views
MySQL 인덱스의 기초
Hoyoung Jung
•
10.7K views
tomcat jdbc mysql 프로그래밍
Hoyoung Jung
•
5.9K views
MySQL JOIN
Hoyoung Jung
•
2.6K views
데이터베이스 모델링
Hoyoung Jung
•
9.5K views
MySQL delete.update
Hoyoung Jung
•
1.9K views
MySQL Select (1)
Hoyoung Jung
•
3.2K views
4. 함수포인터
Hoyoung Jung
•
1.5K views
2. MySQL DataTye Basic
Hoyoung Jung
•
4.8K views
MySQL Create Table
Hoyoung Jung
•
6.3K views
Recently uploaded
(20)
DevRookie 언리얼 에셋과 패키지.pptx
MUUMUMUMU
•
12 views
Functional Kotlin makes Kotlin functional
HyunWoo Lee
•
23 views
Brazil.pptx
BitangjolArnoldJan
•
2 views
DevRookie 언리얼 EQS.pptx
MUUMUMUMU
•
8 views
slideshare.docx
chmam02
•
2 views
생성인공지능둘러보기.pdf
Changwon National University
•
176 views
React-Query가필요한가요.pptx
ssuser89c688
•
4 views
[2022]_SW사업_대가산정_가이드(2022년_개정판
sam Cyberspace
•
68 views
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
Brandon Kang
•
8 views
미프진성관계 미프진호르몬 미프진약구할곳 카톡 FDA2
ljy7570
•
4 views
DevRookie 플로킹 알고리즘.pptx
MUUMUMUMU
•
9 views
SYTEC2202.pdf
XionglaiLu
•
2 views
Hapit_mid_HyunjunShin.pptx
JUNSHIN8
•
6 views
스마트감리앱 아키엠
ssuser4f5538
•
13 views
《格里菲斯大学毕业证学位证书靠谱制作》
mubnhpu
•
4 views
java_1장
HeeJung Chae
•
4 views
DevRookie 언리얼 군중 애니메이션.pptx
MUUMUMUMU
•
8 views
ParameterizedTest 와 ContextCaching.pptx
junu6
•
8 views
java_2장.pptx
HeeJung Chae
•
8 views
Business Driven Development.pdf
ssuser24f6db
•
5 views
Advertisement
데이터베이스 정규화
데이터베이스 개론 정규화
NHN NEXT 정호영 나눔고딕 및 나눔고딕코딩 글꼴을 설치해 주세요.
GOAL -1 정규형의
정의를 안다. -2 정규형의 정의를 안다. -3 정규형의 정의를 안다. -BCNF의 정의를 안다. -주어진 스키마가 어떤 정규형을 만족하는지 판단할 수 있다.
데이터베이스 설계 다시보기
데이터베이스 설계 = 테이블을 만드는 과정 테이블을 만드는 과정 = 애트리뷰트를 어떻게 묶을 것인지를 결정 좋은 테이블을 설계 = 애트리뷰트를 잘 묶는 방법
잘 설계된 테이블
다른 테이블의 애트리뷰트 값을 읽어오는 것은 외래키의 참조를 통해서만 가능해야 한다.
잘못된 설계 ENAME
SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN EMP_DEPT SSN PNUMBER HOURS ENAME PNAME PLOCATIONS EMP_PROJ fd1 fd2 fd3
잘못된 설계의 문제점
데이터의 중복 발생 이상현상(anormaly) 발생 이상현상 - 삽입이상/ 삭제이상 / 갱신이상
삽입 이상 새로운
부서를 신설하고 싶습니다. ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN EMP_DEPT
삭제 이상 마지막
사원이 나갔습니다. ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN EMP_DEPT
갱신 이상 개발팀의
이름이 dev팀으로 바뀌었습니다. ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN EMP_DEPT
정규형 (Normal Form)
이상현상이 잘 안 생기는 좋은 테이블이 갖추어야 할 조건 -1, 2, 3 정규형 -BCNF
정규화 (Nomalization) -테이블이
정규형을 만족할 수 있도록 잘 분해하는 과정 -1정규화 테이블이 1 정규형을 만족하게 됨 -3정규화 테이블이 3 정규형을 만족하게 됨
함수적 종속성 두
애트리뷰트 X,Y에서 X가 Y를 함수적으로 결정 X Y
함수적 종속성 두
애트리뷰트 X,Y에서 X의 값이 유일한 Y값을 결정 X Y
함수적 종속성 두
애트리뷰트 X,Y에서 Y는 X에 함수적으로 종속 X Y
* 진짜 함수
Y = X * X : 함수 X가 Y를 함수적으로 결정한다. Y가 달라지면 X값은 반드시 달라진다. cf.) X가 달라져도 Y는 같을 수 있다. X Y X 0 1 -1 2 -2 … Y 0 1 1 4 4 …
함수적 종속성 예시
1.주민번호 이름 2.부서 ID 부장이름 3.이름 직속상관 이 중에 틀린 것은?
key 다시보기 슈퍼키(super
key) -애트리뷰트의 집합 -고유하게 식별됨 예) - [사번, 부양가족이름] - [주민번호 앞자리, 주민번호 뒷자리, 이름] - [사번,이름, 성별, 나이, 부서, 집전화, … ]
key 다시보기 후보키
(candidate key) -슈퍼키의 부분집합 -구성 애트리뷰트중 하나라도 제거하면 슈퍼 키가 아닌 것 앞 장의 예제에서 후보키가 있나요? - [사번, 부양가족이름] - [주민번호 앞자리, 주민번호 뒷자리, 이름] - [사번,이름, 성별, 나이, 부서, 집전화, … ]
key 다시보기 기본
키 (primary key) - 여러 후보키 중 대표적인 키 하나가 테이블의 기본 키가 됨
함수적 종속성과 후보키(candidate
key) 모든 다른 애트리뷰트을 함수적으로 결정하는 애트리뷰트 ENAME SSN BDATE ADDRESS DNUMBER EMP_DEPT
제 1 정규형
- 테이블은 반드시 하나 이상의 키를 가지고 있어야 한다. - 애트리뷰트의 도메인이 오직 원자값만을 포함한다.
제 1 정규형
다음과 같은 속성은 허용하지 않는다. - 복합 애트리뷰트 - 다중 애트리뷰트 - 중첩 릴레이션
제 1 정규형
이것만 기억하자. 기본키가 있고 애트리뷰트가 원자값을 가지면 제 1 정규형
진짜 제 1
정규형의 정의 http://ko.Wikipedia.org/wiki/제1정규형 (1)열에는 위-아래의 순서가 없다. (2)행에는 좌-우의 순서가 없다. (3)중복되는 열이 없다. (4)열과 행의 교차점에는 반드시 하나의 값이 존재해야 한다.
완전 함수적 종속과
제 2 정규형 *완전 함수적 종속 ABC X라고 할 때 ABC중 하나라도 제거하면 함수적 종속이 발생하지 않는 경우
완전 함수적 종속과
제 2 정규형 *부분 함수적 종속 완전함수적 종속이 아닌 경우 부분 함수적 종속이라고 함 예) ABC D BC D
제 2 정규형
-1정규형을 만족하고 -후보 키가 아닌 애트리뷰트들이 후보 키에 대해 완전 함수적 종속인 경우
제 2 정규형
후보 키는? (SSN, PNUMBER) SSN PNUMBER HOURS ENAME PNAME PLOCATIONS EMP_PROJ fd1 fd2 fd3
제 2 정규형
부분 함수적 종속이 발생하므로 2 정규형이 아님 SSN PNUMBER HOURS ENAME PNAME PLOCATIONS EMP_PROJ fd1 fd2 fd3 완전 함수적 종속성 부분 함수적 종속성 부분 함수적 종속성
제 2 정규형
고쳐 봅시다! SSN PNUMBER HOURS ENAME PNAME PLOCATIONS EMP_PROJ fd1 fd2 fd3 완전 함수적 종속성 부분 함수적 종속성 부분 함수적 종속성
이행 종속과 제
3 정규형 *이행 종속 X Y 이고 Y Z 이면 X Z
제 3 정규형
-2정규형 + -후보 키가 아닌 애트리뷰트들에서 이행 종속이 발생하지 않는다.
제 3 정규형
위배 ENAME SSN BDATE ADDRESS DNUMBER DNAME DMGRSSN EMP_DEPT 이행 함수적 종속성
BCNF X
Y 인 모든 X, Y에 대하여 (1)Y가 X의 부분집합이거나 (2)X는 후보 키어야 한다. -후보 키가 아닌 애트리뷰트가 다른 애트리뷰트를 함수적으로 결정하면 BCNF가 아니다. 기타 : cycle이 생기면 BCNF가 아니다.
THANK YOU!!!
Advertisement