DB/수업2017. 5. 21. 01:15

1. 순수 관계 연산자 

관계대수 

- 원하는 데이터를 얻기 위해서 어떻게(how) 질의를 수행할 것인지 일련의 연산을 순서대로 명시해야 하는 절차적 언어 

관계해석 

- 원하는 데이터가 무엇인지만(what)을 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 비절차적 언어 



 대수 

- 수 대신 문자를 사용해서 문제를 쉽게 하고, 수학적인 법칙을 간단하고 명확하게 표현하는 것 

 관계 대수 

- 데이터베이스에 저장된 데이터를 문자와 사용한 연산을 통해 요청한 

데이터를 정보화하여 얻을 수 있는데  그 원리가 산술 연산자와 유사 

 순수 관계 연산자 

- SELECT, PROJECT, JOIN, DI­VISION 

 일반 집합 연산자 

- 합집합, 교집합, 차집합, 카티션 프로덕트(Cartesian Product) 


셀렉트(SELECT, σ), 셀렉트연산 

- 릴레이션에서 주어진 조건에 만족하는 튜플을 선택하는 연산자 

- 표기 형식은 그리스 문자 시그마(sigma)를 사용한 연산자 기호인 σ를 사용 (단, R은 릴레이션) 


ex) 학생 릴레이션에 대한 셀렉트 연산 

σ 점수≥80(학생) 

프로젝트(PROJECT, π), 프로젝트연산 

- 주어진 릴레이션에서 어트리뷰트 리스트에 제시된 어트리뷰트만을 추출하는 연산자 


ex) π 이름, 전공(학생) 


조인(JOIN, ▷◁), 조인 연산 

- 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션 

- 연산자의 종류에는 세타 조인(theta join), 동등 조인(equi join), 자연 

조인(natural join), 외부 조인(outer join), 세미 조인(semi join) 

세타 조인 

- 두 릴레이션 R(A1, A2, ..., An)과 S(B1, B2, ..., Bm)의 세타 조인

한 결과로 얻어지는 차수는 릴레이션 R의 차수와 릴레이션 S의 차수를 합한 것(n+m) 

- 어트리뷰트는 (A1, A2, ..., An, B1, B2, ..., Bm)이며, 조인 조건을 

만족하는 튜플들로 이루어진 릴레이션 세타는  { =, <>, <=, <, >=, > } 중의 하나 


동등 조인(equi join) 

- 세타 조인 중에서 비교 연산자가 =인 조인이고 표기 형식은 그리스문자 ▷◁를 사용 


 학생 ▷◁ 학번=학번 성적 


자연 조인  

- 동등 조인 결과로 얻어진 불필요한 중복되는 어트리뷰트를 한 개 제외한 조인 


ex) 학생 ▷◁N 성적 

외부 조인 

- 상대 릴레이션에서 대응되는 튜플을 갖지 못하는 튜플이나 조인 어트리뷰트에 널 값이 들어 있는 튜플들을 

다루기 위해서 조인 연산을 확장한 조인 

- 외부 조인의 종류로는 왼쪽 외부 조인(left outer  join), 오른쪽 외부 조인(right outer  join), 완전 외부 조인(full outer join) 


왼쪽 외부 조인 

 

오른쪽 외부 조인 


디비전(DIVISION, ÷), 디버전연산 

 - X ⊃ Y인 2개의 릴레이션에서 R(X)와 S(Y)가 있을 때, R의 속성이  

S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산 

 

R [속성r ÷ 속성s] S  


디비전 

합집합(UNION, ∪) 

- R ∪ S는 R 또는 S에 있거나 R과 S 모두에 속한 튜플들로 이루어진 릴레이션 

정의 

R∪S = {t|t∈R ∨ t∈S} 

R, S에 속하는 모든 튜플의 집합 


합집합 




교집합(INTERSECT, ∩) 

- R ∩ S는 R과 S 모두에 속한 튜플들로 이루어진 릴레이션  


정의 

R∩S = {t|t∈R ∧ t∈S} 

R, S 양쪽 모두에 속하는 모든 튜플의 집합 


교집합 


차집합(DIFFERENCE, -) 

- R ­ S는 R에는 속하지만 S에는 속하지 않는 튜플들로 이루어진 릴레이션 

정의 

R그S = {t|t∈R ∧ t    S} 

R에는 속하고, S에는 속하지 않는 모든 튜플의 집합 


차집합 


카티션 프로덕트 연산자(CARTESIAN PRODUCT,×) 

- R × S는 차수가 n+m이고, 카디날리티가  i*j이고, 어트리뷰트가 (A1, 

A2, ..., An, B1, B2, ..., Bm)이며, R과 S의 튜플들의 모든 가능한 조합으로 이루어진 릴레이션 


정의 

R×S = { r·s | r∈R ∧ s∈S } 

R과 S의 접속인 모든 튜플의 집합 


카티션 프로덕트 연산자 


외부 합집합 

- ∪+는 완전하게 합병 가능하지 않은 두 릴레이션을 합집합으로 만드는 것 




Posted by 멜데스