1. 관계대수
: 원하는 데이터를 얻기 위해 데이터를 어떻게 찾는지에 대한 처리 과정을 명시하는 절차형 언어.
1. 1. 순수 관계 연산자 ★★
- Select – σ
: 조건에 맞는 튜플 집합을 검색. 수평연산
– 표기법: σ<조건>(릴레이션)
- Project – π
: 조건에 맞는 속성 집합을 검색. 수직 연산
– 표기법: π<리스트>(릴레이션)
- Join – ⋈
: 두 릴레이션의 공통 속성으로 조합.
– 표기법: (릴레이션1)⋈<조건>(릴레이션2)
- Division – ÷
: 두 릴레이션에서 특정 속성을 제외한 속성만 검색.
– 표기법: (릴레이션1)[속성1÷속성2](릴레이션2)
- Ex. Select) σ평균≥90(성적)
- Ex. Project) π이름,평균(성적)
- Ex. Join) 성적⋈No=No학적부
- Ex. Division)
- Ex. Division1) 구입자[구입품코드 ÷ 생산품코드](생산품)
- Ex. Division2) 구입자[구입품코드 ÷ 이름,생산품코드]생산품2
1. 2. 일반 집합 연산자 ★★
- 합집합(Union, ∪): 두 릴레이션의 튜플의 합집합.
- 교집합(Intersection, ∩): 두 릴레이션의 튜플의 교집합.
- 차집합(Difference, −): 두 릴레이션의 튜플의 차집합.
- 교차곱(Cartesian Product, ×): 두 릴레이션의 튜플들의 순서쌍.
- Ex) 사원 릴레이션, 직원 릴레이션
- Ex. 합집합) π이름(사원)∪π이름(직원)
- Ex. 교집합) π이름(사원)∩π이름(직원)
- Ex. 차집합) π이름(사원)−π이름(직원)
- Ex. 교차곱) – π이름(사원)×π이름(직원)
2. 관계해석 ★
: 관계형 데이터 모델의 제안자인 코드(E.F.Codd)가 수학의 술어해석에 기반을 두고 관계형 데이터베이스를 위해 제안.
– 원하는 정보가 무엇(What)이라는 것만 정의하는 비절차적 특성.
– 관계대수로 표현한 식은 관계해석으로 표현 가능.
2. 1. 연산자
- ∨: OR연산
- ∧: AND연산
- ¬: NOT연산
2. 2. 정량자
- ∀: 전칭 정량자. 모든 가능한 튜플 ‘For ALL’
- ∃: 존재 정량자. 어떤 튜플 하나라도 존재 ‘there Exists’