reference: λ°μ΄ν°λ² μ΄μ€ κ°λ‘ 2ν
01 κ΄κ³ λ°μ΄ν° μ°μ°μ κ°λ
01-1 λ°μ΄ν° λͺ¨λΈμ ꡬμ±
λ°μ΄ν° λͺ¨λΈ = λ°μ΄ν° ꡬ쑰(data structure) + μ°μ°(operation) + μ μ½μ‘°κ±΄ (constraint)
01-2 κ΄κ³ λ°μ΄ν° μ°μ°(relational data operation)
- κ΄κ³ λ°μ΄ν° λͺ¨λΈμ μ°μ°
- μνλ λ°μ΄ν°λ₯Ό μ»κΈ° μν΄ λ¦΄λ μ΄μ μ νμν μ²λ¦¬ μꡬλ₯Ό μννλ κ²
- κ΄κ³ λμμ κ΄κ³ ν΄μμ΄ μμ
- κΈ°λ₯κ³Ό ννλ ₯ μΈ‘λ©΄μμ λ₯λ ₯μ΄ λλ±ν¨
01-3 κ΄κ³ λμμ κ΄κ³ ν΄μμ μν
- λ°μ΄ν° μΈμ΄μ μ μ©μ±μ κ²μ¦νλ κΈ°μ€
- κ΄κ³ λμλ κ΄κ³ ν΄μμΌλ‘ κΈ°μ ν μ μλ λͺ¨λ μ§μλ₯Ό κΈ°μ ν μ μλ λ°μ΄ν° μΈμ΄λ₯Ό κ΄κ³μ μΌλ‘ μμ (relationally complete)νλ€κ³ νλ¨ν¨
- μ§μ(query) : λ°μ΄ν°μ λν μ²λ¦¬ μꡬ
02 κ΄κ³ λμ
02-1 κ΄κ³ λμ(relational algebra)μ κ°λ
- μνλ κ²°κ³Όλ₯Ό μ»κΈ° μν΄ λ¦΄λ μ΄μ
μ μ²λ¦¬ κ³Όμ μ μμλλ‘ κΈ°μ νλ μΈμ΄
- μ μ°¨ μΈμ΄(procedural language)
- 릴λ μ΄μ
μ μ²λ¦¬νλ μ°μ°μλ€μ λͺ¨μ
- λν μ°μ°μ 8κ°
- μΌλ° μ§ν© μ°μ°μμ μμ κ΄κ³ μ°μ°μλ‘ λΆλ₯λ¨
- νμ νΉμ±(closure property)μ΄ μ‘΄μ¬ν¨
- νΌμ°μ°μλ 릴λ μ΄μ μ΄κ³ μ°μ°μ κ²°κ³Όλ 릴λ μ΄μ μ
02-2 μΌλ° μ§ν© μ°μ°μμ μμ κ΄κ³ μ°μ°μ
μΌλ° μ§ν© μ°μ°μ(set operation)
- 릴λ μ΄μ μ΄ ν¬νμ μ§ν©μ΄λΌλ κ°λ μ μ΄μ©νλ μ°μ°μ
- νΌμ°μ°μκ° 2κ° νμν¨
- 2κ°μ 릴λ μ΄μ μ λμμΌλ‘ μ°μ°μ μν
- ν©μ§ν©, κ΅μ§ν©, μ°¨μ§ν©μ νΌμ°μ°μμΈ λ 릴λ μ΄μ
μ΄ ν©λ³ κ°λ₯ν΄μΌ ν¨
- ν©λ³ κ°λ₯(union-compatible) 쑰건
- λ 릴λ μ΄μ μ μ°¨μκ° κ°μμΌ ν¨
- λ 릴λ μ΄μ μμ μλ‘ λμλλ μμ±μ λλ©μΈμ΄ κ°μμΌ ν¨
- ν©λ³ κ°λ₯(union-compatible) 쑰건
μμ κ΄κ³ μ°μ°μ(relational operation)
- 릴λ μ΄μ μ ꡬ쑰μ νΉμ±μ μ΄μ©νλ μ°μ°μ
02-3 μΌλ° μ§ν© - Union (ν©μ§ν©)
- ν©λ³ κ°λ₯ν λ 릴λ μ΄μ
Rκ³Ό Sμ ν©μ§ν© : R∪S
- 릴λ μ΄μ Rμ μνκ±°λ 릴λ μ΄μ Sμ μνλ λͺ¨λ ν¬νλ‘ κ²°κ³Ό 릴λ μ΄μ ꡬμ±
- κ²°κ³Ό 릴λ μ΄μ
μ νΉμ±
- μ°¨μλ 릴λ μ΄μ Rκ³Ό Sμ μ°¨μ(κ°μ μμ μμ±)μ κ°μ
- μΉ΄λλ리ν°λ 릴λ μ΄μ Rκ³Ό Sμ μΉ΄λλ리ν°λ₯Ό λν κ²κ³Ό κ°κ±°λ μ μ΄μ§(κ΅μ§ν©μ΄ μλ κ²½μ°)
- κ΅νμ νΉμ§μ΄ μμ: R∪S = S∪R
- κ²°ν©μ νΉμ§μ΄ μμ: (R∪S)∪T = R∪(S∪T)
μμ: to find all courses taught in the Fall 2017 semester, or in the Sp ring 2018 semester, or in both
02-4 μΌλ° μ§ν© - Set-Intersection (κ΅μ§ν©)
- ν©λ³ κ°λ₯ν λ 릴λ μ΄μ
Rκ³Ό Sμ κ΅μ§ν© : R ∩ S The set-intersection operation allows us to find tuples that are in both the in put relations.
- 릴λ μ΄μ Rκ³Ό Sμ 곡ν΅μΌλ‘ μνλ ν¬νλ‘ κ²°κ³Ό 릴λ μ΄μ ꡬμ±
- κ²°κ³Ό 릴λ μ΄μ
μ νΉμ±
- μ°¨μλ 릴λ μ΄μ Rκ³Ό Sμ μ°¨μμ κ°μ
- μΉ΄λλ리ν°λ 릴λ μ΄μ Rκ³Ό Sμ μ΄λ€ μΉ΄λλ리ν°λ³΄λ€ κ°κ±°λ μμ(ν¬μ§ μμ)
- κ΅νμ νΉμ§μ΄ μμ: R ∩ S = S ∩ R
- κ²°ν©μ νΉμ§μ΄ μμ: (R ∩ S) ∩ T = R ∩ (S ∩ T)
μμ: Find the set of all courses taught in both the Fall 2017 and the Sprin g 2018 semesters
02-5 μΌλ° μ§ν© - Set Difference (μ°¨μ§ν©)
- ν©λ³ κ°λ₯ν λ 릴λ μ΄μ
Rκ³Ό Sμ μ°¨μ§ν© : R – S
- 릴λ μ΄μ Rμλ μ‘΄μ¬νμ§λ§ 릴λ μ΄μ Sμλ μ‘΄μ¬νμ§ μλ ν¬νλ‘ κ²°κ³Ό 릴λ μ΄μ ꡬμ±
- κ²°κ³Ό 릴λ μ΄μ
μ νΉμ±
- μ°¨μλ 릴λ μ΄μ Rκ³Ό Sμ μ°¨μμ κ°μ
- R – Sμ μΉ΄λλ리ν°λ 릴λ μ΄μ Rμ μΉ΄λλ리ν°μ κ°κ±°λ μ μ
- S – Rμ μΉ΄λλ리ν°λ 릴λ μ΄μ Sμ μΉ΄λλ리ν°μ κ°κ±°λ μ μ
- κ΅νμ , κ²°ν©μ νΉμ§μ΄ μμ
μμ: to find all courses taught in the Fall 2017 semester, but not in the S pring 2018 semester
02-6 μΌλ° μ§ν© - Cartesian-Product
- λ 릴λ μ΄μ Rκ³Ό Sμ μΉ΄ν°μ νλ‘λνΈ : R β¨ S
- 릴λ μ΄μ Rμ μν κ° ν¬νκ³Ό 릴λ μ΄μ Sμ μν κ° ν¬νμ λͺ¨λ μ°κ²°νμ¬ λ§λ€μ΄μ§ μλ‘μ΄ ν¬νλ‘ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±
- κ²°κ³Ό 릴λ μ΄μ
μ νΉμ±
- μ°¨μλ 릴λ μ΄μ Rκ³Ό Sμ μ°¨μλ₯Ό λν κ²κ³Ό κ°μ
- μΉ΄λλ리ν°λ 릴λ μ΄μ Rκ³Ό Sμ μΉ΄λλ리ν°λ₯Ό κ³±ν κ²κ³Ό κ°μ
- κ΅νμ νΉμ§μ΄ μμ
- R β¨ S = S β¨ R
- κ²°ν©μ νΉμ§μ΄ μμ
- (R β¨ S) β¨ T = R β¨ (S β¨ T)
μμ
Since the instructor ID appears in both relations, we distinguish between these attribute by attaching to the attribute the name of the relation from which the attribute originally came. ex) instructor.ID, teaches.ID
02-7 μμ κ΄κ³ - Select Operation
κ°λ
- 릴λ μ΄μ μμ 쑰건μ λ§μ‘±νλ ν¬νλ§ μ ννμ¬ κ²°κ³Ό 릴λ μ΄μ μ κ΅¬μ± The select operation selects tuples that satisfy a given predicate.
- νλμ 릴λ μ΄μ μ λμμΌλ‘ μ°μ°μ μν
- μνμ ννλ² : , p is called the selection predicate-쑰건μ, r: relation
- λ°μ΄ν° μΈμ΄μ ννλ² : 릴λ μ΄μ where 쑰건μ
- 쑰건μ
- λΉκ΅μ, νλ λν·(predicate)μ΄λΌκ³ λ ν¨
- μμ±κ³Ό μμμ λΉκ΅λ μμ±λ€ κ°μ λΉκ΅λ‘ νν
- λΉκ΅ μ°μ°μ(>, ≥, <, ≤, =, ≠)μ λ Όλ¦¬ μ°μ°μ(∧, ∨, ¬)λ₯Ό μ΄μ©ν΄ μμ±
- κ΅νμ νΉμ§μ΄ μμ. μ°μ° μμλ μ°μ° κ²°κ³Όμ μν₯μ λΌμΉμ§ μμ.
μμ
μμ 1: κ³ κ° relationμμ λ±κΈμ΄ goldμ΄κ³ , μ 립κΈμ΄ 2000 μ΄μμΈ tupleμ κ²μνμμ€.
02-8 μμ κ΄κ³ - Project Operation
κ°λ
- 릴λ μ΄μ μμ μ νν μμ±μ κ°μΌλ‘ κ²°κ³Ό 릴λ μ΄μ μ κ΅¬μ± The result is defined as the relation of k columns obtained by erasing the columns that are not listed
- νλμ 릴λ μ΄μ μ λμμΌλ‘ μ°μ°μ μν
- Duplicate rows removed from result, since relations are sets
- κ°λ μ (μ΄λ‘ μ ) μΈμ΄μ νΉμ§μΌλ‘, μ€μ μλ μ‘°κΈ λ€λ¦
- μνμ ννλ² : , A λ€μ μμ± λ¦¬μ€νΈ
- λ°μ΄ν° μΈμ΄μ ννλ² : 릴λ μ΄μ [μμ±λ¦¬μ€νΈ]
μμ
μμ 1: κ³ κ° relationμμ κ³ κ°μ΄λ¦, λ±κΈ, μ 립κΈμ κ²μνμμ€.
μμ 2: κ³ κ° relationμμ λ±κΈμ κ²μνμμ€.
γ ‘> κ²°κ³Ό 릴λ μ΄μ μμ λμΌν ν¬νμ μ€λ³΅λμ§ μκ³ ν λ²λ§ λνλ¨
02-9 μμ κ΄κ³ - Join Operation
- μ‘°μΈ μμ±μ μ΄μ©ν΄ λ 릴λ μ΄μ
μ μ‘°ν©νμ¬ κ²°κ³Ό 릴λ μ΄μ
μ ꡬμ±
- μ‘°μΈ μμ±μ κ°μ΄ κ°μ ν¬νλ§ μ°κ²°νμ¬ μμ±λ ν¬νμ κ²°κ³Ό 릴λ μ΄μ μ ν¬ν¨
- μ‘°μΈ μμ± : λ 릴λ μ΄μ μ΄ κ³΅ν΅μΌλ‘ κ°μ§κ³ μλ μμ±
- ννλ² : 릴λ μ΄μ 1 β 릴λ μ΄μ 2
- μμ° μ‘°μΈ(natural join)μ΄λΌκ³ λ ν¨
- ννλ² : 릴λ μ΄μ 1 릴λ μ΄μ 2
μμ
μ‘°μΈ μμ±: κ³ κ° λ¦΄λ μ΄μ μ κ³ κ°μμ΄λ, μ£Όλ¬Έ 릴λ μ΄μ μ μ£Όλ¬Έκ³ κ°
μΈν μ‘°μΈ(theta join, π½-join)
- μμ° μ‘°μΈμ λΉν΄ λ μΌλ°νλ μ‘°μΈ
- μ£Όμ΄μ§ μ‘°μΈ μ‘°κ±΄μ λ§μ‘±νλ λ 릴λ μ΄μ μ λͺ¨λ ν¬νμ μ°κ²°νμ¬ μμ±λ μλ‘μ΄ ν¬νλ‘ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±
- κ²°κ³Ό 릴λ μ΄μ μ μ°¨μλ λ 릴λ μ΄μ μ μ°¨μλ₯Ό λν κ²κ³Ό κ°μ
- ννλ² : 릴λ μ΄μ
1
릴λ μ΄μ
2
- π½λ λΉκ΅ μ°μ°μ(>, ≥, <, ≤, =, ≠)λ₯Ό μλ―Έ
λμΌ μ‘°μΈ(equi-join)
- π½ μ°μ°μκ° “=”μΈ μΈν μ‘°μΈμ μλ―Έ
- μμ
02-10 μμ κ΄κ³ - Division
- ννλ² : 릴λ μ΄μ 1 ÷ 릴λ μ΄μ 2
- 릴λ μ΄μ
2μ λͺ¨λ ν¬νκ³Ό κ΄λ ¨μ΄ μλ 릴λ μ΄μ
1μ ν¬νλ‘ κ²°κ³Ό 릴λ μ΄μ
μ ꡬμ±
- λ¨, 릴λ μ΄μ
1μ΄ λ¦΄λ μ΄μ
2μ λͺ¨λ μμ±μ ν¬ν¨νκ³ μμ΄μΌ μ°μ°μ΄ κ°λ₯ν¨
- λλ©μΈμ΄ κ°μμΌ νλ€λ μλ―Έμ
- λ¨, 릴λ μ΄μ
1μ΄ λ¦΄λ μ΄μ
2μ λͺ¨λ μμ±μ ν¬ν¨νκ³ μμ΄μΌ μ°μ°μ΄ κ°λ₯ν¨
μμ
μμ1) κ³ κ° ÷ μ°μλ±κΈ
μμ2)
μ£Όλ¬Έλ΄μ ÷ μ ν1: μ§μ§μ°λκ³Ό κ·Έλλ‘λ§λλ₯Ό λ€ μ° μ¬λμ μ 보 μ€ μ ν μ΄λ¦ μ μΈ
μ£Όλ¬Έλ΄μ ÷ μ ν2
02-11 Assignment Operation (ν λΉ μ°μ°)
- The assignment operation is denoted by ← and works like assignment in a p rogramming language
- 볡μ‘νκ² ννλ μ§μλ€μ κ°λ΅νκ² νννκΈ° μν΄μ μ¬μ©λ¨.
- μΌμμ μΈ(temporary) λ³μλ‘, κ΄κ³ λμ μ°μ°μ μμ΄μ assignment μ°μ°μ μΆκ°μ μΌλ‘ ꡬννλ κ²μ΄ μλ.
μμ: Find all instructor in the "Physics" and "Music" department
02-12 Rename Operation
- κ΄κ³ λμ μμ κ²°κ³Όμ μ΄λ¦μ μ£Όλ μν λ‘ μ¬μ©ν¨.
- λ‘μ°λΌκ³ μ½μ.
- νν: , E ννμμ κ²°κ³Όλ₯Ό xλΌλ μ΄λ¦μΌλ‘.
μμ: λν λ΄μμ κ°μ₯ λμ κΈμ¬λ₯Ό μ°ΎμλΌ.
02-13 νμ₯λ κ΄κ³ λμ μ°μ°μ - μΈλ―Έ μ‘°μΈ(semi-join)
- μ‘°μΈ μμ±μΌλ‘ νλ‘μ νΈ μ°μ°μ μνν 릴λ μ΄μ μ μ΄μ©νλ μ‘°μΈ
- ννλ² : 릴λ μ΄μ 1 β 릴λ μ΄μ 2
- 릴λ μ΄μ 2λ₯Ό μ‘°μΈ μμ±μΌλ‘ νλ‘μ νΈ μ°μ°ν ν, 릴λ μ΄μ 1μ μμ° μ‘°μΈνμ¬ κ²°κ³Ό 릴λ μ΄μ μ ꡬμ±
- λΆνμν μμ±μ 미리 μ κ±°νμ¬ μ‘°μΈ μ°μ° λΉμ©μ μ€μ΄λ μ₯μ μ΄ μμ
- κ΅νμ νΉμ§μ΄ μμ: R β S ≠ S β R
μμ
μ£Όλ¬Έ 릴λ μ΄μ μμ μ‘°μΈ μμ±μΈ μ£Όλ¬Έ κ³ κ° μμ±λ§ λ¨μ 릴λ μ΄μ κ³Ό κ³ κ° λ¦΄λ μ΄μ μ μμ° μ‘°μΈν κ²μ΄λ€.
μμ° μ‘°μΈκ³Ό λΉκ΅ν΄λ³΄λ©΄ μ£Όλ¬Έλ²νΈμ μ£Όλ¬Έμ ν μμ±μ λνλμ§ μλ κ²μ λ³Ό μ μλ€.
02-14 νμ₯λ κ΄κ³ λμ μ°μ°μ – μΈλΆ μ‘°μΈ(outer-join)
- μμ° μ‘°μΈ μ°μ°μμ μ μΈλλ ν¬νλ κ²°κ³Ό 릴λ μ΄μ
μ ν¬ν¨μν€λ μ‘°μΈ
- λ 릴λ μ΄μ μ μλ λͺ¨λ ν¬νμ κ²°κ³Ό 릴λ μ΄μ μ ν¬ν¨μν΄
- ννλ² : 릴λ μ΄μ 1 β+ 릴λ μ΄μ 2 (μ’μΈ‘, μ°μΈ‘ μμ μΈλΆ μ‘°μΈ)
μμ
μ¬κΈ°μ μ’μΈ‘ μΈλΆ μ‘°μΈκ³Ό κ°μ κ²°κ³Όμ΄λ€.
'DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
IE νκΈ°λ² (0) | 2021.06.20 |
---|---|
8μ₯ λ°μ΄ν°λ² μ΄μ€ μ€κ³ (0) | 2021.06.20 |
7μ₯ λ°μ΄ν°λ² μ΄μ€ μΈμ΄ SQL (0) | 2021.04.17 |
5μ₯ κ΄κ³ λ°μ΄ν° λͺ¨λΈ (0) | 2021.03.17 |
4μ₯ λ°μ΄ν° λͺ¨λΈλ§ (0) | 2021.03.17 |
3μ₯ λ°μ΄ν°λ² μ΄μ€ μμ€ν - DBS (0) | 2021.03.11 |