1οΈβ£ μν°ν°(Entity)
κ°μ²΄(λ 립체)
μ 보μ μΈκ³μμ μλ―Έ μλ νλμ μ 보 λ¨μ
- νΉμ§
- μ 무μμ νμλ‘ νλ μ 보
- μλ³ κ°λ₯ μ¬λΆ : μΈμ€ν΄μ€κ° μλ³μμ μν΄ ν κ°μ©λ§ μ‘΄μ¬
- μΈμ€ν΄μ€(Instance)μ μ§ν© : 2κ° μ΄μμ μΈμ€ν΄μ€λ‘ ꡬμ±λ¨
- μ 무 νλ‘μΈμ€μ μν΄ νμ©λ¨
- μμ±(Attribute)μ ν¬ν¨ν¨
- κ΄κ³(Relationship)μ μ‘΄μ¬
- λΆλ₯β μ /무νμ λ°λ₯Έ λΆλ₯
μ ν μν°ν° | 물리μ ννκ° μ‘΄μ¬ν¨ μμ μ , μ§μμ μ΄μ΄μΌ ν¨ ex. μν, κ°μ¬ |
κ°λ μν°ν° | κ°λ
μ μ λ³΄λ‘ κ΅¬λΆλ¨ ex. νκ³Ό, μ½μ€λ₯ μ’ λͺ© |
μ¬κ±΄ μν°ν° | νΉμ μ΄λ²€νΈμ μ’
μλ¨ ex. μ΄λ²€νΈ μλͺ¨, μ£Όλ¬Έ |
- λΆλ₯β‘ λ°μ μμ μ λ°λ₯Έ λΆλ₯
κΈ°λ³Έ/ν€ μν°ν° (Basic Entity) |
κ΄κ³κ° μλ λ
립μ μΈ μμ±μ΄ κ°λ₯ = κ³ μ μ£Όμλ³μλ₯Ό κ°μ§ ex. κ³ κ°, μν |
μ€μ¬ μν°ν° (Main Entity) |
κΈ°λ³Έ μν°ν°λ‘λΆν° λ°μνλ μ
무μμ μ€μ¬μ μν μ μν°ν° λ€λ₯Έ μν°ν°μμ κ΄κ³λ₯Ό ν΅ν΄ νμ μν°ν°λ₯Ό μμ± ex. μ£Όλ¬Έ, μ·¨μ |
νμ μν°ν° (Activie Entity) |
μ¬λ¬ μν°ν°λ‘λΆν° λ§λ€μ΄μ§ ex. μ£Όλ¬Έ λ΄μ, μ·¨μ λ΄ |
- μν°ν° λͺ
λͺ
- λλλ‘ μ 무μ μ¬μ©νλ μΈμ΄ μ¬μ©
- λλλ‘ μΆμ½μ΄ X
- λ¨μ λͺ μ¬ μ¬μ©
- λμ΄μ°κΈ° X
- μ μΌν(unique) μ΄λ¦ = μ€λ³΅ X
- μμ± μλ―Έλλ‘ μ΄λ¦μ λΆμ¬
2οΈβ£ μμ±(Attribute)
μ 무μμ νμλ‘ νλ μΈμ€ν΄μ€λ‘ κ΄λ¦¬νκ³ μ νλ, μλ―Έμ λ μ΄μ λΆλ¦¬λμ§ μλ, μ΅μμ λ°μ΄ν° λ¨μ
μΈμ€ν΄μ€κ° κ°μ§ μ±κ²©(μ±μ§)
- μν°ν°, μΈμ€ν΄μ€, μμ±, μμ±κ°μ κ΄κ³
- 1 μν°ν° = 2κ° μ΄μμ μΈμ€ν΄μ€μ μ§ν©, 2κ° μ΄μμ μμ±μΌλ‘ ꡬμ±
- 1 μμ± = 1κ°μ μμ±κ°μ κ°μ§
- νΉμ§
- μ 무μμ νμλ‘ ν¨
- μλ―Έμ λ μ΄μ λΆλ¦¬λμ§ μλ, κ·Έ μμ²΄λ‘ λ λ¦½μ± μ μ§
- μν°ν°λ₯Ό μ€λͺ νκ³ , μΈμ€ν΄μ€μ ꡬμ±μμκ° λ¨
- μ κ·ν μ΄λ‘ μ κΈ°λ°, μ ν΄μ§ μ£Όμλ³μμ ν¨μμ μ’
μμ±*μ κ°μ§
- Functional Dependency : X → Y (κ²°μ μ(X)μ μν΄ μ’ μμ(Y)μ κ°μ΄ λ¬λΌμ§ λ, Yλ Xμ ν¨μμ μ’ μμ±μ΄ μμ)
- νλμ μμ±μ ν κ° κ°λ§ κ°μ§
- λΆλ₯β νΉμ§μ λ°λ₯Έ λΆλ₯
κΈ°λ³Έ μμ± (Basic Attribute) |
μ 무λ‘λΆν° μΆμΆλ λͺ¨λ μμ± |
μ€κ³ μμ± (Designed Attribute) |
λ°μ΄ν° λͺ¨λΈλ§, μ 무μ κ·μΉν λ±μ μν΄ μλ‘ λ§λ€κ±°λ λ³ννμ¬ μ μνλ μμ± |
νμ μμ± (Derived Attribute) |
λ€λ₯Έ μμ±μ μν₯μ λ°μ λ°μνλ μμ± ex. κ³μ°λ κ° *λ°μ΄ν°μ μ ν©μ±(μ νμ±) μ μ§ μν΄ νμμ μμ±μ μ κ² μ μνλ κ²μ΄ μ’μ |
- λΆλ₯β‘ κ΅¬μ± λ°©μμ λ°λ₯Έ λΆλ₯
PK(Primary Key) μμ± | μ£Όμ ν€ μν°ν°λ₯Ό μλ³ν μ μλ μμ± |
FK(Foreign Key) μμ± | μΈλ ν€ λ€λ₯Έ μν°ν°μμ κ΄κ³μ ν¬ν¨λ μμ± |
μΌλ° μμ± | PK, FKμ ν¬ν¨λμ§ μμ λ€λ₯Έ μμ± |
- μμ± λͺ
λͺ
- λλλ‘ μ 무μ μ¬μ©νλ μΈμ΄ μ¬μ©
- λλλ‘ μΆμ½μ΄ X
- μμ ν보λ€λ λͺ μ¬ν μ¬μ©
- μμμ΄ μ΅μν
- λͺ μμ ννμ μλ―Έ μ λ¬μ μν¨
- μ 체 λ°μ΄ν° λͺ¨λΈμμ μ μΌ(unique)νκ² μμ±ν΄μΌ ν¨
- λ°μ΄ν° μ ν©μ± μ μ§μ λ°μ κ·ν μμ μ μνν λ μμ±μ μΆ©λμ ν΄κ²°νλ λ° λμ λ¨
- λλ©μΈ
- κ° μμ±μ΄ κ°μ§ μ μλ κ°μ λ²μ
- μν°ν° λ΄μμ μμ±μ λν λ°μ΄ν° νμ κ³Ό ν¬κΈ°, μ μ½ μ¬ν λ±μ μ§μ ν¨
3οΈβ£ κ΄κ³(Relationship)
μν°ν°μ μΈμ€ν΄μ€ μ¬μ΄μ λ Όλ¦¬μ μΈ μ°κ΄μ±
μλ‘μκ² μ‘΄μ¬μ νν νΉμ νμλ‘μμ μ°κ΄μ±μ΄ λΆμ¬λ μν
- κ΄κ³ νμ΄λ§
- μν°ν° μμ μΈμ€ν΄μ€κ° κ°λ³μ μΌλ‘ μ°κ²°λμ΄ μλ ꡬ쑰
- κ° μν°ν°μ μΈμ€ν΄μ€λ€μ μμ μ΄ κ΄λ ¨λ μΈμ€ν΄μ€λ€κ³Ό κ΄κ³μ μ΄μ»€λ°μ€λ‘ μ°Έμ¬νλ νν
- κ΄κ³μ λΆλ₯
- μ‘΄μ¬μ μν κ΄κ³ : μμ/ν¬ν¨ ex. DBνμ νκΈΈλ μ¬μ
- νμμ μν κ΄κ³ : νλ/νμμ κ²°κ³Ό ex. κ³ κ°μ΄ μ£Όλ¬Ένλ€
- κ΄κ³μ νκΈ°
- κ΄κ³λͺ
(Membership)
- μν°ν°κ° κ΄κ³μ μ°Έμ¬νλ νν
- κ΄κ³μμμ → κ΄κ³λμ
- IE νκΈ°λ², Barker νκΈ°λ²μΌλ‘ νκΈ° κ°λ₯
- κ΄κ³ νκΈ°λ²
- κ°μ νν, μλ³/λΉμλ³ κ΄κ³ νν
βμ€νλ₯΄νμ½λ©ν΄λ½ SQLD μκ²©μ¦ μ½μ€ κ°μ μλ£
- κ°μ νν, μλ³/λΉμλ³ κ΄κ³ νν
- κ΄κ³λͺ
(Membership)
- κ΄κ³μ°¨μ
- λ κ°μ μν°ν°κ° κ΄κ³μμ μ°Έμ¬μμ μλ₯Ό νννλ κ²
- 1:1 ex. μ¬μ - νλ ₯μ¬ν
- 1:M ex. κ²μλ¬Ό - λκΈ
- M:N : μλ‘κ° μλ‘μκ² 1:N κ΄κ³λ₯Ό κ°μ§ ex. μ£Όλ¬Έ - μ ν
- λ κ°μ μν°ν°κ° κ΄κ³μμ μ°Έμ¬μμ μλ₯Ό νννλ κ²
- κ΄κ³μ νμ¬μ
- νμ(Mandatory Membership) ex. "κ²μλ¬Ό" - λκΈ
- μ νμ°Έμ¬(Optional Membership) ex. κ²μλ¬Ό - "λκΈ"
βμ€νλ₯΄νμ½λ©ν΄λ½ SQLD μκ²©μ¦ μ½μ€ κ°μ μλ£
4οΈβ£ μλ³μ(Identifier)
νλμ μν°ν°μ ꡬμ±λμ΄ μλ μ¬λ¬ κ°μ μμ± μ€, μν°ν°λ₯Ό λνν μ μλ μ μΌν(unique) μμ±(Attribute)
μ§ν©μ²΄λ₯Ό ꡬλΆν μ μλ ꡬλΆμ
- νΉμ§
- μ μΌμ±
- μ΅μμ±
- λΆλ³μ±
- μ‘΄μ¬μ± : NULLμ νμ©νμ§ μμ
- λΆλ₯β λνμ± μ¬λΆ (=λ€λ₯Έ μν°ν°μ μ°Έμ‘° κ΄κ³ μ°κ²°μ΄ κ°λ₯νκ°?)
- μ£Όμλ³μ: κ°λ₯, Primary Key μν
- 보쑰μλ³μ: λΆκ°λ₯, Unique Index μν
- λΆλ₯β‘ μ€μ€λ‘ μμ± μ¬λΆ
- λ΄λΆμλ³μ : μν°ν° λ΄λΆμμ μμ±λ¨
- μΈλΆμλ³μ : λ€λ₯Έ μν°ν°μμ κ΄κ³λ₯Ό ν΅ν΄ λ°μμ€λ μλ³μ
- λΆλ₯β’ μμ±μ μ
- λ¨μΌμλ³μ : νλμ μμ±μΌλ‘ ꡬμ±λ¨
- 볡ν©μλ³μ : λ μ΄μμ μμ±μΌλ‘ ꡬμ±λ¨
- λΆλ₯β£ λ체 μ¬λΆ
- λ³Έμ§μλ³μ : μ 무μ μν΄ λ§λ€μ΄μ§
- μΈμ‘°μλ³μ : μΈμμ μΌλ‘ λ§λ€μ΄μ§
- μλ³μ κ΄κ³ vs λΉμλ³μ κ΄κ³
[SQLD] μλ³μ κ΄κ³, λΉμλ³μ κ΄κ³
μ λ‘λμ€..
velog.io
'π§± SQL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°μ΄ν° λͺ¨λΈκ³Ό μ κ·ν, λ°μ κ·ν (0) | 2023.12.29 |
---|---|
JOINμ μ ν - INNER, (LEFT/RIGHT/FULL) OUTER, CROSS, SELF (0) | 2023.12.28 |
JOIN μ λ°μ΄ν° μ§ν© λ 벨 (μ§ν© μμ€) + μΆκ° 231228 (0) | 2023.12.27 |
λͺ¨λΈλ§μ μ΄ν΄ (0) | 2023.12.27 |
λ°μ΄ν°, λ°μ΄ν°λ² μ΄μ€, DBMS (1) | 2023.12.26 |