70. λ°μ΄ν°λ² μ΄μ€ μ€κ³
λ°μ΄ν°λ² μ΄μ€ μ€κ³
• λ°μ΄ν°λ² μ΄μ€ μ€κ³ μ κ³ λ €μ¬ν
- 무결μ±(μ νμ±) : μ°μ° ν, λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ λ°μ΄ν°κ° μ ν΄μ§ μ μ½μ‘°κ±΄μ νμ λ§μ‘±ν΄μΌ ν¨
- μΌκ΄μ±
- ν볡
- 보μ
- ν¨μ¨μ± : μλ΅ μκ°μ λ¨μΆ, μμ€ν μ μμ°μ±, μ μ₯곡κ°μ μ΅μ ν λ±μ΄ κ°λ₯ν΄μΌ ν¨
- λ°μ΄ν°λ² μ΄μ€ νμ₯
• λ°μ΄ν°λ² μ΄μ€ μ€κ³ μμ
1. μꡬ 쑰건 λΆμ
λ°μ΄ν°λ² μ΄μ€λ₯Ό μ¬μ©ν μ¬λλ€λ‘λΆν° νμν μ©λλ₯Ό νμ νλ κ²
- λ°μ΄ν°λ² μ΄μ€ μ¬μ©μμ λ°λ₯Έ μν μ 무μ νμν λ°μ΄ν°μ μ’ λ₯, μ©λ, μ²λ¦¬ νν, νλ¦, μ μ½ μ‘°κ±΄ λ±μ μμ§
- μμ§λ μ 보λ₯Ό λ°νμΌλ‘ μꡬ 쑰건 λͺ μΈ μμ±
2. κ°λ μ μ€κ³(μ 보 λͺ¨λΈλ§, κ°λ ν)
μ 보μ ꡬ쑰λ₯Ό μ»κΈ° μνμ¬ νμ€ μΈκ³μ 무νμ±κ³Ό κ³μμ±μ μ΄ν΄νκ³ , λ€λ₯Έ μ¬λκ³Ό ν΅μ νκΈ° μνμ¬ νμ€ μΈκ³μ λν μΈμμ μΆμμ κ°λ μΌλ‘ νννλ κ³Όμ
- κ°λ μ€ν€λ§ λͺ¨λΈλ§, νΈλμμ λͺ¨λΈλ§, E-R λ€μ΄μ΄ κ·Έλ¨
3. λ Όλ¦¬μ μ€κ³(λ°μ΄ν° λͺ¨λΈλ§)
νμ€ μΈκ³μμ λ°μνλ μλ£λ₯Ό μ»΄ν¨ν°κ° μ΄ν΄νκ³ μ²λ¦¬ν μ μλ 물리μ μ μ₯μ₯μΉμ μ μ₯ν μ μλλ‘ λ³ννκΈ° μν΄ νΉμ DBMSκ° μ§μνλ λ Όλ¦¬μ μλ£ κ΅¬μ‘°λ‘ λ³νμν€λ κ³Όμ
- λ Όλ¦¬ μ€ν€λ§ μ€κ³, νΈλμμ μΈν°νμ΄μ€ μ€κ³, κ΄κ³ν DB - TABLE / κ³μΈ΅ν DB - Tree / λ§ν DB - Graph μ€κ³
4. 물리μ μ€κ³(λ°μ΄ν° ꡬ쑰ν)
λ Όλ¦¬μ μ€κ³ λ¨κ³μμ λ Όλ¦¬μ κ΅¬μ‘°λ‘ ννλ λ°μ΄ν°λ₯Ό λμ€ν¬ λ±μ 물리μ μ μ₯μ₯μΉμ μ μ₯ν μ μλ 물리μ ꡬ쑰μ λ°μ΄ν°λ‘ λ³ννλ κ³Όμ
- λ°μ΄ν°κ° μ»΄ν¨ν°μ μ μ₯
5. ꡬν
λ Όλ¦¬μ μ€κ³ λ¨κ³μ 물리μ μ€κ³ λ¨κ³μμ λμΆλ λ°μ΄ν°λ² μ΄μ€ μ€ν€λ§λ₯Ό νμΌλ‘ μμ±νλ κ³Όμ
- DBMSμ DDLμ μ΄μ©ν΄ λ°μ΄ν°λ² μ΄μ€ νμΌ μμ±
71. λ°μ΄ν° λͺ¨λΈμ κ°λ
λ°μ΄ν° λͺ¨λΈ
νμ€ μΈκ³μ μ 보λ€μ μ»΄ν¨ν°μ νννκΈ° μν΄μ λ¨μν, μΆμννμ¬ μ²΄κ³μ μΌλ‘ ννν κ°λ μ λͺ¨ν
• λ°μ΄ν° λͺ¨λΈμ κ΅¬μ± μμ
- κ°μ²΄(Entity) : λ°μ΄ν°λ² μ΄μ€μ νννλ €λ κ², μ¬λμ΄ μκ°νλ κ°λ μ΄λ μ 보 λ¨μ κ°μ νμ€ μΈκ³μ λμ체
- μμ±(Attribute) : λ°μ΄ν°μ κ°μ₯ μμ λ Όλ¦¬μ λ¨μ, νμΌ κ΅¬μ‘°μμ λ°μ΄ν° νλͺ© λλ λ°μ΄ν° νλμ ν΄λΉ
- κ΄κ³(Relationship) : κ°μ²΄ κ°μ κ΄κ³ λλ μμ± κ°μ λ Όλ¦¬μ μΈ μ°κ²° μλ―Έ
• λ°μ΄ν° λͺ¨λΈμ νμν μμ
- ꡬ쑰(Structure) : λ Όλ¦¬μ μΌλ‘ ννλ κ°μ²΄ νμ λ€ κ°μ κ΄κ³λ‘μ λ°μ΄ν° ꡬ쑰 λ° μ μ μ±μ§ νν
- μ°μ°(Operation) : DBμ μ μ₯λ μ€μ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ μμ μ λν λͺ μΈ, λ°μ΄ν°λ² μ΄μ€λ₯Ό μ‘°μνλ κΈ°λ³Έ λꡬ
- μ μ½ μ‘°κ±΄(Constraint) : μ€μ λ°μ΄ν°μ λ Όλ¦¬μ μΈ μ μ½ μ‘°κ±΄
• λ°μ΄ν° λͺ¨λΈ μ’ λ₯
- κ°λ μ λ°μ΄ν° λͺ¨λΈ(μ 보 λͺ¨λΈ)
- λ Όλ¦¬μ λ°μ΄ν° λͺ¨λΈ : κ΄κ³ λͺ¨λΈ, κ³μΈ΅ λͺ¨λΈ, λ€νΈμν¬ λͺ¨λΈλ‘ ꡬλΆ
- 물리μ λ°μ΄ν° λͺ¨λΈ
72. λ°μ΄ν° λͺ¨λΈμ κ΅¬μ± μμ - κ°μ²΄(Entitiy)
κ°μ²΄
λ°μ΄ν°λ² μ΄μ€μ νννλ €λ κ², μ¬λμ΄ μκ°νλ κ°λ μ΄λ μ 보 λ¨μ κ°μ νμ€ μΈκ³μ λμ체
ex) λ€μμ κ΅μ λ²νΈ, μ±λͺ , μ 곡, μμμΌλ‘ ꡬμ±λ κ΅μ κ°μ²΄μ΄λ€.
- μμ± : κ°μ²΄κ° κ°μ§κ³ μλ νΉμ± - μ±λͺ , μ 곡, μμ, κ΅μ λ²νΈ
- κ°μ²΄ μΈμ€ν΄μ€ : κ°μ²΄λ₯Ό ꡬμ±νκ³ μλ κ° μμ±λ€μ΄ κ°μ κ°μ Έ νλμ κ°μ²΄λ₯Ό λνλ΄λ κ², μ΄μ»€λ°μ€(Occurrence)λΌκ³ λ ν¨
• κ°μ²΄μ νΉμ±
- μ€μΈκ³μ λ 립μ μΌλ‘ μ‘΄μ¬νλ μ ν, 무νμ μ λ³΄λ‘ μλ‘ μ°κ΄λ λͺκ°μ μμ±μΌλ‘ ꡬμ±
- νμΌ μμ€ν μ λ μ½λμ λμνλ κ²
- μμμ μΌλ‘ μ‘΄μ¬νλ κ°μ²΄μ μ§ν©
- λ 립μ μΌλ‘ μ‘΄μ¬νκ±°λ κ·Έ μ체λ‘μλ κ΅¬λ³ κ°λ₯
- μ μΌν μλ³μμ μν΄ μλ³ κ°λ₯
- λ€λ₯Έ κ°μ²΄μ νλ μ΄μμ κ΄κ³κ° μμ
• κ°μ²΄ μ μ λ°©λ²
- μ€μ μ 무λ₯Ό λ΄λΉνκ³ μλ λ΄λΉμμ μΈν°λ·°ν¨
- μ 무 κΈ°μ μ μ΄μ©
- μλ£ νλ¦λ (DFD)λ₯Ό ν΅ν΄ μ 무 λΆμμ μννμ κ²½μ° μλ£ νλ¦λμ μλ£ μ μ₯μ (Data Store)λ₯Ό μ΄μ©
- νμ μ μ₯ν νμ©
μλ£ νλ¦λ (DFD) : μꡬμ¬ν λΆμμμ μλ£μ νλ¦ λ° λ³ν κ³Όμ κ³Ό κΈ°λ₯μ λν μ€μ¬μΌλ‘ κΈ°μ νλ λ°©λ²
μλ£ μ μ₯μ (Data Sore) : μμ€ν μμμ μλ£ μ μ₯μ(νμΌ, λ°μ΄ν°λ² μ΄μ€)λ₯Ό μλ―Έ
73. λ°μ΄ν° λͺ¨λΈμ κ΅¬μ± μμ - μμ±(Attribute)
μμ±
λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμ±νλ κ°μ₯ μμ λ Όλ¦¬μ λ¨μ
• μμ±μ νΉμ±
- νμΌ κ΅¬μ‘°μμ λ°μ΄ν° νλͺ© λλ λ°μ΄ν° νλμ ν΄λΉ
- κ°μ²΄λ₯Ό ꡬμ±νλ νλͺ©
- κ°μ²΄μ νΉμ±μ κΈ°μ
μ°¨μ (Degree) : μμ±μ μ
• μμ±μ μ’ λ₯
μμ±μ νΉμ±κ³Ό κ°μ²΄ κ΅¬μ± λ°©μμ λ°λΌ λΆλ₯ ν μ μμ
β¦ μμ±μ νΉμ±μ λ°λ₯Έ λΆλ₯
κΈ°λ³Έ μμ± (Basic Attribute) |
μ 무 λΆμμ ν΅ν΄ μ μν μμ± - μμ± μ€ κ°μ₯ λ§κ³ μΌλ°μ - μ 무λ‘λΆν° λΆμν μμ±μ΄λΌλ μ 무μ μ½λλ‘ μ μν μμ±μ κΈ°λ³Έ μμ±μμ μ μΈ |
μ€κ³ μμ± (Designed Attribute) |
μλ μ 무μ μ‘΄μ¬νμ§ μκ³ μ€κ³ κ³Όμ μμ λμΆν΄λ΄λ μμ± - μ 무μ νμν λ°μ΄ν° μΈμ λ°μ΄ν° λͺ¨λΈλ§μ μν΄ μ 무λ₯Ό κ·μΉννλ €κ³ μμ±μ μλ‘ λ§λ€κ±°λ λ³ννμ¬ μ μνλ μμ± |
νμ μμ± (Derived Attribute) |
λ€λ₯Έ μμ±μΌλ‘λΆν° κ³μ°μ΄λ λ³ν λ±μ μν₯μ λ°μ λ°μνλ μμ± - νμ μμ±μ λλλ‘ μ μ μλ‘ μ μ |
β¦ κ°μ²΄ κ΅¬μ± λ°©μμ λ°λ₯Έ λΆλ₯
κΈ°λ³Έν€ μμ± (Primary Key Attribute) |
κ°μ²΄μ μμ±μ μλ³ν μ μλ μμ± |
μΈλ ν€ μμ± (Foreign Key Attribute) |
λ€λ₯Έ κ°μ²΄μμ κ΄κ³μμ ν¬ν¨λ μμ± |
μΌλ° μμ± |
κ°μ²΄μ ν¬ν¨λμ΄ μκ³ κΈ°λ³Έν€, μΈλ ν€μ ν¬ν¨λμ§ μμ μμ± |
β¦ μμ± ν보 μ μ μμΉ
- μμ μμ±μΌλ‘ νλ¨λλ μμ± ν보λ λ²λ¦¬μ§ μλλ€.
μμ μμ± : λ€λ₯Έ μμ±μ ν΅ν΄ λ€μ μ¬νν μ μλ μμ±
β¦ μμ±λͺ μ§μ μμΉ
- ν΄λΉ μ 무μμ μ¬μ©νλ μ©μ΄λ‘ μ§μ
- μμ ν X, μ½μ΄ μ ν
- κ°μ²΄λͺ μ μμ±λͺ μΌλ‘ μ¬μ©ν μ μμ
- κ°μ²΄μμ μ μΌνκ² μλ³ κ°λ₯νλλ‘ μ§μ
74. λ°μ΄ν° λͺ¨λΈμ κ΅¬μ± μμ - κ΄κ³(Relationship)
κ΄κ³
κ°μ²΄μ κ°μ²΄ μ¬μ΄μ λ Όλ¦¬μ μΈ μ°κ²°μ μλ―Έ
- κ΄κ³μλ κ°μ²΄ κ°μ κ΄κ³μ μμ±κ°μ κ΄κ³κ° μμ
β¦ κ΄κ³μ νν
β¦ κ΄κ³μ μ’ λ₯
- μ’ μ κ΄κ³(Dependent Relationship) : λ κ°μ²΄ μ¬μ΄μ μ£Όμ’ κ΄κ³λ₯Ό ννν κ²μΌλ‘, μλ³ κ΄κ³μ λΉμλ³ κ΄κ³κ° μμ
- μ€λ³΅ κ΄κ³(Redundant Relationship) : λ κ°μ²΄ μ¬μ΄μ 2λ² μ΄μμ μ’ μ κ΄κ³κ° λ°μνλ κ΄κ³
- μ¬κ· κ΄κ³(Recursive Relationship) : κ°μ²΄κ° μκΈ° μμ κ³Ό κ΄κ³λ₯Ό κ°λ κ², μν κ΄κ³λΌκ³ λ ν¨
- λ°°ν κ΄κ³(Exclusive Relationship) : κ°μ²΄μ μμ±μ΄λ ꡬλΆμλ₯Ό κΈ°μ€μΌλ‘ κ°μ²΄μ νΉμ±μ λΆν νλ κ΄κ³, λ°°ν AND κ΄κ³μ λ°°ν OR κ΄κ³λ‘ ꡬλΆ
β¦ μλ³κ΄κ³μ λΉμλ³ κ΄κ³
- μλ³ κ΄κ³ : κ°μ²΄ A, B μ¬μ΄μ κ΄κ³μμ A κ°μ²΄μ κΈ°λ³Έν€κ° B κ°μ²΄μ μΈλν€μ΄λ©΄μ λμμ κΈ°λ³Έν€κ° λλ κ΄κ³
- λΉμλ³ κ΄κ³ : κ°μ²΄ A,B μ¬μ΄μ κ΄κ³μμ A κ°μ²΄μ κΈ°λ³Έν€κ° B κ°μ²΄μ λΉ κΈ°λ³Έν€ μμμμ μΈλ ν€κ° λλ κ΄κ³
76. E-R(κ°μ²΄-κ΄κ³) λͺ¨λΈ
E-R (Entity-Relationship, κ°μ²΄-κ΄κ³) λͺ¨λΈ
κ°λ μ λͺ¨λΈμ κ°μ₯ λνμ μΈ κ², 1976λ νΌν° μ²Έ(Peter Chen)μ μν΄ μ μλ¨
- E-R λ€μ΄μ΄κ·Έλ¨μΌλ‘ νννλ©°, 1:1, 1:N, N:M λ±μ κ΄κ³ μ νμ μ ν μμ΄ λνλΌ μ μμ
E-R λ€μ΄μ΄κ·Έλ¨
E-R λͺ¨λΈμ κΈ°λ³Έ μμ΄λμ΄λ₯Ό μ΄ν΄νκΈ° μ½κ² κΈ°νΈλ₯Ό μ¬μ©νμ¬ μκ°μ μΌλ‘ ννν κ·Έλ¦Ό
β¦ E-R λ€μ΄μ΄κ·Έλ¨ νκΈ°λ²
1. νΌν° μ²Έ νκΈ°λ²
ex)
- κ°μ²΄ : κ³ κ°, μ£Όλ¬Έμ
- κ³ κ°μ μμ± : κ³ κ°λ²νΈ, μ±λͺ , μ£Όμ
- μ£Όλ¬Έμμ μμ± : μ£Όλ¬Έλ²νΈ, νλͺ , μλ, κΈμ‘
- λ°μ€ μΉ μμ±μ κΈ°λ³Έν€
2. μ 보 곡ν νκΈ°λ²(Information Engineering Notation)
1981λ μ ν΄λ¦¬ν νκ²μ¬νμΈκ³Ό μ μμ€ λ§ν΄μ΄ 곡λ κ°λ°
β¦ κ΄κ³ νκΈ° κΈ°νΈ
78. κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ ꡬ쑰
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€
1970λ IBMμ 근무νλ μ½λμ μν΄ μ²μ μ μλ¨
- κ°μ²΄μ κ΄κ³λ₯Ό λͺ¨λ 릴λ μ΄μ μ΄λΌλ νλ‘ μμ±
β¦ κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ Relation ꡬ쑰
릴λ μ΄μ μ λ°μ΄ν°λ€μ νμ ννλ‘ ννν κ²
1. νν(Tuple)
- 릴λ μ΄μ μ ꡬμ±νλ κ°κ°μ ν
- ννμ μμ±μ λͺ¨μμΌλ‘ ꡬμ±
- νμΌκ΅¬μ‘°μμ λ μ½λμ κ°μ μλ―Έ
- ννμ μ = μΉ΄λλ리ν°(Cardinality) = κΈ°μ = λμμ
2. μμ±(Attribute)
- λ°μ΄ν°λ² μ΄μ€λ₯Ό ꡬμ±νλ κ°μ₯ μμ λ Όλ¦¬μ λ¨μ
- νμΌκ΅¬μ‘°μμ λ°μ΄ν° νλͺ© λλ λ°μ΄ν° νλμ κ°μ μλ―Έ
- κ°μ²΄μ νΉμ±μ κΈ°μ
- μμ±μ μ = λ그리(Degree) = μ°¨μ
3. λλ©μΈ(Domain)
- νλμ μμ±μ΄ μ·¨ν μ μλ κ°μ νμ μ μμ κ°λ€μ μ§ν©
⦠릴λ μ΄μ μ νΉμ§
- ν 릴λ μ΄μ μλ λκ°μ ννμ΄ ν¬ν¨λ μ μμΌλ―λ‘ λ¦΄λ μ΄μ μ ν¬ν¨λ ννλ€μ λͺ¨λ μμ΄νλ€.
- ν 릴λ μ΄μ μ ν¬ν¨λ νν μ¬μ΄μλ μμκ° μλ€.
- 릴λ μ΄μ μ€ν€λ§λ₯Ό ꡬμ±νλ μμ±λ€ κ°μ μμλ μ€μνμ§ μλ€.
- μμ±μ μ μΌν μλ³μ μν΄ μμ±μ λͺ μΉμ μ μΌν΄μΌ νμ§λ§, μμ±μ ꡬμ±νλ κ°μ λμΌν κ°μ΄ μμ μ μλ€.
- μμ±μ κ°μ λ Όλ¦¬μ μΌλ‘ λ μ΄μ μͺΌκ°€ μ μλ μμκ°λ§μ μ μ₯νλ€.
79. κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ μ μ½μ‘°κ±΄ - ν€(Key)
ν€ (Key)
λ°μ΄ν°λ² μ΄μ€μμ 쑰건μ λ§μ‘±νλ ννμ μ°Ύκ±°λ μμλλ‘ μ λ ¬ν λ ννλ€μ μλ‘ κ΅¬λΆν μ μλ κΈ°μ€μ΄ λλ μμ±
β¦ ν€μ μ’ λ₯
1. ν보ν€(Candidate Key) : 릴λ μ΄μ μ ꡬμ±νλ μμ±λ€ μ€ ννμ μ μΌνκ² μλ³νκΈ° μν΄ μ¬μ©νλ μμ±λ€μ λΆλΆ μ§ν©, μ¦ κΈ°λ³Έν€λ‘ μ¬μ©ν μ μλ μμ±λ€
- λͺ¨λ 릴λ μ΄μ μλ λ°λμ νλ μ΄μμ ν보ν€κ° μ‘΄μ¬
- ν보ν€λ 릴λ μ΄μ μ μλ λͺ¨λ ννμ λν΄μ μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±μμΌμΌ ν¨
μ μΌμ± (Unique) : νλμ ν€ κ°μΌλ‘ νλμ ννλ§μ μ μΌνκ² μλ³ν μ μμ΄μΌ ν¨
μ΅μμ± (Minimality) : λͺ¨λ λ μ½λλ₯Ό μ μΌνκ² μλ³νλ λ° κΌ νμν μμ±μΌλ‘λ§ κ΅¬μ±λμ΄μΌ ν¨
ex) <νμ> 릴λ μ΄μ μμ 'νλ²'μ΄λ 'μ£Όλ―Όλ²νΈ'λ λ€λ₯Έ λ μ½λλ₯Ό μ μΌνκ² κ΅¬λ³ν μ μλ κΈ°λ³Έν€λ‘ μ¬μ©ν μ μμΌλ©° ν보ν€μ΄λ€.
2. κΈ°λ³Έν€(Primary Key) : νλ³΄ν€ μ€μμ νΉλ³ν μ μ λ μ£Όν€, μ€λ³΅λ κ° κ°μ§ μ μμ
- κΈ°λ³Έν€λ NULL κ°μ κ°μ§ μ μμ
- ν 릴λ μ΄μ μμ νΉμ ννμ μ μΌνκ² κ΅¬λ³ν μ μλ μμ±
- κΈ°λ³Έν€λ ν보ν€μ μ±μ§μ κ°μ, μ΅μμ±κ³Ό μ μΌμ±
ex) <νμ> 릴λ μ΄μ μμ 'νλ²'μ΄λ 'μ£Όλ―Όλ²νΈ'κ° κΈ°λ³Έν€κ° λ μ μκ³ , <μκ°> 릴λ μ΄μ μμ λ 'νλ²'+'κ³Όλͺ©λͺ 'μ μ‘°ν©μ΄ κΈ°λ³Έν€μ΄λ€.
3. λ체ν€(Alternate Key)
ν보ν€κ° λ μ΄μμΌ λ κΈ°λ³Έν€λ₯Ό μ μΈν λλ¨Έμ§
ex) <νμ> 릴λ μ΄μ μμ 'νλ²'μ κΈ°λ³Έν€λ‘ μ μνλ©΄ 'μ£Όλ―Όλ²νΈ'λ λ체ν€κ° λλ€.
4. μνΌν€(Super Key)
ν 릴λ μ΄μ λ΄μ μλ μμ±λ€μ μ§ν©μΌλ‘ ꡬμ±λ ν€
- 릴λ μ΄μ μ ꡬμ±νλ λͺ¨λ ννλ€ μ€ μνΌν€λ‘ ꡬμ±λ μμ±μ μ§ν©κ³Ό λμΌν κ°μ λνλμ§ μμ
- μ μΌμ±μ λ§μ‘±μν€μ§λ§, μ΅μμ±μ λ§μ‘±μν€μ§ λͺ»ν¨
ex) <νμ> 릴λ μ΄μ μμ 'νλ²', 'μ£Όλ―Όλ²νΈ', 'νλ²'+'μ£Όλ―Όλ²νΈ', 'μ£Όλ―Όλ²νΈ'+'μ±λͺ ', 'νλ²'+'μ£Όλ―Όλ²νΈ'+'μ±λͺ ' λ±μΌλ‘ μνΌν€λ₯Ό ꡬμ±ν μ μλ€.
5. μΈλν€(Foreign Key)
λ€λ₯Έ 릴λ μ΄μ μ κΈ°λ³Έν€λ₯Ό μ°Έμ‘°νλ μμ± λλ μμ±λ€μ μ§ν©
- μ°Έμ‘°λλ 릴λ μ΄μ μ κΈ°λ³Έν€μ λμλμ΄ λ¦΄λ μ΄μ κ°μ μ°Έμ‘° κ΄κ³λ₯Ό νννλλ° μ€μν λꡬ
ex) <μκ°> 릴λ μ΄μ μ΄ <νλ²> 릴λ μ΄μ μ μ°Έμ‘°νκ³ μμΌλ―λ‘ <νμ> 릴λ μ΄μ μ 'νλ²'μ κΈ°λ³Έν€μ΄κ³ , <μκ°> 릴λ μ΄μ μ 'νλ²'μ μΈλν€μ΄λ€.
80. κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ μ μ½ μ‘°κ±΄ - 무결μ±
무결μ±
λ°μ΄ν°λ² μ΄μ€μ μ μ₯λ λ°μ΄ν° κ°κ³Ό κ·Έκ²μ΄ νννλ νμ€ μΈκ³μ μ€μ κ°μ΄ μΌμΉνλ μ νμ±
⦠무결μ±μ μ’ λ₯
1. κ°μ²΄ 무결μ±(Entity Integrity) : κΈ°λ³Έν€λ₯Ό ꡬμ±νλ μ΄λ€ μμ±λ NULL κ°μ΄λ μ€λ³΅ κ°μ κ°μ§ μ μλ€λ κ·μ
2. λλ©μΈ 무결μ±(Domain Integrity, μμ 무결μ±) : μ£Όμ΄μ§ μμ± κ°μ΄ μ μλ λλ©μΈμ μν κ°μ΄μ΄μΌ νλ€λ κ·μ
ex) <μκ°>릴λ μ΄μ μ 'κ³Όλͺ©λͺ ' μμ±μλ μμ΄, μν, μ»΄ν¨ν°, λ―Έμ , μμ 5κ°μ§λ§ μ λ ₯λλλ‘ μ ν¨κ°μ΄ μ§μ λ κ²½μ° λ°λμ ν΄λΉ κ°λ§ μ λ ₯ν΄μΌ ν¨
3. μ°Έμ‘° 무결μ±(Referential Integrity) : μΈλν€ κ°μ NULLμ΄κ±°λ μ°Έμ‘° 릴λ μ΄μ μ κΈ°λ³Έν€ κ°κ³Ό λμΌν΄μΌ ν¨. μ¦ λ¦΄λ μ΄μ μ μ°Έμ‘°ν μ μλ μΈλν€ κ°μ κ°μ§ μ μλ€λ κ·μ
4. μ¬μ©μ μ μ λ¬΄κ²°μ± : μμ± κ°λ€μ΄ μ¬μ©μκ° μ μν μ μ½ μ‘°κ±΄μ λ§μ‘±ν΄μΌ νλ€λ κ·μ
β¦ λ°μ΄ν° λ¬΄κ²°μ± κ°ν
λ°μ΄ν° 무결μ±μ μ ν리μΌμ΄μ , λ°μ΄ν°λ² μ΄μ€ νΈλ¦¬κ±°, μ μ½ μ‘°κ±΄μ μ΄μ©νμ¬ κ°ν ν μ μμ
- μ ν리μΌμ΄μ : λ°μ΄ν° μμ±, μμ , μμ μ λ¬΄κ²°μ± μ‘°κ±΄μ κ²μ¦νλ μ½λλ₯Ό λ°μ΄ν° μ‘°μνλ νλ‘κ·Έλ¨ λ΄μ μΆκ°
- λ°μ΄ν°λ² μ΄μ€ νΈλ¦¬κ±° : νΈλ¦¬κ±° μ΄λ²€νΈμ λ¬΄κ²°μ± μ‘°κ±΄μ μ€ννλ μ μ°¨ν SQL μΆκ°
- μ μ½μ‘°κ±΄ : λ°μ΄ν°λ² μ΄μ€μ μ μ½ μ‘°κ±΄μ μ€μ ν΄ λ¬΄κ²°μ± μ μ§
81. κ΄κ³λμ λ° κ΄κ³ν΄μ
κ΄κ³ν΄μ
μ½λκ° μνμ Predicate Calculusμ κΈ°λ°μ λκ³ κ΄κ³ λ°μ΄ν°λ² μ΄μ€λ₯Ό μν΄ μ μ, κ΄κ³ λ°μ΄ν°μ μ°μ°μ νννλ λ°©λ²
- μνλ μ λ³΄κ° λ¬΄μμ΄λΌλ κ²λ§ μ μνλ λΉμ μ°¨μ νΉμ±μ μ§λ
- κ΄κ³λμλ‘ ννν μμ κ΄κ³ν΄μμΌλ‘ ννν μ μμ
- νν κ΄κ³ν΄μκ³Ό λλ©μΈ κ΄κ³ν΄μμ΄ μμ
κ΄κ³λμ
κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μνλ μ 보μ κ·Έ μ 보λ₯Ό κ²μνκΈ° μν΄μ μ΄λ»κ² μ λνλκ°λ₯Ό κΈ°μ νλ μ μ°¨μ μΈ μΈμ΄
- μμ κ΄κ³ μ°μ°μ : Select, Project, Join, Division
- μΌλ° μ§ν© μ°μ°μ : UNION(ν©μ§ν©), INTERSECTION(κ΅μ§ν©), DIFFERENCE(μ°¨μ§ν©), CARTESIAN PRODUCT(κ΅μ°¨κ³±)
1. Select
쑰건μ λ§λ νν,νμ μ νν΄ μλ‘μ΄ λ¦΄λ μ΄μ μ λ§λλ μ°μ°
- μν μ°μ°μ΄λΌκ³ λ ν¨
- νκΈ°νμ : σ쑰건(Relation λͺ μΉ)
- 쑰건μλ =, ≠, <, >, ≤, ≥, ∧(and), ∨(or) λ± μ¬μ©
ex) σνκ· ≥90(μ±μ ) : <μ±μ > 릴λ μ΄μ μμ ‘νκ· ’μ΄ 90μ μ΄μμΈ ννλ€μ κ²μνμμ€
2. Project
쑰건μ λ§λ μμ±, μ΄μ μ νν΄ μλ‘μ΄ λ¦΄λ μ΄μ μ λ§λλ μ°μ°
- μμ§ μ°μ°μ΄λΌκ³ λ ν¨
- μ€λ³΅μ΄ λ°μνλ©΄ μ€λ³΅μ΄ μ κ±° λ¨
- νκΈ°νμ : ∏μμ±λͺ μΉ(Relation λͺ μΉ)
ex) ∏μ΄λ¦, νκ· (μ±μ ) : <μ±μ > 릴λ μ΄μ μμ 'μ΄λ¦'κ³Ό 'νκ· ' μμ±μ μΆμΆνμμ€
3. Join
κ³΅ν΅ μμ±μ μ€μ¬μΌλ‘ λκ°μ 릴λ μ΄μ μ νλλ‘ ν©μΉλ μ°μ°
- Joinμ κ²°κ³Όλ‘ λ§λ€μ΄μ§ 릴λ μ΄μ μ μ°¨μ = μ‘°μΈλ λ 릴λ μ΄μ μ μ°¨μ ν©
- Joinμ Cartesian Product(κ΅μ°¨κ³±)μ μνν λ€μ Selectλ₯Ό μνν κ²κ³Ό κ°μ
- νκΈ°νμ : R βν€ μμ± r = ν€ μμ±s S
ex) μ±μ βNo=No νμ λΆ : <μ±μ > 릴λ μ΄μ κ³Ό <νμ λΆ> 릴λ μ΄μ μ 'No'μμ±μ κΈ°μ€μΌλ‘ ν©μΉμμ€.
μμ° μ‘°μΈ (Natural Join) : μ΄μ€ μ€λ³΅λ μμ±μ μ κ±°ν΄ κ°μ μμ±μ ν λ²λ§ νκΈ°νλ λ°©λ²
4. Division
R ⊃ SμΈ λ 릴λ μ΄μ μ΄ μμ λ, Rμ μμ±μ΄ Sμ μμ±μ κ°μ λͺ¨λ κ°μ§ ννμμ Sκ° κ°μ§ μμ±μ μ μΈν μμ±λ§μ ꡬνλ μ°μ°
- νκΈ°νμ : R[μμ±r ÷ μμ±s]S
ex) ꡬμ μ[ꡬμ ν μ½λ ÷ μμ°ν μ½λ]μμ°νμ κ²°κ³Ό
ex) ꡬμ μ[ꡬμ ν μ½λ ÷ μ΄λ¦, μμ°ν μ½λ]μμ°ν2μ κ²°κ³Ό
5. μΌλ° μ§ν© μ°μ°μ
ν©μ§ν©(∪) : λ 릴λ μ΄μ μ ννμ ν©μ§ν©
κ΅μ§ν©(∩) : λ 릴λ μ΄μ μ ννμ κ΅μ§ν©
μ°¨μ§ν©(–) : λ 릴λ μ΄μ μ ννμ μ°¨μ§ν©
κ΅μ°¨κ³±(×) : λ 릴λ μ΄μ μ ννλ€μ μμμ/ μ°¨μ = λ 릴λ μ΄μ μ μ°¨μλ₯Ό λν κ°/ μΉ΄λλλ¦¬ν° = λ 릴λ μ΄μ μ μΉ΄λλ리ν°λ₯Ό κ³±ν κ°
ex) ∏μ΄λ¦(μ¬μ) ∪ ∏μ΄λ¦(μ§μ) : <μ¬μ> 릴λ μ΄μ κ³Ό <μ§μ> 릴λ μ΄μ μμ 'μ΄λ¦'μ μΆμΆν κ²μ ν©μ§ν©μ ꡬνλ€.
ex) ∏μ΄λ¦(μ¬μ) ∩ ∏μ΄λ¦(μ§μ) : <μ¬μ> 릴λ μ΄μ κ³Ό <μ§μ> 릴λ μ΄μ μμ 'μ΄λ¦'μ μΆμΆν κ²μ κ΅μ§ν©μ ꡬνλ€.
ex) ∏μ΄λ¦(μ¬μ) – ∏μ΄λ¦(μ§μ) : <μ¬μ> 릴λ μ΄μ κ³Ό <μ§μ> 릴λ μ΄μ μμ 'μ΄λ¦'μ μΆμΆν κ²μ μ°¨μ§ν©μ ꡬνλ€.
ex) ∏μ΄λ¦(μ¬μ) × ∏μ΄λ¦(μ§μ) : <μ¬μ> 릴λ μ΄μ κ³Ό <μ§μ> 릴λ μ΄μ μμ 'μ΄λ¦'μ μΆμΆν κ²μ κ΅μ°¨κ³±μ ꡬνλ€.
82. μ κ·ν(Normalization)
μ κ·ν
μλͺ» μ€κ³λ κ΄κ³ν μ€ν€λ§λ₯Ό λ μμ μμ±μ μΈνΈλ‘ μͺΌκ°μ΄ λ°λμ§ν μ€ν€λ§λ‘ λ§λ€μ΄ κ°λ κ³Όμ
- λΆν΄νλ κ³Όμ
- λ Όλ¦¬μ μ€κ³ λ¨κ³μμ μν
- λ°μ΄ν° μ€λ³΅μ± μ΅μ, μ΄μμ λ°μ λ°©μ§, μ μ₯ 곡κ°μ μ΅μν, μΌκ΄μ± 보μ₯, λ°μ΄ν° μ νμ± μ¦κ°
- μ‘°ν μ±λ₯ μ ν(λ¨μ )
μ΄μ(Anomaly) : μ κ·νλ₯Ό κ±°μΉμ§ μμΌλ©΄ DB λ΄μ λ°μ΄ν°λ€μ΄ λΆνμνκ² μ€λ³΅λμ΄ μλμ μκ΄μμ΄ μ½μ , μμ , κ°±μ μ΄ μΌμ΄λλ νμ (μ½μ μ΄μ, μμ μ΄μ, κ°±μ μ΄μ)
β¦ μ κ·ν κ³Όμ
μ΄νμ μ’ μ : A→Bμ΄κ³ B→CμΌ λ A→Cλ₯Ό λ§μ‘±νλ κ΄κ³
83. λ°μ κ·ν (μμ κ·ν : Denormalization)
λ°μ κ·ν (μμ κ·ν)
μ κ·νλ λ°μ΄ν° λͺ¨λΈμ ν΅ν©, μ€λ³΅, λΆλ¦¬νλ κ³Όμ
- μ κ·ν κ·μΉμ μλ°°νλ νμ
- μ±λ₯ ν₯μ, ν¨μ¨μ± μ¦κ°
- μΌκ΄μ± λ° μ ν©μ± μ ν
β¦ λ°μ κ·ν λ°©λ²
1. ν μ΄λΈ ν΅ν©
λ ν μ΄λΈμ΄ μ‘°μΈλλ κ²½μ°κ° λ§μ νλμ ν μ΄λΈλ‘ ν©μΉ¨
- Not Null, Default, Check λ±μ μ μ½μ‘°κ±΄μ μ€κ³νκΈ° μ΄λ €μ
2. ν μ΄λΈ λΆν
ν μ΄λΈμ μμ§ λλ μνμΌλ‘ λΆν
3. μ€λ³΅ ν μ΄λΈ μΆκ°
μ¬λ¬ λ€λ₯Έ ν μ΄λΈμ μ¬μ©ν΄μΌ νλ κ²½μ° μ€λ³΅ ν μ΄λΈ μΆκ°
4. μ€λ³΅ μμ± μΆκ°
μ‘°μΈν΄μ λ°μ΄ν°λ₯Ό μ²λ¦¬ν λ μμ£Ό μ¬μ©νλ μμ± μΆκ°
84 μμ€ν μΉ΄νλ‘κ·Έ
μμ€ν μΉ΄νλ‘κ·Έ (System Catalog)
μμ€ν κ·Έ μ체μ κ΄λ ¨μ΄ μλ λ€μν κ°μ²΄μ κ΄ν μ 보λ₯Ό ν¬ν¨νλ μμ€ν DB
- μμ€ν μΉ΄νλ‘κ·Έ λ΄μ κ° ν μ΄λΈμ μ¬μ©μλ₯Ό ν¬ν¨ν΄ DBMSμμ μ§μνλ λͺ¨λ λ°μ΄ν° κ°μ²΄μ λν μ μλ λͺ μΈμ κ΄ν μ 보λ₯Ό μ μ§, κ΄λ¦¬νλ μμ€ν
- μΉ΄νλ‘κ·Έκ° μμ±λλ©΄ λ°μ΄ν° μ¬μ (Data Dictionary)μ μ μ₯λκΈ° λλ¬Έμ μΉ΄νλ‘κ·Έλ₯Ό λ°μ΄ν° μ¬μ μ΄λΌκ³ λ ν¨
λ©ν λ°μ΄ν° (Meta-Data) : μμ€ν μΉ΄νλ‘κ·Έμ μ μ₯λ μ 보
β¦ λ©ν λ°μ΄ν°μ μ ν
- λ°μ΄ν° λ² μ΄μ€ κ°μ²΄ μ 보 : ν μ΄λΈ, μΈλ±μ€, λ·° λ±
- μ¬μ©μ μ 보 : μμ΄λ, ν¨μ€μλ, μ κ·ΌκΆν λ±
- ν μ΄λΈμ λ¬΄κ²°μ± μ μ½ μ‘°κ±΄ μ 보 : κΈ°λ³Έν€, μΈλν€, NULL κ° νμ© μ¬λΆ
- ν¨μ, νλ‘μμ , νΈλ¦¬κ±° λ±μ λν μ 보
β¦ μΉ΄νλ‘κ·Έμ νΉμ§
- μΌλ° μ΄μ©μλ SQLμ μ΄μ©ν΄ λ΄μ©μ κ²μν΄ λ³Ό μ μμ
- DBMSκ° μ€μ€λ‘ μμ±νκ³ μ μ§
- μ¬μ©μκ° SQLλ¬Έμ μ€νμμΌ κΈ°λ³Έ ν μ΄λΈ, λ·°, μΈλ±μ€ λ±μ λ³νλ₯Ό μ£Όλ©΄ μμ€ν μ΄ μλμΌλ‘ κ°±μ
β¦ μΉ΄νλ‘κ·Έ/λ°μ΄ν° μ¬μ μ μ°Έμ‘°νκΈ° μν DBMS λ΄μ λͺ¨λ μμ€ν
- λ°μ΄ν° μ μμ΄ λ²μκΈ°
- λ°μ΄ν° μ‘°μμ΄ λ²μκΈ°
- Data Directory : μ¬μ©μ μ κ·ΌX, μμ€ν λ§ μ κ·Ό κ°λ₯
- μ§μ μ΅μ νκΈ°
- νΈλμμ μ²λ¦¬κΈ°