본문 바로가기
- 배움이 있는 삶/- 데이타베이스

2020년 기출문제 - 데이터 베이스 정리

by story of interesting 2024. 12. 6.
반응형

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

 

 

 

반응형