π― Key
ν€(Key)λ λ°μ΄ν°λ² μ΄μ€μμ 쑰건μ λ§μ‘±νλ ννμ μ°Ύκ±°λ μμλλ‘ μ λ ¬ν λ λ€λ₯Έ ννλ€κ³Ό ꡬλ³ν μ μλ μ μΌν κΈ°μ€μ΄ λλ Attribute(μμ±)
ν€λ λ°μ΄ν°λ² μ΄μ€μ μ±λ₯κ³Ό 무결μ±μ μ€μν μν μ ν©λλ€. λ°μ΄ν°λ² μ΄μ€ λμμΈ μμ ν€λ₯Ό μ μ μνμ¬, λ°μ΄ν°λ² μ΄μ€μ 무결μ±μ 보μ₯νκ³ λ°μ΄ν° κ²μ λ° μ‘°μμ ν¨μ¨μ±μ λμΌ μ μμ΅λλ€.
βοΈ νμ ν
μ΄λΈ
id | name | student_id | phone | |
---|---|---|---|---|
1 | Alice | 123 | alice@gmail.com | 123-0000 |
2 | Bob | 234 | bob@gmail.com | 234-0000 |
3 | Claire | 345 | claire@gmail.com | 345-0000 |
4 | David | 456 | david@gmail.com | 456-0000 |
5 | Emma | 567 | emma@gmail.com | 567-0000 |
κΈ°λ³Έν€ (Primary Key)
κ° λ μ½λλ₯Ό μ μΌνκ² μλ³νλ μ£Όμ ν€μ λλ€. λ°μ΄ν°λ² μ΄μ€ λ΄μ λͺ¨λ λ μ½λλ κΈ°λ³Έ ν€ κ°μ΄ λ°λμ μμ΄μΌ νλ©°, μ€λ³΅λλ κ°μ κ°μ§ μ μμ΅λλ€.
βοΈμ) id 컬λΌμ κ° λ μ½λλ₯Ό κ³ μ νκ² μλ³ν μ μλ κΈ°λ³Έ ν€μ
λλ€.
νλ³΄ν€ (Candidate Key)
κΈ°λ³Έ ν€λ‘ μ¬μ©λ μ μλ μ΄μ μ§ν©μ λ§ν©λλ€. ν보 ν€λ μ μΌμ±κ³Ό μ΅μμ±μ λ§μ‘±νλ μ΄μ μ‘°ν©μΌλ‘ ꡬμ±λ©λλ€.
βοΈμ) νμ μμ΄λ(student_id)μ μ΄λ©μΌ(email) 컬λΌμ ν보 ν€κ° λ μ μμ΅λλ€. μ΄λ€ 컬λΌμ κ°κ° μ μΌν κ°μ κ°μ§λ©°, λ μ½λλ₯Ό κ³ μ νκ² μλ³ν μ μμ΅λλ€.
λμ²΄ν€ (Alternate Key)
κΈ°λ³Έ ν€(primary key)λ‘ μ¬μ©λ μ μμ§λ§, λ μ½λλ₯Ό μ μΌνκ² μλ³ν μ μλ ν€
βοΈμ) μ νλ²νΈ(phone) 컬λΌμ λ체 ν€κ° λ μ μμ΅λλ€. μ΄ μ»¬λΌμ κ°κ° μ μΌν κ°μ κ°μ§λ©°, λ μ½λλ₯Ό κ³ μ νκ² μλ³ν μ μμ΅λλ€. κ·Έλ¬λ, μ νλ²νΈλ μΌλ°μ μΌλ‘ λ μ½λλ₯Ό κ³ μ νκ² μλ³νλ λ° μ¬μ©λμ§ μμ΅λλ€.
μΈλν€ (Foreign Key)
λ€λ₯Έ ν μ΄λΈμμ κΈ°λ³Έ ν€λ‘ μ¬μ©λλ μ΄μ μ°Έμ‘°νλ μ΄μ λλ€. μΈλ ν€λ₯Ό μ¬μ©νμ¬ λ κ° μ΄μμ ν μ΄λΈ κ°μ κ΄κ³λ₯Ό νμ±ν μ μμ΅λλ€.
βοΈμ) νμ μ 보 ν
μ΄λΈκ³Ό λ€λ₯Έ ν
μ΄λΈμ μ°κ²°νλ μΈλ ν€κ° μμ μ μμ΅λλ€. λ€λ₯Έ ν
μ΄λΈμμ νμ μμ΄λ(student_id)λ₯Ό μ°Έμ‘°νλ κ²½μ°, μ΄ μ»¬λΌμ μΈλ ν€κ° λ©λλ€.
μνΌν€ (Super Key)
λ μ½λλ₯Ό μ μΌνκ² μλ³ν μ μλ ν€μ΄λ©°, λ μ½λμ λ€λ₯Έ μμ±(attribute)λ€μ μ‘°ν©μΌλ‘ ꡬμ±λ©λλ€.
βοΈμ) μ΄λ¦(name)κ³Ό μ΄λ©μΌ(email) 컬λΌμ μ‘°ν©μ μνΌ ν€κ° λ μ μμ΅λλ€. μ΄ μ‘°ν©μ λ μ½λλ₯Ό κ³ μ νκ² μλ³ν μ μμΌλ©°, μ΄λ€ 컬λΌμ λΆλΆ μ§ν©μ κ³ μ ν κ°μΌλ‘ λ μ½λλ₯Ό μλ³ν μ μμ΅λλ€. νμ§λ§, μ΄λ¦κ³Ό μ΄λ©μΌμ λͺ¨λ ν¬ν¨νμ§ μμλ λ μ½λλ₯Ό μλ³ν μ μλ λ€λ₯Έ μ‘°ν©λ μ‘΄μ¬ν©λλ€.
'Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Database] SQL vs NoSQL (0) | 2023.03.26 |
---|---|
[Database] SQL Injection (0) | 2023.03.25 |
[Database] JOIN (0) | 2023.03.25 |
[Database] MySQL to Oracle (0) | 2021.07.31 |
[Database] Oracle 12 (0) | 2020.02.27 |