πToday I Learned
μ€λΌν΄
ex29_modeling
λ°μ΄ν°λ² μ΄μ€ μ€κ³
- μꡬμ¬ν μμ§ λ° λΆμ
- κ°λ
λ°μ΄ν° λͺ¨λΈλ§
- λ
Όλ¦¬ λ°μ΄ν° λͺ¨λΈλ§
- 물리 λ°μ΄ν° λͺ¨λΈλ§
- λ°μ΄ν°λ² μ΄μ€ ꡬμΆ
λ°μ΄ν° λͺ¨λΈλ§
- μꡬ λΆμ κΈ°λ° > μμ§ν λ°μ΄ν° > λΆμ > μ μ₯ ꡬ쑰 > λμν > μ°μΆλ¬Ό(ERD)
- λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν λ°μ΄ν° ꡬ쑰λ₯Ό μ€κ³νλ μμ
- κ°λ
+ λ
Όλ¦¬ + 물리
- κ°λ
> μμ£Ό κ°λ¨ν ννμ μ€κ³λ > ν
μ΄λΈ μ΄λ¦ + μμ± + κ΄κ³ μ λλ§ κΈ°μ
- λ
Όλ¦¬ > κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κΈ°λ³Έ μ€μ > μμ±(μλ£ν, κΈΈμ΄) + λλ©μΈ μ μ + ν€ ...
- 물리 > 물리μ μλ³μ + λͺ¨λ κ²λ€μ μ€μ DBMSμ λ§μΆ°μ νμ€ν
- ERD, Entity Relationship Diagram
- μν°ν°μ κ΄κ³λ₯Ό ννν κ·Έλ¦Ό
- λ°μ΄ν°λ² μ΄μ€ λͺ¨λΈλ§ κΈ°λ² μ€ νλ
- μ, μ€νΌμ€, μ λ¬Έν΄(eXERD, ER-Win, μ¨λΌμΈ ν΄)
- Entity, μν°ν°
- λ€λ₯Έ Entityμ λΆλ₯(ꡬλΆ)λ μ μκ³ , λ€λ₯Έ Entityμ λν΄ μ ν΄μ§ κ΄κ³λ₯Ό λ§Ίμ μ μλ λ°μ΄ν° λ¨μ
- 릴λ μ΄μ
= ν
μ΄λΈ(? > λ μ½λ) = μν°ν° = μΈμ€ν΄μ€ = κ°μ²΄
a. νμ μ 보 κ΄λ¦¬
- μ 보 μμ§: μμ΄λ, νμλͺ
, λμ΄, μ£Όμ, μ°λ½μ² λ±
- νμ(μμ΄λ, νμλͺ
, λμ΄, μ£Όμ, μ°λ½μ²)
b. κ°μμ€ μ 보 κ΄λ¦¬
- μ 보 μμ§: κ°μμ€λͺ
, ν¬κΈ°, μΈμ μ, μ©λ λ±...
- κ°μμ€(κ°μμ€λͺ
, ν¬κΈ°, μΈμ μ, μ©λ)
- Attribute, μμ±
- μν°ν°λ₯Ό ꡬμ±νλ κ΅¬μ± μμ
- μμ±μ μ§ν© = μν°ν°
- 컬λΌ
- Relationship, κ΄κ³
- νλμ μν°ν° μμ λ€μ΄μλ μμ±λ€μ μλ‘ κ΄κ³κ° μλ€.
- νμ(μμ΄λ, νμλͺ
, λμ΄, μ£Όμ, μ°λ½μ²)
- Relational, κ΄κ³
- μν°ν°μ μν°ν°κ°μ κ΄κ³
- ν
μ΄λΈμ κ΄κ³
ERD > Entity, Attribute, Relation λ± νννλ λ°©λ² > κ·Έλ¦Ό 그리λ λ°©λ²
-
Entity
- μ¬κ°ν
- μ΄λ¦μ μμ±
- ERD λ΄μ μν°ν°λͺ
μ μ€λ³΅ λΆκ°λ₯
-
Attribute
- νΌν° μ²Έ
- μμΌλ‘ νμ
- μν°ν° μ°κ²°
- IE
- μν°ν° λ΄μ λͺ©λ‘μΌλ‘ νμ
-
Relation
- μν°ν°μ μν°ν°μ κ΄κ³
- νΌν°μ²Έ
- IE(μλ°)
λΉλμ€ λμ¬μ
- μν°ν° μ μ
- μ₯λ₯΄
- λΉλμ€
- νμ
- λμ¬(?)
- μμ± μ μ
- κΈ°λ³Έν€ μ μ
- κ΄κ³ μ μ
- λ
Όλ¦¬ λ€μ΄μ΄κ·Έλ¨
- κ°λ
λͺ¨λΈ(ERD) > μ€ν€λ§ μΆκ°
- 물리 λ€μ΄μ΄κ·Έλ¨
- μ€μ ꡬννκΈ° μν λͺ¨λ μΆκ°
μ°μΆλ¬Ό
a. ERD(κ°λ
λͺ¨λΈλ§)
b. λ
Όλ¦¬ λ€μ΄μ΄κ·Έλ¨
c. 물리 λ€μ΄μ΄κ·Έλ¨
λͺ¨λΈλ§ μμ
> ERD > μ¬λ°λ₯΄κ²?? > κ²μ¦ > μ κ·ν > μμ μ± λκ³ , μμ
νκΈ° νΈν ERD
μ κ·ν, Normalization
- μλ£μ μμ€μ΄λ λΆνμν μ 보λ₯Ό μμ κ³ , λ°μ΄ν°μ μΌκ΄μ±μ μ μ§νλ©°, λ°μ΄ν° μ’
μμ±μ μ΅μνν΄μ€λ€.
- μ°λ¦¬κ° λ§λ ν
μ΄λΈ(ERD) > λΉμ ν, λΉμ κ·ν μν > μ κ·ν
- μ 1 μ κ·ν > μ 2 μ κ·ν > μ 3 μ κ·ν λ±...
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ μμ€ν
μ΄ μ§ν₯νλ λ°μ΄ν°λ² μ΄μ€μ μν
1. μ΅λν nullμ κ°μ§μ§ μλλ€.
2. μ€λ³΅κ°μ κ°μ§μ§ μλλ€.
3. μμκ°μ κ°μ§λ€.
μ κ·ν λͺ©μ
1. null μ΅λν μ κ±°
2. μ€λ³΅κ° μ κ±°
3. 볡ν©κ° μ κ±°
4. μλ£μ μ½μ
μ΄μ, κ°±μ μ΄μ, μμ μ΄μ νμ μ κ±°
μ΄μ νμ
- μ½μ
μ΄μ, Insertion Anomaly
- νΉμ ν
μ΄λΈμ λ°μ΄ν°λ₯Ό μ½μ
ν λ μνμ§ μλ λ°μ΄ν°κΉμ§ κ°μ΄ λ£μ΄μΌ νλ μν©
- κ°±μ μ΄μ, Update Anomaly
- λμΌν λ°μ΄ν°κ° 2κ° μ΄μμ ν
μ΄λΈμ λμ μ μ₯
> κ·Έ μ€ 1κ°λ μμ νμ§λ§, λ€λ₯Έ 1κ°λ₯Ό μμ λͺ» νλ©΄, λ μ€ μ΄λ κ²μ΄ μ¬λ°λ₯Έ λ°μ΄ν°μΈμ§ νλ¨νμ§ λͺ»νλ μν©
- μμ μ΄μ, Deletion Anomaly
- νΉμ ν
μ΄λΈμμ λ°μ΄ν°λ₯Ό μμ ν λ μνμ§ μλ λ°μ΄ν°κΉμ§ κ°μ΄ μμ νλ μν©
ν¨μ μ’
μ, FUnctional Dependency
- νλμ ν
μ΄λΈ λ΄μμ 컬λΌλΌλ¦¬μ κ΄κ³ νν
- μ κ·νλ 'λΆλΆ ν¨μ μ’
μ'μ΄λ 'μ΄ν ν¨μ μ’
μ'μ λͺ¨λ μμ κ³ , λͺ¨λ 컬λΌμ κ΄κ³λ₯Ό 'μμ ν¨μ μ’
μ'μΌλ‘ λ§λλ μμ
μ΄λ€.
- μμ ν¨μ μ’
μ -- κΈ°λ³Έν€κ° μλ 컬λΌμ΄ κΈ°λ³Έν€μκ² μ’
μμ μΈ μν
- λΆλΆ ν¨μ μ’
μ
- μ΄ν ν¨μ μ’
μ
μ κ·ν
- 1NF, 2NF, 3NF(Normal Form)
μ 1 μ κ·ν, 1NF
- λͺ¨λ 컬λΌ(μμ±)μ μμκ°μ κ°μ§λ€.
- μ¬λ¬ κ°μ λΆλ¦¬ κ°λ₯ν κ°μ 1κ°μ μ»¬λΌ μμ λ£μ§ λ§ κ².
- 1κ° ν
μ΄λΈ > (μ κ·ν) > 2κ° μ΄μμ ν
μ΄λΈ
μ 2 μ κ·ν, 2NF
- κΈ°λ³Έ ν€κ° μλ λͺ¨λ 컬λΌμ κΈ°λ³Έν€μ μμ ν¨μ μ’
μμ΄μ΄μΌ νλ€.
- λΆλΆ ν¨μ μ’
μ λ°κ²¬!! > λΆλΆ ν¨μ μ’
μ μ κ±°!!
- 볡ν©ν€λ₯Ό κ°μ§λ ν
μ΄λΈμμ λ°κ²¬λλ€.
μ 3 μ κ·ν, 3NF
- κΈ°λ³Έ ν€κ° μλ λͺ¨λ 컬λΌμ κΈ°λ³Έν€μ μμ ν¨μ μ’
μμ΄μ΄μΌ νλ€.
- μ΄ν ν¨μ μ’
μ λ°κ²¬!! > μ΄ν ν¨μ μ’
μ μ κ±°!!
μμ κ·ν
- μ κ·νλ κ²°κ³Όλ₯Ό λ€μ μλλλ‘ λλ리λ μμ
- 2κ° μ΄μμ ν
μ΄λΈ > (μμ κ·ν) > 1κ° ν
μ΄λΈ
- μμ
μ€ μ¬μ© κΈμ§!!