λ°μ΄ν°λ² μ΄μ€(DB)λ
λ°μ΄ν°λ€μ λͺ¨μμ μΌμ»«λ λ§λ‘ λκ·λͺ¨μ μ 보λ₯Ό κ΄λ¦¬νλλ‘ μ€κ³λλ€. μ¬κΈ°μ λ§νλ λ°μ΄ν° κ΄λ¦¬λ μ 보 μ μ₯ ꡬ쑰λ₯Ό μ μνλ μμ κ³Ό μ μ₯λ μ 보λ₯Ό μ‘°μνκΈ° μν κΈ°λ²μ΄ λͺ¨λ ν¬ν¨λλ μλ―Έμ΄λ€.
*μ΄κΈ°μ λ°μ΄ν°λ² μ΄μ€ μ ν리μΌμ΄μ μ νμΌ μμ€ν μμ μ§μ ꡬμΆλμλ€.
νμΌ μμ€ν
νμΌ μμ€ν μ νμΌμ μ μ₯ μ₯μΉμ μ μ₯νκ³ μ¬μ©νκΈ° μν μ΄μ체μ μμ μΌμ’ μ κ·μΉμ΄λ 체κ³λ₯Ό λ§νλ€. νμΌ μμ€ν μ μ μ₯λ μ 보λ₯Ό μ΄μ©νλ €λ©΄ μꡬμ¬νμ λ§λ λ€μν μμ© νλ‘κ·Έλ¨μ΄ νμνλ€. μλ₯Ό λ€μ΄ νμΌ μμ€ν μ λν μ‘°μ§κ³Ό κ΄λ ¨λ μ 보(κ΅μ, νμ, μμ λ±κ³Ό κ΄λ ¨λ)λ€μ μ μ₯ν κ²½μ°λ₯Ό μκ°ν΄λ³΄μ. μ΄ λν μ‘°μ§μ μ 보λ€μ νμ©νλ €λ©΄ νμν μꡬμ¬νμ λ§λ μμ© νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€.
π¦ μλ‘μ΄ νμμ λν μ 보λ₯Ό μΆκ°ν΄μΌ νλ€? → ν΄λΉ μν μ μννλ νλ‘κ·Έλ¨ μμ±
π¦ νΉμ μμ
μ μκ°ν νμλ€μ λ±λ‘ν΄μΌνλ€? → ν΄λΉ μν μ μννλ νλ‘κ·Έλ¨ μμ±
π¦ μκ°ν νμλ€μ μ±μ κ³μ° ν νμ μ λΆμ¬ν΄μΌνλ€? → ν΄λΉ μν μ μννλ νλ‘κ·Έλ¨ μμ±
...
μμ μμμ²λΌ DBMSκ° λ±μ₯νκΈ° μ κΉμ§λ μ΄μ체μ μ μν΄ μ§μλλ νμΌ μμ€ν μ μ 보λ₯Ό μ μ₯νκ³ μ 보λ₯Ό κ²μνκ±°λ μλ‘ μ λ ₯ν λ μμ© νλ‘κ·Έλ¨μ μμ±ν΄ κ΄λ¦¬νλ€. νμ§λ§ νμΌ μμ€ν μ μ 보λ₯Ό μ μ₯νκ³ κ΄λ¦¬ν λ λ°μλλ λ¨μ μ μλμ κ°λ€.
π¨ λ°μ΄ν° μ€λ³΅ λ° λΉμΌκ΄μ±
λ°μ΄ν°κ° μ¬λ¬ νμΌμ μ μ₯λκΈ° μ¬μ°λ©°, λ€μν νμΌ νμμΌλ‘ μ μ₯λ μ μλ€. λν λμΌν λ°μ΄ν°μ μ¬λ¬ μ¬λ³Έμ΄ μλ‘ λ€λ₯Έ κ°μ 보μ νκ³ μλ μν(λΉμΌκ΄μ±)κ° λ μ μλ€. μ΄ λ°μ΄ν°λ€μ κ΄λ¦¬νλ μμ© νλ‘κ·Έλ¨ μμ μ¬λ¬ μΈμ΄λ€λ‘ μμ±λ μ μλ€.
ex) ν νμμ΄ μ»΄κ³΅κ³Ό λμμΈμ 볡μ μ 곡νλ€λ©΄, ν΄λΉ νμμ μ λ³΄κ° μ»΄κ³΅ νμΌκ³Ό λμμΈ νμΌμ λ λ€ μ‘΄μ¬νλ€. (λ°μ΄ν° μ€λ³΅)
ex) νμμ μ£Όμκ° λ°λμλλ°, 컴곡 νμΌμλ§ μ
λ°μ΄νΈλκ³ λμμΈ νμΌμλ λ°μνμ§ μλ κ²½μ°(λΉμΌκ΄μ±)
π¨ λ°μ΄ν° μ κ·Όμ μ΄λ €μ
μμμ μμλ₯Ό λ κ²μ²λΌ μλ‘μ΄ μꡬμ¬νμ΄ μκΈ°λ©΄ ν΄λΉ μꡬμ¬νμ μν μλ‘μ΄ μμ©νλ‘κ·Έλ¨μ μμ±ν΄μΌ νλ€. μ¦, νμν λ°μ΄ν°λ₯Ό νΈλ¦¬νκ³ ν¨μ¨μ μΌλ‘ κ²μνκΈ° νλ¦
ex) “νμλ€ μ€ μ±λΆκ΅¬μ μ¬λ νμλ€ λͺ
λ¨λ§ λ½μμ£ΌμΈμ” λΌλ μꡬμ¬νμ΄ λ€μ΄μ€λ©΄, ν΄λΉ κΈ°λ₯μ νλ νλ‘κ·Έλ¨μ μλ‘ μμ±ν΄μΌ νλ€.
π¨ λ°μ΄ν° λΆλ¦¬(κ³ λ¦½)
μλ‘μ΄ μꡬ μ¬νμ΄ λ€μ΄μμ λ, κ·Έλλ μμ©νλ‘κ·Έλ¨μ λ§λ€ μ μλ€λ©΄ νμν λ°μ΄ν°μ κ²μμ κ°λ₯ν κ²μ΄λ€. νμ§λ§ λ§μ½ λ°μ΄ν°κ° μ¬λ¬ νμΌμ λλμ΄ μ μ₯λμ΄μκ³ , νμΌ νμκΉμ§ λ€λ₯΄λ€λ©΄ ν΄λΉ λ°μ΄ν°λ€μ κ²μνκΈ° μν νλ‘κ·Έλ¨μ μμ±νλ κ²μ‘°μ°¨ μ΄λ ΅λ€.
π¨ λ¬΄κ²°μ± λ¬Έμ
λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ λ°μ΄ν°λ€μ λ¬΄κ²°μ± μ μ½μ‘°κ±΄μ μ§μΌμΌ νλ€. νμ§λ§ νμΌ μμ€ν
μ μ μ₯λ λ°μ΄ν°λ€μ νμΌ μμ²΄κ° μλλΌ κ·Έ λ°μ΄ν°λ€μ κ΄λ¦¬νλ μμ© νλ‘κ·Έλ¨μ μΌλΆ μ½λκ° λ¬΄κ²°μ± μ μ½μ‘°κ±΄μ λ§μ‘±νκ² νλ€. μ΄ κ²½μ° λ§μ½ μλ‘μ΄ μ μ½μ λνκ±°λ κΈ°μ‘΄ μ μ½μ μμ μ΄ νμνλ©΄ νλ‘κ·Έλ¨μ μ½λλ₯Ό μμ ν΄μΌ νλ€. (λ§μ½ μλ‘μ΄ μ μ½ μ‘°κ±΄μ΄ λ€λ₯Έ νμΌμ λ°μ΄ν°λ€μ ν¬ν¨νλ λ΄μ©μ΄λΌλ©΄ νΌκ³€…)
π‘ 무결μ±(η‘ηΌΊζ§) κ²°ν¨μ΄ μλ μν
λ°μ΄ν° 무결μ±μ λ°μ΄ν°μ κ²°ν¨μ΄ μλ μνλ‘ λ°μ΄ν°μ μ νμ±, μΌκ΄μ±μ΄ μ μ§λλ κ²μ μλ―Ένλ€.
μ νμ± λ°μ΄ν°μ μ€λ³΅μ΄λ λλ½μ΄ μλ μν
μΌκ΄μ± μμΈκ³Ό κ²°κ³Όμ μλ―Έκ° μ°μμ μΌλ‘ 보μ₯λμ΄ λ³νμ§ μλ μν
π‘ λ¬΄κ²°μ± μ μ½μ‘°κ±΄
λ¬΄κ²°μ± μ μ½μ‘°κ±΄μ΄λ λ°μ΄ν°μ 무결μ±(DBμ μ νμ±, μΌκ΄μ±)μ 보μ₯νκΈ° μν΄ μ μ₯, μμ , μμ λ±μ νμλ₯Ό μ μ½νκΈ° μν 쑰건μ΄λ€.
π¨ μμμ± λ¬Έμ
λ€λ₯Έ μ₯μΉλ€κ³Ό λ§μ°¬κ°μ§λ‘ μ»΄ν¨ν° μμ€ν
λν κ³ μ₯ λ κ°λ₯μ±μ΄ μλ€. μ΄ κ²½μ° λ°μ΄ν°λ₯Ό κ³ μ₯ μ μ μΌκ΄μ± μλ μνλ‘ μ μ§μμΌμΌ νλ€. μ¦, λ°μ΄ν°λ² μ΄μ€μ μλ μ 보λ€μ μΌκ΄μ±μ μν΄ λ°μ΄ν°λ₯Ό λ€λ£¨λ μμ
μ μμμ±μ 보μ₯ν΄μΌ νμ§λ§ κΈ°μ‘΄μ νμΌ μμ€ν
μμλ μ΄λ ΅λ€.
π‘ μμμ±
μμμ±μ μ΄λ€ κ²μ΄ λ μ΄μ μͺΌκ°μ§ μ μλ μ±μ§μ λ§νλ€. λ°μ΄ν°λ² μ΄μ€λ₯Ό λ€λ£¨λ μμ μ μμμ±μ 보μ₯ν΄μΌ νλλ°, μμ μ΄ μμ νκ² μ§νλμ΄ μ’ λ£λκ±°λ κ·Έλ μ§ λͺ»ν κ²½μ° μ€νμ νμ§ μμμΌ νλ€. μ¦, μ§νλλ€κ° λΉμ μμ μΌλ‘ μ’ λ£λμ΄ μ€κ°μ λ©μΆμ§ μμμΌ νλ€.
λ°μ΄ν°λ² μ΄μ€ μμ€ν λͺ©μ
νμΌ μμ€ν μ λ¨μ 극볡 μν΄ λ±μ₯νλ€. μμμ μ€λͺ ν νμΌ μμ€ν μμμ λ¨μ λ€μ λͺ¨λ 보μν μ μμΌλ©° λ°μ΄ν°λ² μ΄μ€μ μ 보λ₯Ό μ μ₯νκ³ μ΄λ₯Ό κ²μνκΈ° μν νΈλ¦¬νκ³ ν¨μ¨μ μΈ νκ²½μ μ 곡νλ€.
λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν (DBMS)
λ°μ΄ν°λ² μ΄μ€ λ΄μ λ°μ΄ν°μ μ κ·Όνμ¬ κ΄λ¦¬ν μ μλλ‘ νλ μννΈμ¨μ΄λ₯Ό λ§νλ€.
λ°μ΄ν°μ λ
립μ±
DBμ μ¬μ΄μ¦, λ°μ΄ν° νμΌ λ±μ λ리λλΌλ κ΄λ ¨λ μμ© νλ‘κ·Έλ¨μ μμ ν νμ μμ(물리μ λ
립μ±)
λ€μν μμ© νλ‘κ·Έλ¨μ λ
Όλ¦¬μ μꡬλ₯Ό λ§μ‘±μν¬ μ μμ(λ
Όλ¦¬μ λ
립μ±)
λ°μ΄ν°μ 무결μ±
λ°μ΄ν°μ μ ν¨μ± κ²μ¬λ₯Ό ν΅ν΄ μλͺ»λ λ°μ΄ν°κ° λ°μνλ κ²μ λ°©μ§ν μ μμ
λ°μ΄ν°μ 보μμ±
μΈκ°λ μ¬μ©μλ€λ§ μμμ μ κ·Όν μ μλλ‘ μ κ·Ό κΆν μ€μ κ°λ₯
λ°μ΄ν°μ μΌκ΄μ±
λ
Όλ¦¬μ μΈ κ΅¬μ‘°λ‘ λ°μ΄ν°λ₯Ό κ΄λ¦¬νμ¬, μΌλΆ λ°μ΄ν°κ° λ³κ²½λμμ λ λ°μν μ μλ λ°μ΄ν°μ λΆμΌμΉμ±μ λ°°μ
λ°μ΄ν° μ€λ³΅ μ΅μν
λ°μ΄ν°λ₯Ό ν΅ν©νμ¬ κ΄λ¦¬νκΈ° λλ¬Έμ λ°μ΄ν°μ μ€λ³΅ ν΄κ²°
λ°μ΄ν° λͺ¨λΈ
λ°μ΄ν°λ² μ΄μ€ ꡬ쑰μ κΈ°μ΄κ° λλ κ²μΌλ‘ λ°μ΄ν°, λ°μ΄ν° κ°μ κ΄κ³, λ°μ΄ν°μ μλ―Έ, λ°μ΄ν°μ μ μ½ μ‘°κ±΄ λ±μ κΈ°μ νκΈ° μν κ°λ μ μΈ ννμ μ§ν©μ΄λ€. λ°μ΄ν°μ μΆμν μ λμ λ°λΌ λ°μ΄ν° λͺ¨λΈμ 3κ°μ§ μ’ λ₯λ‘ λλ μ μλ€.
κ°λ
μ λ°μ΄ν° λͺ¨λΈ
μΌλ° μ¬μ©μλ€μ΄ μΈμνλ λ°©μκ³Ό κ°μ΄ λ°μ΄ν°λ₯Ό κ°λ
μ μΌλ‘ νννλ λ°©μμ λͺ
μνλ λ°μ΄ν° λͺ¨λΈμ΄λ€. "λΉ
ν½μ²" λͺ¨λΈλ‘λ λΆλ¦¬λ©° μ λ°μ μΈ κ΅¬μ‘°μ μ½ν
μΈ λ§ λνλ
*λ³΄ν΅ ERλͺ¨λΈμ λ§μ΄ μ¬μ©
λ
Όλ¦¬μ λ°μ΄ν° λͺ¨λΈ (νν λ°μ΄ν° λͺ¨λΈ)
μΌλ° μ¬μ©μλ€μ΄ μ΄ν΄ν μ μλ λ°©μμΌλ‘ λ°μ΄ν°λ₯Ό νννλ©΄μλ, μ€μ§μ λ°μ΄ν° μ μ₯ λ°©μκ³Ό λμλλ λ°©μμ λͺ
μνλ€. λ°μ΄ν° νλ¦κ³Ό λ°μ΄ν°λ² μ΄μ€ μ½ν
μΈ λ₯Ό μ€λͺ
νλ "λ°μ΄ν° λͺ¨λΈ"μ μΌλ° μ μμ κ°μ₯ λ°μ νκ² κ΄λ ¨ μλ λͺ¨λΈμ΄λ€. 물리μ λ°μ΄ν° λͺ¨λΈκ³Ό κ°λ
μ λ°μ΄ν° λͺ¨λΈ μ€κ° μμ€μ΄λΌκ³ λ³Ό μ μλ€.
*κ΄κ³ν λͺ¨λΈ, λ€νΈμν¬ν λͺ¨λΈ, κ³μΈ΅ν λͺ¨λΈ λ± μ¬μ©
물리μ λ°μ΄ν° λͺ¨λΈ
λ°μ΄ν°κ° μ»΄ν¨ν° λ΄μ 물리μ μΌλ‘ μ μ₯λλ λ°©μμ λͺ
μνλ λ°μ΄ν° λͺ¨λΈλ‘ λ μ½λμ νμ, μμ, μ κ·Ό κ²½λ‘ λ±μ μ 보λ₯Ό μ 곡νλ€. 물리μ λ°μ΄ν° λͺ¨λΈμ μ¬μ©νκ² λ μμ© νλ‘κ·Έλ¨μ μ§μνκΈ° μν΄ HWμ SWμ μ€μ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰λ₯Ό μμ±ν μ μμ λ§νΌ μΆ©λΆν μΈλΆ μ 보λ₯Ό ν¬ν¨νλ€.
π‘ λ°μ΄ν° μΆμν μ λ
κ°λ μ λ°μ΄ν° λͺ¨λΈ > λ Όλ¦¬μ λ°μ΄ν° λͺ¨λΈ > 물리μ λ°μ΄ν° λͺ¨λΈ
*μλ λͺ¨λΈμ λμνλ₯Ό 보면 μΆμν μ λμ μ°¨μ΄λ₯Ό νλμ λ³Ό μ μμ
π‘ λ°μ΄ν°λ² μ΄μ€ μ€κ³(λͺ¨λΈλ§)
νμ€μΈκ³μ μ 무μ μΈ νλ‘μΈμ€λ₯Ό μ»΄ν¨ν°λ‘ λ°μ΄ν°λ² μ΄μ€μ νκΈ° μν κ³Όμ μΌλ‘ μΆμν μ λκ° λμ λ¨κ³μ λͺ¨λΈλΆν° μ€κ³νλ€.
μꡬ 쑰건 λΆμ → κ°λ μ μ€κ³ → λ Όλ¦¬μ μ€κ³ → 물리μ μ€κ³ → ꡬν → μ΄μ → κ°μ λ° κ°μ
λ°μ΄ν° λͺ¨λΈμ μ’ λ₯
μμμ μμλ³Έ μΆμν λ¨κ³μ λ°λ₯Έ 3λ¨κ³μ λ°μ΄ν° λͺ¨λΈμ νννκΈ° μν λ°μ΄ν° λͺ¨λΈμ μ’ λ₯λ€μ μ¬λ¬ κ°μ§κ° μλ€.
κ³μΈ΅ν λͺ¨λΈ
λ°μ΄ν°κ° νΈλ¦¬ ννμ κ΅¬μ‘°λ‘ μ‘°μ§λμ΄ λΆλͺ¨-μμ κ΄κ³ μ 보λ₯Ό νννλ€. 1:N λμ κ΄κ³λ§ μ‘΄μ¬νμ¬, κ° λΆλͺ¨λ λ€μμ μμμ κ°μ§ μ μκ³ μμμ λ¨ νλλ§μ λΆλͺ¨λ₯Ό κ°μ§ μ μλ€. μμ λ μ½λ μμ μ μ°μ μμ (Triggered Delete)κ° μΌμ΄λλ€.
ex) IBM - IMS
λ€νΈμν¬ν λͺ¨λΈ
κ³μΈ΅ν λ°μ΄ν° λͺ¨λΈμ λ¨μ μ 보μνμ¬, N:N ꡬ쑰λ₯Ό νμ©νλ©°, μνμ κ΄κ³λOwner, MemberλΌκ³ νννλ€.
ex) DBTG, EDBS, TOTAL
κ΄κ³ν λͺ¨λΈ(Relational Model)
κ³μΈ΅ν, λ€νΈμν¬ν λ¨μ μ 보μν νμ¬ κ°μ₯ μ΄μμ μΈ λͺ¨λΈλ‘ λ°μ΄ν°μ λ°μ΄ν°λ€ μ¬μ΄μ κ΄κ³λ₯Ό λνλ΄κΈ° μν΄ ν
μ΄λΈ(릴λ μ΄μ
)μ λͺ¨μμ μ¬μ©νλ€. κ° ν
μ΄λΈμ κ³ μ ν μ΄λ¦μ κ°μ§ μ¬λ¬ κ°μ μ΄λ‘ ꡬμ±λμ΄ μλ€. κ°μ₯ λ리 μ°μ΄λ λ°μ΄ν° λͺ¨λΈμ΄λ€.
ex) Oracle, MySQL, MsSQL, SQLite
κ°μ²΄-κ΄κ³ λͺ¨λΈ(Entity-Relationship Model, E-R Model)
κ°μ²΄λ€μ μ§ν©μΈ κ°μ²΄(entity)μ κ°μ²΄ κ°μ κ΄κ³λ₯Ό μ¬μ©ν λͺ¨λΈμ΄λ€. λ°μ΄ν°λ² μ΄μ€λ₯Ό μ€κ³νλ λ° λ리 μ°μΈλ€.
λ°κ΅¬μ‘°ν λ°μ΄ν° λͺ¨λΈ(Semi-structured Data Model)
κ°μ νμμ κ°κ³ μμΌλ λ€μ λ€λ₯Έ μμ±μ κ°μ§ κ°λ³μ λ°μ΄ν° νλͺ©μ κΈ°μ νκΈ° μν λΉμ ν λ°μ΄ν° λͺ¨λΈμ΄λ€. JSONκ³Ό XMLμ΄ λ°κ΅¬μ‘°ν λ°μ΄ν°λ₯Ό νννλλ° μμ£Ό μ¬μ©λλ€.
κ°μ²΄ κΈ°λ° λ°μ΄ν° λͺ¨λΈ(Object-Based Data Model)
κ°μ²΄ κ°λ
μ΄ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ν΅ν©λμ΄μλ λͺ¨λΈλ‘, κ΄κ³ν ν
μ΄λΈμ κ°μ²΄λ₯Ό μ μ₯νλ νμ€μ΄ μ΄ μ‘΄μ¬νλ€. κ΄κ³ν λͺ¨λΈμ μΊ‘μν, λ©μλ, κ°μ²΄ μλ³νμ κ°λ
μ λν΄ νμ₯ν κ² κ°μ λͺ¨μ΅μ΄λ€.
λ°μ΄ν° μΆμν
μ¬λ¬ λ¨κ³μ λ°μ΄ν° μΆμνλ₯Ό ν΅ν΄ λ°μ΄ν°λ² μ΄μ€μ 볡μ‘ν ꡬ쑰λ₯Ό κ°μΆμ΄ μ¬μ©μμ μ΄ν΄μ νΈμλ₯Ό λλλ€. 3λ¨κ³λ‘ μΆμν λ¨κ³λ₯Ό λλ μ μλ€.
λ·° λ¨κ³
μΆμνμ μ΅μμ λ¨κ³λ‘ μ 체 λ°μ΄ν°λ² μ΄μ€μ μΌλΆλΆλ§ λνλΈλ€. λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ λ°μ΄ν°μ κ·Ήν μΌλΆλΆμλ§ κ΄μ¬ μλ λλΆλΆμ μ¬μ©μκ° μμ€ν
μ κ°λ¨ν μ΄μ©ν μ μλλ‘ μ μνλ€.
*ν λ°μ΄ν°λ² μ΄μ€μ λν΄ μλ§μ λ·° μ‘΄μ¬ κ°λ₯
λ
Όλ¦¬μ λ¨κ³
물리μ λ¨κ³μ λ€μ μμ λ¨κ³λ‘ μ΄λ€ λ°μ΄ν°κ° μ μ₯λμλμ§μ λ°μ΄ν°λ€ μ¬μ΄μ κ΄κ³λ₯Ό λνλΈλ€. μ΄ λ¨κ³μμλ λ°μ΄ν°λ² μ΄μ€λ₯Ό λͺ κ°μ λΉκ΅μ κ°λ¨ν λ°μ΄ν° ꡬ쑰λ₯Ό μ΄μ©νμ¬ λνλ΄λλ°, μ΄ κ³Όμ μμ 볡μ‘ν 물리μ λ¨κ³μ ꡬ쑰λ₯Ό μ ν μ νμκ° μλ€.(물리μ λ°μ΄ν° λ
립μ±)
*λ
Όλ¦¬μ λ¨κ³μμ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μκ° μ΄λ€ μ λ³΄κ° DBμ μ μ₯λμ΄μΌ ν μ§ κ²°μ νλ μμ
μ ν¨
물리μ λ¨κ³
μΆμνμ μ΅νμ λ¨κ³λ‘ λ°μ΄ν°κ° μ€μ λ‘ μ΄λ»κ² μ μ₯λλμ§ κΈ°μ νλ€. 볡μ‘ν νμ λ¨κ³μ λ°μ΄ν° κ΅¬μ‘°κ° μμΈν κΈ°μ λλ€.
E-R λͺ¨λΈ
κ°λ μ λ°μ΄ν° λͺ¨λΈμ κ°μ₯ λνμ μΈ λͺ¨λΈλ‘, κ°μ²΄, μμ±, κ΄κ³ λ±μ λνμ¬ μ©μ΄νκ² ννν μ μλ ER λν(ERD: Entity Relationship Diagram)μ μ μνλ€.
κ°μ²΄νμ
(Entity Type) |
νμ€ μΈκ³μ κ°μ²΄λ‘μ μ ν λλ 무νμ μ 보 λμμΌλ‘ μ‘΄μ¬νλ©°, μλ‘ κ΅¬λ³λ μ μλ κ²μ λ»ν¨ |
|
κ΄κ³ νμ
(Relationship Type) |
κ΄κ³λ 2κ° μ΄μμ κ°μ²΄ μ¬μ΄μ μ‘΄μ¬νλ μ°κ΄μ±μ λ»νλ©°, κ΄κ³ νμ μ κ΄κ³λ€μ μ§ν© λλ νμ λ»ν¨ |
|
μμ± (Attribute) |
κ°μ²΄μ νΉμ±μ΄λ μνλ₯Ό κΈ°μ ν κ² |
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ μμμ μμλ΄€λ κ΄κ³ν λͺ¨λΈμ κΈ°λ°μΌλ‘ λ°μ΄ν°λ₯Ό κ΄λ¦¬νλ€. λ°μ΄ν°μ λ°μ΄ν°λ€ μ¬μ΄μ κ΄κ³λ₯Ό λνλ΄κΈ° μν΄ λ¦΄λ μ΄μ μ΄λΌκ³ λΆλ₯΄λ ν μ΄λΈμ λͺ¨μμ μ¬μ©νλ€. μ΄ ν μ΄λΈμ μ€ν€λ§(schema)μ μΈμ€ν΄μ€(instance)λ‘ κ΅¬μ±λμλ€. κ° ν μ΄λΈμ κ³ μ ν μ΄λ¦μ κ°μ§ μ¬λ¬ κ°μ μ΄(μμ±)λ‘ κ΅¬μ±λμ΄ μλ€. λ°λΌμ ν μ΄λΈμ κ° νμ μ¬λ¬ μμ±λ€μ κ°μ μ§λκ³ μλ νλμ ννμ΄λ€.
π‘μ€ν€λ§ vs μΈμ€ν΄μ€
μ€ν€λ§(schema)
λ°μ΄ν°λ² μ΄μ€μ λ Όλ¦¬μ κ΅¬μ‘°λ‘ κ°μ²΄, μμ±, κ΄κ³μ μ μ½μ‘°κ±΄μ λν μ μλ₯Ό λ§νλ€. 'λ©νλ°μ΄ν°'λΌκ³ λ ν¨
μμ£Ό λ°λμ§ μλ μ μ μΈ μμμ΄λ€.
μΈμ€ν΄μ€(instance)
νν(ν,λ μ½λ)λ€μ μ§ν©μ λ§νλ©° μμ£Ό λ°λλ μμμ λ§νλ€.
*μ½κ² μκ°νλ©΄ μ€ν€λ§λ νΉμ νμ μ΄ μλ λ³μ, μΈμ€ν΄μ€λ κ·Έ μμ λ΄κΈ΄ κ°μ΄λΌκ³ μκ°νλ©΄ λλ€!
ν€(key)
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ν
μ΄λΈμμ 쑰건μ λ§μ‘±νλ ννλ€μ μ°Ύκ±°λ μ λ ¬ν λ λ€λ₯Έ ννλ€κ³Ό ꡬλ³ν μ μλ κΈ°μ€μ΄ λλ μμ±λ€μ λ§νλ€. μ¬κΈ°μ μ€μν μ μ ν€λ νλμ μμ±μ΄ μλλΌ μμ±λ€μ μ§ν©μ΄λΌλ κ²μ΄λ€!(λ΄κ° 맨λ ν·κ°λ €μ μ€μ) μ°μ , ν€μ λν΄ μ 리νκΈ° μ μ μ μΌμ±κ³Ό μ΅μμ±μ κ°λ
μ λν΄ μ΄ν΄ν΄μΌ νλ€.
π‘ μ μΌμ±κ³Ό μ΅μμ±
μ μΌμ± : νλμ ν€κ°μΌλ‘ ννμ μ μΌνκ² μλ³ν μ μλ μ±μ§
μ΅μμ± : ν€λ₯Ό ꡬμ±νλ μμ±λ€ μ€ κΌ νμν μ΅μνμ μμ±λ€λ‘λ§ ν€λ₯Ό ꡬμ±νλ μ±μ§
Attributes = (μ£Όλ―Όλ²νΈ, νλ², μ΄λ¦, λμ΄, μ±λ³)
key1 = {μ£Όλ―Όλ²νΈ}
key2 = {νλ²}
key3 = {μ£Όλ―Όλ²νΈ, μ΄λ¦, μ±λ³}
μμ κ°μ μμ±λ€κ³Ό ν€λ€μ΄ μμ λ, μ΄λ¦κ³Ό λμ΄, μ±λ³μ μΆ©λΆν μ€λ³΅λ μ μλ μμ±λ€μ΄λ€. λ°λΌμ {μ΄λ¦, λμ΄} κ°μ μμ±μ μ§ν©μ μ μΌμ±μ΄ μ‘΄μ¬νμ§ μλλ€. νμ§λ§ key1, key2, key3 μλ μ£Όλ―Όλ²νΈμ νλ²μ κ·Έ μμ±μΌλ‘λ§ μ¬λμ μ μΌνκ² μλ³ν μ μκΈ° λλ¬Έμ μ μΌμ±μ΄ μ‘΄μ¬νλ ν€λ€. key3λ₯Ό 보면 μ£Όλ―Όλ²νΈμ μ΄λ¦, μ±λ³μ΄ λμμ κ°μ μ¬λμ μκΈ° λλ¬Έμ μ μΌμ±μ μ‘΄μ¬νμ§λ§, κ΅³μ΄ μ΄λ¦κ³Ό μ±λ³κΉμ§ νμΈν νμκ° μλ?λΌλ μκ°μ νκ² λλ€. μ¦, key3λ μ£Όλ―Όλ²νΈλ§μΌλ‘ μ¬λλ€μ μλ³ν μ μκΈ° λλ¬Έμ μ΅μμ±μ κ°μ§κ³ μμ§ μμ ν€μΈ κ²μ΄λ€. key1κ³Ό key2λ μ μΌμ±κ³Ό μ΅μμ±μ λͺ¨λ λ§μ‘±νλ ν€λΌκ³ λ³Ό μ μλ€.
ν€μ μ’ λ₯
π μνΌν€(Super Key)
[μ μΌμ±O, μ΅μμ±X]
μμ±λ€μ μ§ν© μ€ μ μΌμ±μ νΉμ±μ λ§μ‘±νλ μ§ν©μ λ§νλ€. μμ μμμμ key1 = {μ£Όλ―Όλ²νΈ}, key2 = {νλ²}, key3 = {μ£Όλ―Όλ²νΈ, μ΄λ¦, μ±λ³}κ° μνΌν€κ° λ μ μλ€. μμ±λ€μ μ‘°ν©μ΄ μ΄λ ν μ¬λμ μ μΌνκ² μλ³ν μ μκΈ° λλ¬Έμ΄λ€. νμ§λ§ μνΌν€λ key3 μ²λΌ μ΅μμ±μ λ§μ‘±νμ§ μμλ λλ€.
π ν보ν€(Candidate Key)
[μ μΌμ±O, μ΅μμ±O]
μνΌν€ μ€μμ μ΅μμ±μ λ§μ‘±νλ μμ±λ€μ μ§ν©μ λ§νλ€. μμ μμμμ key1 = {μ£Όλ―Όλ²νΈ}, key2 = {νλ²}κ° ν보ν€κ° λ μ μλ€. μ£Όλ―Όλ²νΈμ νλ²μ κ·Έ μμ±κ° μ체λ§μΌλ‘ μ¬λμ μλ³ν μ μκΈ° λλ¬Έμ, μ μΌμ±κ³Ό μ΅μμ±μ λμμ λ§μ‘±μν¨λ€. ν보ν€λ μ¬λ¬κ° μ‘΄μ¬ν μ μλ€.
π κΈ°λ³Έν€(Primary Key)
μ¬λ¬ νλ³΄ν€ μ€μ μ νν νλκ° κΈ°λ³Έν€κ° λλ€. ν
μ΄λΈμμ κΈ°λ³Έν€λ λ¨ 1κ°λ§ μ§μ ν μ μλ€. κΈ°λ³Έν€λ₯Ό μ νν λμλ κ°μ΄ μμ μ μλ μμ±μ΄λ κ°μ΄ μμ£Ό λ°λλ μμ±μ΄ ν¬ν¨λ ν보ν€λ μ§μν΄μΌ νλ€. μμ μμμμ μ¬λμ μλ³νκΈ° μν΄ νλ²μ κΈ°λ³Έν€λ‘ μ¬μ©νλ€λ©΄, νλ²μ΄ λΆμ¬λμ§ μμ λ―Έμ·¨ν μλμ΄λ λ―Έμ§νμλ€μ μ λ³ν μ μλ€. λ°λΌμ key2 = {νλ²} 보λ¨key1 = {μ£Όλ―Όλ²νΈ}κ° κΈ°λ³Έν€λ‘ μ¬μ©νκΈ° λ μ μ νλ€.
π λ체ν€(Alternate Key)
λ κ° μ΄μμ ν보ν€κ° μ‘΄μ¬ν λ κΈ°λ³Έμ΄λ₯Ό μ μΈν λλ¨Έμ§ ν보ν€λ€μ λ체ν€λΌκ³ νλ€. key1 = {μ£Όλ―Όλ²νΈ}, key2 = {νλ²} μ€μ key1λ₯Ό κΈ°λ³Έν€λ‘ μ§μ νλ€λ©΄ key2κ° λ체ν€κ° λκ³ , key1μ΄ μμ΄μ‘μ λ κΈ°λ³Έν€λ₯Ό λ체ν μ μλ€.
π μΈλν€(Foreign Key)
λ€λ₯Έ ν
μ΄λΈμ κΈ°λ³Έν€λ₯Ό νμ¬ ν
μ΄λΈμ μμ±μΌλ‘ ν¬ν¨ν λ, κ·Έ λ€λ₯Έ ν
μ΄λΈμ κΈ°λ³Έν€λ₯Ό νμ¬ ν
μ΄λΈμ μΈλν€λΌκ³ νλ€. μ¦, λ€λ₯Έ ν
μ΄λΈμ κΈ°λ³Έν€λ₯Ό κ·Έλλ‘ μ°Έμ‘°νλ μμ±μ μ§ν©μ΄ μΈλν€μ΄λ€. μΈλν€λ₯Ό μ¬μ©νλ μ΄μ λ λ°μ΄ν°μ 무결μ±μ μ§ν€κΈ° μν¨μ΄λ€. ν
μ΄λΈμ λ°λ‘λ°λ‘ κ΄λ¦¬νλ μν©μμ κ΄λ ¨λ μ 보λ₯Ό μμ νλ €λ©΄, λ ν
μ΄λΈμ λͺ¨λ κ°μ κ°μΌλ‘ μμ ν΄μΌ νλ€. νμ§λ§ νμͺ½ ν
μ΄λΈλ§ μ
λ°μ΄νΈλ μ, 무결μ±μ΄ κΉ¨μ§κ² λλ€. μ΄λ₯Ό λ°©μ§νκΈ° μν΄ μ°Έμ‘°μ κ°λ
μ μΆκ°ν κ²μ΄λ€.
κ΄κ³λμ
κ΄κ³λμλ κ΄κ³ν DBμ ν μ΄λΈμ μ²λ¦¬νλ μ°μ°μ μ§ν©μΌλ‘ μ§ν© μ°μ°μ ν λλ‘ λ§λ μ§ν© μ°μ°μμ΄λ€. κ΄κ³λμλ κΈ°λ³Έμ μΌλ‘ λ¨μΌ νΉμ λ κ°μ ν μ΄λΈμ μ λ ₯λ°μ κ²°κ³Ό ν μ΄λΈμ μμ±νλ€.
SELECT |
σ | 릴λ μ΄μ
μμ μ£Όμ΄μ§ 쑰건μ λ§μ‘±νλ ννλ€μ κ²μ(μνμ μ°μ°) |
|||
PROJECT |
π | 릴λ μ΄μ
μμ μ£Όμ΄μ§ 쑰건μ λ§μ‘±νλ μμ±λ€μ κ²μ(μμ§μ μ°μ°) |
|||
JOIN |
μμ°μ‘°μΈ | * | λ κ°μ 릴λ μ΄μ
μμ 곡ν΅λ μμ±μ μ°κ²°νλ μ°μ°(κ³΅ν΅ μμ± κ° μ κ±°) |
||
λλ±μ‘°μΈ | β | λ κ°μ 릴λ μ΄μ
μμ 곡ν΅λ μμ±μ μ°κ²°νλ μ°μ°(κ³΅ν΅ μμ± κ° μ€λ³΅) |
|||
DIVISION |
A÷B | λλμ΄μ§λ 릴λ μ΄μ
Aμ 릴λ μ΄μ
Bμ λͺ¨λ λ΄μ©μ ν¬ν¨ν κ²μ΄ κ²°κ³Ό 릴λ μ΄μ
|
|||
μ§ν© μ°μ° | ν©μ§ν© (UNION) |
A∪B | 릴λ μ΄μ A λλ Bμ μνλ ννλ€λ‘ κ΅¬μ± | λ 릴λ μ΄μ μ μ°¨μμ λλ©μΈμ΄ κ°μμΌ μ°μ° κ°λ₯ | |
κ΅μ§ν© (INTERSECTION) |
A∩B | 릴λ μ΄μ Aμ Bμ 곡ν΅μ μΌλ‘ μνλ ννλ€λ‘ κ΅¬μ± | |||
μ°¨μ§ν© (DIFFERENCE) |
A-B | 릴λ μ΄μ Aμλ§ μκ³ Bμλ μλ ννλ€λ‘ κ΅¬μ± | |||
μΉ΄ν°μ
νλ‘λνΈ (cartiesian product) |
A×B | Aμ μν κ° νν aμ λνμ¬ Bμ μν νν bλ₯Ό λͺ¨λ |
*κ΄κ³λμμ νκ³: μ λ ¬ λΆκ°λ₯, μ°μ μ°μ° λΆκ°λ₯, DB μμ λΆκ°λ₯ λ±
λ°μ΄ν°λ² μ΄μ€ μΈμ΄
SQL(Structured Query Language: ꡬ쑰μ μ§μ μΈμ΄)
κ΄κ³ν DBMSμμ λ°μ΄ν°λ₯Ό κ΄λ¦¬νκΈ° μν μ§μμ΄λ‘ κ΄κ³λμμ νκ³λ₯Ό 극볡νκΈ° μν΄ νμ₯λ μΈμ΄. κ±°μ λͺ¨λ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ μμ€ν
μμ μ¬μ©νλ€. SQLμ λ¬Έλ²μ ν¬κ² DDL, DML, DCL(λ°μ΄ν° μ μ΄ μΈμ΄)λ‘ λλλ€.
DDL(λ°μ΄ν° μ μ μΈμ΄)
λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§λ₯Ό κΈ°μ (ꡬ체ν)νλ μΈμ΄μ΄λ€. λ°μ΄ν°μ μΆκ°μ μΈ νΉμ±μ νννλ λ°μλ μ¬μ©λλ€. μλ₯Ό λ€μ΄ ν΄λΉ λ°μ΄ν°λ² μ΄μ€κ° μꡬνλ μΌκ΄μ± μ μ½ μ‘°κ±΄μ κΈ°μ ν μ μλ€. DDLμ κ²°κ³Όλ λ©νλ°μ΄ν°(λ°μ΄ν°μ λν λ°μ΄ν°)λ₯Ό μλ‘νλ λ°μ΄ν° μ¬μ μ μ μ₯λλ€.
*λ°μ΄ν° μ¬μ : νΉλ³ν ννμ ν
μ΄λΈλ‘ λ°μ΄ν°λ² μ΄μ€ μμ€ν
λ§ μ κ·Ό κ°λ₯
π‘ SQL DDL
CREATE μλ‘μ΄ ν μ΄λΈ, View, μΈλ±μ€ , μ μ₯ νλ‘μμ μμ±
DROP μ΄λ―Έ μ‘΄μ¬νλ ν μ΄λΈ , View, μΈλ±μ€ , μ μ₯ νλ‘μμ μμ
ALTER μ΄λ―Έ μ‘΄μ¬νλ λ°μ΄ν°λ² μ΄μ€ κ°μ²΄μ λν λ³κ²½
TRUNCATE ν μ΄λΈμμ λ°μ΄ν°λ₯Ό μ κ±°νλ€.
DML(λ°μ΄ν° μ‘°μ μΈμ΄)
μ¬μ©μκ° λ°μ΄ν°λ₯Ό μ‘°μνκ±°λ μ κ·Όνκ² νκΈ° μν μΈμ΄(μ§μ λ° κ°±μ μ νν) λ°μ΄ν°μ μ κ·Όνλ ννλ μ 보 κ²μ, μ 보 μ½μ
, μ 보 μμ , μ 보 μμ μ΄λ€.
π‘ SQL DML
SELECT λ°μ΄ν° κ²μ(μ§μ)
INSERT λ°μ΄ν° μ½μ (λ±λ‘)
UPDATE λ°μ΄ν° μ λ°μ΄νΈ(μμ )
DELETE λ°μ΄ν° μμ
π‘ DROP vsTRUNCATE vs DELETE
DROP ν μ΄λΈ μ 체, 곡κ°, κ°μ²΄ μμ (볡ꡬ λΆκ°)
TRUNCATE ν μ΄λΈ μμ x, λ°μ΄ν°λ§ μμ , μμ ν μ©λ μ€μ΄λ¦ (볡ꡬ λΆκ°)
DELETE λ°μ΄ν°λ§ μμ , ν μ΄λΈ μ©λ κ·Έλλ‘(볡ꡬ κ°λ₯)
DCL(λ°μ΄ν° μ μ΄ μΈμ΄)
λ°μ΄ν°λ² μ΄μ€μ μ κ·Όνκ³ κ°μ²΄λ€μ μ¬μ©νλλ‘ κΆνμ μ£Όκ³ νμνλ λͺ
λ Ήμ΄λ₯Ό λ€λ£¨λ μΈμ΄
π‘ SQL DCL
GRANT λ°μ΄ν°λ² μ΄μ€ μ¬μ©μμκ² κΆνμ λΆμ¬
REVOKE λ°μ΄ν°λ² μ΄μ€ μ¬μ©μμκ² κΆνμ μ·¨μ
+무결μ±μ μ’ λ₯
κ°μ²΄ λ¬΄κ²°μ± | κΈ°λ³Έ ν μ΄λΈμ κΈ°λ³Έν€λ₯Ό ꡬμ±νλ μ΄λ€ μμ±λ Null κ°μ΄λ μ€λ³΅κ°μ κ°μ§ μ μλ€ |
λλ©μΈ λ¬΄κ²°μ± | μ£Όμ΄μ§ μμ± κ°μ΄ μ μλ λλ©μΈμ μν κ°μ΄μ΄μΌ νλ€ |
μ°Έμ‘° λ¬΄κ²°μ± | 릴λ μ΄μ μ μ°Έμ‘°ν μ μλ μΈλν€ κ°μ κ°μ§ μ μλ€ |
μ¬μ©μ μ μ λ¬΄κ²°μ± | μμ± κ°λ€μ΄ μ¬μ©μκ° μ μν μ μ½μ‘°κ±΄μ λ§μ‘±ν΄μΌ νλ€ |
Null λ¬΄κ²°μ± | 릴λ μ΄μ μ νΉμ μμ± κ°μ΄ Nullμ΄ λ μ μλ€ |
κ³ μ λ¬΄κ²°μ± | 릴λ μ΄μ μ νΉμ μμ±μ λν΄ κ° ννμ΄ κ°λ μμ± κ°λ€μ΄ μλ‘ λ¬λΌμΌ νλ€ |
ν€ λ¬΄κ²°μ± | νλμ 릴λ μ΄μ μλ μ μ΄λ νλμ ν€κ° μ‘΄μ¬ν΄μΌ νλ€ |
κ΄κ³ λ¬΄κ²°μ± | ννμ μ½μ κ°λ₯ μ¬λΆ λλ ννλ€ μ¬μ΄μ κ΄κ³μ λν μ μ μ± μ¬λΆλ₯Ό μ§μ |
+μ€ν€λ§(Schema)
λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰(κ°μ²΄, μμ±, κ΄κ³)μ μ μ½μ‘°κ±΄μ λν λͺ
μΈλ₯Ό κΈ°μ ν κ²μ μλ―Έ
κ°λ
μ€ν€λ§ (Conceptual Schema)
μ 체 λ°μ΄ν°λ² μ΄μ€μ μ μλ₯Ό μλ―Ένλ©° κ°μ²΄ κ°μ κ΄κ³, μ μ½μ‘°κ±΄, λ°μ΄ν°λ² μ΄μ€ μ κ·Ό κΆν, 보μ λ° λ¬΄κ²°μ± κ·μΉμ κ΄ν λͺ
μΈ λ±μ ν¬ν¨νλ€. λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μ(DBA)κ° κ΄λ¦¬νλ©°, νλμ λ°μ΄ν°λ² μ΄μ€μλ νλμ κ°λ
μ€ν€λ§κ° μ‘΄μ¬νλ€.
μΈλΆ μ€ν€λ§ (External Schema)
μ 체 λ°μ΄ν°λ² μ΄μ€ μ€μμ νλμ λ
Όλ¦¬μ μΈ λΆλΆμ μλ―Ένλ€. μΌλ° μ¬μ©μ, μμ© νλ‘κ·Έλλ¨Έκ° μ κ·Όνλ κ³μΈ΅μΌλ‘, μ¬λ¬ κ°μ μΈλΆ μ€ν€λ§κ° μ‘΄μ¬ν μ μμΌλ©° λ·°(view)μ κ°λ
μ΄λ€. μλΈ μ€ν€λ§(Sub Schema)λΌκ³ λ νλ€.
λ΄λΆ μ€ν€λ§ (Internal Schema)
물리μ μ μ₯ μ₯μΉμ λ°μ΄ν°λ² μ΄μ€κ° μ€μ λ‘ μ μ₯λλ ꡬ쑰λ‘, λ°μ΄ν° λ μ½λμ 물리μ μΈ λ°°μΉ, λ΄λΆ λ μ½λμ 물리μ μμ(μΈλ±μ€), λ°μ΄ν° μμΆ λ±μ ν¬ν¨νλ€.
+μ΄μ(Anomaly)νμ
μ½μ
μ΄μ (Insertion Anomaly)
λ°μ΄ν°λ₯Ό μ½μ
ν λ μλμ λ€λ₯΄κ² μνμ§ μλ κ°λ€λ‘ μΈν΄ μ½μ
ν μ μκ² λλ νμμΌλ‘, κΈ°λ³Έν€μ ν΄λΉνλ μμ± κ° μμ΄ ννμ μ½μ
νκ³ μ ν λ λ°μνλ€.
μμ μ΄μ (Deletion Anomaly)
ννμ μμ ν λ μλμ λ€λ₯΄κ² λ€λ₯Έ κ°λ ν¨κ» μμ λλ, μ¦ μ°μ μμ κ° λ°μνλ νμμΌλ‘, νν μμ μ μ μ§νκ³ μ νλ μ 보κΉμ§ μμ λμ΄ μ 보 μμ€μ΄ λ°μνλ κ²½μ°λ₯Ό μλ―Ένλ€.
κ°±μ μ΄μ (Update Anomaly)
ννμ μλ μμ± κ°μ κ°±μ ν λ μΌλΆ ννμ μ λ³΄λ§ κ°±μ λμ΄ μ 보μ λΆμΌμΉμ±(Inconsistency)μ΄ μκΈ°λ νμμΌλ‘, ν ννμ μΌλΆ μμ± κ°μ λ°κΏ¨μ λ κ°μ κΈ°λ³Έν€λ₯Ό κ°μ§λ λ€λ₯Έ ννκ³Ό μ λ³΄κ° λΆμΌμΉκ° μ겨 λ°μνλ€.
'π CS > π DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[DB] Persistence Framework (SQL Mapper vs ORM) (6) | 2022.09.26 |
---|---|
[DB] νν°μ λ (6) | 2022.09.05 |
[DB] SQL (0) | 2022.09.01 |
[DB] νΈλμμ (κ°λ /νΉμ±/μ°μ°/μν) (6) | 2022.08.22 |
[DB] λ©΄μ μ§λ¬Έ μ 리 (0) | 2022.08.18 |