자격증/SQLD

[SQLD] 1-1-5 μ‹λ³„μž Identifier

NaNaRinπŸ™ƒ 2021. 2. 3. 16:44

데이터 λͺ¨λΈλ§μ˜ 이해  -  1μž₯ 데이터 λͺ¨λΈλ§μ˜ 이해  -  5절 μ‹λ³„μž Identifier

 

1. μ‹λ³„μž Identifier

  - μ—”ν‹°ν‹°λ₯Ό λŒ€ν‘œν•  수 μžˆλŠ” μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ” 속성, μ—”ν‹°ν‹° λ‚΄μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό ꡬ뢄할 수 μžˆλŠ” κ΅¬λΆ„μž ( ex νšŒμ› ID, κ³„μ’Œλ²ˆν˜Έ, μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ, μ—¬κΆŒλ²ˆν˜Έ λ“± )

 

2. μ‹λ³„μžμ˜ λΆ„λ₯˜

  (1) λŒ€ν‘œμ„± 여뢀에 λ”°λ₯Έ μ‹λ³„μžμ˜ μ’…λ₯˜

     - μ£Ό μ‹λ³„μž : μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜λ©΄μ„œ μ—”ν‹°ν‹°λ₯Ό λŒ€ν‘œν•˜λŠ” μ‹λ³„μž. λ‹€λ₯Έ 엔티티와 μ°Έμ‘° κ΄€κ³„λ‘œ μ—°κ²° κ°€λŠ₯

     - 보쑰 μ‹λ³„μž : μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ€ λ§Œμ‘±ν•˜μ§€λ§Œ λŒ€ν‘œμ„±μ„ λ§Œμ‘±ν•˜μ§€ λͺ»ν•˜λŠ” μ‹λ³„μž

  (2) 생성 여뢀에 λ”°λ₯Έ μ‹λ³„μžμ˜ μ’…λ₯˜

     - λ‚΄λΆ€ μ‹λ³„μž : μ—”ν‹°ν‹° λ‚΄λΆ€μ—μ„œ 슀슀둜 μƒμ„±λ˜λŠ” μ‹λ³„μž ( ex λΆ€μ„œμ½”λ“œ, 주문번호, μ’…λͺ©μ½”λ“œ λ“± )

     - μ™ΈλΆ€ μ‹λ³„μž : λ‹€λ₯Έ μ—”ν‹°ν‹°μ™€μ˜ κ΄€κ³„λ‘œ μΈν•˜μ—¬ λ§Œλ“€μ–΄μ§€λŠ” μ‹λ³„μž ( ex κ³„μ’Œ μ—”ν‹°ν‹°μ˜ νšŒμ› ID λ“±)

  (2) μ†μ„±μ˜ μˆ˜μ— λ”°λ₯Έ μ‹λ³„μžμ˜ μ’…λ₯˜

     - 단일 μ‹λ³„μž : ν•˜λ‚˜μ˜ μ†μ„±μœΌλ‘œ ꡬ성

     - 볡합 μ‹λ³„μž : 두 개 μ΄μƒμ˜ μ†μ„±μœΌλ‘œ ꡬ성

  (2) λŒ€μ²΄ 여뢀에 λ”°λ₯Έ μ‹λ³„μžμ˜ μ’…λ₯˜

     - 본질 μ‹λ³„μž : λΉ„μ¦ˆλ‹ˆμŠ€ ν”„λ‘œμ„ΈμŠ€μ—μ„œ λ§Œλ“€μ–΄μ§€λŠ” μ‹λ³„μž

     - 인쑰 μ‹λ³„μž : μΈμœ„μ μœΌλ‘œ λ§Œλ“€μ–΄μ§€λŠ” μ‹λ³„μž. 후보킀 μ€‘μ—μ„œ κΈ°λ³Έν‚€λ‘œ μ„ μ •ν•  것이 μ—†κ±°λ‚˜ κΈ°λ³Έν‚€κ°€ λ„ˆλ¬΄ λ§Žμ€ 칼럼으둜 된 κ²½μš°μ— μ‚¬μš©. 즉 μˆœμ„œλ²ˆν˜Έλ₯Ό μ‚¬μš©ν•˜μ—¬ μ‹λ³„μžλ₯Ό λ§Œλ“œλŠ” 것 ( ex μ œν’ˆ μ½”λ“œ λ“± )

 

3. μ£Όμ‹λ³„μž ( κΈ°λ³Έν‚€ : Primary Key )

  - μ΅œμ†Œμ„± : μ£Όμ‹λ³„μžλ₯Ό κ΅¬μ„±ν•˜λŠ” μ†μ„±μ˜ μˆ˜λŠ” μœ μΌμ„±μ„ λ§Œμ‘±ν•˜λŠ” μ΅œμ†Œμ˜ μˆ˜κ°€ λ˜μ–΄μ•Ό ν•œλ‹€

  - λŒ€ν‘œμ„± : μ—”ν‹°ν‹°λ₯Ό λŒ€ν‘œν•  수 μžˆμ–΄μ•Ό ν•œλ‹€

  - μœ μΌμ„± : μ—”ν‹°ν‹°μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό μœ μΌν•˜κ²Œ μ‹λ³„ν•œλ‹€

  - λΆˆλ³€μ„± : 자주 λ³€κ²½λ˜μ§€ μ•Šμ•„μ•Ό ν•œλ‹€

  - μ£Όμ‹λ³„μžκ°€ μ§€μ •λ˜λ©΄ λ°˜λ“œμ‹œ 값이 듀어와야 ν•œλ‹€

 

4. μ£Όμ‹λ³„μž λ„μΆœ κΈ°μ€€

  - ν•΄λ‹Ή μ—…λ¬΄μ—μ„œ 자주 μ΄μš©λ˜λŠ” 속성을 μ£Όμ‹λ³„μžλ‘œ μ§€μ •ν•œλ‹€

  - λͺ…μΉ­, λ‚΄μ—­ λ“±κ³Ό 같이 μ΄λ¦„μœΌλ‘œ κΈ°μˆ λ˜λŠ” 것듀은 κ°€λŠ₯ν•˜λ©΄ μ£Όμ‹λ³„μžλ‘œ μ§€μ •ν•˜μ§€ μ•ŠλŠ”λ‹€

  - μ—¬λŸ¬ 속성을 λ³΅ν•©μ μœΌλ‘œ μ£Όμ‹λ³„μžλ‘œ ꡬ성할 경우 λ„ˆλ¬΄ λ§Žμ€ 속성이 ν¬ν•¨λ˜μ§• μ•Šλ„λ‘ ν•œλ‹€

  - 자주 μˆ˜μ •λ˜λŠ” 속별이 μ£Όμ‹λ³„μžκ°€ 되면 μžμ‹ 엔터티에 λŒ€ν•œ 연쇄 μˆ˜μ •μ΄ ν•„μš”ν•˜μ—¬ μ‹œμŠ€ν…œ 상에 λΆ€ν•˜μ˜ 원인이 될 수 μžˆλ‹€

 

5. ν‚€μ˜ μ’…λ₯˜

  - κΈ°λ³Έν‚€ Primary Key : 후보킀 μ€‘μ—μ„œ μ—”ν‹°ν‹°λ₯Ό λŒ€ν‘œν•  수 μžˆλŠ” ν‚€

  - 후보킀 Candidate Key : μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜λŠ” ν‚€. κΈ°λ³Έν‚€ + λŒ€μ²΄ν‚€

  - μŠˆνΌν‚€ Super Key : μœ μΌμ„±μ€ λ§Œμ‘±ν•˜μ§€λ§Œ μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜μ§€λŠ” μ•ŠλŠ” ν‚€

  - λŒ€μ²΄ν‚€ Alternate Key : μ—¬λŸ¬ 개의 후보킀 μ€‘μ—μ„œ κΈ°λ³Έν‚€λ₯Ό μ„ μ •ν•˜κ³  남은 ν‚€

  - μ™Έλž˜ν‚€ Foreign Key : ν•˜λ‚˜ ν˜Ήμ€ λ‹€μˆ˜μ˜ λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ κΈ°λ³Έ ν‚€ ν•„λ“œλ₯Ό κ°€λ¦¬ν‚€λŠ” κ²ƒμœΌλ‘œ μ°Έμ‘° 무결성을 ν™•μΈν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©λ˜λŠ” ν‚€. 즉, ν—ˆμš©λœ 데이터 κ°’λ§Œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©