reference: λ°μ΄ν°λ² μ΄μ€ κ°λ‘ 2ν
01. κ΄κ³ λ°μ΄ν° λͺ¨λΈμ κ°λ
κ°λ μ ꡬ쑰λ₯Ό λ Όλ¦¬μ κ΅¬μ‘°λ‘ νννλ λ Όλ¦¬μ λ°μ΄ν° λͺ¨λΈ
νλμ κ°μ²΄μ λν λ°μ΄ν°λ₯Ό νλμ 릴λ μ΄μ μ μ μ₯
01-1. κ΄κ³ λ°μ΄ν° λͺ¨λΈμ κΈ°λ³Έ μ©μ΄
- 릴λ μ΄μ
(relation)
- νλμ κ°μ²΄μ κ΄ν λ°μ΄ν°λ₯Ό 2μ°¨μ ν μ΄λΈμ κ΅¬μ‘°λ‘ μ μ₯ν κ²
- νμΌ κ΄λ¦¬ μμ€ν κ΄μ μμ νλμ νμΌ(file)μ λμ
- μμ±(attribute)
- 릴λ μ΄μ μ μ΄, μ νΈλ¦¬λ·°νΈ
- νμΌ κ΄λ¦¬ μμ€ν κ΄μ μμ **νλ(field)**μ λμ
- ν¬ν(tuple)
- 릴λ μ΄μ μ ν
- νμΌ κ΄λ¦¬ μμ€ν κ΄μ μμ **λ μ½λ(record)**μ λμ
- λλ©μΈ(domain)
- νλμ μμ±μ΄ κ°μ§ μ μλ λͺ¨λ (μμ) κ°μ μ§ν© (λ€μ€ κ° μμ± X)
- μμ± κ°μ μ λ ₯ λ° μμ ν λ μ ν©μ± νλ¨μ κΈ°μ€μ΄ λ¨ (μ λ ₯ μ μ½)
- μΌλ°μ μΌλ‘ μμ±μ νΉμ±μ κ³ λ €ν λ°μ΄ν° νμ μΌλ‘ μ μ
- λ΄κ° μ§μ μ μν μ μλ€. ex) grade = {vip, gold, silver, bronze}
- λ(null)
- μμ± κ°μ μμ§ λͺ¨λ₯΄κ±°λ ν΄λΉλλ κ°μ΄ μμμ νν
- DBλ§λ€ ννλ²μ΄ λ€λ¦
- 곡백, 0κ³Όλ λ€λ₯Έ μλ―Έ
- μ°¨μ(degree)
- νλμ 릴λ μ΄μ μμ μμ±μ μ 체 κ°μ
- μ μ μΈ νΉμ§
- μΉ΄λλ리ν°(cardicality)
- νλμ 릴λ μ΄μ μμ ν¬νμ μ 체 κ°μ
- λμ μΈ νΉμ§
01-2. 릴λ μ΄μ μ ꡬμ±
- 릴λ μ΄μ
μ€ν€λ§(relation schema)
- 릴λ μ΄μ μ λ Όλ¦¬μ ꡬ쑰
- 릴λ μ΄μ μ μ΄λ¦κ³Ό 릴λ μ΄μ μ ν¬ν¨λ λͺ¨λ μμ± μ΄λ¦μΌλ‘ μ μ
- μ) κ³ κ°(κ³ κ°μμ΄λ, κ³ κ°μ΄λ¦, λμ΄, λ±κΈ, μ§μ , μ 립κΈ)
- 릴λ μ΄μ λ΄ν¬(relation intension)λΌκ³ λ ν¨
- DD(definite)Lλ‘ μ€νλ¨.
- μ μ μΈ νΉμ§μ΄ μμ
- 릴λ μ΄μ
μΈμ€ν΄μ€(relation instance)
- μ΄λ ν μμ μ 릴λ μ΄μ μ μ‘΄μ¬νλ ν¬νλ€μ μ§ν©
- 릴λ μ΄μ μΈμ°(relation extension)μ΄λΌκ³ λ ν¨
- DM(manipulate)Lλ‘ μ€νλ¨.
- λμ μΈ νΉμ§μ΄ μμ
01-3. λ°μ΄ν°λ² μ΄μ€μ ꡬμ±
- λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§(database schema)
- λ°μ΄ν°λ² μ΄μ€μ μ 체 ꡬ쑰
- λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμ±νλ 릴λ μ΄μ μ€ν€λ§μ λͺ¨μ
- λ°μ΄ν°λ² μ΄μ€ μΈμ€ν΄μ€(database instance)
- λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμ±νλ 릴λ μ΄μ μΈμ€ν΄μ€μ λͺ¨μ
01-4. 릴λ μ΄μ μ νΉμ±
β μνμ μ§ν©κ³Ό μμ£Ό λΉμ·νλ€.
- ν¬νμ μ μΌμ±: νλμ 릴λ μ΄μ μλ λμΌν ν¬νμ΄ μ‘΄μ¬ν μ μλ€. key μμ±μ ν΅ν΄ ꡬλ³νλ€.
- ν¬νμ 무μμ: νλμ 릴λ μ΄μ μμ ν¬ν μ¬μ΄μ μμλ 무μλ―Ένλ€. κ·Έλ₯ insert λ μμλ‘ λ³΄μΌ λΏμ΄λ€.
- μμ±μ 무μμ: νλμ 릴λ μ΄μ μμ μμ± μ¬μ΄μ μμλ 무μλ―Ένλ€. μμ± κ°μ μ κ·Όν λ μμμΌμ΄ μμΉλ‘ μ κ·Όνμ§ μκ³ μμ±μ μ΄λ¦μΌλ‘ μ κ·ΌνκΈ° λλ¬Έμ΄λ€.
- μμ±μ μμμ±: μμ± κ°μΌλ‘ μμ κ°λ§ μ¬μ©ν μ μλ€.
- λ λΆν΄ν μ μμ
- λ€μ€κ°μ μ¬μ©ν μ μμ.
01-5. ν€
릴λ μ΄μ μμ ν¬νλ€μ μ μΌνκ² κ΅¬λ³νλ μμ± λλ μμ±λ€μ μ§ν©
- ν€μ νΉμ±
- μ μΌμ±(uniqueness): νλμ 릴λ μ΄μ μμ λͺ¨λ ν¬νμ μλ‘ λ€λ₯Έ ν€ κ°μ κ°μ ΈμΌ ν¨
- μ΅μμ±(minimality): κΌ νμν μ΅μνμ μμ±λ€λ‘λ§ ν€λ₯Ό ꡬμ±
- ν€μ μ’
λ₯
- μνΌν€(super key)
- μ μΌμ±μ λ§μ‘±νλ μμ± λλ μμ±λ€μ μ§ν©
- μ) κ³ κ° λ¦΄λ μ΄μ μ μνΌν€ : κ³ κ°μμ΄λ, (κ³ κ°μμ΄λ, κ³ κ°μ΄λ¦), (κ³ κ°μ΄λ¦, μ£Όμ) λ±
- ν보ν€(candidate key)
- μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±νλ μμ± λλ μμ±λ€μ μ§ν©
- μ) κ³ κ° λ¦΄λ μ΄μ μ νλ³΄ν€ : κ³ κ°μμ΄λ, (κ³ κ°μ΄λ¦, μ£Όμ) λ±
- κΈ°λ³Έν€(primary key)
- νλ³΄ν€ μ€μμ κΈ°λ³Έμ μΌλ‘ μ¬μ©νκΈ° μν΄ μ νν ν€
- μ) κ³ κ° λ¦΄λ μ΄μ μ κΈ°λ³Έν€ : κ³ κ°μμ΄λ
- λ체ν€(alternate key)
- κΈ°λ³Έν€λ‘ μ νλμ§ λͺ»ν ν보ν€
- μ) κ³ κ° λ¦΄λ μ΄μ μ λμ²΄ν€ : (κ³ κ°μ΄λ¦, μ£Όμ)
- μΈλν€(foreign key)
- λ€λ₯Έ 릴λ μ΄μ μ κΈ°λ³Έν€(λ체ν€)λ₯Ό μ°Έμ‘°νλ μμ± λλ μμ±λ€μ μ§ν©
- 릴λ μ΄μ
λ€ κ°μ κ΄κ³λ₯Ό νν
- μ°Έμ‘°νλ 릴λ μ΄μ : μΈλν€λ₯Ό κ°μ§ 릴λ μ΄μ
- μ°Έμ‘°λλ 릴λ μ΄μ : μΈλν€κ° μ°Έμ‘°νλ κΈ°λ³Έν€λ₯Ό κ°μ§ 릴λ μ΄μ
- μΈλν€ μμ±κ³Ό κ·Έκ²μ΄ μ°Έμ‘°νλ κΈ°λ³Έν€ μμ±μ μ΄λ¦μ λ¬λΌλ λμ§λ§ λλ©μΈμ κ°μμΌ νλ€.
- νλμ 릴λ μ΄μ μλ μΈλν€κ° μ¬λ¬ κ° μ‘΄μ¬ν μλ μκ³ μΈλν€λ₯Ό κΈ°λ³Έν€λ‘ μ¬μ©ν μλ μλ€. λν μΈλν€λ₯Ό ν¬ν¨νμ¬ κΈ°λ³Έν€λ₯Ό ꡬμ±ν μλ μλ€.
- κ°μ 릴λ μ΄μ μ κΈ°λ³Έν€λ₯Ό μ°Έμ‘°νλ μΈλν€λ μ μν μ μλ€. (μν κ΄κ³)
- μΈλν€ μμ±μ λ κ°μ κ°μ§ μλ μλ€.
- μνΌν€(super key)
μ 리
02. κ΄κ³ λ°μ΄ν° λͺ¨λΈμ μ μ½
λ¬΄κ²°μ± μ μ½μ‘°κ±΄(integrity constraint)
- λ°μ΄ν°μ 무결μ±μ 보μ₯νκ³ μΌκ΄λ μνλ‘ μ μ§νκΈ° μν κ·μΉ
- 무결μ±: λ°μ΄ν°λ₯Ό κ²°ν¨μ΄ μλ μν, μ¦ μ ννκ³ μ ν¨νκ² μ μ§νλ κ²
- κ°μ²΄ λ¬΄κ²°μ± μ μ½μ‘°κ±΄(entity integrity constraint)
- κΈ°λ³Έν€λ₯Ό ꡬμ±νλ λͺ¨λ μμ±μ λ κ°μ κ°μ§ μ μλ κ·μΉ
- DBMSλ κΈ°λ³Έν€ μ§μ μ ν μμ±μ λ κ°μ λ£μΌλ € νλ©΄ μλ¬κ° λλ€.
- μ°Έμ‘° λ¬΄κ²°μ± μ μ½μ‘°κ±΄(referential integrity constraint)
- μΈλν€λ μ°Έμ‘°ν μ μλ κ°μ κ°μ§ μ μλ κ·μΉ
- ex)κ³ κ° λ¦΄λ μ΄μ μ μ‘΄μ¬νμ§ μλ κ³ κ°μ΄ μ£Όλ¬Έν¨ γ ‘> DBMSκ° μ°Έμ‘°λ₯Ό λ§μ
- νμ§λ§ μΈλν€ μμ±μ΄ null κ°μ κ°μ§λ€κ³ ν΄μ μ°Έμ‘° λ¬΄κ²°μ± μ μ½μ‘°κ±΄μ μλ°νλ κ²μ μλλ€. κ³ κ° λ¦΄λ μ΄μ μ μ‘΄μ¬νμ§ μλ κ³ κ°μ΄ μ£Όλ¬Ένλ€κ³ νλ¨νκΈ°μ μ΄λ €μμ΄ μλ€. κ·Έμ μμ± κ°μ΄ λκ΅°μ§ λͺ¨λ₯Ό λΏμ΄λ€.
'DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
8μ₯ λ°μ΄ν°λ² μ΄μ€ μ€κ³ (0) | 2021.06.20 |
---|---|
7μ₯ λ°μ΄ν°λ² μ΄μ€ μΈμ΄ SQL (0) | 2021.04.17 |
6μ₯ κ΄κ³ λ°μ΄ν° μ°μ° (0) | 2021.04.17 |
4μ₯ λ°μ΄ν° λͺ¨λΈλ§ (0) | 2021.03.17 |
3μ₯ λ°μ΄ν°λ² μ΄μ€ μμ€ν - DBS (0) | 2021.03.11 |
2μ₯ λ°μ΄ν°λ² μ΄μ€ κ΄λ¦¬ μμ€ν - DBMS (0) | 2021.03.11 |