728x90
반응형

https://youtu.be/13B3mh988-Y



1. 데이터베이스 정규화

1-1. 데이터베이스 정의와 관계
-  SQL은 DDL, DML, DCL로 구성됨
-  DDL은 데이터베이스를 정의하는 도구, DML은 데이터베이스의 관계를 정의하는 도구, DCL은 데이터베이스 전체를 보호하고 허가권을 부여하는 도구임
-  DML에서 '실렉트', '인설트', '디렉트', '그랜트', '리버오', '커밋'을 사용함
-  DCL에서 '그랜트', '리버오', '커밋'을 사용함

1-2. 데이터베이스 정규화의 필요성
-  데이터베이스 설계는 개념적 설계, 논리적 설계, 물리적 설계의 단계로 이루어짐
-  개념적 설계는 데이터 분석을 통해 논리적 설계를 통해 테이블을 만들고, 물리적 설계를 통해 DB를 구현함
-  논리적 설계 단계에서 정규화 작업을 수행함
-  정규화는 좋은 테이블을 만들기 위해, 큰 테이블을 작은 테이블로 쪼개 무손실 분해하는 과정임
- (중요) 정규화는 데이터의 중복을 제거하고, 이상 현상을 없애는 과정임

1-3. 정규화의 정의와 중요성
-  정규화는 관계 DB에서 데이터 삽입, 삭제, 갱신 시 이상 현상을 없애는 과정임
-  데이터의 관계를 더 작은 테이블로 분해하여, 손실을 최소화함
-  정규화를 통해 테이블을 효율적으로 만들 수 있음
-  정규화는 최적화라고도 불림
-  데이터베이스 설계 시 중요한 과정임

2. 데이터베이스 정규화

2-1. 데이터베이스 정규화의 이해
-  데이터 테이블 간의 관계를 릴레이션으로 정의함
-  릴레이션은 서로 다른 테이블 간에 속성과 관계를 포함함
-  정규화는 릴레이션의 속성과 관계를 일정한 규칙에 따라 정해지는 과정임
-  정규화의 목적은 중복 테이블 속 데이터의 제거임
-  정규화는 삽입, 갱신, 삭제 등 이상 현상의 발생 가능성을 줄여줌

2-2. 정규화의 종류와 과정
-  정규화의 종류는 노말 포맷, BCNF, 제4정규형, 제5정규형 등이 있음
-  제5정규형이 가장 이상적인 테이블이며, 중복 현상이 발생하지 않음
-  정규화는 데이터 속 중복을 제거하여 이상 현상을 최소화하는 과정임
- (중요) 정규화는 튜닝 과정을 통해 더 정교해지며, 이를 DB 튜닝이라 부름
-  튜닝은 테이블의 정규화 과정에서 마지막 단계에서 이루어짐

2-3. 이상 현상과 정의
-  이상 현상은 테이블 조작 시, 예기치 못한 현상이나 문제가 발생하는 것을 의미함
-  삽입 이상은 테이블 내 또는 다른 릴레이션에 불필요한 데이터를 삽입하는 현상임
-  삭제 이상은 테이블에서 의도치 않은 값이 함께 삭제되는 현상임
-  갱신 이상은 특정 속성 값을 갱신할 때, 다른 속성의 정보가 모순될 수 있는 현상임
- (중요) 데이터의 중복, 불필요한 데이터 삽입, 속성 갱신 시, 정규화를 통해 최소화해야 함

3. 데이터베이스의 함수적 종속과 정규화 작업

3-1. 데이터베이스에서의 함수적 종속의 이해
-  데이터베이스에서 함수적 종속이란 특정 속성의 값이 다른 속성의 값에 함수적으로 연결되는 상황을 말함
-  해당 속성의 값은 오직 하나만 결정되며, 이를 결정하는 속성을 결정자라고 부름
-  해당 속성의 값이 다른 속성의 값에 함수적으로 연결되어 있는 경우, 이는 테이블 내에서 함수적 종속이라 함
- (중요) 완전 함수적 종속, 부분 함수적 종속, 이행적 함수적 종속의 3가지 종류가 있음
-  각각의 종류는 그 속성들 간에 존재하는 함수적 종속의 성질에 따라 다름

3-2. 함수적 종속 제거의 중요성과 방법
- (중요) 독립이 가장 좋은 데이터베이스 모델이며, 이를 위해 함수적 종속 제거가 필요함
-  종속관계는 이상현상을 야기하며, 이를 막기 위해 함수적 종속 제거가 필요함
-  함수적 종속 제거는 모든 테이블의 속성 간의 종속 관계를 제거하는 과정을 말함
-  이 과정을 통해 이상현상을 발생시키는 것을 억제하거나 제거할 수 있음

3-3. 정규화 작업의 이해와 종류
-  정규화 작업은 비정규 테이블을 정규 테이블로 변환하는 과정을 의미함
-  이 과정은 정규형의 종류에 따라 다르며, 가장 먼저 테이블을 만들면 비정규 테이블이 생성됨
-  정규형 단계에서는 불필요한 데이터를 제거하고, 유용한 정보만 추출하는 작업이 수행됨
- (중요) 이 과정을 통해 데이터베이스의 성능을 향상시키고, 데이터의 일관성을 보장할 수 있음

4. 릴레이션의 논리적 설계와 이상현상 해결

4-1. 릴레이션의 논리적 설계와 이상현상
-  릴레이션의 논리적 설계에서 이상현상이 발생할 수 있음
-  테이블 조작 시 이상 현상이 발생할 수 있어 이상 현상 제거 작업이 필요함
-  제1정규형 테이블은 비정규형 테이블에서 모든 도메인의 원자값으로만 구성된 테이블을 의미함
-  제1정규형 테이블에서 모든 원자값이 분해될 수 없는 값으로 구성되어 있음

4-2. 제1정규형 테이블에서 2정규형 테이블로의 전환
-  제1정규형 테이블에서 2정규형 테이블로 전환할 때 부분적 함수 종속성을 제거함
-  2정규형 테이블은 모든 기본키에 완전하게 종속된 형태를 의미함
- (중요) 2정규형 테이블은 제1정규형에서 부분적 함수 종속성을 제거한 형태임
-  2정규형 테이블에서 모든 속성이 기본키의 프라이머리 키인 경우를 제거하면 BCNF가 됨

4-3. 3정규형 테이블과 제3정규형 테이블의 이해
-  3정규형 테이블은 모든 속성이 기본키의 PK의 이행적 함수가 아닌 경우를 의미함
-  제3정규형 테이블은 3정규형 테이블에서 이행적 함수 종속이 아닌 경우를 제거한 형태임
- (중요) 각 테이블의 도메인을 모두 원자값으로 구성한 것이 3정규형 테이블임
-  각 테이블에 원자값이 부여되면 해당 테이블은 완전 함수 종속이 이루어짐

5. 데이터베이스 정규형

5-1. 정규형 단계
-  데이터베이스의 완전함수 종속관계 다룸
-  이행적 함수 종속성 만족하지 않는 테이블은 제3정규형 테이블임
- (중요) 완전함수 종속관계와 이행적 함수 종속성을 만족하지 않는 테이블을 구분함
-  2단계 거친 테이블은 2단계 정규형, 2단계 거친 테이블은 2단계 정규형임
-  이행적 함수 종속성을 제거하면 제3정규형 테이블이 됨

5-2. 후보키와 정규형
-  데이터베이스의 결정자가 후보키가 되는 속성은 유일성과 최소함
-  후보키 중에서 기본키는 슈퍼키임
-  데이터베이스의 네트워크 학번과 과목명을 결정하는 예시를 설명함
- (중요) 학번과 과목명의 담당 교수를 나타내는 표현을 설명함
-  후보키를 활용하여 데이터베이스를 설명함

5-3. 정규형 단계와 중요 개념
-  제3정규형은 이행적 함수 종속성을 만족하지 않는 테이블임
-  제4정규형은 다치종속과 이행적 함수 종속을 만족하는 테이블임
-  제5정규형은 조인 종속을 만족하는 테이블이며, 6단계를 거치면 제5정규형 테이블이 됨
-  정규형 단계에서 다루는 중요한 개념인 후보키, 정규형, 정규화, 모노노멀리제이션, 옵티마이제이션을 설명함
-  각 단계에서 다루는 개념과 중요성을 강조함

화자 1
00:10
자 전국에 계시는 우리 M2M 생방송 안방 가족 여러분 오늘 또 즐거운 마음으로 뜨거운 가슴으로 감동의 수업을 함께 하겠습니다. 아 예 여러분 좋습니다. 자 우리 현재 데이터베이스 그죠 드디어 이제 오늘 마지막 막바지에 왔다 그죠 인자 데이터베이스 우리 어제 또 아주 중요한 관계 데이터베이스 언어에 대해서 배웠죠 그죠 에스큐엘 표준 관계 데이터베이스의 언어인 스트라슈 퀴리랭귀치 SQL 출제가 반드시 된다. 그러죠 QL 어제 2시간 만에 그 방대한 걸 완벽 속성으로 정의했습니다. 맞나 그래서 우리가 다시 정리하면은 오늘날 SQL은 크게 뭐 DDL DML DCL로 구성돼 있죠.

화자 1
01:01
데이터베이스를 정의하는 정의역 정의어 그다음에 조작해주는 테이블 안에 들어있는 모든 데이터컵을 조작해 주는데 이용되는 DML 매니프레션 랭귀지 그리고 이제 이 데이터베이스 전체를 보호하고 뭐여 허가를 허가권을 부여하는 DCL로 구성돼 있습니다. 그렇죠. 그죠 그래서 DDL에서 크리에이터 생각나라 엘트문 드랍문 DML에서 우리가 했는 게 뭐여 실렉트문 인설트 딜리터 그죠 자 업데이트 그렇죠. 그다음에 DCR에서 우리가 그랜트와 리보우 그다음에 커미트와 노백 됐나요? 정리됐습니다. 자 오늘은 이제 자 이제 또 즐거운 곧 주말이 오네 좋습니다. 자 오늘은 데이타베이스의 정규화 정규와 여기서도 출제가 1문제 예상됩니다.

화자 1
01:54
정규화 아주 확실하게 이 정규화 굉장히 어려운데 제가 확실히 정리해 줄게 알겠나 자 정규와 노멀리제이션 데이터베이스의 정규화 이게 좋겠죠. DB 테이블의 정규와 데이터베이스의 정규와 다른 말로 최적화도 하죠. 노멀리제이션 또는 옵티마이제이션 해도 좋습니다. 최적화 예 이 데이터베이스에 우리가 인제 앞에서 다 우리가 데이타베이스 설계도 하고 다 있죠. 근데 이 데이타베이스 정규화는 우리가 데이터베이스의 전체 설계 과정 중에서 논리적 설계 단계에서 실은 수행하는 작업이에요. 그죠 자 다시 한번 중요하기 때문에 정리하면은 오늘날 이제 뭐야? 내가 데이터베이스 할 어 데이타베이스를 만들 데이터들이 있죠. 그죠 그럼 요거 그 요구 조건 있죠.

화자 1
02:43
요거 조건 그 데이터들을 분석하제 분석하고 난 뒤에는 무슨 단계 이제 이놈을 바로 못 만들죠 디자인 설계단계를 거치죠 항상 컴퓨터는 프로그램도 안 1가지 이제 내가 현재 전산을 해야 되겠다. 내가 데이터베이스 해야 할 데이터들 그 분석을 합니다. 분석 그리고 설계를 하죠. 설계를 하고 난 뒤 이제 이 설계도를 보고 구현을 하죠. 구현 데이터베이스로 구현 또는 프로그램 구현을 하고 실제 이제 컴퓨터 시스템에서 운용 운영을 하죠. 그래서 분석 설계 구현 운영인데 어 데이타베이스의 설계는 어떻다 3가지 설계 단계가 있다. 그렇죠. 개념적 설계 앞부분을 이제 정리해 본다 개념적 설계 논리적 설계 물리적 설계 요 단계가 있었지 에 개념적 설계를 우리는 뭐 정보 모델링이라 하죠.

화자 1
03:36
정보 모델링 맞나 논리적 설계를 우리는 데이타 모델링이란다 데이타 모델링이라고 물리적 설계가 이제 실제 DB로 구현하는 거죠. DB화 물리적 데이터화 하는 것이 맞나 그래서 개념적 설계에서 이용되는 도구는 뭐다 ERDIARGRAM 앞에서 배합체 NTT 릴레이션 다이아그램 이알 다이아그램이고 논리적 설계 단계에서 구현하는 게 논리적 설계단계의 도구가 뭐였나 바로 RDB 관계형 DB 실제 테이블로 설계하는 거 아니냐 테이블로 RDB 또는 NDB 생각나나요? 그리고 우리가 HDB 또는 ODB가 있는데, 가장 널리 이용되는 설계 기법이 뭐다 관계형 테이블 RDB는 뭐로 어 이 논리적 설계를 하나 그렇지 테이블 행과 열 릴레이션으로 핵연료 즉 테이블 구조로 하는 거고, NDB는 뭐 이렇게 한다.

화자 1
04:33
네트워크 그죠 그래프 개념으로 그래프 어 이건 행렬이죠. 행렬 그리고 HDB는 오케이 추리 추리개념으로 ODB는 객체지향 기법을 하는 거죠. 생각나나 그래서 이제 ER D 다이어그램을 뭐 테이블화하는 거 테이블화하는 과정이 논리적 설계 단계고 지금 우리가 배우고자 하는 이 정규화도 뭐다 바로 그 테이블을 만들 때 정규화 작업을 합니다. 그 말은 이제 논리적 설계 단계에서 정규화 작업을 수행 난다 이 말입니다. 그러나 그리고 좀 물리적 설계가 끝나면 바로 컴퓨터 하드디스크에 방대한 데이터가 데이타 베이스화로 구현이 되고 이 구현되어진 데이터들을 우리는 실제 컴퓨터를 가지고 운영 합니다. 맞나요? 그래서 항상 컴퓨터는 분석과정 설계과정 구현과정 그리고 실제 사용하는 과정이 있다. 프로그램 또 1가지죠 근데 데이타베이스는 분석 설계는 개념적 설계 논리적 설계 요렇게 했다는 거예요.

화자 1
05:32
정규화는 이 논리적 설계 단계에서 하는 작업이다. 와노 이 말이죠. 와 왜 논리적 설계 단계 ERDIARGRAM을 보고 어 테이블을 만들어 나가는 거죠. 데이터들의 관계 게이체와 게이체 관계 또 테이블 안에 속성과 속성 관계를 규명해 나가는데 왜 그 과정에서 정규화를 하느냐 이 말입니다. 한마디로 뭐 아유 뻑뻑하네요. 자 물 1잔 묻자 예 아 좋아요. 한마디로 이야기 하면은 좋은 테이블을 만들라고요. 한마디로 정규할 와노 굿테이블 생성입니다. 좋은 테이블 좋은 릴레이션 우리가 RDBS에서 이거 특히 테이블을 뭐란다 릴레이션이라고 하죠. 릴레이션 좋은 릴레이션 좋은 테이블을 만들기 위한 거다 결함이 없는 거 어 이상 현상이 발생하지 않도록 그래서 정규화의 정의는 릴레이션 테이블에서 주로 이 정규와는 관계형 DB에서 하는 거죠.

화자 1
06:32
관계 DB 관계 DB에서 하는 거다 릴레이 테이블에서 데이터의 삽입과 삭제 이 테이블 속에 새로운 데이터를 집어넣는다든지 기존의 데이터를 지운다든지 또 어떤 내용을 갱신한다. 그죠 갱신 시 발생하는 이상현상 아노말리가 발생하지 않도록 테이블 릴레이션을 더 작은 릴레이션으로 무손실 분해하는 과정을 우리는 정규화라 합니다. 무손실분해 처음에 이제 테이블을 쭉 만들죠 그래서 이 데이터들의 관계를 이렇게 테이블화 시켜 놓으면은 여 안에는 뭐다 많은 문제가 있어요. 그래서 이 문제가 없도록 요놈을 쪼개어 나가죠 이 큰 테이블을 작은 테이블로 또 이놈을 자꾸 쪼개어 나가면서 이 안에 있는 아노말리 이상 현상 이상 현상을 제거해 나가는 과정을 뭐 정규화라 한다. 그죠 손실이 안 생기도록 요게 정교하다 이 말입니다.

화자 1
07:25
또 다른 쪽으로 보면은 함수적 종속 펑션을 디펜던시 이론을 FD죠 나중에 또 나온다 FD 이론을 이용하여 잘못 설계된 테이블 설계 잘못 설계된 테이블을 더 작은 속성의 테이블로 쪼개어 가장 바람직한 가장 좋은 굿 가장 좋은 테이블로 만들어 나가는 과정을 뭐라 한다. 정규화 또는 최적화라 이야기를 합니다. 실제 그래서 우리가 데이터베이스를 RDB로 이래 구현을 하면요 처음에는 큰 테이블로 만들어 놓으면은 안에는 이상 현상이 발생합니다. 이상 3가지 이상 현상이 발생할 수가 있어 데이터의 중복성 또 들어가 있고요. 그래서 이걸 이상 현상을 제거하기 위해서 큰 테이블을 작은 테이블화 작은 테이블화 해나가는 과정이다. 무 손실 분해하는 과정이다. 이렇게 하는 게 뭐 바로 정교화다 이 말이죠. 자 정규화의 정의 알겠죠. 실제 그러니까 개념만 이해하면 되겠죠.

화자 1
08:21
왜 뭐 이렇게 나올 수도 있고 이렇게 나올 수도 있고 그죠 그래서 어 이 말의 표현은 각기 다를 수 있지 그래서 원리만 알면은 고런 게 정규하고요. 자 정규화의 개념을 다시 한번 정규화란 테이블들이 릴레이션들이 상호 종속적인 관계를 갖는 특성을 이용하여 이 테이블을 무손실 분해하는 과정으로서 무 손실분해 줄 그저 과정으로 정규화의 목적은 가능한 한 중복 테이블 속에 데이터의 중복을 제거하는 거다 제가 어떤 현상 삽입 이상 삭제 이상 갱신 이상의 발생 가능성을 최대한 줄이는 걸 정규하다 정규화의 개념이다. 이 말입니다. 계속 반복되는 이야기지 병태야 소비자야 너 스승이 목이 완전히 가네 예 자 좋습니다. 목이 아주 내가 요즘 이상하네 그죠 이 생중계 예 이게 크 이 아나운서가 목소리가 착초롱해야 되는데 요즘은 몸살 감기 2질 3살 과대말로 속병 감기 몸살 다리 걸려서 좋아요.

화자 1
09:21
자 정규형의 종류는 이제 제1NF 노말 폼이라 하죠. 정규형 놀말 노말폼이란다 그래서 우리는 뭐 제1NF 제1 정규형 제2 정규형 제3 정규형 그러고 BC 보이스코드 노말4 BCNF 그다음에 제4 정규형 제5 전규형 제 6가지가 있죠. 정규형의 종류 그래서 가장 좋은 거는 뭐다 가장 좋은 거는 제5 정규형이 가장 좋다. 가장 좋죠. 굿 제일 좋은 거죠. 굿 테이블이다. 그러니까 제1정규 처음에 비정규형 정기화되지 않은 테이블을 비정규형 비정규형 테이블이라 하죠. 비정규형 폼이라 하죠. 이놈을 가지고 정기화 작업 들어갑니다.

화자 1
10:03
첫 번째 작업했는 것보다 두 번째 두 번째 했는 거보다 세 번째 세 번째 했는 것보다 요놈 여기 네 번째 실은데 요거보다는 요놈 요거보다는 요거 마지막 제5 여섯 번째 작업을 마치면 가장 좋은 테이블 즉 제5NF 그죠 제5 노멀마일 폼이 가장 뭐다 데이터의 중보성이 고려되지 않고 이상 현상이 발생하지 않는다. 이 말이죠. 예, 알겠나 그래서 어 이 정기화 작업이 하면 할수록 더 좋아지는 거죠. 알겠어요. 제일 처음에 테잎을 만들어 놓은 안에는 문제가 많더라 그걸 계속 줄여주려 무손실 분해해 가지고 마지막 제5엔 TF가 제5 전경이 가장 따봉 가장 좋은 이상적인 테이블이요. 가장 이상적인 테이블을 만들어 나가는 과정이 뭐다 정규화다 그죠 이 정규 정규화에서 마지막 6단계에서 가장 좋은 걸 만드는데 우리 실무에서는 이걸 튜닝이라 합니다. 튜닝 그렇지 우리 기타 줄 튜닝 하제 처음에 기타 사면 뭐고 줄이 안 맞아 가지고 아름다운 소리가 안 나잖아.

화자 1
11:02
너 아나 기타 D- 씨 마이너 딴 따듯하게 알겠나 그래서 이게 기타 딱 사면 투닝 작업을 합니다. 튜닝 튜닝 작업하면 할수록 세밀하게 하면 할수록 가장 큰 자연에 가까운 음이 나오잖아요. 기타 튜닝 알지 1가지다 이 말입니다. 실무에서는 정교하지 않고 DB 튜닝이다. 데이터베이스 테잎을 튜닝했나 몇 단계까지 튜닝했노 이러죠 보통 5단계 마지막 6단계 즉 ONF까지 튜닝하기에는 굉장히 힘들어요. 그래서 이게 DBA의 전문가의 실력이죠. 보통은 튜닝 안 하고 바로 첫 번째 그러다보니까 DB가 꼬이고 데이터베이스 중복 일어나고 속도도 느려지고 이래요. 그래서 보통 이렇게 DBA가 하는 작업이죠.

화자 1
11:44
그죠 그래서 논리적 설계 단계 테이블을 만드는 과정에서 정규화 작업을 해 가지고 가장 아름다운 테이블을 만들어 놔야만이 그 테이블 안에 들어있는 데이터는 아주 이상적이고 결함이 없고 그죠 아이 모순생이 없는 데이터의 집합 그 테이블로 만드는 과정 되겠나 이렇게 이야기해 주는데 모르면 안 되겠죠. 그래서 실무에서는 튜닝이란다 기타 줄 튜닝하듯이 데이터베이스 테이블을 튜닝을 하면은 아주 좋은 테이블이 나온다 아주 좋은 테이블이라는 뭐다 아노말리 이상 현상이 발생하지 않는 테이블이다. 그런 말씀이에요. 저 좋습니다. 넘어가 봅시다 자 전기와의 정의를 확실히 알았습니다.

화자 1
12:27
자 그럼 이상형에 대해서 좀 아노말류 이상현상 예 흠흠 자 물 1잔만 자연스럽게 하자 목이 탁탁 막히니까 아노말리 자 이상의 정의 다 됐죠 이상은 뭐다 정유화를 거치지 않으면 데이터베이스 내 테이블 내에 데이터들이 불필요하게 막 중복되어 이 테이블 조작 시 예기치 못한 곤란한 현상이 발생하는데 이 이상한 현상을 뭐라고 그대로 위상해서 아노말리 또 다른 말로 하면은 테이블에서 일부 속성들이 종속 이제 보면 종속 디펜던시로 인해 데이터의 중복이 발생하고 이중복 니듀던시 또는 중복으로 인해 테이블 조작 시 문제가 발생하는 현상을 우리는 아노말리라 합니다. DB의 아노말리죠 이상의 종류는 3가지 살짝 쿵 보면 돼요.

화자 1
13:21
삽입 이상 인설션 아노말리 그다음에 삭제 이상 딜리션 아노말리 갱신 이상 업데이트 아마 말입니다. 이상의 종류 3가지 알아놔야 되겠습니다. 자 그러면은 삽입 이상은 뭐냐 삽입이 쉽죠 테이블 내 어 한 테이블 내에 또는 릴레이션 또는 다른 말로 테이블이라 하제 테이블 내에 데이터를 삽입할 때 어 나는 여기에 A를 삽입하고자 하는데 내 의도와 전혀 상관없이 원하지 않는 갑이 동시에 삽입되는 현상 이게 바로 삽입 이상입니다. 나는 이 테이블에 에이라는 데이터를 집어넣고 싶은데 어 뭐야? 삽입 이상하면 아 관계없는 비가 따라와 가지고 동시에 삽입되는 현상 그죠 쓸데없는 데이터가 테이블 내에 삽입되는 현상이 말 그대로 삽입 인상입니다. 되겠어요. 음 삽입 이상입니다. 쉽죠 자 시험에는 다음 중 삽입 이상을 빠르게 씨부린 거 이래 나오죠.

화자 1
14:16
그래서 여러분들 뭐 요 정도 용어들 또는 출제자가 뭐 다른 말로 말은 중요한 거 아니지 원리 뜨거운 가슴 자 삭제 이상은 어떤 거고, 테이블릿에서 한 튜프를 삭제한 행을 삭제할 때 의도와는 상관없는 값들 함께 삭제되는 거 즉 연쇄삭제 동그래미 연쇄 삭제가 발생되는 현상이 연쇄 삭제가 발생되는 현상이 나는 에이라는 데이터를 삭제하고 싶은데 따라서 옆에 있는 비도 동시에 삭제돼 버려요 어 이 테이블 세이만 삭제하면 되는데 B가 연쇄적으로 삭제돼 버리는 이런 연쇄삭제 현상이 삭제 이상입니다. B가 삭제되면 안 되는데 어떤 이상의 테이블이 이게 잘못 잘못돼 가지고 그죠 예 요런 거고, 자 갱신 이상은 어떤 거냐 하면 말이에요. 테이블 내에서 튜플에 있는 튜플에 있는 어떤 특정 속성 값을 갱신할 때 일부 투플의 정보만 갱신되어 정보의 불일치성 모순성 불일치 또는 정보의 모순성 모순성이 발생하는 현상의 갱신 이 쌓입니다.

화자 1
15:16
예를 들면 이렇다 이 말이야. 예를 들면은 어 내가 에이 테이블이 있고 비 테이블이 있습니다. 어 에이 테이블에 학번이 001이고 어 이름이 JGH고 국어가 90점이고 영어가 80점이고 수학이 100점이에요. 나는 이제 TUPR에서 아 이 80점이 잘못돼 가지고 어 요 90점으로 바꿨습니다. 근데 또 001 JJH 요 정보가 또 딴 테이블이 있을 수가 있는 거예요. 90 80 100인데 요놈 바꾸면 요놈도 같이 바꿔줘야 되는데 요놈만 바꿔버리고 이제 뭡니까? 요놈을 바꾸지 않은 요런 게 뭐다 갱신 이상이에요. 이해되나 어 같이 요거 바꿔지면은 여기에 관련된 데이터도 같이 바뀌어져야 되는데 요것만 바뀌고 요놈이 바뀌지 않는 요런 갱신이 있다는 거죠. 그래서 여러분들이 고 개념만 잡으면 됩니다. 삽입 이상 좋아요.

화자 1
16:09
쓸데없는 자료가 동시에 같이 삽입되는 현상 삭제 이상 연쇄 삭제 내가 원하지 않는 데이터가 투플이 연쇄적으로 삭제돼 버리는 거 또는 갱신 이상 정보의 모순성 일치성 일치가 안 되죠. 그죠 요놈만 갱신하고 같이 다 다 이게 만약에 JGH 수학이 80에서 90으로 바뀌면은 모든 데 다 바꿔줘야 되는데 일부만 바뀌고 나머지는 바뀌어 앉아 가지고 정보의 불일치가 일어나는 거 정보의 모순이 일어나는 거 그럼 이쪽 테이블에서는 JH 어 수학이 90점인데 이쪽 테이블에선 JH 수학이 80점이니까. 야 이거 에러가 발생하는 거죠. 알겠습니까? 자 요런 게 갱신 이상이야 됐나요? 자 이런 3가지 이사 현상이 일어나지 않도록 이제 뭘 해보자 정규화 작업을 해야 되는데 하기 전에 잠깐 함수적 종속이 뭐냐 자 요놈을 알고 넘어가야 됩니다.

화자 1
17:05
아 계속 물 좀 묵자 이게 예 좋아요. 함수적인 조속 펑셔널 디펜던시 FD라 하죠. 자 함수적 종속은 뭐냐 자 이런 이야기다 어떤 테이블 안에서 자 이거 테이블 학생테이블 이제 학생테이블 또는 어 테이블 안 뭐 테이블 또 릴레이션 좋습니다. 아래서 어떤 특정 속성 엑스의 각각에 대해서 어터리뷰터 속성 와이의 값이 오직 하나만 연관되어 있을 때 이 속성 와이는 속성 에스에 함수적으로 종속되어 있다. 또는 엑스가 와이를 함수적으로 결정한다. 하고 그 표기는 이렇게 한다. 이 말입니다. 무슨 말인지 이해됩니까? 자 엑스에 의해서 와이가 결정되겠죠. 그죠 이렇게 Y의 모든 걸 결정짓는 엑스를 우리는 결정자라 합니다. 함수의 결정자 그리고 엑스에 의해서 와이의 모든 게 변하죠.

화자 1
18:05
이렇게 와이의 지배를 받는 게 종속자랍니다. 결정자와 종속자 그런 이야기 다 자 여러분 학생 테이블에서 여러분 학번 이름 학년 학과 4개의 소송이 있는 거야. 어 그러면 엑스 학번 이 학번에 의해서 이름이 결정되고요. 학번에 의해서 학년이 결정되고 이 학번에 의해서 학과가 결정될 때 이름은 학번에 뭐다 함수적으로 종속되어 있다. 학년은 학번에 의해 학년은 학번에 함수적 종속 학과는 학번의 함수적 종속 관계에 있다. 이래 이야기하죠. 함수적 정석 펑션을 디펜던시 딱 그러니까 이게 함수예요. 함수 우 그렇죠. 이름이 엑스고 와이네 그죠 자 그럼 와이는 종속되어있다. 다 이런 거죠. 자 요렇게 표현할 수 있죠.

화자 1
18:51
요렇게 표명할 수도 있고 그러니까 여기 있네 엑스와 와이의 관계를 갖는 속성 엑스 와이에서 엑스를 뭐다 와이의 모든 걸 결정하는 결정자다 디테미네이션이라 하고 와이는 뭐다 엑스에 의해서 모든 속성이 종속되는 종속자다 디펜던트라 이래 이야기합니다. 그죠 아 이거는 참고로 결정자 종속자죠 자 이런 함수적 종속의 종류 성질은 3가지가 있어요. 완전히 종속되어있느냐 풀 완전함수 종속이 있고요. 완전함수 종속 풀 어 있고 부분적으로 종속되어있는 부분 함수 종속이 있고 그리고 이행적 함수종속이 있습니다. 이행적 함수 종속 그죠 아 이행적 함수 종속 완전함수 종속은 이런 거예요. 이게 완전함수장소 예를 들면은 현재 학번은 학번은 그럼 이름은 학번에 완전히 함수적으로 종속되어 있습니다.

화자 1
19:47
어 이 학번의 학번 요런 거고, 부분적으로는 뭡니까? 말 그대로 일부분만 종속돼있는 거죠. 뒤에 또 나온다 예인적 함수 종속은 뭐냐 하면 이거 이런 거야. 자 요 릴레이션 테이블이다. 테이블 A의 속성이 테이블 B를 결정짓고 동시에 또 테이블 B가 테이블 테이블 알에 비속성이 테이블 아래 씨 속성에 결정한다면은 요게 RNA IC인 경우 CNI의 예행적 함수 종속이다. 자 이런 거다 이 말입니다. 이런 거 예를 들면 어떤 테이블 아래 이제 알에 이거 뭐지 말이 더럽네 A라는 속성과 B라는 속성과 C가 있지 그지 요래 됐을 때 A의 속성이 B를 결정짓고 그죠 앤드 동시에 앤드 동시에 또 비는 씨를 트랜지티브 이전이죠.

화자 1
20:38
비는 씨를 결정짓고 요럴 때 요럴 때 이래 되면 어떻다 이래 되면은 또 어떻게 돼요. 에이는 자동적으로 씨를 결정 짓게 되죠. 에이는 비 트랜지티브 비는 씨 그러면 에이는 또 씨를 결정 지을 수 있죠. 요럴 때 씨는 뭡니까? 요럴 때 씨는 에이의 뭐다 예의적 함수 종속 관계에 있다. 이래 이야기하는 거죠. 알겠나 그 권한이 자꾸 트랜지티브 이전되잖아요. 다시 이야기 한다. 어 속성 에이 비 씨가 했을 때 이행적 함수 종속의 개념 한번 봐봐요. 에이의 속성이 비를 결정짓고 동시에 엔드 비가 씨를 결정 지은다면 당연히 뭡니까? 에이는 씨를 결정 지을 수가 있죠. 맞나 자 이게 권한이 뭐다 이행이 됐죠 이행 트랜지티브 자 에이에서 비 비에서 씨 그럼 당연히 에이가 씨를 컨트롤 할수 있는 거죠.

화자 1
21:31
내가 내 밑에 바로 새끼를 때릴 수 있으면은 또 내 새끼가 고 밑에 있는 새끼를 또 때릴 수 있으면 나는 또 고 밑의 새끼를 때릴 수 있는 거죠. 에 알겠나 그런 관계 요럴 때 씨는 뭐다 에이의 이행적 함수 종속관계에 있다. 이래 이야기합니다. 됐나 그래서 함수 종속의 성질 종류 3가지죠 완전함수종속 완전히 어 완전 함수 종속이고요. 부분 함수종속 이행적 함수 종속 있다는 거 그래서 왜 이런 게 필요하냐? 이런 함수적 종속 관계에 있다는 건 종속은 여러분요 자 왜 이게 함수적 종속을 우리가 거론하느냐 컴퓨터에서 여러분 종속은 좋지 않습니다. 종속 제일 좋은 게 뭐냐 독립입니다. 독립 디펜던시보다는 인디펜던시가 좋으세요. 인디아 독립 그래서 모든 컴퓨터의 데이타베이스든 프로그램이든 독립을 추구합니다. 세상은 독립을 추구합니다.

화자 1
22:28
독립 독립이 좋은 거요 우리 일본에 종속되어 있는 것보다 독립되니까. 얼마나 좋노 1가지죠 그럼 이 테이블 안에서 종속 관계 일어난다는 거는 A가 B를 지배하고 뭐 A가 C를 지배해 종속 관계 일어난다는 것은 좋지 않은 테이블이다. 즉 이 종속 관계는 곧 뭘 야기시킨다. 아노말리 이상 현상을 발생시킵니다. 발생적 그렇죠. 그러면 다른 말로 이 함수적 종속 관계를 제거하는 게 뭐다 정유화 작업이다. 이래 할 수가 있죠. 오케이 함수적 종속 좋은 차원에 그래서 각 속성들 간의 종속 관계보다는 독립 관계를 유지해주는 게 좋은 겁니다.

화자 1
23:09
그렇지 그러니까 정규와의 다른 또 이야기는 뭐다 각 테이블에 속성들 간에 함수적 종속 관계를 제거 그죠 함 써봐라 이런 함수적 FDA 종속성을 제거 제거하는 게 다른 말로 뭐다 정중하다 이 말인데 왜 함수저 종속을 제거하면은 뭐다 이상현상 발생을 억제를 하는 거죠. 그죠 정교하다 이 말입니다. 됐나 그래서 우리가 함수적 종속에 대해서도 알아야 되는 거예요. 이해되지 테이블에 각각 속성들은 독립성이 좋고 뭐 이놈 때문에 이놈이 결정되고 어 꼼짝 마라 이거는 좋지 않은 거예요. 그죠 함수적 종속을 제거하기 과정이 또 정규하다 이렇게 이야기해 주는 것도 좋습니다. 됐나요?

화자 1
23:56
자 그럼 실제 이제 우리가 정규화 작업에 한번 들어가 보자 테이블을 실제 한번 우리가 튜닝 작업을 기타 줄 한번 맞춰보자 띵딩 띵딩 알지 줄 맞추는 거 D- 어 D- 띵딩 이래 나와야 되는데 내가 이 기타 잘 친다 화이트 샌드 옥이라 카는 것도 모르지 참 그때 그 시절 예 자 이 정규형의 종류 인제 정규화 단계죠 정규형의 종류 또 다른 말로 정규화 단계 요렇게도 좋습니다. 정규화 단계에 제일 처음에 테이블을 만들면은 정규화 작업이 안 된 비정규 테이블이 만들어지겠죠. 이것만 알면 되는데 그래가지고 뒤에 다 한번 써놔서 처음에 이제 우리가 이제 현실 세계의 데이터들을 개념적 설계 ERDIARGRAM으로 표현하고 그러곤 이제 뭡니까? 논리적 설계 단계에서 테이블 즉 행과 연료 표현할 거 아니야. 이 표현하는 과정에서 이제 뭡니까? 처음에 표현해 놓으면 뭐다 비정규형 테이블이죠. 비정규형 정기화 작업이 되지 않은 것입니다.

화자 1
24:54
임금 이 비정규형 테이블은 많은 문제점을 가지고 있을 겁니다. 그죠 이상 현상 즉 어떤 문제점 함수적 종속 종속이 발생하고 그다음에 이 발생하기 때문에 당연히 뭐다 이 테이블을 조작할 때 무슨 현상 이상 현상 이상 삽입 이상 삭제 이상 갱신 이상이 발생될 우려가 있습니다. 발생이 된다니까 그래서 이제 이걸 함수저 종속성을 뭐하자 제거하자 제거하고 이런 이상현상을 발생시키지 않기 위해서 무슨 작업한다. 정주화 작업을 합니다. 정주화 단계를 거치지 됐나 자 요렇게 설명 잘 하제 그래서 이제 제1 정규형은 제일 첫 번째 작업 제1 노말 4 제 1 정규형 테이블은 뭐냐 이 비정규형 테이블에서 모든 도메인의 원자 아 모든 도메인이 원자 값으로만 된 테이블을 만들어내면은 제일 첫 번째 작업이다. 제1 정규형 테이블이다. 이래 이야기합니다.

화자 1
25:54
모든 원작가 그죠 어타미스티 아타미 자 모든 도메인에 도메인 가는 게 뭐여 그 속성의 10대 값들이 원잣값 더 이상 분해될 수 없는 값으로만 구성되어 있는 테이블이 뭐다 제1 정규입니다. 자 일단 들어놔라 자 제1 정규형은 뭐다 바로 원잣값 모든 도메인의 그 값들이 원자값으로만 구성돼 테이블로 만들어내는 게 뭐다 제일 정규형이에요. 제일정규형은 원자값 요것만 나오면 돼요. 시험은 요 정도밖에 안 나온다 그니까 비정규형 테이블에서 에 이 어떤 값들이 더 이상 분해할 수 없는 값으로 만들어내 버리는 게 뭐다 제1 정규형이에요. 어 그렇죠. 자 들어봐.

화자 1
26:32
그럼 제1 정규형에서 제1 정규형에서 모든 속성들이 기본키의 프라이머리 키의 완전함수 종속인 경우 자 제2정규형은 뭐다 모든 기본 키에 완전히 종속 FD 완전하면서 종속 하면 뭐다 제2 정규역 자 완전함수 종속하면 뭐다 제2 정규형이에요. 제2 정규형 다른 말로 요 제1정규형에서 뭐다 부분적 함수 종속을 제거하는 거죠. 완전히 종속되게 만들면은 제2정규형 완전함수 종속 이제 말만 해보돼 1엔 에프 원자값 2엔 에프 과자료소 됐죠 자 ENF에서 제3적인 경우는 뭐냐 자 ENF에서 ENF를 만족하고 이 말이죠.

화자 1
27:16
모든 속성들이 기본키의 PK의 이행적 함수 이 아닌 경우다 여행적 함수 종속이 아닌 경우 아닌 테이블로 구성되는 게 제3 정규형 시험에 여러분 다 치우고 제3 정규형 하면 뭐다 요거 이행적 함수 종속이 아닌 경우 어 그죠 여행적 나오면 뭐다 제3정규형이구나 이렇게 원자값 1 완전함수 종속인 경우 2 엔즈 함수 종속이 아닌 경우 3 그렇죠. 자 BCNF는 뭡니까? 그 릴레이션 테이블에서 모든 속성이 후보 키인 경우 모든 속성이 후보키 동그라미 후보 키 나오면 뭐다 BCNF 보이스 앤 코드 로말폼이죠. 후보키 BCNF입니다. 후보키 어 후보키인가 아닌 걸 제거해 버리면은 BCNF가 되는 겁니다.

화자 1
28:08
되겠나 자 자 네 번째 제사 로말폼은 뭐다 여러분 다치 종속 MVD 다치종속 강의 뭐다 제사 자 시험은 요것만 나와요. 자 오 마지막 가장 좋은 건 뭐다 모든 릴레이션에서 쪼인 종속이 성립되는 경우 쪼인 종속 제어 끝났어 지금 이것만 알면 돼요. 시험은요, 자 제5 정규형 하면 뭐다 여러분 조인종소 4 다치종구소 BCNF 후복기 3엔에프 이행적 함수 종소가 아닌 경우 2 완전함수 종구소 1 원자값 시험은 시험 칠라카면 이것만 해 끝 강의 끝 시험치기 위한 거예요. 시험치기 그렇죠. 어 그래 보면 시험에 인제 여러분 원작값 요거 연결시키면 되는 거죠. 자 요렇게 쭉 되는 거죠.

화자 1
28:52
그죠 그래서 요걸 여러분 보시면 되는 거고, 자 그럼 직접 우리가 뭐 여러분들이 실무는 아니지만, 실무에서 내가 직접 다 하지만 한번 간단하게 실제 비정규 테이블에서 여기까지 한번 가장 좋은 테이블을 만들어 나가보자 알겠나 그래서 여러분 이 정도만 알면 돼요. 알지만 1번 더 확실히 하기 위해서 실제 테이블을 몸속 침입 직접 우리가 굿 테이블을 만들어 가보자 우손실 분해 해 보자 이 말입니다. 됩니까? 좋습니다. 잠깐만요 자 중력 시험에는 출제가 꽤 된다고 보면 돼요. 비정규형의 자 1 다시 원작값 2 뭐요 완전함수 종속 3 행정함수 종속이 아닌 경우 BCNF 후보키 자 4 엠브 어 저 다치 종속 오 제이디 쪼인 종속 됐죠 자 넘어가 봅니다. 자유롭게 이야기했죠.

화자 1
29:51
자 한번 봐봐요. 자 제1 정규형 테이블이 어떻냐 해 봐봐 함 보자 그러면 모든 속성의 도메인이 원자값이죠. 원자값으로만 구성된 정규형 테이블을 제1 정규형 테이블이라 하는데 예를 들면은 주문 목록이라는 테이블이 있습니다. 근데 이건 제일 그냥 만들었어요. 만들었기 때문에 뭐다 비정규형 정기화 작업이 안 된 테이블이죠. 비정규형 릴레이션 테이블이다. 이 말이야. 그 테이블 이름은 뭐다 주문 목록이고 이 주문 목록 테이블의 속성은 제품번호와 제품명 쫙 속성이 있는데, 이 테이블에 피케이가 뭐고 자 피케이는 줄치죠 프라이머리 키 어 이 데이터를 대표하는 주요 킥 기본 키는 제품번호다 이 말이지 제품번호예요. 자 그런데 자 이 비정규형 테이블은 딱 보니까 아 봐봐요. 주문번호에 이 값들이 원자값이 아니죠. 주문번호 예를 들어보면 제품 번호 10011에 종속돼 있는 이 주문번호가 내 말 잘 들어 이게 참 실은 어려운 거예요.

화자 1
30:50
여러분 입장에서 이건 실제 전문가들이 하는 거다 전문가들이 테이블을 쪼개 나가잖아. 그래서 한번 들어봐. 함 봐봐요. 2101의 제품번호 이 데이터에 주문번호가 2가지가 딸려요 원자값 원자값이면 하나만 있어야 되겠죠. 2개가 있다. 카는 원자값 원자값은 더 이상 분해할 수 없는 값인데 이건 2개로 분해돼요. 아 이거 뭐야? 이 모든 도메인의 값들이 원자값으로 구성되지 않았거든. 야 그러면 이 테이블이 이 테이블을 나중에 조작 시에 여러 가지 이상 현상이 발생할 수 있구나 자 그러면 거기 제공해보자 이 비정규형에서 자 이 테이블을 원자값 자 크게 제품 테이블로 쪼개고 이놈을 제품 주문으로 쪼개 버립니다. 오케이 그렇죠.

화자 1
31:44
제품 그럼 어떻게 되노 자 요 큰 테이블을 2개로 쪼개니까 제품번호 제품명 재고 수량 요놈이 1개의 테이블 즉 제품테이블을 형성하고 제품 주문 테이블이 그죠 주문테이블이 뭡니까? 이제는 주문 번호가 주문테이블이니까. 주문번호가 독립적으로 원자값으로 구성돼 아까 원자값이 아닌 걸 원자값으로 구성돼 있지 뭔 말인지 알겠나 원자값을 그러니까 당연히 고객 번호도 뭡니까? 원자값으로 구성되는 거예요. 원자값 자 요놈 또 원자값 요 하나가 3개로 무손실 분해됐죠 여기 가지고 주문번호가 그렇지 근데 현재 제품주문 테이블과 제품 테이블의 모든 도메인의 값들은 원자값으로만 구성되어 있습니다. 어 2개가 2개 3개가 아니잖아. 그러니까 요런 테이블들이 뭐다 제일 정비용 테이블이라는 거예요.

화자 1
32:37
실제 그러니까 테이블을 논리적 설계에서 이런 릴레이션을 딱 만들어놓고 작업이 들어가면 이상현상이 발생해요. 그럼 이제 전문가들아 이거 튜닝 작업하자 경유화 작업 해야 되겠다. 그래서 이 값들을 전부 다 쪼개어서 원자값으로 구성해 버렸다 뭐다 원자값으로 구성된 테입을 제1로 만들어 버렸습니다. 쉽죠 어렵지 않죠 그런 겁니다. 그렇죠. 그래서 이거는 함수적 종속관계를 얘기하는 거고, 다음 한번 다음을 함 보자 너 스승이 상태가 안 좋네 자 그러면은 아까 이제 또 제1 정유형에서 아까 제가 보니까 아까 그거예요. 함수적 종소 관계가 다 지배되거든. 어 아까 뭐 예를 들면은 그러니까 제1 정규형에서 제품 주문 테이블만 가지고 이야기해 봐요.

화자 1
33:28
어 제품 주문을 가지고 이야기하니까 아 이게 이 주문번호 음음 이 주문번호에 의해서 자 제1 정규형에서 부분적 부분 함수 종속성을 제거를 해 버립니다. 그러면 이 테이블들은 뭐다 어 제2정규형 제2정규형은 여러분 뭐더노 완전 완전함수 종속관계 있죠. 모든 속성들이 그러니까 제1에서 요놈을 제거하니까 함 봐봐요. 주문번호가 고객 번호를 결정짓고 주문번호에서 그 결정이 되겠죠. 또 주문번호와 제품 번호에 의해서 주문 수량이 결정됩니다. 예 그렇죠. 요 요 2개가 슈퍼키다 그죠 예 그러니까 완전함수 종속관계 다 있는 거예요. 요거 볼 때 여러분들이 또 이 테이블에서 아까 제품 주문해서 또 무소실 분해를 해버리죠 그러면 요 2테이블은 뭐다 제2 정규 작업 즉 2단계 거친 테이블들이다. 이렇게 보면 됩니다. 그죠 그럼 이거 전부 다 완전하면서 종속관계에 있는 겁니다.

화자 1
34:26
그죠 엑스 와이 제트면은 엑스는 와이를 결정하고 또 엑스는 제트를 결정할 수가 있는 겁니다. 됐나 예 좋습니다. 자 영어로 살짝살짝 보면 돼요. 자 그 다음에 그다음 단계로 넘어가 봤고요. 자 제3 정규형은 뭐다 이행적 함수 종속성을 만족하지 않는 즉 유형 테이블이에요. 자 제2정규형 제2정규형은 여러분 뭐고 완전함수 종속으로 돼 있죠. 거기에서 이행적 함수 종속성을 제거하면 됩니다. 예를 들면은 아까 이거 봐봐요. 현재 엑스와이 제트죠 여기에는 완전함수종속 관계도 있지만 이거는 봐봐 주문번호에 의해서 고객 번호가 결정되고 동시에 고객 번호에 의해서 고객의 주소가 결정되면은 따라서 뭐다 엑스의 주문번호가 제트를 결정할 수가 있죠. 그러면 이 제트는 엑스의 이행적 함수 관계에 있는데, 이걸 제거를 해야 되겠죠.

화자 1
35:19
이걸 이 관계를 제거를 해 버리니까 요 테이블 다시 또 무손실 주문 테이블과 고객 테이블로 무손실 분해해 버렸거든. 그러면은 여기는 이행적 관계가 없제 2개 집밖에 없으니까 에 맞나 그니까 이행적 함수 종속성이 제거되어 버렸죠 제거 돼 버리니까 이 테이블은 뭐다 제3 정규형 테이블이다. 이 말입니다. 이행적 함수 종속성을 만족하지 않는 테이블이 되는 거예요. 이놈은 만족하재 에 완전함수 종속 관계는 있지만 주문번호가 고객을 결정하고 고객이 주소를 결정하고 그럼 이놈이 결정하기 때문에 이 테이블을 쪼개어 버리죠 쪼개버리면 이 테이블과 이 테이블은 이행적 함수로 종속 관계가 성립되지 않습니다. 할렐류야 됐나 좋습니다. 자 넘어가 보자 실험 여기까지 할 필요가 없는데 예 자 이제 BCNF는 뭡니까?

화자 1
36:09
여러분들 BCNF 인제 이게 BCNF죠 이제 네 번째 단계 모든 결정자가 후보키인 후보키는 뭐다 후보키는 여러분들 뭐고 후보키에 우리 앞에서 배웠던 후보키는 유일성 그 테이블에서 각 각 튜플의 값들이 유일한 유일성과 최소성을 동시에 만족하는 속성이 뭐다 후보키 속성이지 그죠 유일성과 최소 이 후보키 중에서 후보키가 보면 뭐가 될 수 있노 피케이가 될 수가 있죠. 기본키 그 후보키 중에 기본키를 제외한 나머지 키를 무슨 키 데이체 키 올터네이트 키 앞에서 환상적으로 배웠습니다. 맞나 그러면 현재 여러분들 함 봐봐 모든 결정자가 후보 키인 정규형 테이블인데 현재 제3 정규형을 봐봐요. 이 감옥명이라는 결정자 이 속성은요, 유의성 데이터베이스 데이터베이스 데이타베이스 이렇게 돼 있습니다. 그렇죠. 감옥명 그리고 이 학번도 한번 학방 그러니까 아 요거는 요렇게 봐봐요. 학번과 과목명을 합해서 기본키입니다.

화자 1
37:08
기본키 결정자입니다. 이게 에 자 여기 왜 학번의 밑에 밑에니까 이게 학번과 과목명이 합해서 기본키 즉 이게 무슨 키고 이런 기본키를 우리는 슈퍼키라카죠 슈퍼키 2가지 이상의 속성이 만들어지는 키 슈퍼키잖아. 자 그러면은 현재는 한번 봐봐요. 자 이놈들이 어 어 현재 같은 경우 여러분들 이래 보면은 요거 있네 요거 자 요거 98 여기까지 할 필요 없는데 자 데이터베이스 네트워크 학번과 가면 981 요놈 가지고 홍길동 이렇게 했죠. 그러니까 요 학번에 요 과목명의 담당 교수는 홍길동이고 자 요거죠. 요놈 요놈 유관순이고 요놈 요놈 홍길동이고 요런 거예요.

화자 1
38:00
근데 요놈이 유일성과 최소를 만지고 그래서 쪼개버리죠 쪼개버리죠 쪼개버리면은 이제 봐봐 학번과 담당 교수 담당 교수와 과목명들이 다 결정자가 전부 다 무슨 키가 된다. 후보키가 되는 겁니다. 후보키 요 2놈 합하면은 자 요드놈 하고 요두놈 하고 같질 않죠 같지가 않죠 요거는 함 봐봐 같이 가 않죠 같은 거 없제 요래요래 보면 같지만도 2가지를 요 둘을 동시에 봤을 때 같은 거 없습니다. 홍길동 데이터베이스 이런 게 없잖아요. 요것도 안 가지고 자 이렇게 이제 모든 결정자가 결정자가 무슨 키가 돼버렸다 후보키가 된 게 뭐다 BCNF입니다. 무슨 말인지 알겠나 그래서 여러분들 쉽게 얘기해서 막 후보키 하면은 일하면 돼요. 그래서 내가 직접 보여주는 겁니다. 그죠 자 그래서 요렇게 정리하면 되고요.

화자 1
38:49
그다음 그다음 다 됐어 뭐 제4 정규형은 여러분들 다 필요 없고 다치종속 다치종속 제5정규형은 조인 종속만 나오면 돼 그래야 다치종속이 뭔가 쪼인 종속이 뭔가 시험에 나온 적이 1번도 없어요. 그렇지만 살짝 보면은 자 다치 종속은 뭐냐 하면은 다치 다중값 종속 또는 다치종속이라 하지 멀티 밸류 디펜던시 다치종속이라 하는데 자 말 그대로 에이 비씨 3개의 속성을 가진 테이블 안에서 어떤 복합 속성 슈퍼 기조에 대응하는 비 값의 집합이 에이 값에만 종속되고 이 비 값은 씨에는 무한하다면 이때 비는 에이의 다중치 종속이라 합니다. 그래서 표기는 이렇게요 다중치종속은 화살표를 이렇게 2개 합니다. 좀 이상한데 어 요게 요래되는 거죠. 아 그러면 비는 에이에 다중 다중치 종속되어 있다. 이런 이야기 하는 거지 그죠 자 요렇게 참고로 하나 놓고 쪼인 종속은 여러분 한번 읽어봐요.

화자 1
39:47
우리 쪼인 배야지 아 쪼인 종속 여러분 만족한다고 한다. 그죠 그래서 뭐 몰려도 좋고 한 쪼인 종속하면 5 다치 장속하면 4 이 정도만 아시면 되는 겁니다. 알겠어요. 그래서 이렇게 되면 제5 정규형 작업 즉 6단계를 거치면은 제5 정비용 테이블이 뭐냐 가장 아름다운 테이블입니다. 그죠 튜닝으로 말하면 가장 아름다운 소리를 낼 수 있는 튜닝이다. 그죠 이 튜닝도 기타 치는 사람이 모여서도 여러분들 전문가 정말 기타 잘 치는 사람 튜닝을 정말 세밀하게 하죠. 으름한 사람들은 에 초보자들은 줄 대충 안 맞으면 대충 치는 거죠. 이해되나 이해만 하시면 되고요. 정유화 데이타베이스의 노말리제이션 옵티마이제이션 그죠 방금 이정도로 이야기하면요 여러분 깜짝 놀랍니다. 그래서 내가 상세하게는 하지 않았지만 그죠 실무에 입각해 가지고 여러분들 정의가 쭉 되었습니다.

화자 1
40:38
그죠 그래서 전기화의 정의 개념 그리고 아노말리가 뭔지 함수 종속이 뭔지 실제 정기화 작업을 우리는 육 단계까지 해봤다. 그거죠. 그래서 각 각 정규영역에서 대표적인 단어들 그죠 원자값 제1 완전함수종속 제2 이 엔진함수종속이 아닌교 제3 요것만 하면 돼 BCNF 후보키 알겠나 제3 MVD 다체종속 JO 쪼임 종속 됐습니다. 이 정도만 하면은 충분하다 이 말입니다. 그죠 그래서 정리가 되었고요. 아 엇 그래요. 자 요렇게 해서 정규화는요 해 놓으면 어떤 문제 나와도 빠져나갈 수 없겠지 부처님 손바닥 재계진 손바닥 떨어질라고 몸부림쳐도 떨어질 수 없는 당이 좋습니다. 그죠 10분 쉬고 심기일전해서 돌아오겠습니다. 잠시 후 뵙겠습니다.

728x90
반응형
posted by 아이윤맨
: