CS/Database

[CS : Database] Key

꡼벡욀 2024. 1. 30. 09:00

Key

πŸ”‘ 검색, μ •λ ¬μ‹œ Tuple을 ꡬ뢄할 수 μžˆλŠ” 기쀀이 λ˜λŠ” Attribute

 

πŸ“Œ μ’…λ₯˜

1️⃣ Candidate Key(후보킀)

: μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜λŠ” ν‚€

→ μŠˆνΌν‚€λ“€ μ€‘μ—μ„œ 속성을 μ΅œμ†Œν•œμ˜ 갯수둜 μ‚¬μš©ν•˜μ—¬ λͺ¨λ“  λ ˆμ½”λ“œλ“€μ„ ꡬ뢄 ν•  수 μžˆμ–΄μ•Ό 후보킀가 될 수 있음.

→ κΈ°λ³Έν‚€κ°€ 될 수 있기 λ•Œλ¬Έμ— ν›„λ³΄ν‚€λ‘œ 뢈림.

πŸ’­ μ˜ˆμ‹œ
    “이름+λ‚˜μ΄” μ‘°ν•©μ˜ μŠˆνΌν‚€λŠ” λ‹€λ₯Έ μŠˆνΌν‚€λ“€λ³΄λ‹€ μ†μ„±μ˜ κ°œμˆ˜κ°€ 많기 λ•Œλ¬Έμ— μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜μ§€ λͺ»ν•΄μ„œ 후보킀가 될 수 μ—†μŒ.

 

2️⃣ Primary Key(κΈ°λ³Έν‚€)

: 후보킀듀 μ€‘μ—μ„œ ν•˜λ‚˜λ₯Ό μ„ νƒν•œ ν‚€λ‘œ μ΅œμ†Œμ„±κ³Ό μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ”ν‚€

→ ν…Œμ΄λΈ”μ—μ„œ κΈ°λ³Έν‚€λŠ” 였직 1개만 μ§€μ • κ°€λŠ₯

κΈ°λ³Έν‚€λŠ” Null값을 κ°€μ§ˆ 수 μ—†κ³ , μ€‘λ³΅λœ 값을 κ°€μ§ˆ 수 μ—†μŒ.

 

3️⃣ Alternate Key(λŒ€μ²΄ν‚€)

: 후보킀가 2개 이상일 경우 κ·Έ μ€‘μ—μ„œ μ–΄λŠ ν•˜λ‚˜λ₯Ό κΈ°λ³Έν‚€λ‘œ μ§€μ •ν•˜κ³  남은 후보킀듀을 말함.

πŸ’­ μ˜ˆμ‹œ
    ν•™λ²ˆμ΄ κΈ°λ³Έν‚€λ‘œ μ„€μ •λ˜λ©΄, 남은 후보킀인 μ£Όλ―Όλ²ˆν˜ΈλŠ” λŒ€μ²΄ν‚€κ°€ 될 수 있음.

 

4️⃣ Super Key(μŠˆνΌν‚€)

: μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ” ν‚€

πŸ’­ μ˜ˆμ‹œ
    • μŠˆνΌν‚€ 후보 : ν•™λ²ˆ, 주민번호, 이름 + λ‚˜μ΄
    • μ–΄λ–€ 속성끼리 묢던 쀑볡값이 λ‚˜μ˜€μ§€ μ•Šκ²Œ μ„œλ‘œ ꡬ별할 수 있게 λ§Œλ“€λ©΄ μ–΄λ–€ 쑰합이라도 μŠˆνΌν‚€κ°€ 될 수 있음.

 

5️⃣ Foreign Key(μ™Έλž˜ν‚€)

: λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ κΈ°λ³Έν‚€λ₯Ό κ·ΈλŒ€λ‘œ μ°Έμ‘°ν•˜λŠ” μ†μ„±μ˜ μ§‘ν•©

→ 참쑰될 ν…Œμ΄λΈ”μ˜ μ—΄μ˜ 값은 κΈ°λ³Έν‚€λ‘œ μ„€μ •λ˜μ–΄μžˆμ–΄μ•Ό 함.

→ 참쑰될 λΆ€λͺ¨ν…Œμ΄λΈ”이 λ¨Όμ € μƒμ„±λœ λ’€ 데이터λ₯Ό λ„£κ³ , μ°Έμ‘°ν•˜λŠ” μžμ‹ ν…Œμ΄λΈ”μ΄ λ‹€μŒμ— 생겨야 됨.

βš οΈμ™Έλž˜ν‚€ κ΄€κ³„μ—μ„œ λΆ€λͺ¨ν…Œμ΄λΈ”을 μ‚­μ œν•˜λ €λ©΄ μžμ‹ν…Œμ΄λΈ” λ¨Όμ € μ‚­μ œν•œ ν›„ λΆ€λͺ¨ν…Œμ΄λΈ”을 μ‚­μ œν•΄μ•Ό 함.
     → λΆ€λͺ¨ν…Œμ΄λΈ”을 μ°Έμ‘°ν•˜λŠ”λ° λΆ€λͺ¨ν…Œμ΄λΈ”이 μ‚­μ œλ˜λ©΄ μžμ‹ν…Œμ΄λΈ”μ€ μ°Έμ‘°ν•˜λŠ” 것이 μ—†μ–΄μ§€κΈ° λ•Œλ¬Έμ— μ™Έλž˜ν‚€ 였λ₯˜ λ°œμƒν•¨.
πŸ’­ μ˜ˆμ‹œ

 

λ°˜μ‘ν˜•