π λ°μ΄ν°λ² μ΄μ€λ 무μμΈκ°?
λ°μ΄ν°λ μ, λ¨μ΄, μ΄λ―Έμ§, μμ λ±μ ννλ‘λ μλ―Έ λ¨μμ΄λ€.
μλ₯Ό λ€μ΄ λ΄κ° μ€νλ²
μ€μ μ¬μ©μλΌκ³ κ°μ ν΄λ³΄μ.
λ°λλΌν¬λ¦Όμ»€νΌ μ ννλ©΄ β‘ νμ΄μ§ μ΄λ ①컀νΌμ μμΈνμ΄μ§
β‘ μ νμ 보 β‘ μλ λ₯΄κΈ° μ λ°μ 보 λ±λ±
= λͺ¨λ λ€ λ°μ΄ν°λΌκ³ λ³Ό μ μλ€.
β Client λ κ³ κ°μ μλ―Ένλ€.
client νλ©΄ β‘ Click β‘ (μν μμΈμ 보 μμ²) web application server : λ°±μλ μλ²μ μμ² μ μ‘ β‘ νμν μ 보μμ² : Datase " λ λ°λλΌν¬λ¦Όμ λν μ λ³΄κ° νμν΄ " β‘ λ€μ databaseμμ severλ‘ νμν μ 보 μλ΅ (μμ, μλ λ₯΄κΈ°, μλ£μ 보)
λ°μ΄ν°λ² μ΄μ€λ μ»΄ν¨ν° μμ€ν μ μ μ₯λ μ 보λ λ°μ΄ν°λ₯Ό λͺ¨λ λͺ¨μ λμ μ§ν©μ μλ―Ένλ©°, λ°μ΄ν°λ€μ database management systemμΌλ‘ μ μ΄ λ° κ΄λ¦¬λ₯Ό νλ€.
μ¦, λ°μ΄ν°κ° μ μ₯λ νλμ¨μ΄λ₯Ό λΆλ₯΄λ λ§μ΄κΈ°λ νλ©΄μ λ°μ΄ν° λ² μ΄μ€λ₯Ό κ΄λ¦¬νλ μμ€ν μ체λ₯Ό ν΅μΉνλ€κ³ λ³Ό μ μλ€.
λ°μ΄ν° λ² μ΄μ€λ νλμ¨μ΄ μ μ₯곡κ°μ μ μ₯μ΄ λλ€. κ·Έλμ, μ΄κ±Έ νΈνκ² κΊΌλ΄μμΌνλλ°, μ»΄ν¨ν° μΈμ΄μΈ 1κ³Ό 0μΌλ‘ νμλ λ°μ΄λλ¦¬λ‘ μ μ₯ λμ΄μλλ°, DBMμμλ μ΄λ₯Ό 보기 νΈνκ² λ°κΎΈμ΄ μ 곡ν΄μ€λ€.
μ’ λ₯λ DBM, mysql , μ€λΌν΄ λ± μ¬λ¬κ°μ§κ° μλ€.
μ°λ¦¬κ° μ΄ν΄ν μ μλ κ²μΌλ‘ λ°κΏμ£Όλ κ²μ DBMSλΌκ³ μκ° νλ©΄ λλ€.
π λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλ μ΄μ ?
λ°μ΄ν°λ₯Ό μ€λκΈ°κ° μ μ₯ λ° λ³΄μ‘΄νκΈ° μν΄μ λ°μ΄ν° λ² μ΄μ€λ₯Ό μ¬μ©νλ€.
μμ μ΄ν리μΌμ΄μ
μμλ λ¬Όλ‘ λ°μ΄ν°λ₯Ό μ κΉ λμ μμλ‘ μ μ₯ν μλ μμ§λ§ μ°λ¦¬κ° μ μ₯νμ§ μμ λ°μ΄ν°λ μ»΄ν¨ν°λ₯Ό λκ³ ν€λ©΄ μ¬λΌμ§λ€.
λ©λͺ¨λ¦¬μ μ‘΄μ¬νλ λ°μ΄ν°λ μ€λ 보쑴 λμ§ μκΈ° λλ¬Έμ, μ΄ν리μΌμ΄μ
μ΄ μ’
λ£λλ©΄ λ©λͺ¨λ¦¬μ μλ λ°μ΄ν°λ€μ λ€μ μ½μ΄λ€μΌ μ μλ€.
λ°λΌμ, νμν μλ£λ₯Ό κ³μ 보쑴νκΈ° μν΄ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©νλ€.
μ€λλκ³ μ°λ €λ©΄ νλλμ€ν¬μ μ μ₯νλ€. λμ νλκ°λ§κ°μ§μ§ μλμ΄μ μꡬμ = λ°μꡬμ BUT λ리λ€κ³ λ³Ό μ μλ€. λ, νλλ λΆμ΄μ§λ©΄ 볡μμ΄ μμ μλλ€λ 무μμ΄ νΉμ§μ κ°μ§κ³ μλ€.π²
λ©λͺ¨λ¦¬μ λν΄μ κ°λ¨ν μ΄ν΄λ³΄λ©΄, λ©λͺ¨λ¦¬λ μμ²λΉ λ₯΄μ§λ§ μ©λμ΄ μλ€.
DBμ μ μ₯νλ©΄ 물리μ μΈ μ μ₯ν μ μκΈ° λλ¬Έμ, κ»λ€μΌλ μ¬λΌμ§μ§ μλλ€.
π κ΄κ³ν λ°μ΄ν° λ² μ΄μ€(RDBMS)
RDBMS(Relational DataBase Management System)μΌλ‘ κ΄κ³ν λ°μ΄ν° λͺ¨λΈμ κΈ°μ΄λ₯Ό λ λ°μ΄ν° λ² μ΄μ€ μμ€ν μ λ§νλ€.
1. λͺ¨λ λ°μ΄ν°λ₯Ό 2μ°¨μ ν μ΄λΈ(Table)λ€λ‘ ννν μ μλ€.
- Column (μ΄) : 컬λΌμ ν μ΄λΈμ κ° νλͺ©(id, μνμ λͺ©, κ°λ , κ°λ΄μΌ)μ μλ―Ένλ€.
- Row (ν) : λ‘μ°λ κ° νλͺ©λ€μ μ€μ κ°μ΄λ€. (μνμ λͺ©1,κ°λ 1,κ°λ΄μΌ1)
ex) κ΅¬κΈ μ€νλ λ μνΈ
νΉμ μνΈμ μνλ©΄ μνμ κ΄λ ¨λμ΄μλ§ λ£κ³ , μ±
μ΄λΌλ λ°μ΄ν°λ μνμ κ°μ΄ λ£μ§ μλλ€.
2. ν μ΄λΈμ κ° ν(Row)μ μκΈ°λ§μ κ³ μ ν€ (Primary Key)λ₯Ό κ°μ§κ³ μλ€.
κ° Rowλ λ€λ₯Έ λ‘μ°μ κ²ΉμΉμ§ μλ, νλμ λ°μ΄ν°λ§ μ ννκ² μ§μΉν μ μλ κ³ μ ν λ²νΈλ₯Ό κ°μ§κ³ μλ€.
Primary Keyλ₯Ό ν΅ν΄ νΉμ λ‘μ°λ₯Ό μ°Ύκ±°λ, μ΄μ©(reference)ν μ μλ€.
RDMμμλ μμ Keyκ° 1234λ₯Ό μμμ μ ν μλ μλ€.
μ¦, PK :κ³ μ ν ν€ β‘ κ²ΉμΉμ§ μμΌλ©°, μλ³μ μν΄ μ νν μ§μΉ ν μ μλ κ³ μ λ²νΈμ΄λ€.
3. κ°κ°μ ν μ΄λΈλ€μ μλ‘ μνΈ κ΄λ ¨μ±μ κ°μ§κ³ μλ‘ μ°κ²°λ μ μλ€.
(λ°μ΄ν° λ² μ΄μ€λ₯Ό ꡬμ±νλ ν μ΄λΈμ μλ°±, μμ² κ°κ° λ μλμλ€.)
"κ΄κ³ν λ°μ΄ν° λ² μ΄μ€" λΌλ μλ―Έλ DBλ₯Ό ꡬμ±νκ³ μλ ν μ΄λΈλ€μ΄ μλ‘ μνΈκ΄λ ¨μ±μ κ°μ§κ³ μ°κ²°λμ΄ μλ€λ μλ―Έμ΄λ€.
κ°κ°μ ν μ΄λΈλ€μ΄ μμ ν λ 립μ μ΄μ§ μκ³ , ν μ΄λΈ Aμ ν μ΄λΈ Bκ° μλ‘ μ°κ΄λ μ¬μ΄λΌλ μλ―Έμ΄λ€.
4. κ΄κ³μ μ ν
- one to one (μΌλμΌ) : μν¬μμ ν
μ΄λΈμ λ€ ν©μΉ μ μλ€.
νλμ Aν μ΄λΈ λ°μ΄ν°λ μ€λ‘μ§ νλμ Bν μ΄λΈ λ°μ΄ν°μ μ°κ²°λλ€.ex)μ£Όλ―Όλ±λ‘λ²νΈ
μλ‘μ λ΄κ° μ°Έμ‘°νκ³ μλ idλ₯Ό κ°μ§κ³ μμ λ
μ¬μ€ 1:1 κ·Έλ₯ ν λ‘μ°μ λ£μ μ μλ μ 보λ€μ΄μ§λ§, λλλ©΄ μ’μ λκ° μλ€. κ°μ λ°μ΄ν°κ° λ§μ λλ!idnetification numbers ν μ΄λΈμ user_id 컬λΌμ user ν μ΄λΈμ id(pk) λ₯Ό μ°Έμ‘°νλ€
- one to many: λλ νΌμ λ©΄μ κ΄μ θ€λΌκ³ μ½κ² μκ°ν μ μλ€.
μλ₯Όλ€μ΄ μ¬λνλͺ μ΄ κ°μμ§ λ§μ΄ ν€μ°λ κ²μ κ°λ₯νμ§λ§ κ·Έ λ°λλ λΆκ°λ₯ νκ² μ²λΌ λ΄ κ°μμ§κ° λ΄ λλ£μ κ°μμ§κ° λ μ μλ..μ΄λ° ννλ one to manyλ‘ ννν μ μλ€. λ, π‘ ν¬λ¦°ν€λ κΌ ε€μͺ½μ μμ΄μΌνλ€.
- many to many : νλμ Aν μ΄λΈ λ°μ΄ν°λ Bν μ΄λΈμ μ¬λ¬ λ°μ΄ν°μ μ°κ²°λ μ μλ€.
ex) ν°μ μΈ λΌκ³ κ°μ νμ λ abc μ’ λ₯μ ν°μ μΈ , abc μ’ λ₯μ 컬λ¬κ° κ°λ₯νλ€κ³ νλ©΄, μμͺ½μΌλ‘ one to manyμΈ κ²μ΄λΌκ³ λ³Ό μ μλ€.
μ€λ³΅μ μ΅μνν΄μΌνλ κ²μ΄ λ°μ΄ν° λ² μ΄μ€μ ν΅μ¬μ΄λΌκ³ λ³Ό μ μλλ°
κ·Έ λ°©λ²μ π‘ nomalization μ κ·νλΌκ³ λ§νλ€.
νμ½λμ ν μ
μ λ°μ΄ν°κ° μ¬λ¬ κ° λ€μ΄κ°λ κ²μ μ΅λν μ§μν΄μΌνλ€.
μλ‘ κ°μ λ€λ₯Έ ν
μ΄λΈμ μ¬λ¬ λ°μ΄ν°μ μ°κ²° λ λμλ λ ν
μ΄λΈμ μν ν
μ΄ν°μ μ‘°ν©μ μ
λ ₯νκΈ° μν μ€κ° ν
μ΄λΈμ΄ νμ±λλ€.
π©βπ« foreign key? μλν€λ₯Ό μλ―Ένλλ°, μ μ μ identification λλ²κ° λꡬμ identificationμΈμ§μ λν μ°Έμ‘° λμμ μλ―Ένλ€. μ¦, μ£ΌμΈμμ μλ €μ£Όλ κ²μ΄ foreign key
μ μ λ°μ΄ν°μ μ€λ³΅λλ μμκ° λ무 λ§μμ κ·Έκ²μ μ°Έμ‘°ν μ μλ foreign keyλ₯Ό κ°μ§ μ μλλ°, λ€μ ν μ΄λΈμμ fkλ λ€λ₯Έμͺ½μμλ pkμ΄λ€.
'DEV' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
React : SPA & SCSS (1) | 2024.10.20 |
---|---|
React (0) | 2024.10.20 |
DOM & EVENT (0) | 2024.10.20 |
Responsive Web : λ°μν μΉμ¬μ΄νΈ (2) | 2024.10.20 |
CSS : Layoutμ λͺ¨λ κ² (1) | 2024.10.20 |