어제 새벽에 조금 잤지만 잠이 부족하다 / 피곤피곤 낫럭키비키 ❎
👶📗📘📙📚📖📃📂🤔🎷✍🍼🔒🔓🔏🔐💾🔑📃📜📄📑📰📂📁🍼🔒📌
기출 기본적인 설명
📂 옵티마이저 정렬 기법
- Neste Loop join (중첩루프 조인)
- 이중 반복문 (X : 카디날리티 프로덕트) [모든 데이터 비교]
첫번째 테이블의 각행과 두번째 테이블의 각행을 모두 비교
- 대용량 데이터를 가진 테이블에 부적합
- 조건에 만족하는 행들을 뽑아냄 → 조건에 만족하는 행이 적은 경우 효율적
→ 선택도가 낮은 테이블 참조 유리
- Sort MERGE Join (정렬 병합 조인)
- 각 테이블을 정렬한 뒤 병합하여 수행
→ 초기 비용(돈과 시간) ↑
- 동등조인시 효율적
- 😏 " 언제 쓰이나요? "
인덱스가 존재하지 않거나 특정 속성을 정렬키로 사용하고싶은 경우
- 결과가 원하는 정렬방식으로 나와야 하는 경우 유리
- HASH Join (자료구조 ,대용량에 적합)
- 각 테이블을 해시테이블로 변경 [Key - Value]
→ 추가적인 저장공간 필요 (충분한 메모리가 X 매우 비효율)
- 두개의 테이블 사용시 더 작은 테이블을 해시테이블로 변경 하는 것이 효율적
- 대규모 데이터에 대해 효과적[OLAP]
- OLAP ? (큰 범위의 데이터를 처리)
- OLTP ? (작은 범위의 데이터를 처리)
연습문제


- 합쳐졌을때 B → C가 가능하다면 (B뒤에 무엇이와도 가능하다.)
최종 문법 정리
😤정규화(normalization)[NF]📌
📚 정규화의 개념

📚 정규화 과정

- 시험문제 꿀팁 : 정규형은 3등급까지가 가장 많이 나온다.
- STEP BY STEP [정규화 3등급을 만드려면 1~2등급 모두 거쳐야 한다.]
알아야할 키워드 📌
-
제 1 정규화 → 제 1 정규형(Format)
-
📃 비 정규형 [도메인 원자성 : 쪼개질 수 없다.[다중값 제거]
1NF (제1 정규화) → 2NF (제2정규화) → 3NF(제3정규화) → BCNF → 4 NF → 5NF
-
1NF → [부분 종속성제거] 2NF
- 2NF → [이행 종속성 제거] 3NF
3NF → [결정자 제거]BCNF
BCNF → [다치종속제거] 4NF
4NF → [조인속성제거]5NF
-
부 이 결(정자) 다(치) 조(인) [1~5NF]
😤정규형
😤 제 1정규형
형과 화는 다름
→ 제 1 정규화 [1NF] -> 결과값 정규화
- 속성값이 원자값을 받도록 분해시키는 행위

😤 제 2 정규형
- A가 R를 모두 결정시킬 수 있을때 가능하다.
→ 릴레이션 R[제1 정규형]
- 기본키에 완전 함수완전종속일때 제2정규형 발생
- 하나의 속성으로 다른 모든 속성을 결정지을 수 있을때 함수완전종속 이라고함

📂 제 2정규형으로 변환

😤 제 3 정규형
→ 릴레이션 R이 제 2정규형
- 키본키에 이행적 종속(non-transitive)

- 학생번호가 수강료를 결정짓는 [중간에 강좌이름이 결정되는 것이 아님. 이행을 없앰]

😤 BCNF
- 유일키가 아닌 결정자를 제거하는 것을 결정자 제거라고함
- 릴레이션 R에서 함수 종속성 X→Y가 성립할때 모든결정자가 후보키일때

📂 BCNF 정규형 변환

📂손실분해가 나타남[분해시 손실이 발생하다]
- 유일키로 쓸 수 있는 키가 사라짐 [결정자가 없어짐;;]

📂손실분해를 방지하기 위해 무손실 분해를 사용해야함
- 두개의 릴레이션을 합쳤을때 만족한다면.[합집합]
- 분해를 할때 유일키로 속성을 분해시켜야함.


📂이렇게 분해하게되면 창업전략이 4개나오게됨


- 아무리 많이 해도 BCNF까지 함.[정규화의 범위정리]

😤 정규화의 기본 정리
제 1 정규화 (1NF) → 결과 : 제1 정규형
- 모든 속성은 원자값을 가져야한다. 즉 , 하나의 속성에는 하나의 값만 저장
- 😣 "이걸 왜 하는건가요?"
- 제1정규화의 목표중복된 데이터를 제거,데이터의 일관성 유지를 위해
제 2 정규화 (2NF) → 결과 : 제2 정규형
- 제 1정규형을 만족하면서 , 기본키가 아닌 모든 속성이 기본키에 종속
부분적 종속 제거 → 완전 함수 종속을 만족(PK → R)
- 제2정규화의 목표 : 불필요한 조인 방지 데이터의 중복 최소화
제 3 정규화 (3NF) → 결과 : 제 3 정규형
- 제2 정규형을 만족하면서,이행적 종속 삭제
기본키를 제외한 속성들은 서로 독립
BCNF → 결과 : 보이스코드
제 4 정규화(4NF) → 결과: 제 4정규형
- 제3 정규형을 만족하면서 , 다치종속 제거
- 😣 " 다치 종속이란? "
학생은 다양한 과목을 수강할 수 있다. 하나의 속성이 여러값을 가지는 경우
제 5 정규화(5NF) → 결과: 제 5 정규형
- 제 4정규형을 만족하면서 , 모든 조인 속성이 함수적 종속
정규화 핵심정리
😣 정규화 [데이터 모델과 성능]
🥰제 1 정규화

😏제 2 정규화

🙄제 3 정규화

😣BCNF
- 후보키 또는 결정자 = BCNF

😥 정규화예제

연습문제 풀이 📗

📗정규화 연습(부동산 데이터베이스)


📗연습문제 풀이

📗기출문제 맛보기 풀이


- 부분종속을 제거해야 2형이 만족되는데 주문,상품번호중에
상품번호가 상품명을 부분종속이 가능하기때문에 2형이 만족되지 않는 것

- 부분종속을 제거하기위해선 부분을 떼어내 다시 만들어야한다.
- 부분종속이 이루어지는 관서번호이기에 먼저 제 1 정규화이다.




😣 논리 물리 관계정의
-
개념 : 요구사항 분석 → 필요한 엔티티,관계,속성 정의
-
논리 : 개념 모델의 결과를 바탕으로 실제 DB에 저장하기 적합한 형태로 변경
→ 데이터 무결성 , 제약조건.... , 정규화
-
물리 : 논리적 모델을 기반으로,cpu등 성능을 고려하여 데이터 저장방식 결정[테이블 작성]
42번
- 부모의 식별자를 자식의 일반속성으로 상속(참조)하면 식별관계
부모의 식별자를 자식의 식별자에 포함하면 얘도 포함임 식별관계인데 비식별?
자식은 아무것도 못함 부모가 없다면.

43번
- 제1정규형 도메인의 원자성
- 제 2정규형 완전 함수종속
- 제 3정규형 결정자삭제[BCNF]
44번
- 부분집합을 생각해보자
- PK집하 [학번,과목코드]
PK를 쪼갰을때 부분적으로 가르킬 수 있는 애가 있다면
완전함수종속이 아님! 그렇기에 1차 정규 > 2차 정규화 대상

45번
- 정답 : 1번 [두개를 가지고 있기때문에 원자성에 부합하지않음 1차정규화대상]

46번
- 정답 3번

49번
