
κ°ν μν°ν°μ μ½ν μν°ν°
κ°ν μν°ν° (Strong Entity)
- λ 립μ μΈ μ‘΄μ¬κ° κ°λ₯νλ€.
- μμ λ§μ κ³ μ ν μ£Όμλ³μλ₯Ό κ°μ§λ€.
- λ€λ₯Έ μν°ν°μ μ‘΄μ¬μ μμ‘΄νμ§ μλλ€.
- μμ: μ¬μ, κ³ κ°, μν, λΆμ λ±κ³Ό κ°μ΄ λ 립μ μΌλ‘ κ΄λ¦¬λλ μν°ν°
μ½ν μν°ν° (Weak Entity)
- μμ μν°ν°κ° μμ΄μΌλ§ μμ μ μ‘΄μ¬κ° μλ―Έλ₯Ό κ°μ§λ€.
- μμ μν°ν°μ μ£Όμλ³μλ₯Ό λΉλ €μ μμ μ μμ±κ³Ό κ²°ν©νμ¬ λ³΅ν©ν€λ₯Ό ꡬμ±νλ€.
- μμ: λΆμκ°μ‘±
μ€λ¬΄ μ΄μΌκΈ°: μλ³ κ΄κ³, λΉμλ³ κ΄κ³
μ ν΅μ μΈ μ€κ³ λ°©μμμ μ½ν μν°ν°λ μμ μν°ν°μ μ£Όμλ³μλ₯Ό λΉλ €μ μμ μ μμ±(λΆλΆν€)κ³Ό κ²°ν©ν΄μ λ³΅ν© ν€λ₯Ό λ§λλ λ°©μμ μ¬μ©νλ€.
μ΄κ²μ λ Όλ¦¬μ λͺ¨λΈλ§ λ¨κ³μμ μλ³ κ΄κ³λΌ νλ©° μ΄λ κ² λλ©΄ μμμ λ§λ€ λ λ°λμ λΆλͺ¨μ PK κ°μ μ λ ₯ν΄μΌ νλ€.
μ΅κ·Όμλ λ μ μ°νκ³ μ€μ©μ μΈ λΉμλ³ κ΄κ³λΌλ λ°©λ²μ μ£Όλ‘ μ¬μ©νλ€.
ꡬ쑰μ κ΄κ³ ννμ μν νΉμ μν°ν°
μν°ν° κ°μ κ΄κ³κ° λ¨μν μ°κ²°μ μ λμ΄ κ·Έ μμ²΄κ° νλμ λ
립λ μλ―Έλ₯Ό κ°λ κ°λ
μ΄ μλ€.
μ¬κ±΄(Event)μ΄λ λΆλ₯(Classification)μ κ°μ 볡μ‘ν κ΄κ³λ₯Ό ν¨κ³Όμ μΌλ‘ λͺ¨λΈμ λ°μνκΈ° μν΄ νΉμ μν°ν°λ₯Ό μ¬μ©νλ€.
μ°κ΄ μν°ν° (Associative Entity)
- λ κ° μ΄μμ μν°ν° κ°μ λ°μνλ νΉμ μ¬κ±΄, νμ, κ³μ½ λ±μ νννκΈ° μν΄ λμΆλλ μν°ν°λ€.
- λ κ° μ΄μμ λ€λ₯Έ μν°ν° κ°μ μ‘΄μ¬νλ λ€λλ€(M:N) κ΄κ³λ₯Ό ν΄μνλ€.
- μ€κ° μν°ν°λ₯Ό ν΅ν΄ νλμ λ€λλ€ κ΄κ³λ₯Ό μΌλλ€(1:N), λ€λμΌ(N:1) κ΄κ³λ‘ λ³ννλ€.
μνΌνμ /μλΈνμ μν°ν° (Supertype/Subtype Entity)
- λ Όλ¦¬μ μΌλ‘ λμΌν κ°λ κ·Έλ£Ήμ μνμ§λ§ μΌλΆ μμ±μ΄λ κ΄κ³μμ μ°¨μ΄κ° μλ μν°ν°λ€μ ν¨κ³Όμ μΌλ‘ νννκΈ° μν κΈ°λ²μ΄λ€.
- κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μμ(Inheritance) κ°λ κ³Ό λ§€μ° μ μ¬νλ€.
μνΌνμ (Supertype)
- κ·Έλ£Ή λ΄ λͺ¨λ μν°ν°(μλΈνμ )λ€μ΄ 곡ν΅μ μΌλ‘ κ°μ§λ μμ±κ³Ό κ΄κ³λ₯Ό μ μνλ μμ μν°ν°λ€.
μλΈνμ (Subtype)
- μνΌνμ μΌλ‘λΆν° κ³΅ν΅ μμ±μ μμλ°κ³ , μμ λ§μ κ³ μ ν μμ±μ΄λ κ΄κ³λ₯Ό μΆκ°λ‘ κ°μ§λ νμ μν°ν°λ€.
μΉ΄λλ리ν°μ μ°Έμ¬λ
μΉ΄λλλ¦¬ν° (Cardinality)
μΉ΄λλ리ν°λ μν°ν° μΈμ€ν΄μ€(ν) νλκ° λ€λ₯Έ μν°ν°μ μΈμ€ν΄μ€μ λ§Ίμ μ μλ μ΅λ μ«μλ₯Ό κΈ°μ€μΌλ‘ νκΈ°νλ€.
μΉ΄λλλ¦¬ν° κ΄κ³μ 4κ°μ§ μ’
λ₯
- μΌλμΌ(1:1)
- μΌλλ€(1:N)
- λ€λμΌ(N:1)
- λ€λλ€(M:N)
μ°Έμ¬λ (Optionality)
μ°Έμ¬λλ ν μν°ν°μ μΈμ€ν΄μ€κ° κ΄κ³μ λ°λμ μ°Έμ¬ν΄μΌ νλμ§(νμ), μλλ©΄ μ°Έμ¬νμ§ μμ μλ μλμ§(μ ν)λ₯Ό κ²°μ νλ€.
μλ₯Ό λ€μ΄ νμκ³Ό μ£Όλ¬Έμ κ΄κ³λ₯Ό 보면 λ€μκ³Ό κ°λ€.
- νμ β μ£Όλ¬Έ κ΄κ³λ μ ν(Optional): νμμ΄ μ£Όλ¬Έμ νμ§ μμ μλ μλ€.
- μ£Όλ¬Έ β νμ κ΄κ³λ νμ(Mandatory): μ£Όλ¬Έμ λ°λμ νμκ³Ό μ°κ²°λμ΄μΌ νλ€.
κ΄κ³μ ννκ³Ό μΈλ ν€
- κ°λ μ λͺ¨λΈλ§ λ¨κ³μμλ μν°ν° κ°μ κ΄κ³λ₯Ό κ΄κ³μ (Relationship)μΌλ‘ νννλ€.
- μΈλ ν€ κ°μ νΉμ κΈ°μ μ ꡬνμ μμλ ν¬ν¨νμ§ μλ κ²μ΄ μμΉμ΄λ€.
- μ€λ¬΄μμλ κ°λ μ λͺ¨λΈλ§κ³Ό λ Όλ¦¬μ λͺ¨λΈλ§μ λ°λ‘ ꡬλΆνμ§ μκ³ ν¨κ» μ§ννλ κ²½μ°κ° λ§λ€.
ERD (Entity-Relationship Diagram)
ERDλ 볡μ‘ν λ°μ΄ν° ꡬ쑰λ₯Ό μκ°μ μΌλ‘ ννν΄μ κ°λ°μ, κΈ°νμ λ± λͺ¨λ κ΄κ³μκ°
μμ€ν
μ μ²μ¬μ§μ νλμ νμ
νκ³ μν΅ν μ μκ² λμμ£Όλ μ€κ³ λꡬλ€.
νΌν° μ²Έ νκΈ°λ²

- μ€λ¬΄μμ μ¬μ©νμ§λ μλλ€.
- μν°ν°λ μ¬κ°ν, κ΄κ³λ λ§λ¦λͺ¨, μμ±μ νμμΌλ‘ νννλ μ ν΅μ μΈ λ°©μμ΄λ€.
κΉλ§κ·λ°(Crow's Foot) νκΈ°λ²

- νμ¬ μ€λ¬΄μμ κ°μ₯ λ리 μ¬μ©λλ μ¬μ€μμ νμ€μ΄λ€.
- μ μ μ λμ κΈ°νΈλ₯Ό λΆμ¬ μΉ΄λλ리ν°μ μ°Έμ¬λλ₯Ό λμμ νννλ€.
μ°κ΄ μν°ν° - λ€λλ€ κ΄κ³ ν΄κ²°
M:N κ΄κ³λ 물리μ μΌλ‘ ꡬνμ΄ λΆκ°λ₯νλ€.
μ΄λ₯Ό ν΄κ²°νλ λ°©λ²μ μ°κ΄ μν°ν°(Associative Entity) λ₯Ό μ¬μ©νλ κ²μ΄λ€.
λ μν°ν°μ κ΄κ³λ₯Ό λνλ΄λ μλ‘μ΄ μν°ν°λ₯Ό λ§λ€μ΄ κΈ°μ‘΄μ M:N κ΄κ³λ₯Ό λ κ°μ 1:N, N:1 κ΄κ³λ‘ νμ΄λ΄λ λ°©μμ΄λ€.
μ°κ΄ μν°ν°λ λ
Όλ¦¬/물리μ λͺ¨λΈλ§ λ¨κ³μμλ μ°κ²° ν
μ΄λΈ(Link Table), μ‘°μΈ ν
μ΄λΈ(Join Table), λ§€ν ν
μ΄λΈ(Mapping Table) λ±μΌλ‘ λΆλ¦°λ€.
λ€λλ€ κ΄κ³λ₯Ό ν΄μνκ³ κ΄κ³μ λν μΆκ° λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν΄ λ κ° μ΄μμ ν
μ΄λΈμ μ°κ²°νλ μ€κ° ν
μ΄λΈμ μλ―Ένλ€.
μ€λ¬΄ μ΄μΌκΈ°: μ°κ΄ μν°ν° μΆμ² μ΄λ¦ λ° νΉμ§
1. μ°κ²° κ°μ‘°
- μ£Όλ¬Έ μν(order_product):
'μ£Όλ¬Έ'κ³Ό 'μν' ν μ΄λΈμ μ§μ μ μΌλ‘ μ°κ²°νλ€λ κ΄κ³λ₯Ό μ΄λ¦μ λͺ μμ μΌλ‘ 보μ¬μ€λ€.
λ§€μ° μ§κ΄μ μ΄κ³ λ¨μνμ¬ κ΄κ³λ₯Ό νμ νκΈ° μ½λ€λ μ₯μ μ΄ μλ€.
2. μλ―Έ μλ μ΄λ¦
- μ£Όλ¬Έ νλͺ©(order_item):
'μ£Όλ¬Έ'μ ν¬ν¨λ 'νλͺ©'μ΄λΌλ μλ―Έλ₯Ό κ°μ₯ λͺ ννκ² μ λ¬νλ€.
μ€μ μΌνλͺ° λΉμ¦λμ€ λ‘μ§(μ: μ₯λ°κ΅¬λ νλͺ©, μ£Όλ¬Έ νλͺ©)κ³Ό μ©μ΄κ° μΌμΉνμ¬ μ΄ν΄νκΈ° μ½λ€.
- μ£Όλ¬Έ μμΈ(order_detail):
'μ£Όλ¬Έμ μμΈ λ΄μ'μ΄λΌλ μλ―Έλ‘, order_itemκ³Ό κ±°μ λμΌν μλ―Έλ‘ λ리 μ¬μ©λλ€.
μ£Όλ¬Έμ μν κ° μν μ 보λ₯Ό μμΈν λνλΈλ€λ μ μ κ°μ‘°νλ€.
μ©μ΄ μ¬μ
μ©μ΄ μ¬μ μ νλ‘μ νΈμ μ°Έμ¬νλ λͺ¨λ ꡬμ±μμ κ³΅ν΅ μΈμ΄(Ubiquitous Language)λ₯Ό λ§λλ ν΅μ¬μ μΈ κ³Όμ μ΄λ€.
μ©μ΄ μ¬μ μμ± μμΉ
- μ©μ΄λ₯Ό μν λ³λ‘ λΆλ₯νκ³ , μ½μ΄μ μ 체 μλ¬Έλͺ μ λͺ νν ꡬλΆνλ©°, μ€μ μμ€ν μμ μ΄λ»κ² μ¬μ©λλμ§ κ΅¬μ²΄μ μΈ μμλ₯Ό ν¨κ» κΈ°λ‘νλ€.
- λ¨μΌμ΄(Single Word) μ€μ¬μΌλ‘ μ©μ΄λ₯Ό μ¬μ©νλ€.
- κ°μ₯ μμ λ¨μμ λ¨μΌμ΄λ₯Ό μ€μ¬μΌλ‘ μ¬μ μ ꡬμ±νλ€.
- νμid =
member
+id
=member_id
- μν κ°κ²© =
product
+price
=product_price
- μ μ μλ λ¨μΌμ΄ μ¬μ μ 무νν μ©μ΄λ₯Ό μΌκ΄λκ² λ§λ€μ΄λ΄λ κ°λ ₯ν κΈ°λ°μ΄ λλ€.
- μΆμ½μ΄λ λ°λμ μ©μ΄μ¬μ μ λ±λ‘νκ³ λͺ¨λμ λμνμ μ¬μ©νλ€.
- νλ‘μ νΈκ° μ§νλλ©΄μ μλ‘μ΄ μ©μ΄κ° μΆκ°λκ³ μλ‘μ΄ λΉμ¦λμ€ μ©μ΄κ° μ겨λ λλ§λ€ μ§μμ μΌλ‘ μ λ°μ΄νΈλμ΄μΌ νλ€.
μ 체λ₯Ό 보λ κ°λ°μμ μ κ·Όλ²
νλ₯ν κ°λ°μλ λ¨μν μ£Όμ΄μ§ κΈ°λ₯μ 'μ΄λ»κ²' ꡬνν μ§μλ§ μ§μ€νμ§ μλλ€.
κ·Έλ³΄λ€ λ¨Όμ μ΄ κΈ°λ₯μ 'μ' λ§λ€μ΄μΌ νλμ§ μ§λ¬Έν΄μΌ νλ€.
λ¨μν κΈ°μ ꡬνμλ§ λ§€λͺ°λλ κ²μ΄ μλλΌ λΉμ¦λμ€μ μ±κ³΅μ΄λΌλ λ ν° κ·Έλ¦Όμ 보λ κ²μ μ§ν₯ν΄μΌ νλ€.
μ€μ κ°λ μ λͺ¨λΈλ§
1λ¨κ³: ν΅μ¬ μꡬμ¬ν λ€μ μ μνκΈ° (MVP)
- MVP(Minimum Viable Product, μ΅μ κΈ°λ₯ μ ν)λ₯Ό μ μνλ κ³Όμ μ΄λ€.
- μμ₯μμ μ΄μλ¨κΈ° μν΄ νμν μ΅μνμ κΈ°λ₯μ μ μνλ κ²μ΄λ€.
2λ¨κ³: ν΅μ¬ μν°ν° λμΆ
- λ¨μν΄μ§ μꡬμ¬νμμ λ°μ΄ν°μ λΌλ, μν°ν°λ₯Ό μ°Ύμλ΄λ λ¨κ³λ€.
- μμ: νμ, μν, μ£Όλ¬Έ, κ²°μ , λ°°μ‘
3λ¨κ³: μμ± μ μ λ° κ΄κ³ μ€μ
- κ° μν°ν°μ μΈλΆ μ 보(μμ±)λ₯Ό μ μνκ³ μν°ν° κ°μ κ΄κ³λ₯Ό μ€μ νλ λ¨κ³λ€.
- μμ: product ν μ΄λΈμ μμ± - id, product_name, price, stock λ±
4λ¨κ³: M:N κ΄κ³ ν΄μμ 'μ°κ΄ μν°ν°'
- λ μν°ν°μ κ΄κ³ μμμλ§ μλ―Έλ₯Ό κ°μ§λ μμ±μ΄ μλκ°λ₯Ό νλ¨νλ€.
μ£Όλ¬Έ
κ³Ό μ£Όλ¬Έ νλͺ©
μ κ΄κ³ (1:N)
- νλμ
μ£Όλ¬Έ
μ μ¬λ¬ κ°μμ£Όλ¬Έ νλͺ©
μ κ°μ§ μ μλ€. - νλμ
μ£Όλ¬Έ νλͺ©
μ λ°λμ νλμμ£Όλ¬Έ
μ μνλ€.
μν
κ³Ό μ£Όλ¬Έ νλͺ©
μ κ΄κ³ (1:N)
- νλμ
μν
μ μ¬λ¬μ£Όλ¬Έ νλͺ©
μ ν¬ν¨λ μ μλ€. - νλμ
μ£Όλ¬Έ νλͺ©
μ λ°λμ νλμμν
μ κ°μ§λ€.
'Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
κ°λ μ λͺ¨λΈλ§ (1) - μꡬμ¬ν λΆμκ³Ό μν°ν°μ μ΄ν΄ (0) | 2025.10.07 |
---|---|
DB μ€κ³μ μ€μμ±κ³Ό 3λ¨κ³ μ€κ³ νλ‘μΈμ€ (0) | 2025.10.07 |