1οΈβ£ λλ λ°μ΄ν°μ λ°λ₯Έ μ±λ₯ λ¬Έμ , μ±λ₯ ν₯μλ²
λλ λ°μ΄ν° μ§μ½ → μ€κ³κ° μ λ λ°μ΄ν° λͺ¨λΈμ΄λΌλ μ±λ₯ μ ν λΆκ°νΌ → ν μ΄λΈ λ¨μ λΆν μ ν΅ν λ¬Έμ ν΄κ²°
β μ±λ₯ μ ν
DBμ λΈλ‘μ λ§μ λ°μ΄ν°κ° μ μ₯λ¨ → λ°μ΄ν° μ‘°ν κ³Όμ μμ λΈλ‘ μ /μΆλ ₯ νμ μ¦κ°
- λ‘μ° μ²΄μ΄λ(Row Chaining) : ν λ°μ΄ν°κ° λ무 κΈΈμ΄ 2κ° μ΄μμ λΈλ‘μ κ±Έμ³ νλμ νμ΄ μ μ₯λ νν
- λ‘μ° λ§μ΄κ·Έλ μ΄μ (Row Migration) : λ°μ΄ν° λΈλ‘μμ λ°μν μμ μ΄ λ€λ₯Έ λΈλ‘μ λΉ κ³΅κ°μ μλͺ» μ μ₯ μ²λ¦¬λ λ°©μ
β λΆν λ°©μ
- μν λΆν : ν(λ‘μ°) β‘οΈ λ¨μλ‘ μμ λΆν
- μμ§ λΆν : μ΄(컬λΌ)β¬οΈ λ¨μλ‘ μμ λΆν
β λΆν μ μ°¨
- DB λͺ¨λΈλ§
- DB ν μ΄λΈμ μ©λ μ°μ
- λ°μ΄ν° μ²λ¦¬ κ³Όμ μμ νΈλμμ μ²λ¦¬ ν¨ν΄ λΆμ
- λ°μ΄ν° μ²λ¦¬κ³Όμ μ΄ μΉΌλΌ, λ‘μ° μ€ μ΄λμ μ§μ€λλμ§ λΆμ ν νν°μ λ
β λΆν κΈ°μ€
- λ²μ λΆν : νΉμ κΈ°κ°μ μ€μ¬μΌλ‘ λΆν ex. λ³΄κ΄ μ£ΌκΈ°μ λ°λ₯Έ ν μ΄λΈ λΆν
- λͺ©λ‘ λΆν : κ° λͺ©λ‘μ νν°μ μ ν λΉ ex. country μ»¬λΌ μ μλ§μ λλΌ → country_asia λ± λλ₯ λ³λ‘ λλκΈ°
- ν΄μ λΆν : ν΄μ ν¨μμ κ°μ λ°λ₯Έ λΆν ex. μ£Όλ¬Έ λ²νΈμ κ°μ unique μ»¬λΌ κΈ°μ€μΌλ‘ λλκΈ°
- μ₯μ
- ν΄μ± μκ³ λ¦¬μ¦μ μν λΆλ¦¬ → κΈ°μ‘΄ 1κ° ν μ΄λΈμλ§ λ°μ΄ν° μ λ ₯νλ κ²λ³΄λ€ λΆνκ° μ€μ΄λ¦
- λ²μ λΆν μ λ¨μ (νΉμ νν°μ μ λ°μ΄ν°κ° μ§μ€λ κ°λ₯μ±)μ 보μ
- λ°μ΄ν° μ²λ¦¬κ° λ§μμ§λ κ²½μ°, κ²½ν©μ λ°©μ§
- λ¨μ
- λ°μ΄ν° λ³΄κ΄ μ£ΌκΈ°μ λ°λΌ μ½κ² μμ νλ κΈ°λ₯ μ 곡 μ΄λ €μ
- μ€κ³μ λ° λ°μ΄ν° μ λ ₯μλ νΉμ λ°μ΄ν°κ° μ΄λ€ νν°μ μ μ μ₯λλμ§ μμΈ‘ μ΄λ €μ
- μ₯μ
- ν©μ± λΆν : μ μΈ κ°μ§ λΆν λ°©μμ μλ λ°©μ
2οΈβ£ μνΌνμ / μλΈνμ λͺ¨λΈ
λ°μ΄ν° νΉμ§μ 곡ν΅μ , μ°¨μ΄μ μΌλ‘ λλμ΄ νννμ¬ μ§κ΄μ λͺ¨λΈλ§μ΄ κ°λ₯ν, μ μ°μ΄λ λ°μ΄ν° λͺ¨λΈλ§ κΈ°λ²
β λͺ¨λΈ λ³ν λ°©λ²
λ°©λ² | μ€λͺ | |
μνΌ νμ | Single Type All in One Type |
μνΌ/μλΈ νμ λͺ¨λΈ → νλμ(Single) ν μ΄λΈλ‘ λ³ν |
μλΈ νμ | Plus Type Super+Sub Type |
μνΌνμ
, μλΈνμ
ν
μ΄λΈλ‘ λ³ν κ° νμ μλ λ³ν μ μνΌ μν°ν°μ μλ κ³΅ν΅ μ»¬λΌμ κ°μ§ |
κ°λ³ νμ | OneToOne Type 1:1 type |
μνΌ/μλΈ νμ
λͺ¨λΈ → μνΌ νμ
, μλΈ νμ
κ°λ³ ν
μ΄λΈλ‘ λ³ν κ° ν μ΄λΈ λͺ¨λ μμ± |
β λͺ¨λΈ λ³ν νμ λΉκ΅
κ΅¬λΆ | μνΌ νμ | μλΈ νμ | κ°λ³ νμ |
νΉμ§ | νλμ ν μ΄λΈ | κ°κ°μ μλΈ νμ ν μ΄λΈ | μνΌ νμ
ν
μ΄λΈ, μλΈ νμ ν μ΄λΈ |
νμ₯μ± | π΄ | π‘ | π’ |
μ‘°μΈ μ±λ₯ | π’ π’ | π΄ | π΄ |
I/O μ±λ₯ | π΄ | π’ | π’ |
κ΄λ¦¬ μ©μ΄μ± | π’ | π‘ | π‘ |
* π’π’μ°μν¨, π’μ’μ, π‘보ν΅, π΄λμ¨
β λͺ¨λΈ λ³νμ μ€μμ±
νΈλμμ μ νμ μΌκ΄μ μΌλ‘ μ²λ¦¬
νΈλμμ μ νμ μλΈνμ μ κ°λ³λ‘ μ²λ¦¬
νΈλμμ μ νμ μνΌνμ κ³Ό μλΈνμ μ 곡ν΅μΌλ‘ μ²λ¦¬
β PK μμμ μ±λ₯
- ν μ΄λΈμ κΈ°λ³Έν€(PK)λ νμ μ‘΄μ¬, PKλ λ¨μΌPK νΉμ 볡ν©PKκ° λ μ μμ
- 볡ν©PKμ κ²½μ°, λ°μ΄ν° μ±λ₯ ν₯μμ μν΄ ν μ΄λΈμ λ°μλλ νΈλμμ μ‘°ν ν¨ν΄μ λ°λΌ μ»¬λΌ μμ μ‘°μ νμ
β FKμ ν μ΄λΈ μΈλ±μ€ κ΅¬μ± κ° κ΄κ³
- λ Όλ¦¬ λ°μ΄ν° λͺ¨λΈ μ κ΄κ³(Relationship)μ μν μΈλν€(FK) μ μ½μ΄ κ±Έλ¦° κ²½μ°, 물리 DBκ° μ΄λ»κ² μ€κ³λμλμ§μ λ°λΌ μ€μ μ μ© μ¬λΆκ° λλ¨
- FK μμ± μ¬λΆμ κ΄κ³μμ΄, λ Όλ¦¬/물리 FK μ μ½ μ‘°κ±΄μ FK 컬λΌμ λν΄ μΈλ±μ€λ₯Ό μμ±νλ κ²μ΄ μ±λ₯ μ μ°μλ₯Ό κ°μ§
3οΈβ£ λΆμ° λ°μ΄ν°λ² μ΄μ€μ μ±λ₯
μ¬λ¬ κ³³μ λΆμ°λμ΄ μλ λ°μ΄ν°λ² μ΄μ€ μμ€ν μ νλμ κ°μ μμ€ν μΌλ‘ μ¬μ©ν μ μλλ‘ ν λ°μ΄ν°λ² μ΄μ€
β νΉμ§
- λΆμ°λ DBλ₯Ό νλμ κ°μ μμ€ν μΌλ‘ μ¬μ©
- λ Όλ¦¬μ μΌλ‘ λμΌν μμ€ν μ΄μ§λ§, λ€νΈμν¬λ₯Ό ν΅ν΄ 물리μ μΌλ‘ λΆμ°λμ΄ μλ λ°μ΄ν°λ€μ λͺ¨μ
- 물리μ μΌλ‘ λΆμ°λμ΄ μμ§λ§, λ Όλ¦¬μ μΌλ‘ νλμ DBλ₯Ό λ€λ£¨λ κ²μ²λΌ μ¬μ©μλ₯Ό ν΅ν©
β ν¬λͺ μ±
μ’ λ₯ | μ€λͺ |
λΆν ν¬λͺ μ± | λ
Όλ¦¬μ κ΄κ³ 1κ° → μ¬λ¬ λ¨νΈμΌλ‘ λΆν → κ° μ¬λ³Έμ΄ μ¬λ¬ μ¬μ΄νΈμ μ μ₯λ¨ μ¬μ©μλ λΆν μ μ₯λ κ² μλλΌ, ν κ³³μ λͺ¨λ μμΉν κ²μ²λΌ λκ»΄μΌ ν¨ |
μμΉ ν¬λͺ μ± | μμΉ μ 보 - System Catalogμ μ μ§ μ¬μ©μλ λ°μ΄ν°μ μμΉλ₯Ό μ κ²½ μΈ νμ X, λ°μ΄ν° μ μ₯μλ₯Ό λͺ μν νμλ X |
μ§μ μ¬μ ν¬λͺ μ± | μ§μ DBMSμ 물리μ DB μ¬μ΄μ mapping 보μ₯ κ° μ§μ μμ€ν μ΄λ¦κ³Ό 무κ΄ν μ΄λ¦ μ¬μ© κ°λ₯ λ°μ΄ν°κ°μ΄λ μ§μμ μλμ§ μ νμ X |
μ€λ³΅ ν¬λͺ μ± | DB κ°μ²΄κ° μ¬λ¬ μ¬μ΄νΈμ μ€λ³΅λμ΄ μλμ§ μ νμ X |
μ₯μ ν¬λͺ μ± | κ΅¬μ± μμμμ λ°μνλ, μ₯μ μ 무κ΄ν νΈλμμ μ μμμ± μ μ§ |
λ³ν ν¬λͺ μ± | λ€μ νΈλμμ
λμ μν μ κ²°κ³Όμ μΌκ΄μ± μ μ§ κ΅¬ν: 1λ¨κ³ Timestamp, 2λ¨κ³ Locking |
β μ£Όμ
λ§λ₯μ΄ μλλ―λ‘, λͺ¨λ νκ²½μμ μ μ©μ X, μ 무 ꡬμ±μ λ°λ₯Έ μν€ν μ² κ³ λ € ν μ μ© εΏ
β μ₯λ¨μ
μ₯μ | λ¨μ |
μ§μ μμΉμ±, μ μ¦μ μμ€ν μ©λ νμ₯ |
μννΈμ¨μ΄ κ°λ° λΉμ© μ¦κ°
|
μ λ’°μ± & κ°μ©μ± |
μ€λ₯μ μ μ¬μ± μ¦λ
|
ν¨μ©μ± & μ΅ν΅μ± |
μ²λ¦¬ λΉμ©μ μ¦λ
|
λΉ λ₯Έ μλ΅ μλ & ν΅μ λΉμ© μ κ° |
μ€κ³ λ° κ΄λ¦¬μ 볡μ‘μ±κ³Ό λΉμ©
|
λ°μ΄ν°μ κ°μ©μ± & μ λ’°λ μ¦κ° |
λΆκ·μΉν μλ΅ μλ
|
μμ€ν κ·λͺ¨μ μ μ ν μ‘°μ | ν΅μ μ μ΄λ €μ |
κ° μ§μ μ¬μ©μμ μꡬ μμ© μ¦λ |
λ°μ΄ν° 무결μ±μ λν μν (μ μ²λ¦¬ νμ)
|
β μ μ© κΈ°λ²
- ν μ΄λΈ μμΉ(Location) λΆμ°
- ν
μ΄λΈ λΆν (Fragmentation) λΆμ°
- μν λΆν : ν(row)μΌλ‘ λΆλ¦¬
- μμ§ λΆν : μ΄(column)λ‘ λΆλ¦¬
- ν
μ΄λΈ 볡μ (Replication) λΆμ°
- λΆλΆ(Segment)볡μ
- κ΄μ(Broadcast)볡μ
- ν
μ΄λΈ μμ½(Summarization) λΆμ°
- λΆμ(Rollup)μμ½ : μνAμ λͺ¨λ νλ§€ μ€μ μ, λͺ¨λ λΆμ° DBκ° κ°μ§κ³ μμ§λ§, λν μΌν μ€μ μ λͺ¨λ λ€λ₯΄λ©°, ν΅ν©νλ DBκ° μ 체 μ°μΆ
- ν΅ν©(Consolidation)μμ½ : κ° μνDBλ§λ€ λ€λ₯Έ μνμ λν λ°μ΄ν°λ₯Ό κ°μ§κ³ , μ΄λ₯Ό ν΅ν© DBκ° λͺ¨μμ μ 체 μ°μΆ
'π§± SQL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
DML λͺ λ Ήμ΄ μ 리 (0) | 2024.01.02 |
---|---|
SQL μΈμ΄ λΆλ₯ - DDL, DML, DCL, TCL (0) | 2024.01.01 |
GROUP BYμ μ§κ³ν¨μμ 쑰건문μ μ΄μ©ν νΌλ΄ν (Pivoting) (1) | 2023.12.30 |
MySQL Datetime vs Timestamp (0) | 2023.12.29 |
λ°μ΄ν° λͺ¨λΈκ³Ό μ κ·ν, λ°μ κ·ν (0) | 2023.12.29 |