40. SQLD 1κ³Όλͺ© (1)λ°μ΄ν° λͺ¨λΈλ§μ μ΄ν΄
λ°μ΄ν°λͺ¨λΈλ§
μ 보 μμ€ν
μ ꡬμΆνκΈ° μν λ°μ΄ν° κ΄μ μ μ
무 λΆμ κΈ°λ²
νμ€ μΈκ³μ λ°μ΄ν°(what)μ λν΄ μ½μλ νκΈ°λ²μ μν΄ νννλ κ³Όμ
λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμΆνκΈ° μν λΆμ/μ€κ³μ κ³Όμ
λ°μ΄ν°λͺ¨λΈλ§ νΉμ§
νμ€μΈκ³λ₯Ό μΌμ ν νμμ λ§μΆμ΄ νννλ μΆμνμ μλ―Έλ₯Ό κ°μ§
μμ€ν
ꡬν, μ
무λΆμ, μ
무 νμνμ λͺ©μ μ΄ μμ
볡μ‘ν νμ€μ μ νλ μΈμ΄λ νκΈ°λ²μΌλ‘ μ΄ν΄νκΈ° μ½λλ‘νλ λ¨μνμ μλ―Έλ₯Ό κ°μ§
μ λ§€λͺ¨νΈν¨μ λ°°μ νκ³ λꡬλ μ΄ν΄ κ°λ₯νλλ‘ μ ννκ² νμμ κΈ°μ νλ μ ννμ μλ―Έλ₯Ό κ°μ§
λ°μ΄ν° λͺ¨λΈλ§ μμ²΄λ‘ μ
무λ₯Ό μ€λͺ
νκ³ λΆμνλ λΆλΆμμλ λ§€μ° μ€μν μλ―Έλ₯Ό κ°μ§
λ°μ΄ν°λͺ¨λΈλ§ μ μμ
β μ€λ³΅ : λ°μ΄ν°λ² μ΄μ€κ° μ¬λ¬ μ₯μμ κ°μ μ 보λ₯Ό μ μ₯νλ μλͺ»μ νμ§ μλλ‘ νλ€.
β‘ λΉμ μ°μ± : λ°μ΄ν°μ μ μλ₯Ό λ°μ΄ν°μ μ¬μ© νλ‘μΈμ€μ λΆλ¦¬νλ€.
λ°μ΄ν° νΉμ νλ‘μΈμ€μ μμ λ³νκ° μ ν리μΌμ΄μ
κ³Ό λ°μ΄ν°λ² μ΄μ€μ μ€λν λ³νλ₯Ό μΌμΌν¬ μ μλ κ°λ₯μ±μ μ€μΈλ€.
β’ λΉμΌκ΄μ± : λ°μ΄ν°μ μ€λ³΅μ΄ μλλΌλ λΉμΌκ΄μ±μ λ°μν μ μλ€.
λ°μ΄ν°μ λ°μ΄ν°κ°μ μνΈ μ°κ΄ κ΄κ³μ λν΄ λͺ
ννκ² μ μνμ¬μΌ νλ€.
μ¬μ©μκ° μ²λ¦¬νλ νλ‘μΈμ€ νΉμ μ΄μ κ΄λ ¨λ νλ‘κ·Έλ¨κ³Ό ν
μ΄λΈμ μ°κ³μ±μ λμ΄λ κ²μ λ°μ΄ν° λͺ¨λΈμ΄ μ
무 λ³κ²½μ λν΄ μ·¨μ½νκ² λ§λλ λ¨μ .
λ°μ΄ν° λͺ¨λΈλ§μ μ’ λ₯
β κ°λ
μ λ°μ΄ν° λͺ¨λΈλ§
μΆμν μμ€μ΄ λλ€.
μ
무 μ€μ¬μ μ΄κ³ ν¬κ΄μ μΈ μμ€μ λͺ¨λΈλ§ μ§ν.
μ μ¬μ λ°μ΄ν° λͺ¨λΈλ§
EA(Enterprise Architect) μ립μ λ§μ΄ μ¬μ©
β‘ λ
Όλ¦¬μ λ°μ΄ν° λͺ¨λΈλ§
μμ€ν
μΌλ‘ ꡬμΆνκ³ μ νλ μ
무μ λν΄ key, μμ±, κ΄κ³ λ±μ μ ννκ² νν, μ¬μ¬μ©μ±μ΄ λμ.
⒠물리μ λ°μ΄ν° λͺ¨λΈλ§
μ€μ λ°μ΄ν°λ² μ΄μ€μ μ΄μν μ μλλ‘ μ±λ₯, μ μ₯ λ± λ¬Όλ¦¬μ μΈ μ±κ²©μ κ³ λ €νμ¬ μ€κ³.
λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§ ꡬ쑰
β κ°λ
μ€ν€λ§
λͺ¨λ μ¬μ©μ κ΄μ μ ν΅ν©ν μ‘°μ§ μ 체 κ΄μ μ ν΅ν©μ νν
λ°μ΄ν° λͺ¨λΈλ§μ ν΅ν© κ΄μ μ κ°μ§κ³ μλ κ°λ
μ€ν€λ§(Conceptual Schema)λ₯Ό λ§λ€μ΄ κ°λ κ³Όμ .
β‘ μΈλΆ μ€ν€λ§
μ¬μ©μ λ·°(View)
μ¬μ©μλ μμ© νλ‘κ·Έλλ¨Έκ° κ° κ°μΈμ μ
μ₯μμ νμλ‘ νλ λ°μ΄ν°λ² μ΄μ€μ λ
Όλ¦¬μ ꡬ쑰λ₯Ό μ μ
μ 체 λ°μ΄ν°λ² μ΄μ€μ ν λ
Όλ¦¬μ μΈ λΆλΆ (μλΈ μ€ν€λ§)
κ°μ λ°μ΄ν°λ² μ΄μ€μ λν΄μλ μλ‘ λ€λ₯Έ κ΄μ μ μ μ ν μ μλλ‘ νμ©
μΌλ° μ¬μ©μλ SQLμ μ¬μ©νμ¬ DBλ₯Ό μ¬μ©νλ€.
β’ λ΄λΆ μ€ν€λ§
μμ€ν
νλ‘κ·Έλλ¨Έ, μ€κ³μκ° λ³΄λ κ΄μ μ μ€ν€λ§
물리μ μ μ₯μ₯μΉ μ
μ₯μμ λ³Έ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰, 물리μ μΈ μ μ₯ μ₯μΉμ λ°μ ν κ³μΈ΅
μ€μ λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ λ μ½λμ 물리μ μΈ κ΅¬μ‘°λ₯Ό μ μ
λ°μ΄ν° νλͺ©μ ννλ°©λ², λ΄λΆ λ μ½λμ 물리μ μμ λ±μ λνλ
Mapping( ) μ¬μ
μνΈ λ 립μ μΈ κ°λ μ μ°κ²°μμΌμ£Όλ λ€λ¦¬
β λ
Όλ¦¬μ μ¬μ : - μΈλΆ μ€ν€λ§ κ°λ
μ€ν€λ§
①물리μ μ¬μ : - κ°λ
μ€ν€λ§ λ΄λΆ μ€ν€λ§
μν°ν°?
λ°λμ ν΄λΉ μ
무μμ νμνκ³ κ΄λ¦¬νκ³ μ νλ μ 보μ΄μ΄μΌ νλ€.
μ μΌν μλ³μμ μν΄ μλ³μ΄ κ°λ₯ν΄μΌ νλ€.
μμμ μΌλ‘ μ‘΄μ¬νλ λ κ° μ΄μμ μΈμ€ν΄μ€ μ§ν©μ΄μ΄μΌ νλ€.
μν°ν°λ λ°λμ μμ±μ΄ μμ΄μΌ νλ€.
μν°ν°λ λ€λ₯Έ μν°ν°μ μ΅μ ν κ° μ΄μμ κ΄κ³κ° μμ΄μΌ νλ€. (ν΅κ³μ±/μ½λμ± μν°ν°λ κ΄κ³ μλ΅ κ°λ₯)
λ°μ μμ μ λ°λ₯Έ μν°ν° λΆλ₯
β κΈ°λ³Έ μν°ν° (ν€ μν°ν°)
μ
무μ μλ μ‘΄μ¬νλ μ 보
λ€λ₯Έ μν°ν°μμ κ΄κ³μ μν΄ μμ±λμ§ μκ³ λ
립μ μΌλ‘ μμ± κ°λ₯
ν μν°ν°μ λΆλͺ¨μν μ νκ²λ¨
ex. μ¬μ, λΆμ, κ³ κ°, μν λ±
β‘ μ€μ¬ μν°ν°
κΈ°λ³Έ μν°ν°λ‘λΆν° λ°μνλ©°, μ
무μ μμ΄μ μ€μν μν μ νλ€.
λ°μ΄ν°λμ΄ λ§μ΄ λ°μλκ³ λ€λ₯Έ μν°ν°μμ κ΄κ³λ₯Ό ν΅ν΄ νμ μν°ν°λ₯Ό μμ±νλ€.
ex. κ³μ½, μ²κ΅¬, μ£Όλ¬Έ, λ§€μΆ λ±
β’ νμ μν°ν°
λ κ° μ΄μμ λΆλͺ¨ μν°ν°λ‘λΆν° λ°μ
μμ£Ό λ΄μ©μ΄ λ°λκ±°λ λ°μ΄ν°λμ΄ μ¦κ°νλ€.
λΆμ μ΄κΈ° λ¨κ³μμλ μ λνλμ§ μκ³ μμΈ μ€κ³λ νλ‘μΈμ€μ μκ΄ λͺ¨λΈλ§μ νλ©΄μ λμΆλ μ μλ€.
ex. μ£Όλ¬Έλͺ©λ‘, μ¬μ λ³κ²½μ΄λ ₯ λ±
μν°ν° λͺ
λͺ
κΈ°μ€
κ°λ₯νλ©΄ νμ
μμ μ¬μ©νλ μ©μ΄λ₯Ό μ¬μ©νλ€.
κ°λ₯νλ©΄ μ½μ΄λ₯Ό μ¬μ©νμ§ μλλ€.
λ¨μλͺ
μ¬λ₯Ό μ¬μ©νλ€.
λͺ¨λ μν°ν°λ₯Ό ν΅νμ΄μ μ μΌνκ² μ΄λ¦μ΄ λΆμ¬λμ΄μΌ νλ€.
μν°ν° μμ± μλ―Έλλ‘ μ΄λ¦μ λΆμ¬νλ€.
ERD(Entity Relationship Diagram)λ?
κ°μ²΄ μμ±κ³Ό κ°μ²΄ κ° κ΄κ³λ₯Ό λνλ‘ ννν κ²μ μλ―Ένλ€.
ERD κ΄κ³ ννλ²
* μΉ΄λλλ¦¬ν° : μ 체 νμ λν νΉμ 컬λΌμ μ€λ³΅ μμΉλ₯Ό λνλ΄λ μ§ν
κ΄κ³μ μ μ’
λ₯
β μ€μ (Identifying): μλ³κ΄κ³
λΆλͺ¨ν
μ΄λΈμ PKκ° μμν
μ΄λΈμ FK/PKκ° λλ κ²½μ°
λΆλͺ¨κ° μμ΄μΌ μμμ΄ μκΈ°λ κ²½μ°
β‘ μ μ (Non-Identifying): λΉμλ³κ΄κ³
λΆλͺ¨ν
μ΄λΈμ PKκ° μμν
μ΄λΈμ μΌλ°μμ±μ΄ λλ κ²½μ°
λΆλͺ¨κ° μμ΄λ μμμ΄ μκΈ°λ κ²½μ°
ERD(Entity Relationship Model : κ°μ²΄-κ΄κ³ λͺ¨λΈ) μμ± μμ
μν°ν°λ₯Ό κ·Έλ¦°λ€.
μν°ν°λ₯Ό μ μ νκ² λ°°μΉνλ€.
μν°ν°κ° κ΄κ³λ₯Ό μ€μ νλ€.
κ΄κ³λͺ
μ κΈ°μ νλ€.
κ΄κ³μ μ°Έμ¬λλ₯Ό κΈ°μ νλ€.
κ΄κ³μ νμμ¬λΆλ₯Ό κΈ°μ νλ€.
μμ±
μ
무μμ νμλ‘ νλ μΈμ€ν΄μ€μμ κ΄λ¦¬νκ³ μ νλ μλ―Έμ λ μ΄μ λΆλ¦¬λμ§ μλ μ΅μμ λ°μ΄ν° λ¨μ
μν°ν°μ λν μμΈνκ³ κ΅¬μ²΄μ μΈ μ 보λ₯Ό λνλ
νλμ μν°ν°λ λ κ° μ΄μμ μμ±μ κ°λλ€
μμ±λ μ§ν©μ΄λ€
μν°ν°, μΈμ€ν΄μ€, μμ±, μμ±κ°μ κ΄κ³
ν κ°μ μν°ν°λ λ κ° μ΄μμ μΈμ€ν΄μ€μ μ§ν©μ΄μ΄μΌ νλ€.
ν κ°μ μν°ν°λ λ κ° μ΄μμ μμ±μ κ°λλ€.
ν κ°μ μμ±μ ν κ°μ μμ±κ°μ κ°λλ€.
μμ± νΉμ±μ λ°λ₯Έ λΆλ₯
β κΈ°λ³Έ μμ±
μλ κ°μ§κ³ μμ΄μΌ νλ μμ±
μ
λ¬΄λ‘ λΆν° μΆμΆλ μΌλ°μ μΈ μμ±
β‘ μ€κ³ μμ±
μλ μ‘΄μ¬νμ§ μμ§λ§ μ
무 κ·μΉνλ₯Ό μν΄ μ€κ³μκ° μλ‘ λ§λ€κ±°λ λ³ν μ μν μμ±
ex. μ£Όλ¬Έλ²νΈ, μμ½λ²νΈ, κ³ κ°λ²νΈ, μνμ½λ, μΌλ ¨λ²νΈ λ±
β’ νμ μμ±
λ€λ₯Έ μμ±μ μν₯μ λ°μ λ°μ
λ°μ΄ν°λ₯Ό μ‘°νν λ λΉ λ₯Έ μ±λ₯μ λΌ μ μλλ‘ νκΈ° μν΄ μλ μμ±μ κ°μ κ³μ°νμ¬ μ μ₯ν μ μλλ‘ λ§λ μμ±
ex. ν©
λλ©μΈ
κ° μμ±μ΄ κ°μ§ μ μλ κ°μ λ²μ
μν°ν° λ΄μμ μμ±μ λν λ°μ΄ν°νμ
κ³Ό μ μ½μ¬νμ μ§μ νλ κ²
ex. μ νλͺ
μ΄λΌλ μμ±μ κΈΈμ΄κ° 20μ리 μ΄λ΄μ λ¬Έμμ΄λ‘ μ μν μ μλ€.
μμ± λͺ
μΉ λΆμ¬
ν΄λΉ μ
무μμ μ¬μ©νλ μ΄λ¦μ λΆμ¬νλ€.
μμ μ μΈ μμ±λͺ
μ μ¬μ©νμ§ μλλ€.
μ½μ΄λ κ°κΈμ μ¬μ©νμ§ μλλ€.
μ 체 λ°μ΄ν° λͺ¨λΈμμ μ μΌμ±μ ν보νλ κ²μ΄ μ’λ€.
κ΄κ³
μν°ν° κ°μ λ Όλ¦¬μ μΈ μ°κ΄μ±
μ‘΄μ¬μ ννλ‘μλ νμλ‘μ μλ‘μκ² μ°κ΄μ±μ΄ λΆμ¬λ μν κ΄κ³
νμ΄λ§μ μ§ν© * νμ΄λ§ : μν°ν° μμ μΈμ€ν΄μ€κ° κ°λ³μ μΌλ‘ κ΄κ³λ₯Ό κ°μ§λ κ²
ex) κ°μ¬ - κ°λ₯΄μΉλ€(κ΄κ³) - μκ°μ
β μ‘΄μ¬μ μν κ΄κ³ : λΆμμ μ¬μ
β‘ νμμ μν κ΄κ³ : κ³ κ°κ³Ό μ£Όλ¬Έ
UML(ν΄λμ€ λ€μ΄μ΄κ·Έλ¨)μμμ κ΄κ³
β μ°κ΄κ΄κ³(μ€μ ) : νμ μ΄μ©νλ κ΄κ³ ex. μμλλ€
β‘ μμ‘΄κ΄κ³(μ μ ) : μλ νμμ μν΄ λ°μνλ κ΄κ³ ex. μ£Όλ¬Ένλ€
κ΄κ³μ νκΈ°λ²
β κ΄κ³λͺ
: μν°ν°κ° κ΄κ³μ λ§Ίμ΄μ§ κ΄κ³ νν
β‘ κ΄κ³μ°¨μ : λ μν°ν°κ° κ΄κ³μμ μνλλ κ²½μ°μ μ ex) 1:1, 1:M, M:N
β’ κ΄κ³μ νμ±(=μ νμ¬μ) : νμ μ°Έμ¬νλμ§ μλλ©΄ μ°Έμ¬ν μλ μλμ§λ₯Ό λνλ΄λ λ°©λ² ex) μλ-μ£Όλ¬Έ κ΄κ³
- νμ κ΄κ³ : μ£Όλ¬Έμ μλμ μν΄ μνλλ€
- μ ν κ΄κ³ : μλμ μ£Όλ¬Έμ ν μλ μκ³ , μ ν μλ μλ€ (μ νμ°Έμ¬νλ μν°ν°μͺ½μ μ νμ)
κ΄κ³ λμΆμ μ²΄ν¬ μ¬ν
λ κ°μ μν°ν° μ¬μ΄μ κ΄μ¬μλ μ°κ΄ κ·μΉμ΄ μ‘΄μ¬νλκ°?
λ κ°μ μν°ν° μ¬μ΄μ μ 보μ μ‘°ν©μ΄ λ°μνλκ°?
μ
무기μ μ, μ₯νμ κ΄κ³ μ°κ²°μ λν κ·μΉμ΄ μμ λμ΄ μλκ°?
μ
무기μ μ, μ₯νμ κ΄κ³ μ°κ²°μ κ°λ₯νκ² νλ λμ¬(Verb)κ° μλκ°?
μλ³μ
μν°ν° λ΄μμ μΈμ€ν΄μ€λ₯Ό ꡬλΆνλ ꡬλΆμ
μλ³μλ λ Όλ¦¬μ
Keyλ 물리μ λ°μ΄ν° λͺ¨λΈλ§ λ¨κ³μ μ¬μ©
μλ³μμ μ’
λ₯
β λνμ± μ¬λΆ
μ£Ό μλ³μ : μΈμ€ν΄μ€λ₯Ό μ μΌνκ² κ΅¬λΆ ν μ μμΌλ©° μ°Έμ‘°κ΄κ³λ₯Ό μ°κ²° ν μ μμ
보쑰 μλ³μ : μ μΌνκ² κ΅¬λΆ κ°λ₯νμ§λ§ λνμ±μ κ°μ§μ§ λͺ»ν΄ μ°Έμ‘°κ΄κ³ μ°κ²°μ λͺ»ν¨
β‘ μ€μ€λ‘ μμ± μ¬λΆ
λ΄λΆ μλ³μ : μν°ν° λ΄λΆμμ μ€μ€λ‘ λ§λ€μ΄μ§λ μλ³μ
μΈλΆ μλ³μ : ν μν°ν°μμ κ΄κ³λ₯Ό ν΅ν΄ ν μν°ν°λ‘λΆν° λ°μμ€λ μλ³μ
β’ μμ±μ μ
λ¨μΌ μλ³μ : νλμ μμ±μΌλ‘ ꡬμ±
λ³΅ν© μλ³μ : 2κ° μ΄μμ μμ±μΌλ‘ ꡬμ±
β£ λ체 μ¬λΆ
λ³Έμ§ μλ³μ : μ
무μ μν΄ λ§λ€μ΄μ§λ μλ³μ
μΈμ‘° μλ³μ : μ
무μ μΌλ‘ λ§λ€μ΄μ§μ§λ μμ§λ§ μμ‘°μλ³μκ° λ³΅μ‘ν ꡬμ±μ κ°μ§κ³ μκΈ° λλ¬Έμ μΈμμ μΌλ‘ λ§λ μλ³μ
μ£Ό μλ³μμ νΉμ§
β μ μΌμ± : μν°ν°λ΄μ λͺ¨λ μΈμ€ν΄μ€λ₯Ό μ μΌνκ² κ΅¬λΆν¨
β‘ μ΅μμ± : μ£Όμλ³μλ₯Ό ꡬμ±νλ μμ±μ μλ μ μΌμ±μ λ§μ‘±νλ μ΅μμ μκ° λμ΄μΌ ν¨
β’ λΆλ³μ± : μλ³μκ° ν λ² μ§μ λλ©΄ κ·Έ κ°μ λ³νμ§ μμμΌ ν¨
β£ μ‘΄μ¬μ± : μ£Όμλ³μκ° μ‘΄μ¬νλ©΄ λ°λμ λ°μ΄ν° κ°μ΄ μ‘΄μ¬ (null μ λ¨)
μ£Όμλ³μ λμΆκΈ°μ€
β ν΄λΉ μ
무μμ μμ£Ό μ΄μ©λλ μμ±μ
β‘ λͺ
μΉ, λ΄μ λ±κ³Ό κ°μ΄ μ΄λ¦μΌλ‘ κΈ°μ λλ κ²λ€μ X
⒠볡ν©μΌλ‘ μ£Όμλ³μλ‘ κ΅¬μ±ν κ²½μ° λ무 λ§μ μμ± X -> λ무 λ§μΌλ©΄ μΈμ‘°μλ³μ μμ±
μλ³μ κ΄κ³
β μ£Όμλ³μ : λΆλͺ¨ μν°ν°μ μ£Όμλ³μκ° μμ μν°ν°μ μ£Ό μλ³μλ‘ μμλ κ²½μ°
- λΆλͺ¨λ‘λΆν° λ°μ μλ³μλ₯Ό μμμν°ν°μ μ£Όμλ³μλ‘ μ΄μ©νλ κ²½μ°
- κ°ν μ°κ²°κ΄κ³ νν μ€μ νκΈ°
- μλ³μ κ΄κ³λ‘λ§ μ€μ μ μ£Όμλ³μ μ¦κ°λ‘ μ€λ₯ μ λ°
β‘ λΉμλ³μ : λΆλͺ¨ μμ±μ μμμ μΌλ° μμ±μΌλ‘ μ¬μ©
- λΆλͺ¨ μλ μμμ΄ μμ±λ μ μλ κ²½μ°
- λΆλͺ¨μ μμμ μλͺ
μ£ΌκΈ°κ° λ€λ₯Έ κ²½μ° (λ³λ μλ©Έ)
- μ¬λ¬κ°μ μν°ν°κ° νλμ μν°ν°λ‘ ν΅ν©λμ΄ ννλμλλ° κ°κ°μ μν°ν°κ° λ³λμ κ΄κ³λ₯Ό κ°μ§ κ²½μ°
- μμμν°ν°μ λ³λμ μ£Όμλ³μλ₯Ό μμ±νλ κ²μ΄ λ μ 리ν κ²½μ°
- SQL λ¬Έμ₯μ΄ κΈΈμ΄μ Έ 볡μ‘μ± μ¦κ°λλ κ² λ°©μ§ (μ½ν μ°κ²°κ΄κ³ νν μ μ νκΈ°, λΉμλ³μ κ΄κ³λ‘λ§ μ€μ μ λΆλͺ¨ μν°ν°μ μ‘°μΈνμ¬ μ±λ₯ μ ν)