νμΌ μμ€ν
- νμΌ μμ€ν
μ κ°κ°μ μμ© νλ‘κ·Έλ¨μ΄ μμ μ λ°μ΄ν°λ₯Ό νμΌ ννλ‘ λ³λλ‘ κ΄λ¦¬νκ³ νμΌ μ€μ¬μ λ°μ΄ν° μ²λ¦¬ μμ€ν
μ΄λ€.
DBMS
- λ°μ΄ν° λ² μ΄μ€λ₯Ό κ΄λ¦¬νκ³ μ΄μνλ μννΈμ¨μ΄λ₯Ό DBMS(Database Management System)λΌκ³ νλ€.
νμΌ μμ€ν
κ³Ό DBMSμ μ°¨μ΄μ
μ€λ³΅μ±, μΌκ΄μ±
- νμΌ μμ€ν
μ νμΌμ λ°λ‘ κ΄λ¦¬ν΄ μ€λ³΅μ±μ΄ μ‘΄μ¬νκ³ μΌκ΄μ±μ΄ 보μ₯λμ§ μλ λ°λ©΄μ DBMSλ νλμ λ°μ΄ν°λ² μ΄μ€μ ν΅ν©νμ¬ λ°μ΄ν°μ μ€λ³΅μ μ΅μννκ³ μΌκ΄μ±μ΄ 보μ₯λλ€.
μ’
μμ±, λ
립μ±
- νμΌ μμ€ν
μ λ°μ΄ν°(νμΌ)μ μμ© νλ‘κ·Έλ¨μ΄ μ’
μκ΄κ³μ μμ΄ μμ© νλ‘κ·Έλ¨μ λ³κ²½νλ €λ©΄ νμΌμ λ³κ²½ν΄μΌ νκ³ νμΌμ λ³κ²½νλ©΄ μμ©νλ‘κ·Έλ¨μ λ³κ²½ν΄μΌ ν©λλ€.
λμμ±
- νμΌ μμ€ν
μ λμΌν νμΌ λ κ° μ΄μμ νλ‘κ·Έλ¨μ΄ λμμ μ κ·Όν μ μμ§λ§ DBMSλ λμΌν λ°μ΄ν°μ λ€μ μ¬μ©μκ° λμμ μ κ·Όν μ μλ€.
보μμ±
- νμΌ μμ€ν
μ λ°μ΄ν°κ° μ μ₯λμ΄ μλ νμΌμ μμ© νλ‘κ·Έλ¨ μμ΄λ νμΌμ μ΄ μ μλ λ°λ©΄μ DBMSλ μ¬μ©μλ€λ§λ€ λΆμ¬ν΄μ£Όλ κ° ν
μ΄λΈμ λν μ κ·Ό κΆνμ΄ μμ΄ λ³΄μμ±μ΄ 보μ₯λλ€.
ν볡μ±
- νμΌ μμ€ν
μ μμ© νλ‘κ·Έλ¨μμ νμΌ λ΄μ λ°μ΄ν°λ₯Ό μμ νλ λμ€ κ°μ λ‘ νμΌμ΄ λ«νλ μ¬κ³ κ° μμ λ λ°μ΄ν°λ₯Ό 볡ꡬνλ κΈ°λ₯μ΄ μλ λ°λ©΄μ DBMSλ μ₯μ λ°μ μ λ°μ΄ν°λ₯Ό 볡ꡬν μ μλ ν볡 κΈ°λ²μ΄ μλ€.
ꡬ쑰μ μ°¨μ΄
- νμΌ μμ€ν
μ νΉμ ν κ΅¬μ‘°κ° μ‘΄μ¬νμ§ μλ λ°λ©΄μ DBMSλ ν
μ΄λΈ ννλ‘ μ μ₯λλ€.
λ°μ΄ν°λ² μ΄μ€μ νΉμ§
- μ€μκ° μ κ·Όμ± : μ¬μ©μμ μ§μμ λνμ¬ μ¦κ°μ μΈ μ²λ¦¬μ μλ΅μ΄ μ΄λ£¨μ΄μ§λ€.
- κ³μμ μΈ λ³ν : μμ±, μμ , μμ λ₯Ό ν΅νμ¬ νμ μ΅μ μ λ°μ΄ν°λ₯Ό μ μ§ν¨
- λμ 곡μ : μ¬μ©μλ€μ΄ μνλ λ°μ΄ν°λ₯Ό λμμ 곡μ ν μ μμ
- λ΄μ©μ λ°λ₯Έ μ°Έμ‘° : μ¬μ©μκ° μνλ λ°μ΄ν°λ₯Ό μ£Όμκ° μλ λ΄μ©μ λ°λΌ μ°Έμ‘°ν μ μμ
- μμ© νλ‘κ·Έλ¨κ³Ό λ°μ΄ν°λ² μ΄μ€λ λ
립λμ΄ μμΌλ―λ‘, λ°μ΄ν°μ λ
Όλ¦¬μ ꡬ쑰μ μμ© νλ‘κ·Έλ¨μ λ³κ°λ‘ λμνλ€.
DBMSλ?
- DBMS(Database Management System)λ λ°μ΄ν°λ² μ΄μ€μ μ κ·Όνμ¬ λ°μ΄ν°λ² μ΄μ€ μ μ, μ‘°μ, μ μ΄ λ± λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬λ₯Ό μ§μνλ μννΈμ¨μ΄λ₯Ό λ»νλ€.
μ€ν€λ§μ μ€ν€λ§ 3κ³μΈ΅
μ€ν€λ§
- μ€ν€λ§λ DBμ ꡬ쑰μ μ μ½ μ‘°κ±΄μ κ΄ν μ λ°μ μΈ λͺ
μΈλ₯Ό μ μν λ©ν λ°μ΄ν°(λ€λ₯Έ λ°μ΄ν°λ₯Ό μ€λͺ
ν΄ μ£Όλ λ°μ΄ν°)μ μ§ν©μ΄λ€.
- μ€ν€λ§λ λ°μ΄ν° μ¬μ (Data Dictionary)μ μ μ₯λλ€.
- κ°μ²΄μ νΉμ±μ λνλ΄λ μμ±(Attribute)κ³Ό μμ±λ€μ μ§ν©μΌλ‘ μ΄λ£¨μ΄μ§ κ°μ²΄(Entity), κ°μ²΄ μ¬μ΄μ μ‘΄μ¬νλ κ΄κ³(Relation)μ λν μ μμ μ μ½ μ‘°κ±΄μ κΈ°μ ν κ²μ΄λ€.
μΈλΆ μ€ν€λ§(External Schema) = μ¬μ©μ λ·°
- κ°λ³ μ¬μ©μλ€μ μ
μ₯μμ λ°μ΄ν° λ² μ΄μ€μ λ
Όλ¦¬μ ꡬ쑰λ₯Ό μ μν κ²μ΄λ€.
- λμΌν λ°μ΄ν°μ λν΄ μλ‘ λ€λ₯Έ κ΄μ μ μ μν μ μλλ‘ νμ©νλ€.
- νλμ λ°μ΄ν°λ² μ΄μ€ μμ€ν
μλ μ¬λ¬ κ°μ μΈλΆ μ€ν€λ§κ° μ‘΄μ¬ κ°λ₯νλ©°, νλμ μΈλΆ μ€ν€λ§λ₯Ό μ¬λ¬ κ°μ μμ© νλ‘κ·Έλ¨μ΄λ μ¬μ©μκ° κ³΅μ©ν μ μλ€.
- μΌλ° μ¬μ©μλ μ§μμ΄(SQL)μ μ΄μ©νμ¬ DBλ₯Ό μ½κ² μ¬μ©ν μ μλ€.
κ°λ
μ€ν€λ§(Conceptual Schema) = μ μ μ μΈ λ·°
- λ°μ΄ν°λ² μ΄μ€μ μ 체 μ‘°μ§μ λν λ
Όλ¦¬μ μΈ κ΅¬μ‘°λ‘, 물리μ μΈ κ΅¬νμ κ³ λ €νμ§ μλλ€.
- κ° λ°μ΄ν°λ² μ΄μ€μλ ν κ°μ κ°λ
μ€ν€λ§λ§ μ‘΄μ¬νλ€.
- κ°μ²΄ κ°μ κ΄κ³ λ° λ¬΄κ²°μ± μ μ½ μ‘°κ±΄μ λν λͺ
μΈλ₯Ό μ μνλ€.
- λ°μ΄ν°λ² μ΄μ€ νμΌμ μ μ₯λλ λ°μ΄ν°μ ννλ₯Ό λνλΈλ€.
- κΈ°κ΄μ΄λ μ‘°μ§μ²΄μ κ΄μ μμ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μν κ²μ΄λ©° λ°μ΄λ²λ² μ΄μ€ κ΄λ¦¬μμ μν΄ κ΅¬μ±λλ€.
λ΄λΆ μ€ν€λ§(Internal Schema) = μ μ₯ μ€ν€λ§
- 물리μ μ μ₯μ₯μΉμ μ
μ₯μμ λ³Έ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰μ΄λ€.
- κ°λ
μ€ν€λ§λ₯Ό λμ€ν¬ κΈ°μ΅μ₯μΉμ 물리μ μΌλ‘ ꡬννκΈ° μν λ°©λ²μ κΈ°μ ν κ²μ΄λ€.
- μ μ₯λ λ°μ΄ν° νλͺ©μ λ΄λΆ λ μ½λ νμ, 물리μ μμ λ±μ λνλΈλ€.
- μμ€ν
νλ‘κ·Έλλ¨Έλ μμ€ν
μ€κ³μκ° λ³΄λ κ΄μ μ΄ μ€ν€λ§μ΄λ€.
λ°μ΄ν° λ
립μ±
- λ°μ΄ν°λ² μ΄μ€ λ΄μ λ°μ΄ν°, μ¬μ©μ λ° μμ© νλ‘κ·Έλ¨, λ°μ΄ν°λ² μ΄μ€μ μ μ₯ κ΅¬μ‘°κ° μλ‘ μν₯μ λ°μ§ μλ μ±μ§μ μλ―Ένλ€.
- λ
Όλ¦¬μ λ
립μ±μ κ°λ
μ€ν€λ§κ° λ³κ²½λμ΄λ, μΈλΆ μ€ν€λ§μ μν₯μ μ£Όμ§ μλλ€.
- 물리μ λ
립μ±μ λ΄λΆ μ€ν€λ§κ° λ³κ²½λμ΄λ, κ°λ
μ€ν€λ§λ μΈλΆ μ€ν€λ§μ μν₯μ μ£Όμ§ μλλ€.
RDBMS(κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μμ€ν
)
- RDBMSλ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€λ₯Ό μ μ₯, κ΄λ¦¬, μ‘°μν μ μλ μννΈμ¨μ΄λ€.
- λͺ¨λ λ°μ΄ν°λ₯Ό 2μ°¨μ ν
μ΄λΈλ‘ νννκ³ ν
μ΄λΈλ€ κ°μ κ΄κ³λ₯Ό μ€μ νμ¬ λ°μ΄ν°λ₯Ό ꡬμ±νλ€.
- μ κ·νλ₯Ό ν΅ν΄ λ°μ΄ν°μ μ€λ³΅μ±μ μ΅μννμ¬ νΈλμμ
μ μννλ κ²μ΄ λμ± μ½λ€.
λ λ μ΄μ
μ€ν€λ§
- 릴λ μ΄μ
μ€ν€λ§(Relation Schema)λ 릴λ μ΄μ
(ν
μ΄λΈ)μ μ΄λ€ μ λ³΄κ° λ΄κΈΈμ§ μμ±μ μ μν κ²μ΄λ€. ν΄λΉ 릴λ μ΄μ
μ μ΄(Column)μ λν ꡬ쑰μ μ μ½μ‘°κ±΄μ λͺ
μνλ€.
릴λ μ΄μ
μΈμ€ν΄μ€
- 릴λ μ΄μ
μΈμ€ν΄μ€(Relation Instance)λ 릴λ μ΄μ
μ€ν€λ§μ μ μ₯λ λ°μ΄ν°μ μ§ν©μ΄λ€. κ° νμ 릴λ μ΄μ
μ€ν€λ§μ μ μλ μμ±λ€μ λν μ€μ κ°λ€μ ν¬ν¨νλ€.
μ°¨μ
- 릴λ μ΄μ
μ μ°¨μ(Degree)λ μμ±(릴λ μ΄μ
μ€ν€λ§μ μ΄)μ μ΄ κ°μλ₯Ό μλ―Ένλ€.
μΉ΄λλ리ν°
- μΉ΄λλ리ν°(Cardinality)λ νν(릴λ μ΄μ
μ ν)μ μ΄ κ°μλ₯Ό μλ―Ένλ€.
λ°μ΄ν°λ² μ΄μ€ ν€(Key)
μνΌ ν€(Super Key)
- 릴λ μ΄μ
μμ ννμ μ μΌνκ² μλ³ν μ μλ κ°μ΄λ©΄ λͺ¨λ μνΌν€κ° λ μ μλ€.
- μ μΌμ±μ λ§μ‘±νμ§λ§ μ΅μμ±μ λ§μ‘±νμ§ λͺ»νλ€.
ν보 ν€(Candidate Key)
- ν보ν€λ κΈ°λ³ΈκΈ°κ° λ μ μλ νλ³΄λ‘ λ¦΄λ μ΄μ
μμ κ° ννμ μ μΌνκ² μλ³ν μ μλ μμ±λ€μ μ§ν©μ΄λ€.
λ€λ₯Έ λ°μ΄ν°μ μ€λ³΅μ΄ μμ΄μ μλλ€.
- μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±νλ€.
κΈ°λ³Έ ν€(Primary key)
- κΈ°λ³Έ ν€λ₯Ό μ€μ νλ©΄ λ€λ₯Έ 릴λ μ΄μ
μ μΈλν€μ κ΄κ³λ₯Ό λ§Ίκ³ μνΈμμ©μ ν μ μλ€.
- 릴λ μ΄μ
μ λννλ ν€μ΄λ©° μ΄λ€ ν보ν€λ₯Ό κΈ°λ³Έν€λ‘ μ§μ νλμ§λ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬μλ μ€κ³μκ° μ νλ€.
- κΈ°λ³Έ ν€λ₯Ό μ ν λ 릴λ μ΄μ
λ΄ ννμ μλ³ν μ μλ κ³ μ ν κ°μ κ°μ ΈμΌ νκ³ NULLκ°μ νμ©λμ§ μμΌλ©° ν€λ λ³νμ§ μμμΌ νκ³ μ΅λν μ μ μμ μμ±μ κ°μ§ κ²μ΄ μ’λ€.
μΈλ ν€(Foreign key)
- λ€λ₯Έ 릴λ μ΄μ
μ κΈ°λ³Έν€λ₯Ό κ·Έλλ‘ μ°Έμ‘°νλ μμ±μ μ§ν©μ΄ μΈλ ν€λ€.
λ체 ν€(Alternate key)
- λ체 ν€λ κΈ°λ³Έ ν€λ‘ μ νλμ§ λͺ»ν ν보 ν€λ€μ΄λ€.
λ¬΄κ²°μ± μ μ½μ‘°κ±΄
- λ°μ΄ν°λ² μ΄μ€μ 무결μ±(μΌκ΄μ±)μ 보μ₯νκΈ° μν΄ μ μ₯, μμ , μμ λ±μ μ μ½νκΈ° μν 쑰건μ λ»νλ€.
κ°μ²΄μ 무결μ±
- κ° λ¦΄λ μ΄μ
μ κΈ°λ³Έ ν€λ₯Ό ꡬμ±νλ μμ±μ NULLμ΄λ μ€λ³΅λ κ°μ κ°μ§ μ μλ€.
μ°Έμ‘°μ 무결μ±
- μΈλ ν€ κ°μ NULLμ΄λ μ°Έμ‘°νλ 릴λ μ΄μ
μ κΈ°λ³Έ ν€ κ°κ³Ό λμΌν΄μΌ νλ€.
λλ©μΈ 무결μ±
- μμ±λ€μ κ°μ μ μλ λλ©μΈμ μν κ°μ΄μ΄μΌ νλ€.
My SQL
- κ°μ₯ λ§μ΄ μ¬μ©λλ μ€νμμ€ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν
μ
λλ€.
- λ€μ€ μ¬μ©μμ λ€μ€ μ€λ λλ₯Ό μ§μν©λλ€.
- C, C++, JAVA, PHP λ± μ¬λ¬ νλ‘κ·Έλλ° μΈμ΄λ₯Ό μν λ€μν APIλ₯Ό μ 곡ν©λλ€.
- μ λμ€, 리λ
μ€, μλμ° λ± λ€μν μ΄μ체μ μμ μ¬μ© κ°λ₯νλ©° μΉ κ°λ°μ μμ£Ό μ¬μ©λ©λλ€.
- νμ€ SQL νμμ μ¬μ©ν©λλ€.
μ’μ κΈ κ°μ¬ν©λλ€.