[Database] 7. 관계대수와 관계논리
        
        
      REF: fundamentals of database systems 7th edition
Relational Algebra
정의
- 전체 relation을 조작하는 operation의 집합
    
set operations(union, intersection, difference, cartesian product)relationaloperation(select, project, join)
 
Relational Operation에 대해 공부해보자.


Unary Operation
Select
- selection condition을 만족하는 
tuple만 선택하는 작업 𝛔
- 표현 : 
𝛔<선택조건>...(relation 이름) - 선택조건 : 참/거짓 으로만 나타난다.
 - 여러개의 선택 조건을 사용할 수 있다.
    
𝛔<선택조건><boolean operator><선택조건>...(relation 이름)
 
부서 4 직원 중 월급이 25000원 이상인 직원이나 부서5 직원 중 월급이 30000이상인 직원 선택𝛔 <dno == 4 and salary >= 25000> or <dno == 5 and salary> 30000 >(EMP)
- 특징
    
⭐️Unary operations: one operand relation, 1개 relation만 피연산자로 필요⭐️Commutative: select 순서가 바뀌어도 동일한 결과⭐️독립적 비교: 각 tuple이 선택조건에 독립적으로 비교⭐️결과 tuple의 개수 <= 원본 relation의 tuple 개수
 
⭐️Selectivity of condition- select 작업에의해 tuple이 선택되는 비율
 - query optimization에 사용된다.
 
- SQL의 WHERE 절에 대응된다.
 
Project
- Select(𝛔)가 row를 선택한다면,
 ⭐️Project(π)는column(속성)을 선택한다.
- 각 직원의 이름과, 성, 월급을 구하라
    
- πLNAME, FNAME, SALARY (EMPLOYEE)
 
 
- 특징
    
⭐️Not Commutative: π순서에따라 다른 결과를 가져온다.⭐️결과 tuple의 개수 <= 원본 relation의 원래 tuple 개수πSEX, SALARY (EMPLOYEE)-> relation에서는 중복을 표현하지 않음.
 
Renaming
nested operation => multiple expression
소속부서가 5인 직원의 이름, 월급을 출력하라- π FNAME, LNAME, SALARY (σ DNO = 5 EMPLOYEE)
=>- DEP5_EMPS <- σ DNO = 5 EMPLOYEE
 - RESULT <- π FNAME, LNAME, SALARY (DEPT5_EMPS)
 
 
- π FNAME, LNAME, SALARY (σ DNO = 5 EMPLOYEE)
 
⭐️Renaming attribute
- TEMP <- σ DNO = 5 (EMPLOYEE)
 - R(FIRSTNAME, LASTNAME, SALARY) <- π FNAME, LNAME, SALARY (TEMP)
 
Set Operation
binary operation
Union
- 부서 5에서 근무하는 직원이나, 부서 5에서 근무하는 직원을 관리하는 직원의 주민번호를 찾아라.
    
- DEPT5_EMP <- (σ DNO = 5 (EMPLOYEE))
 - RESULT1 <- π SSN (DEPT5_EMP)
 - RESULT2 <- π SUPERSSN (DEPT5_EMP)
 - RESULT <- RESULT1 UNION RESULT2
 
 
⭐️Union compatibility⭐️degree(속성의 갯수)가 같아야한다.⭐️대응되는 속성의 domain이 모두 같아야한다.
댓글남기기