728x90
반응형
관계대수
RDB에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적 언어
- 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어
- 피연산자 릴레이션, 결과도 릴레이션
- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시
- RDB에 적용하기 위해 특별히 개발한 순수 관계 연산자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 있음
- 순수 관계 연산자
Select(σ) | - 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산 - 행(가로)에 해당하는 튜플을 구하는 것이므로 수평 연산이라고도 함 |
Project(π) | - 주어진 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산 - 연산 결과에 중복이 발생하면 중복 제거 - 열(세로)에 해당하는 속성을 추출하는 것으로 수직 연산자라고도 함 |
Join(▷◁) | - 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 |
Division(÷) | - X⊃Y인 두개의 릴레이션 R(X), S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속 성 만을 구하는 연산 |
- 일반 집합 연산자
연산자 | 기능 및 수학적 표현 | 카디널리티 |
합집합(∪) (UNION) |
두 릴레이션에 존재하는 튜플의 합집합을 구하되 결과로 생성된 릴레이션에서 중복되는 튜플은 제거되는 연산 | 두 릴레이션 카디널리티의 합보다 크지 않음 |
교집합(∩) (INTERSECTION) |
두 릴레이션에 존재하는 튜플의 교집합을 구하는 연산 | 두 릴레이션 중 카디널리티가 적은 릴레이션의 크기보다 크지 않음 |
차집합(-) (DIFFERENCE) |
두 릴레이션에 존재하는 튜플의 차집합을 구하는 연산 | 릴레이션 R의 카디널리티 보다 크지 않음 |
교차곱(X) (CARTESAN PRODUCT) |
두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산 | - 디그리 = 두 릴레이션의 디그리의 합 - 카디널리티 = 두 릴레이션의 카디널리티의 곱 |
- 관계 해석(Relational Calculus)
- 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 RDB를 위해 제안
- 관계 데이터의 연산을 표현하는 방법, 원하는 정보를 정의할 때는 계산 수식 사용
- 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님
- 튜플 관계해석, 도메인 관계해석이 존재
- 관계대수로 표현한 식은 관계해석으로 표현 가능
- 질의어로 표현
- 주요 논리기호
기호 | 구성 요소 | 설명 |
∀ | 전칭 전량자 | 가능한 모든 튜플에 대하여(For All) |
∃ | 존재 전량자 | 하나라도 일치하는 튜플이 있음(There Exists) |
728x90
반응형
'자격증 준비 > 정보처리기사필기 - 3과목(데이터베이스 구축)' 카테고리의 다른 글
[정보처리기사 필기] 3과목 - DDL, DML, DCL (0) | 2023.01.15 |
---|---|
[정보처리기사 필기] 3과목 - 분산 데이터베이스, 암호화 (0) | 2023.01.15 |
[정보처리기사 필기] 3과목 - 트랜잭션, 인덱스, 뷰 (0) | 2023.01.13 |
[정보처리기사 필기] 3과목 - 정규화 (0) | 2023.01.13 |
[정보처리기사 필기] 3과목 - 데이터베이스 설계 (0) | 2023.01.13 |