관계 대수와 관계 해석
관계 대수(Relational Algebra)
- 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법
- 주어진 릴레이션 조작을 위한 연산의 집합
- 일반 집합 연산과 순수 관계 연산으로 구분
- 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시함
관계 해석(Relational Calculus)
- 원하는 정보가 무엇이라는 것만 정의하는 비절차적인 방법
- 도메인 관계 해석과 튜플 관계 해석이 있음
관계 해석 자유 변수
- ∀ : for all(모든 것에 대하여), 전칭 정량자(Univeral quantifier)
- ∃ : "There exists", "For Some", 존재 정량자(Existential quantifier)
순수 관계 연산자
순수 관계 연산자의 종류
Select(σ) | 튜플 집합을 검색함 |
Project(π) | 속성 집합을 검색함 |
Join(⋈) | 두 릴레이션의 공통 속성을 연결함 |
Division(÷) | 두 릴레이션에서 특정 속성을 제외한 속성만 검색함 |
Select(선택)
- 릴레이션의 행에 해당하는 튜플을 선택하는 것이므로 수평적 연산이라고도 함
- 연산자의 기호는 시그마(σ)를 사용
Project(추출)
- Project(추출)은 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직적 연산이라고도 함
- 연산자의 기호는 파이(π)를 사용
Join(결합)
- 공통 속성을 기준으로 두 릴레이션을 합하여 새로운 릴레이션을 만드는 연산
- 연산자의 기호는 ⋈를 사용
Division(나누기)
- Division에서 나누어지는 릴레이션(학생 릴레이션)은 나누는 릴레이션(학과 릴레이션)의 모든 속성을 전부 포함함
- 연산자의 기호는 ÷를 사용
집합 연산자
일반 집합 연산자의 종류
합집합 | ∪ | 두 릴레이션의 튜플의 합집합을 구하는 연산 |
교집합 | ∩ | 두 릴레이션의 튜플의 교집합을 구하는 연산 |
차집합 | - | 두 릴레이션의 튜플의 차집합을 구하는 연산 |
교차곱 | × | 두 릴레이션의 튜플의 교차곱(순서쌍)을 구하는 연산 |
Union(합집합)
- Union(합집합)은 두 개의 릴레이션을 합쳐 하나의 릴레이션을 생성함
- 연산자의 기호는 ∪를 사용
Intersection(교집합)
- Intersection(교집합)은 연관성이 있는 두 개의 릴레이션에서 중복되는 레코드를 선택하여 릴레이션을 생성함
- 연산자의 기호는 ∩를 사용
Difference(차집합)
- Difference(차집합)은 연관성이 있는 두 개의 릴레이션에서 중복되는 레코드를 제거하여 릴레이션을 생성함
- 연산자의 기호는 -를 사용
Cartesian Product(교차곱)
- 두 릴레이션의 튜플을 교차 곱하여 생성함
728x90
반응형
'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글
데이터베이스 조작(DML) (0) | 2023.07.19 |
---|---|
SQL, DDL, DCL, View (0) | 2023.07.19 |
반정규화 (0) | 2023.07.18 |
정규화 (0) | 2023.07.18 |
데이터베이스 설계와 정규화 (0) | 2023.07.14 |