JUINTINATION
관계대수 및 관계해석 본문
반응형
관계대수
관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어
- 관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고 결과도 릴레이션이다.
- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
- 관계대수에는 관계 데이터베이스에 적용하기 위해 특별히 개발한 순수 관계 연산자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 있다.
- 순수 관계 연산자 : Select, Project, Join, Division
- 일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱)
순수 관계 연산자
Select - σ
릴레이션에 존재하는 튜플 중 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산
- 릴레이션의 행(가로)에 해당하는 튜플을 구하는 것이므로 수평 연산이라고도 한다.
- 연산자의 기호는 그리스 문자 시그마(σ)를 사용한다.
Project - π
주어진 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는연산
- 연산 결과에 중복이 발생하면 중복이 제거된다.
- 릴레이션의 열(세로)에 해당하는 속성을 추출하는 것이므로 수직 연산이라고도 한다.
- 연산자의 기호는 그리스 문자 파이(π)를 사용한다.
Join - ▷◁
공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산
- Join의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차루르 합한 것과 같다.
- Join의 결과는 Cartesian Product(교차곱)를 수행한 다음 Select를 수행한 것과 같다.
- 연산자의 기호는 ▷◁를 사용한다.
Division - ÷
X⊃Y인 두 개의 릴레이션 R(X)와 R(Y)가 있을 때 R의 속성이 S의 속성 값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산이다.
- 연산자의 기호는 ÷를 사용한다.
일반 집합 연산자
연산자 | 기능 및 수학적 표현 | 카디널리티 |
합집합 UNION ∪ |
두 릴레이션에 존재하는 튜플의 합집합을 구하되 결과로 생성된 릴레이션에서 중복되는 튜플은 제거되는 연산 | |R∪S| ≤ |R| + |S| |
교집합 INTERSECTION ∩ |
두 릴레이션에 존재하는 튜플의 교집합을 구하는 연산 | |R∩S| ≤ MIN{|R|, |S|} |
차집합 DIFFERENCE − |
두 릴레이션에 존재하는 튜플의 차집합을 구하는 연산 | |R−S| ≤ |R| |
교차곱 CARTESIAN PRODUCT × |
두 릴레이션에 존재하는 튜플의 순서쌍을 구하는 연산 | |R×S| = |R| × |S| |
관계해석(Relational Calculus)
관계해석은 관계 데이터의 연산을 표현하는 방법으로 원하는 정보를 정의할 때는 계산 수식을 사용한다.
- 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님
- 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하며 관계대수로 표현한 식은 관계해석으로 표현할 수 있음
- 질의어로 표현하며 튜플 관계해석과 도메인 관계해석이 있음
728x90
'정보처리기사 정리' 카테고리의 다른 글
트랜잭션 및 CRUD 분석 (0) | 2024.02.16 |
---|---|
정규화(Normalization)와 반정규화(Denormalization) (0) | 2024.02.15 |
관계형 데이터베이스 (0) | 2024.02.15 |
E-R(개체-관계) 모델과 관계형 데이터 모델 (0) | 2024.02.15 |
데이터 모델 (0) | 2024.02.15 |
Comments