데이터베이스 4주차
관계 대수
일반 집합 연산자
합집합 • Union, ∪ • 𝑅 ∪ 𝑆 = 𝑡 𝑡 ∈ 𝑅 ∨ 𝑡 ∈ 𝑆 } – 릴레이션 𝑅 또는 릴레이션 𝑆에 속하는 튜플 𝑡 로 구성되는 릴레이션 • 차수(𝑅 ∪ 𝑆) = 차수(𝑅) = 차수(𝑆) • 카디널리티: |𝑅 ∪ 𝑆| ≤ |𝑅| + |𝑆|
교집합 • Intersection, ∩ • 𝑅 ∩ 𝑆 = { 𝑡 | 𝑡 ∈ 𝑅 ∧ 𝑡 ∈ 𝑆 } – 두 릴레이션 𝑅과 𝑆에 동시에 속해 있는 튜플 t로만 구성된 릴레이션 • 차수(𝑅 ∩ 𝑆) = 차수(𝑅) = 차수(𝑆) • |𝑅 ∩ 𝑆| ≤ min (|𝑅| , |𝑆|)
차집합 • Difference, − • 𝑅 − 𝑆 = 𝑡 𝑡 ∈ 𝑅 ∧ 𝑡 ∉ 𝑆 } – 릴레이션 𝑅에는 있지만 𝑆에는 없는 튜플 𝑡로 만 구성된 릴레이션 • 차수(𝑅 − 𝑆) = 차수(𝑅) = 차수(𝑆) • |𝑅 − 𝑆| ≤ |𝑅|
카티션 프로덕트 • Cartesian product, × • 𝑅 × 𝑆 = { 𝑟 · 𝑠 | 𝑟 ∈ 𝑅 ∧ 𝑠 ∈ 𝑆 } – 릴레이션 𝑅에 속한 각 튜플 𝑟에 대해 𝑆에 속한 각 튜플 𝑠를 모두 연결(concatenation; ·) 시킨 튜플 𝑟 · 𝑠로 구성된 릴레이션 ▪ 𝑟 = < 𝑎1, 𝑎2, … , 𝑎𝑛 >, 𝑠 = < 𝑏1, 𝑏2, …, 𝑏𝑚 > ▪ 𝑟 · 𝑠 = < 𝑎1, 𝑎2,… , 𝑎𝑛, 𝑏1, 𝑏2, … , 𝑏𝑚 > – 차수(𝑅 × 𝑆) = 차수(𝑅) + 차수(𝑆) – |𝑅 × 𝑆| = |𝑅| × |𝑆|
합병 가능
집합 연산자의 특징 • 합집합, 교집합, 차집합 연산자의 피연산자 릴레이션은 서로 합병 가능(unioncompatible)해야 함 – 차수가 같아야 함 – 대응 속성 쌍별로 도메인이 같아야 함 • ∪, ∩, × 연산은 교환적(commutative)임 – 𝑅 × 𝑆 = 𝑆 × 𝑅 • ∪, ∩, × 연산은 결합적(associative)임 – 𝑅 ∪ 𝑆 ∪ 𝑇 = (𝑅 ∪ 𝑆) ∪ 𝑇 = 𝑅 ∪ (𝑆 ∪ 𝑇)
순수 관계 연산자
셀렉트 • Select, 𝜎 • 𝜎조건(𝑅) • 릴레이션에서 주어진 조건을 만족하는 튜플들을 선택하는 연산 • 실렉트의 결과는 선택 조건을 만족하는 릴레이션의 @수평적 부분집합(horizontal subset)