λ°μ΄ν° λͺ¨λΈλ§μ΄λ? νμ€ μΈκ³λ₯Ό DBλ‘ νννκΈ° μν μΆμν
λ°μ΄ν° λͺ¨λΈλ§μ νΉμ§ : μΆμν, λ¨μν, λͺ ν
λ°μ΄ν° λͺ¨λΈλ§ λ¨κ³ : κ°λ - λ Όλ¦¬ - 물리
λ€μ μ€ μν°ν°λ‘ μ¬λ°λ₯΄μ§ μμ κ²μ? - κΈ°μΆ
μν°ν°λ μ 무μ κ΄λ¦¬κ° νμν κ΄μ¬μ¬
μ κ·νμ κΈ°λ³Έ λͺ©ν - μ€λ³΅ λ°μ΄ν° μμ κΈ°, λ¬΄κ²°μ± μ μ§, DB μ μ₯ μ©λ μ€μ΄κΈ°
κ° λͺ¨λΈλ§ λ¨κ³λ³ νΉμ§
- κ°λ μ λͺ¨λΈλ§
- μ μ¬μ κ΄μ μμ κΈ°μ λ°μ΄ν°λ₯Ό λͺ¨λΈλ§
- μΆμν μμ€μ΄ κ°μ₯ λμ μμ€μ λͺ¨λΈλ§
- κ³μΈ΅ν λ°μ΄ν° λͺ¨λΈ, λ€νΈμν¬ λͺ¨λΈ, κ΄κ³νλͺ¨λΈμ κ΄κ³μμ΄ μ 무 μΈ‘λͺ μμ λͺ¨λΈλ§
- λ Όλ¦¬μ λͺ¨λΈλ§
- νΉμ λ°μ΄ν°λ² μ΄μ€ λͺ¨λΈμ μ’ μ
- μλ³μλ₯Ό μ μνκ³ κ΄κ³, μμ± λ±μ λͺ¨λ νν
- μ κ·νλ₯Ό ν΅ν΄ μ¬μ¬μ©μ±μ λμΈλ€
- 물리μ λͺ¨λΈλ§
- ꡬμΆν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν μ ν μ΄λΈ, μΈλ±μ€ λ±μ μμ±νλ λ¨κ³
- μ±λ₯, 보μ, κ°μ©μ± λ±μ κ³ λ €νμ¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμΆ
λ°μ΄ν° λͺ¨λΈλ§ κ΄μ
- λ°μ΄ν° : λΉμ¦λμ€ νλ‘μΈμ€μμ μ¬μ©λλ λ°μ΄ν°λ₯Ό μλ―Έ, ꡬ쑰 λΆμ & μ μ λΆμ
- νλ‘μΈμ€ : λΉμ¦λμ€ νλ‘μΈμ€μμ μννλ μμ , μλλ¦¬μ€ λΆμ & λλ©μΈ λΆμ & λμ λΆμ
- λ°μ΄ν°μ νλ‘μΈμ€ : νλ‘μΈμ€μ λ°μ΄ν° κ° κ΄κ³, CRUD λΆμ
λ°μ΄ν° λͺ¨λΈλ§μ μν ERD
- μμ±λ°©λ²(μν νμ)
1) μν°ν°λ₯Ό λμΆνκ³ κ·Έλ¦°λ€ : μ 무μμ κ΄λ¦¬ν΄μΌ νλ μ§ν©μ λμΆνλ€.
2) μν°ν°λ₯Ό λ°°μΉνλ€ : μν°ν°λ₯Ό λμΆν ν μν°ν°λ₯Ό λ°°μΉνλ€. μ€μν μν°ν°λ₯Ό μΌμͺ½ μλ¨ λ°°μΉ
3) μν°ν° κ° κ΄κ³ μ€μ
4) κ΄κ³ μμ : μν°ν° κ° μ΄λ€ νμλ μ‘΄μ¬κ° μλμ§ νν
5) κ΄κ³ μ°Έμ¬λ νν : κ΄κ³ μ°Έμ¬λλ ν κ°μ μν°ν°μ λ€λ₯Έ μν°ν° κ° μ°Έμ¬ κ΄κ³ μ, "κ³ κ°μ΄ μ¬λ¬ κ°μ κ³μ’λ₯Ό κ°μ€ν μ μλ€"μ κ°μ μλ―Έ νν(1 : 1, 1 : N λ±)
6) κ΄κ³ νμ μ¬λΆ νν
- κ³ λ €μ¬ν
- λ°μ΄ν° λͺ¨λΈμ λ λ¦½μ± : λ 립μ±μ΄ ν보λ λͺ¨λΈμ κ³ κ° μ 무λ³νμ λ₯λμ μΌλ‘ λμν μ μλ€. λ 립μ±μ ν보νκΈ° μν΄ μ€λ³΅ λ°μ΄ν°λ₯Ό μ κ±°ν΄μΌ νλ€. -> μ κ·ν
- κ³ κ° μꡬμ¬ν νν : λ°μ΄ν° λͺ¨λΈλ§μΌλ‘ κ³ κ°κ³Ό λ°μ΄ν° λͺ¨λΈλ¬ κ° μμ¬μν΅μ ν μ μμ΄μΌ νλ―λ‘, κ³ κ° μꡬμ¬νμ κ°κ²°νκ³ λͺ ννκ² ννν΄μΌ νλ€.
- λ°μ΄ν° νμ§ ν보 : λ°μ΄ν°λ² μ΄μ€ κ΅¬μΆ μ λ°μ΄ν° νμ€μ μ μνκ³ νμ€ μ€μμ¨μ κ΄λ¦¬ν΄μΌ νλ€. λ°μ΄ν° νμ€μ ν보ν΄μΌ λ°μ΄ν° νμ§μ ν₯μμν¬ μ μλ€.
3μΈ΅ μ€ν€λ§ : μν λΉμΆ*
μ¬μ©μ, μ€κ³μ, κ°λ°μκ° λ°μ΄ν°λ² μ΄μ€λ₯Ό 보λ κ΄μ μ λ°λΌ λ°μ΄ν°λ² μ΄μ€λ₯Ό κΈ°μ νκ³ μ΄λ€ κ°μ κ΄κ³λ₯Ό μ μν ANSI νμ€μ΄λ©° λ°μ΄ν°λ² μ΄μ€μ λ 립μ±μ ν보νκΈ° μν΄ νμνλ€. λ°μ΄ν°μ λ 립μ±μ ν보νλ©° 볡μ‘λ κ°μ, μ€λ³΅ μ κ±°, μ¬μ©μ μꡬμ¬ν λ³κ²½μ λ°λ₯Έ λμλ ₯ ν₯μ, κ΄λ¦¬ λ° μ μ§λ³΄μ λΉμ© μ κ° λ±μ μ₯μ μ΄ μλ€. κ° κ³μΈ΅μ λ·°(View)λΌκ³ λ νλ€. ~ κ°μ ν μ΄λΈ
- λ λ¦½μ± :
λ Όλ¦¬μ λ λ¦½μ± : κ°λ μ€ν€λ§κ° λ³κ²½λλλΌλ, μΈλΆ μ€ν€λ§λ μν₯μ΄ μλ€.
물리μ λ λ¦½μ± : λ΄λΆ μ€ν€λ§κ° λ³κ²½λλλΌλ, κ°λ μ€ν€λ§λ μν₯μ΄ μλ€.
- 3μΈ΅ μ€ν€λ§μ ꡬ쑰
1) μΈλΆ μ€ν€λ§ : μ¬μ©μ κ΄μ , μ 무μ κ΄λ ¨μ΄ μλ λ°μ΄ν° μ κ·Ό, κ΄λ ¨ λ°μ΄ν°λ² μ΄μ€μ λ·° νμ, μμ© νλ‘κ·Έλ¨μ΄ μ κ·Όνλ λ°μ΄ν°λ² μ΄μ€
2) κ°λ μ€ν€λ§ : μ€κ³μ κ΄μ , μ¬μ©μ μ 체 μ§λ¨μ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰. μ 체 λ°μ΄ν°λ² μ΄μ€ λ΄ κ·μΉκ³Ό ꡬ쑰λ₯Ό νν, ν΅ν© λ°μ΄ν°λ² μ΄μ€ ꡬ쑰
3) λ΄λΆ μ€ν€λ§ : κ°λ°μ κ΄μ , λ°μ΄ν°λ² μ΄μ€μ 물리μ μ μ₯ ꡬ쑰. λ°μ΄ν° μ μ₯ ꡬ쑰, λ μ½λ ꡬ쑰, νλ μ μ, μΈλ±μ€ λ±μ μλ―Έ
μν°ν° ~ μκΈ°
μν°ν°λ μ 무μμ κ΄λ¦¬ν΄μΌ νλ λ°μ΄ν° μ§ν©μ μλ―Ένλ©°, μ μ₯νκ³ κ΄λ¦¬λμ΄μΌ νλ λ°μ΄ν°μ΄λ€. μν°ν°λ κ°λ , μ¬κ±΄, μ₯μ λ±μ λͺ μ¬λ₯Ό μλ―Ένλ€. μν°ν°λ κ³ κ°μ λΉμ¦λμ€ νλ‘μΈμ€μμ κ΄λ¦¬λμ΄μΌ νλ μ 보λ₯Ό μΆμΆν΄μΌ νλ€.
- νΉμ§
- μλ³μ : μν°ν°λ μ μΌν μλ³μ(PK)κ° μμ΄μΌ νλ€
- μΈμ€ν΄μ€ μ§ν© : 2κ° μ΄μμ μΈμ€ν΄μ€κ° μμ΄μΌ νλ€.
- μμ± : μν°ν°λ λ°λμ μμ±μ κ°μ§κ³ μλ€
- κ΄κ³ : λ€λ₯Έ μν°ν°μ μ΅μ ν κ° μ΄μμ κ΄κ³λ₯Ό κ°μ§κ³ μλ€.
- μ 무 : μν°ν°λ μ 무μμ κ΄λ¦¬λμ΄μΌ νλ μ§ν©μ΄λ€.
릴λ μ΄μ κ³Ό ν μ΄λΈμ κ°μ μλ―Έλ‘ λ³Ό μ μλ€. 릴λ μ΄μ μ κΈ°λ³Έν€ λ° μ μ½μ‘°κ±΄μ μ€μ ν κ²½μ° ν μ΄λΈμ΄ λλ€. μΈμ€ν΄μ€λ 릴λ μ΄μ μ΄ κ°μ§ μ μλ κ°, νμ μλ₯Ό μλ―Ένλ€.
μν°ν°μ μ’ λ₯
1) μ ,무ν λΆλ₯ : 물리μ ννμ μ‘΄μ¬ μ¬λΆμ λ°λΌ λΆλ₯ν μ μλ€.
- μ ν μν°ν° : μ 무μμ λμΆλλ©° μ§μμ μΌλ‘ μ¬μ©λλ μν°ν° ~ κ³ κ° λ±
- κ°λ μν°ν° : μ ν μν°ν°λ 물리μ ννκ° μμ§λ§, κ°λ μν°ν°λ 물리μ ννκ° μλ€. ~ κ±°λμ μ’ λͺ© λ±
- μ¬κ±΄ μν°ν° : λΉμ¦λμ€ νλ‘μΈμ€λ₯Ό μ€ννλ©° μμ±λλ μν°ν° ~ μ£Όλ¬Έ, 체결, μμλ£ μ²κ΅¬ λ±
2) λ°μ μμ
- κΈ°λ³Έ μν°ν° : ν€ μν°ν°, λ€λ₯Έ μν°ν°λ‘λΆν° μν₯μ λ°μ§ μκ³ λ 립 μμ±
- μ€μ¬ μν°ν° : κΈ°λ³Έ μν°ν°μ νμ μν°ν° κ° μ€κ°μ μμΉ, κΈ°λ³Έ μν°ν°μμ λ°μν΄ νμ μν°ν°λ₯Ό μμ±ν¨
- νμ μν°ν° : 2κ° μ΄μμ μν°ν°λ‘λΆν° λ°μνλ€.
μμ±
μ 무μ νμν μ λ³΄μΈ μν°ν°κ° κ°μ§λ νλͺ©, λ μ΄μ λΆλ¦¬λμ§ μλ λ¨μλ‘ νμν λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ€. μΈμ€ν΄μ€μ ꡬμ±μμμ΄κ³ μλ―Έμ μΌλ‘ λ μ΄μ λΆν΄λμ§ μλλ€.
- μ 무μμ κ΄λ¦¬λλ μ 보
- νλμ κ°λ§ κ°μ§λ€
- μ£Ό μλ³μμκ² ν¨μμ μΌλ‘ μ’ μ, κΈ°λ³Έν€κ° λ³κ²½λλ©΄ μμ±μ κ°λ λ³κ²½λλ€.
- λ¨μΌ μμ± : νλμ μλ―Έλ‘ κ΅¬μ± ~ μ΄λ¦
- λ³΅ν© μμ± : μ¬λ¬ μλ―Έλ‘ κ΅¬μ± ~ μ£Όμ : μ, κ΅°, λ λ±μΌλ‘ λΆν΄κ°λ₯
- λ€μ€κ° μμ± : μμ±μ μ¬λ¬ κ°μ κ°μ κ°μ§ μ μλ€. μν 리μ€νΈ λ±, λ€μ€ κ° μμ±μ μν°ν°λ‘ λΆν΄λλ€.
- κΈ°λ³Έ μμ± : λΉμ¦λμ€ νλ‘μΈμ€μμ λμΆλλ λ³Έλ μμ±
- μ€κ³ μμ± : λ°μ΄ν° λͺ¨λΈλ§ κ³Όμ μμ λ°μλλ μμ±, μ μΌ κ° λΆμ¬ ~ μν μ½λ, μ§μ μ½λ λ±
- νμ μμ± : λ€λ₯Έ μμ±μ μν΄ λ§λ€μ΄μ§λ μμ± ~ ν©κ³, νκ· λ±
- λλ©μΈ : μμ±μ΄ κ°μ§ μ μλ κ°μ λ²μ ~ μ±λ³μ΄λΌλ μμ±μ λλ©μΈμ λ¨μμ μ¬μμ΄λ€.
κ΄κ³
κ΄κ³λ μν°ν° κ° κ΄λ ¨μ±μ μλ―Ένλ©°, μ‘΄μ¬ κ΄κ³μ νμ κ΄κ³λ‘ λΆλ₯λλ€. μ‘΄μ¬ κ΄κ³λ λ κ°μ μν°ν°κ° μ‘΄μ¬ μ¬λΆμ κ΄κ³κ° μλ κ²μ΄κ³ νμ κ΄κ³λ λ κ°μ μν°ν°κ° μ΄λ€ νμμ μν κ΄λ ¨μ±μ΄ μλ κ²μ΄λ€.
- μ‘΄μ¬ κ΄κ³ : μν°ν° κ° μν ~ κ³ κ°μ΄ μνμ νμ κ°μ μ νλ©΄, κ΄λ¦¬μ μ΄ ν λΉλκ³ κ·Έ ν λΉλ κ΄λ¦¬μ μμ κ³ κ°μ κ΄λ¦¬
- νμ κ΄κ³ : νμ κ΄κ³λ μν°ν° κ° μ΄λ€ νμκ° μλ κ² ~ κ³μ’λ₯Ό μ¬μ©ν΄ μ£Όλ¬Έμ λ°μ£Όνλ κ΄κ³, μ¦κΆ νμ¬κ° κ³μ’λ₯Ό κ°μ€ν ν μ£Όλ¬Έμ λ°μ£Όνλ νμλ‘ κ΄κ³κ° μ±λ¦½
- κ΄κ³ μ°¨μ(μΉ΄λλ리ν°) : κ΄κ³ μ°¨μλ λ κ°μ μν°ν° κ° κ΄κ³μ μ°Έμ¬νλ μλ₯Ό μλ―Έ
1 : 1 κ΄κ³ : μμ 1 : 1 κ΄κ³μ μ νμ 1 : 1 κ΄κ³λ‘ λλλ€.
μμ ~ νλμ μν°ν°μ λ°λμ νλμ μν°ν°κ° κ΄κ³νλ κ²½μ°
μ ν ~ κ΄κ³λλ μν°ν°κ° νλμ΄κ±°λ μλ κ²½μ°
1 : N κ΄κ³ : κ³ κ°μ λ€μμ κ³μ’λ₯Ό κ°μ§ μ μλ€.
M : N κ΄κ³ : λ κ°μ μν°ν°κ° μλ‘ μ¬λ¬ κ°μ μν°ν°λ₯Ό κ°μ§κ³ μλ κ²½μ° ~ RDBμμ M : N κ΄κ³ μ‘°μΈμ μΉ΄ν μμ κ³±μ΄ λ°μνλ―λ‘, 1 : N λλ N : 1λ‘ ν΄μν΄μΌ νλ€.
- νμμ κ΄κ³ : λ°λμ νλλ μ‘΄μ¬ν΄μΌ νλ κ΄κ³ ~ νμ΄ν
- μ νμ κ΄κ³ : μμ μλ μλ κ΄κ³
1) μλ³ κ΄κ³
- κ³ κ°κ³Ό κ³μ’ μν°ν°μμ κ³ κ°μ λ 립μ μΌλ‘ μ‘΄μ¬ν μ μλ κ°ν κ°μ²΄(Strong Entity)
- κ°ν κ°μ²΄λ μ΄λ€ λ€λ₯Έ μν°ν°μκ² μμ‘΄νμ§ μκ³ λ 립μ μΌλ‘ μ‘΄μ¬
- κ°ν κ°μ²΄λ λ€λ₯Έ μν°ν°μ κ΄κ³λ₯Ό κ°μ§ λ λ€λ₯Έ μν°ν°μκ² κΈ°λ³Έν€λ₯Ό 곡μ νλ€.
- κ°ν κ°μ²΄λ μλ³ κ΄κ³λ‘ ννλλ€. μ€μ μΌλ‘ νν
=> μλ³ κ΄κ³λ, κ³ κ° μν°ν°μ κΈ°λ³Έν€μΈ νμ Idλ₯Ό κ³μ’ μν°ν°μ κΈ°λ³Έν€μ νλλ‘ κ³΅μ νλ κ²
- κ°ν κ°μ²΄μ κΈ°λ³Έν€ κ°μ΄ λ³κ²½λλ©΄ μλ³ κ΄κ³ μν°ν°μ ν΄λΉ κ°λ λ³κ²½λλ€. ~ κ³μ’ μν°ν°λ μ½ν κ°μ²΄κ° λλ€.
2) λΉμλ³ κ΄κ³
- λΉμλ³ κ΄κ³λ κ°ν κ°μ²΄μ κΈ°λ³Έν€κ° λ€λ₯Έ μν°ν°μ κΈ°λ³Έν€κ° μλ μΌλ° μΉΌλΌμ νλλ‘ μ¬μ©λλ κ΄κ³
~ κ΄λ¦¬μ μν°ν°μ κΈ°λ³Έν€λ μ§μ μ½λμ΄κ³ κ³ κ° μν°ν°μ λΉμλ³ κ΄κ³λ₯Ό κ°μ§κ³ μλ€. μ§μ μ½λλ κ³ κ° μν°ν°μ κΈ°λ³Έ ν€κ° μλ μΌλ° μΉΌλΌμ μ°Έμ‘°λλ€. λΉμλ³ κ΄κ³λ μ μ μΌλ‘ νννλ€.
μλ³μλ μν°ν°λ₯Ό λνν μ μλ μ μΌμ±μ λ§μ‘±νλ μμ±μ΄λ€. μΌλ°μ μΌλ‘ νμId, κ³μ’λ²νΈ λ±
1) μ£Ό μλ³ν€(PK)
- μ΅μμ± : μ μΌνκ² νλλ§ κ°μ§κ³ μλ€
- λνμ± : μν°ν°λ₯Ό λννλ κ°μ΄λ€
- μ μΌμ± : μν°ν°μ μΈμ€ν΄μ€λ₯Ό μ μΌνκ² μλ³
- λΆλ³μ± : μμ£Ό λ³κ²½λμ§ μμμΌ νλ€.
+ λ°μ΄ν°λ² μ΄μ€ ν€ :
κΈ°λ³Έν€ : νλ³΄ν€ μ€ μν°ν°λ₯Ό λνν μ μλ ν€
νλ³΄ν€ : ν보ν€λ μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±νλ ν€
μνΌν€ : μ μΌμ±μ λ§μ‘±νμ§λ§ μ΅μμ±μ λ§μ‘±νμ§ μλ ν€
λμ²΄ν€ : κΈ°λ³Έν€λ₯Ό μ μ ν νμ μ μ λμ§ μμ ν보ν€
μΈλν€ : νλ νΉμ λ€μμ λ€λ₯Έ ν μ΄λΈμ κΈ°λ³Έν€ νλλ₯Ό κ°λ¦¬ν€λ κ²μΌλ‘ μ°Έμ‘° 무결μ±μ νμΈνκΈ° μν΄ μ¬μ©λλ ν€
~ νμ©λ λ°μ΄ν° κ°λ§ λ°μ΄ν°λ² μ΄μ€μ μ μ₯νκΈ° μν΄ μ¬μ©λλ€.
μλ³μλ λνμ±, μμ± μ¬λΆ, μμ±μ μ, λ체 μ¬λΆλ‘ λΆλ₯λλ€.
μλ³μμ λνμ±
μ£Ό μλ³μλ μν°ν°λ₯Ό λνν μ μλ μλ³μμ΄λ€. 보쑰 μλ³μλ μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±νμ§λ§ λνμ±μ λ§μ‘±νμ§ λͺ»νλ μλ³μ
μμ± μ¬λΆ
λ΄λΆ μλ³μλ μν°ν° λ΄λΆμμ μ€μ€λ‘ μμ±λλ μλ³μ(λΆμμ½λ, μ’ λͺ©μ½λ λ±). μΈλΆ μλ³μλ λ€λ₯Έ μν°ν°μμ κ΄κ³λ‘ λ§λ€μ΄μ§λ μλ³μ(κ³μ’ μν°ν°μμ νμId).
μμ±μ μ
λ¨μΌ μλ³μλ νλμ μμ±μΌλ‘ ꡬμ±, λ³΅ν© μλ³μλ λ κ° μ΄μμ μμ±
λ체 μ¬λΆ
λ³Έμ§ μλ³μλ λΉμ¦λμ€ νλ‘μΈμ€μμ λ§λ€μ΄μ§λ μλ³μ, μΈμ‘° μλ³μλ μΈμμ μΌλ‘ λ§λ€μ΄μ§λ μλ³μ
~ ν보 μλ³μ μ€ μ£Ό μλ³μ λμμ΄ μκ±°λ μ£Ό μλ³μκ° λ무 λ§μ κ²½μ°(μμ λ²νΈλ₯Ό μ¬μ©ν΄ λ§λλ κ²½μ° λ±)
'RDBποΈ > μΈνλ° : SQLD μκ²©μ¦ λ°κΈ°' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
SQL κ°λ°μ (SQLD) μκ²©μ¦ λ°κΈ° Part.3 μΉμ 0. (0) | 2023.08.20 |
---|---|
SQL κ°λ°μ (SQLD) μκ²©μ¦ λ°κΈ° Part.2 μΉμ 2. (0) | 2023.08.03 |
SQL κ°λ°μ (SQLD) μκ²©μ¦ λ°κΈ° Part.2 μΉμ 1. (0) | 2023.07.24 |
SQL κ°λ°μ (SQLD) μκ²©μ¦ λ°κΈ° Part.2 μΉμ 0. (0) | 2023.07.12 |
SQL κ°λ°μ (SQLD) μκ²©μ¦ λ°κΈ° Part 1 μΉμ 2. (0) | 2023.06.29 |