Agenda
-조인의 종류
-순수 관계 연산자 : select, project, join, division
-후보키 정의 - 페포 와 암스트롱 공리로 판단
-고립수준
-조인 선택도
-차수와 카디널리티 계산
-SQL
-정규화문제풀이
-연관규칙 계산
-해싱
-ERD/ 다이어그램 해석
-DBMS 단편화
-관계데이타 연산
1. 조인의 종류
- 세타조인 / 동등조인 / 자연조인 이란?
1) 자연조인 : 같은 이름을 가지는 모든 attribute에 대해 equi join 을 수행한다
- 동등조인 강의 자료 : 동등조인, 세타 조인 등 개념 설명 잘 되어 있음
https://www.youtube.com/watch?v=wOJqD1VNDTo
1. 두개의 릴레이션에 있는 것들로 JOIN 하는 것이 INNER JOIN임
- 아래의 결과는 공통적으로 있는 "2명의 모든 튜플을 가져 온다
2. OUTER JOIN
- 3가지가 있다 ( Left outer join / Right outer join /
- LEFT OUTER JOIN
: 아래 QEUERY 중 Left table의 정보는 모두 가져 와라, 즉 left outer join의 왼쪽인 동호회 릴레이션을 다 가져와라
(결과)
즉 left outer인 동호회 table의 튜플을 모두 가 져왔고, 일치하지 않는 101 회원도 가져 왔으며, 데이타가 없는 곳은 Null로 채워준다
순수 관계 연산자 : select, project, join, division
2. 디비전
R을 구성하고 있는 속성 X가 S를 구성하고 있는 속성 Y를 포함하고 X-Y=D 라면, R/S 연산을 적용한 결과 릴레이션 차수는 D에 포함된 속성의 개수이다
4. 후보키 정의 - 페포 와 암스트롱 공리로 판단 (함수적 종속성)
- 함수적 종속성을 알아야 정규화가 이해가 된
A->BC, CD-> E, B -> D, E->A
답) BD -> {B,D,,,} BD가 전체속성을 결정하지 못하므로 후보키가 될 수 없음
나머지는 전체속성을 결정함으로 후보키가 된다.
-> 위 문제는 "함수적 종속성" 문제이며, 함수적 종속성은 정규화의 문제중 1개이다
https://www.youtube.com/watch?v=naDyu5eHOxI
https://www.youtube.com/watch?v=27LyAM-_CO0
함수적 종속성 : 각 attribute 들 간의 관계를 나타낸 것으로 이해
위 수강 테이블에서, A -> B 시 B를 알기 위해 어떤 attribute들이 있어야 하는가? 관점에서 출발
- "학번, 과목명" -> "성적" => 성적을 알기 위해서는 학번과 과목명을 알아야 한다
- "학번 -> 학년" => 학년을 알기 위해서는 학번만 알면 된다 라는 함수적 종속성 관계로 표현함
- 완전함수 종속 : 어떤 속성이 기본키에 대해 완전히 종속될때, 즉 기본키가 모두 있어야 어떤 속성을 알 수 있을때
- 부분함수 종속 : 어떤 속성이 기본키의 일부에 의해서도 속성을 파악이 가능한때
- (정리 잘됨 - 반드시 여러번 공부 하기)
상세화 영상 : https://www.youtube.com/watch?v=-bLCtP2HNHo
이행적 함수종속 관계 -> 제거해야 하는 것으로 3정규형을 만족하지 못함, A-> B-> C 인경우가 발생하면 안되게 쪼개야 함
- 2개의 릴레이션으로 쪼개면, 3정규화를 하면 3정규형이 되는 것임
( A->B, B->C)
5. 고립수준
- 트랜잭션에서 일관성이 없는 데이타를 허용하도록 하는 수준
6. 조인 선택도
- 주어진 조인조건 : 조인조건 C가 R.A = S.B 형태이고, |R|=8, |S|=3
7. 두 릴레이션을 바탕으로, 차수와 카디널리티 계산하기
- 카디션 프로덕트 : 조인조건이 없는 튜플수 = |R| * |S| , 즉 R 릴레이션 튜플수 * S 릴레이션 튜플수
8. SQL문
Select 사원이름
From 사원
Where 급여 > (select avg(급여)
from 사원
where 부서번호 = .E.부서번호)
- SQL 강의 듣기
9. 정규화 문제 풀이
10. 연관규칙 계산
- 지지도, 신뢰성, 상승 등
11. 동적해싱 / 확장성 해싱 (해싱기법의 종류 임)
- 어떤 데이타가 있으면, 기억장소에 데이타를 저장을 어떻게 할까 고민하다가, 해시 함수를 이용하여, 테이블에 저장하면 향후 활용에 좋겠다를 착안하여 만들어 진것이 해시이다
해시 함수를 이용하여 해시 테일블에 데이타를 저장한다- 주기억장치 / 보조기억장치에서도 사용 가능 하다
- 해싱이란
해시 테이블 이라는 기억공간을 활용하고, 해시 함수를 이용하여 레코드 키에 대한 해시 테이블 내의 홈 주소를 계산한후 주어진 레코드를 해당 기억장소에 저장하거나, 검색작업을 수행하는 방식
- 해싱기법의 종류
https://www.youtube.com/watch?v=9menTGXQoGE
1) 정적해싱 : 버킷개수 고정, 데이타를 알고 있을때 사용
2) 동적해싱 : 버킷 개수가 가변적, 데이타 증감에 따라 변한다
3) 확장해싱 : 해시 함수의 동적변경을 허용한다
- 확장해싱 (심화)
아래는 확장해싱 구조이며, 확장해싱은 3가지로 구성됨 (디렉토리, 버킷, 모조키)
12. ERD / 다이어 그램 해석
13. DBMS 단편화
- 분산 DB 분할 및 단편화 - 수평적 단편화/ 수직적 단편화
관계 데이타 연산
전체적으로 정리된 영상 - 여러번 듣기
https://www.youtube.com/watch?v=jj9bAD1fb0s
'- 배움이 있는 삶 > - 데이타베이스' 카테고리의 다른 글
데이타베이스 - 기본 과정 정리(1차 완료) (5) | 2024.12.15 |
---|---|
2023년 기출문제-데이타베이스 (5) | 2024.12.15 |
2021년 기출문제-데이타베이스 (3) | 2024.12.06 |
2022년 기출문제-데이타베이스 (5) | 2024.12.06 |
정보처리기사 - 데이타베이스 (0) | 2024.09.23 |