Relational Algebra(κ΄κ³ λμ)
κ΄κ³ λμλ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μνλ μ 보μ κ·Έ μ 보λ₯Ό κ²μνκΈ° μν΄μ μ΄λ»κ² μ λνλκ°λ₯Ό κΈ°μ νλ μ μ°¨μ μΈ μΈμ΄μ΄λ€.
- 릴λ μ΄μ
μ μ²λ¦¬νκΈ° μν΄ μ°μ°μμ μ°μ°κ·μΉμ μ 곡νλ©°, νΌμ°μ°μμ μ°μ° κ²°κ³Όκ° λͺ¨λ 릴λ μ΄μ
μ
- μ§μμ λν ν΄λ₯Ό ꡬνκΈ° μν΄ μνν΄μΌ ν μ°μ°μ μμλ₯Ό λͺ
μν¨
- 릴λ μ΄μ
μ μ‘°μνκΈ° μν μ°μ°μ μ§ν©
Pure Relational operators
- SELECT : π
- 릴λ μ΄μ
μ μ‘΄μ¬νλ νν(Tuple) μ€μμ μ ν 쑰건μ λ§μ‘±νλ ννμ λΆλΆμ§ν©μ ꡬνμ¬ μλ‘μ΄ λ¦΄λ μ΄μ
μ λ§λλ μ°μ°
- 릴λ μ΄μ
μ νμ ν΄λΉνλ ννμ ꡬνλ κ²μ΄λ―λ‘ μν μ°μ°μ΄λΌκ³ λ ν¨
- PROJECT : π
- μ£Όμ΄μ§ 릴λ μ΄μ
μμ μμ± λ¦¬μ€νΈ(Attribute List)μ μ μλ μμ± κ°λ§μ μΆμΆνμ¬ μλ‘μ΄ λ¦΄λ μ΄μ
μ λ§λλ μ°μ°
- 릴λ μ΄μ
μ μ΄μ ν΄λΉνλ μμ±μ μΆμΆνλ κ²μ΄λ―λ‘ μμ§ μ°μ°μλΌκ³ λ ν¨
- JOIN : β
- κ³΅ν΅ μμ±μ μ€μ¬μΌλ‘ λ κ°μ 릴λ μ΄μ
μ νλλ‘ ν©μ³μ μλ‘μ΄ λ¦΄λ μ΄μ
μ λ§λλ μ°μ°
- JOINμ κ²°κ³Όλ Cartesian Product(κ΅μ°¨κ³±)λ₯Ό μνν SELECTλ₯Ό μνν κ²κ³Ό κ°μ
- DIVISION : Γ·
- XβYμΈ λ κ°μ 릴λ μ΄μ
R(X)μ S(Y)κ° μμ λ, Rμ μμ±μ΄ Sμ μμ±κ°μ λͺ¨λ κ°μ§ ννμμ Sκ° κ°μ§ μμ±μ μ μΈν μμ±λ§μ ꡬνλ μ°μ°

Generic Set operators
- UNION(ν©μ§ν©) : βͺ
- λ 릴λ μ΄μ
μ μ‘΄μ¬νλ ννμ ν©μ§ν©μ ꡬνλ, κ²°κ³Όλ‘ μμ±λ 릴λ μ΄μ
μμ μ€λ³΅λλ ννμ μ κ±°λλ μ°μ°
- ν©μ§ν©μ Cardinality(ννμ μ)λ λ 릴λ μ΄μ
μ μΉ΄Cardinalityμ ν©λ³΄λ€ ν¬μ§ μλ€.
- INTERSECTION(κ΅μ§ν©) : β©
- λ 릴λ μ΄μ
μ μ‘΄μ¬νλ ννμ κ΅μ§ν©μ ꡬνλ μ°μ°
- κ΅μ§ν©μ Cardinality(ννμ μ)λ λ 릴λ μ΄μ
μ€ Cardinalityκ° μ μ 릴λ μ΄μ
μ Cardinalityλ³΄λ€ ν¬μ§ μλ€.
- DIFFERENCE(μ°¨μ§ν©) : β
- λ 릴λ μ΄μ
μ μ‘΄μ¬νλ ννμ μ°¨μ§ν©μ ꡬνλ μ°μ°
- μ°¨μ§ν©μ Cardinality(ννμ μ)λ 릴λ μ΄μ
Rμ Cardinalityλ³΄λ€ ν¬μ§ μλ€.
- CARTESIAN PRODUCT(κ΅μ§ν©) : Γ
- λ 릴λ μ΄μ
μ μλ ννλ€μ μμμμ ꡬνλ μ°μ°
- κ΅μ°Ήκ³±μ Degree(μμ±μ μ)λ λ 릴λ μ
μ Degreeλ₯Ό λν κ²κ³Ό κ°κ³ , Cardinality(ννμ μ)λ λ 릴λ μ΄μ
μ μΉ΄λλ리ν°λ₯Ό κ³±ν© κ²κ³Ό κ°μ
- μ) 릴λ μ΄μ
Rμ μ°¨μ(Degree) 3, μΉ΄λλ리ν°(Cardinality) 3, 릴λ μ΄μ
Sμ μ°¨μ(Degree) 4, μΉ΄λλ리ν°(Cardinality) 4μΌ λ, λ 릴λ μ΄μ
μ μΉ΄ν°μ
νλ‘ν±νΈ(CARTESIAN PRODUCT)ν κ²°κ³Ό 릴λ μ΄μ
μ μ°¨μμ μΉ΄λλ리ν°λ₯Ό ꡬνμμ€.
μ°¨μ : 3 + 4 = 7, μΉ΄λλλ¦¬ν° : 3 x 4 = 12
Relational Calculus(κ΄κ³ ν΄μ)
κ΄κ³ ν΄μμ κ΄κ³ λ°μ΄ν°μ μ°μ°μ νννλ λ°©λ²μ΄λ€.
- κ΄κ³ λ°μ΄ν° λͺ¨λΈμ μ μμ μ½λ(E. F. Codd)κ° μνμ μ μ΄ ν΄μ(Predicate Calculus)μ κΈ°λ°μ λκ³ κ΄κ³ λ°μ΄ν°λ² μ΄μ€λ₯Ό μν΄ μ μν¨
- μνλ μ λ³΄κ° λ¬΄μμ΄λΌλ κ²λ§ μ μνλ λΉμ μ°¨μ νΉμ±μ μ§λ
- μνλ μ 보λ₯Ό μ μν λλ κ³μ° μμμ μ¬μ©
- νν ν΄μμμ μ¬μ©νλ νν κ΄κ³ ν΄μκ³Ό λλ©μΈ ν΄μμμ μ¬μ©νλ λλ©μΈ κ΄κ³ ν΄μμΌλ‘ ꡬλΆλ¨
Anomaly(μ΄μ)
μ΄μμ΄λ λ°μ΄ν°λ² μ΄μ€ λ΄μ λ°μ΄ν°λ€μ΄ λΆνμνκ² μ€λ³΅λμ΄ λ¦΄λ μ΄μ
μ‘°μ μ μκΈ°μΉ μκ² λ°μνλ κ³€λν νμμ μλ―Ένλ€.
- μ½μ
μ΄μ(Insertion Anomaly) : λ°μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ
ν λ μλμλ μκ΄μμ΄ μνμ§ μλ κ°λ€λ‘ μΈν΄ μ½μ
ν μ μκ² λλ μν©
- μμ μ΄μ(Deletion Anomaly) : λ°μ΄λΈμμ ννμ μμ ν λ μλμλ μκ΄μλ κ°λ€λ ν¨κ» μμ λλ, μ¦ μ°μ μμ κ° λ°μνλ νμ
- κ°±μ μ΄μ(Update Anomaly) : ν
μ΄λΈμμ ννμ μλ μμ± κ°μ κ°±μ ν λ μΌλΆ ννμ μ λ³΄λ§ κ°±μ λμ΄ μ 보μ λΆμΌμΉμ±(Incosistency)μ΄ μκΈ°λ νμ
Functional Dependency(ν¨μμ μ’
μ)
- Functional Dependency(ν¨μμ μ’
μ) : μ΄λ€ ν
μ΄λΈ Rμμ Xμ Yλ₯Ό κ°κ° Rμ μμ± μ§ν©μ λΆλΆμ§ν©μ΄λΌ νλ©΄, μμ± Xμ κ° κ°κ°μ λν΄ μκ°μ κ΄μμμ΄ νμ μμ± Yμ κ°μ΄ μ€μ§ νλλ§ μ°κ΄λμ΄ μμ λ Yλ Xμ ν¨μμ μ’
μ λλ Xκ° Yλ₯Ό ν¨μμ μΌλ‘ κ²°μ νλ€κ³ νλ©°,
X β Y
λ‘ νκΈ°
- Full Functional Dependency(μμ ν¨μμ μ’
μ) : μ΄λ€ ν
μ΄λΈ Rμμ μμ± Yκ° λ€λ₯Έ μμ± μ§ν© X μ 체μ λν΄ ν¨μμ μ’
μμ΄λ©΄μ μμ± μ§ν© Xμ μ΄λ ν μ§λΆλΆ μ§ν© Z(Z β X)μλ ν¨μμ μ’
μμ΄ μλ λ, μμ± Yλ μμ± μ§ν© Xμ μμ ν¨μμ μ’
μμ΄λΌκ³ ν¨
- μλ₯Ό λ€μ΄, μ£Όλ―Όλ²νΈλ₯Ό κ°μ§κ³ λλ₯Ό νΉμ ν μ μλ κ²μ²λΌ νΉμ ν ν€λ₯Ό κ°μ§κ³ λλ₯Ό νΉμ ν μ μλ κ²μ λ§ν¨.
- Partial Functional Dependency(λΆλΆ ν¨μμ μ’
μ) : μ΄λ€ ν
μ΄λΈ Rμμ μμ± Yκ° λ€λ₯Έ μμ± μ§ν© X μ 체μ λν΄ ν¨μμ μ’
μμ΄λ©΄μ μμ± μ§ν© Xμ μμμ μ§λΆλΆ μ§ν©μ λν΄ ν¨μμ μ’
μμΌ λ, μμ± Yλ μμ± μ§ν© Xμ λΆλΆ ν¨μμ μ’
μμ΄λΌκ³ ν¨

- Transitive Functional Dependency(μ΄νμ ν¨μμ μ’
μ) :
X β Y
μ΄κ³ Y β Z
μΌ λ X β Z
λ₯Ό λ§μ‘±νλ κ΄κ³λ₯Ό μλ―Έ

(ν
μ΄λΈ <R>
μ μμ± 'νμ'κ³Ό 'νκ³Ό'μ λ°μ€μ ν€λ₯Ό μλ―Έ.)
- ν
μ΄λΈ
<R>
μ 'μ±μ ' κΈ°λ³Έν€μΈ {νμ, νκ³Ό}μ λν΄ Full Functional Dependency.
- ν
μ΄λΈ
<R>
μμ 'νλ
'μ κΈ°λ³Έν€μΈ {νμ, νκ³Ό} μ€ 'νμ'λ§μΌλ‘ μλ³μ΄ κ°λ₯νλ―λ‘ κΈ°λ³Έν€μ λν΄ Partial Functional Dependency.
μ°Έκ³ ,
κΈΈλ²μμ€λ. γμ 보μ²λ¦¬κΈ°μ¬ μ€κΈ° λ¨κΈ°μμ±γ. κΈΈλ². 2023.