πŸ“€ λ°μ΄ν„°λ² μ΄μŠ€ μ‹λ³„μž

SWΒ·2025λ…„ 10μ›” 31일
post-thumbnail

βœ… μ£Όμ‹λ³„μž(Primary Identifier)

ν…Œμ΄λΈ”μ˜ 각 ν–‰(λ ˆμ½”λ“œ)을 κ³ μœ ν•˜κ²Œ 식별할 수 μžˆλŠ” ν•˜λ‚˜ μ΄μƒμ˜ 속성(컬럼) μ§‘ν•©
κ°€μž₯ λŒ€ν‘œμ μΈ μ‹λ³„μžμ΄λ©°, ν”νžˆ 'κΈ°λ³Έ ν‚€(Primary Key)'라고 ν•œλ‹€.
▢️ νŠΉμ§•

  • μœ μΌμ„±(Uniqueness): ν…Œμ΄λΈ” λ‚΄μ—μ„œ 쀑볡될 수 μ—†λ‹€.
  • μ΅œμ†Œμ„±(Minimality): μ‹λ³„μž 역할에 κΌ­ ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ 속성
  • NOT NULL: λ°˜λ“œμ‹œ 값이 μžˆμ–΄μ•Ό ν•˜λ©°, NULL 값을 ν—ˆμš©ν•˜μ§€ μ•ŠμŒ
    예) 학생 ν…Œμ΄λΈ”μ˜ "ν•™λ²ˆ", 직원 ν…Œμ΄λΈ”μ˜ "μ‚¬μ›λ²ˆν˜Έ" λ“±

βœ… λΉ„μ‹λ³„μž(Non-Identifier)

μ£Όμ‹λ³„μžλ₯Ό μ œμ™Έν•œ ν…Œμ΄λΈ”μ˜ λͺ¨λ“  일반 속성(컬럼)을 의미
▢️ νŠΉμ§•
데이터λ₯Ό μ„€λͺ…ν•˜κ³  μ„œμˆ ν•˜λŠ” 역할을 ν•˜μ§€λ§Œ, κ·Έ μžμ²΄λ§ŒμœΌλ‘œλŠ” 행을 κ³ μœ ν•˜κ²Œ
μ‹λ³„ν•˜μ§€ λͺ»ν•¨. (λ¬Όλ‘ , 보쑰 μ‹λ³„μž(Alternate Key)κ°€ 될 μˆ˜λŠ” μžˆλ‹€.)
예) 학생 ν…Œμ΄λΈ”μ˜ "이름", "μ£Όμ†Œ", "μ—°λ½μ²˜"

βœ… 인쑰 μ‹λ³„μž (Artificial Identifier)

λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ΄λ‚˜ μ‹€μ œ λ°μ΄ν„°μ™€λŠ” 직접적인 관련이 μ—†μ§€λ§Œ,
각 행을 κ³ μœ ν•˜κ²Œ μ‹λ³„ν•˜κΈ° μœ„ν•΄ μ‹œμŠ€ν…œμ—μ„œ μΈμœ„μ μœΌλ‘œ μƒμ„±ν•˜λŠ” μ‹λ³„μž
ν”νžˆ 'λŒ€λ¦¬ ν‚€(Surrogate Key)'라고 뢀름.
▢️ νŠΉμ§•
보톡 순차적으둜 μ¦κ°€ν•˜λŠ” 숫자(Sequence, Auto-increment)λ‚˜
κ³ μœ ν•œ λ¬Έμžμ—΄(UUID)을 μ‚¬μš©
μ£Όμ‹λ³„μžλ‘œ μ‚¬μš©ν•  λ§ˆλ•…ν•œ 속성(μžμ—° ν‚€, Natural Key)이 μ—†κ±°λ‚˜,
μžμ—° ν‚€κ°€ λ„ˆλ¬΄ λ³΅μž‘ν•˜κ³  κΈΈκ±°λ‚˜, 변경될 κ°€λŠ₯성이 μžˆμ„ λ•Œ 유용
예) κ²Œμ‹œνŒ ν…Œμ΄λΈ”μ˜ "κ²Œμ‹œλ¬Ό ID(seq_no)", νšŒμ› ν…Œμ΄λΈ”μ˜ "νšŒμ›_ID"

βœ… 볡합 μ‹λ³„μž (Composite Identifier)

두 개 μ΄μƒμ˜ 속성(컬럼)을 μ‘°ν•©ν•˜μ—¬ ν•˜λ‚˜μ˜ μ£Όμ‹λ³„μžλ₯Ό κ΅¬μ„±ν•˜λŠ” 경우λ₯Ό 말함
"볡합 ν‚€(Composite Key)"라고도 함
▢️ νŠΉμ§•
단일 μ†μ„±λ§ŒμœΌλ‘œλŠ” ν–‰μ˜ μœ μΌμ„±μ„ 보μž₯ν•  수 없을 λ•Œ μ‚¬μš©
예) "μˆ˜κ°•μ‹ μ²­" ν…Œμ΄λΈ”μ—μ„œλŠ” '학생'κ³Ό 'κ³Όλͺ©'이 λͺ¨λ‘ μžˆμ–΄μ•Ό ν•˜λ‚˜μ˜
μ‹ μ²­ 내역이 μ‹λ³„λ˜λ―€λ‘œ, "ν•™λ²ˆ" + "κ³Όλͺ© μ½”λ“œ"λ₯Ό λ¬Άμ–΄μ„œ μ£Όμ‹λ³„μžλ‘œ μ‚¬μš©

βœ… μ™Έλž˜ μ‹λ³„μž (Foreign Key)

"μ‹λ³„μž" λΌλŠ” 이름이 λΆ™μ§€λ§Œ, 이 ν…Œμ΄λΈ”μ˜ 행을 μ‹λ³„ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, λ‹€λ₯Έ ν…Œμ΄λΈ”μ˜ μ£Όμ‹λ³„μžλ₯Ό μ°Έμ‘°(Reference)ν•˜λŠ” 속성
▢️ νŠΉμ§•
ν…Œμ΄λΈ” κ°„μ˜ 관계(Relationship)λ₯Ό λ§Ίκ³  λ°μ΄ν„°μ˜ 일관성(μ°Έμ‘° 무결성)을
μœ μ§€ν•˜λŠ” 데 μ‚¬μš©
예) "μˆ˜κ°•μ‹ μ²­" ν…Œμ΄λΈ”μ˜ "ν•™λ²ˆ"은 "학생" ν…Œμ΄λΈ”μ˜ μ£Όμ‹λ³„μžμΈ

"ν•™λ²ˆ" 을 μ°Έμ‘°ν•˜λŠ” μ™Έλž˜ μ‹λ³„μž

βœ… 후보 μ‹λ³„μž (Candidate Key)

ν…Œμ΄λΈ”μ—μ„œ 각 행을 κ³ μœ ν•˜κ²Œ 식별할 수 μžˆλŠ” 속성 λ˜λŠ” μ†μ„±μ˜ μ§‘ν•©
즉, μ£Όμ‹λ³„μž(κΈ°λ³Έ ν‚€)κ°€ 될 수 μžˆλŠ” λͺ¨λ“  후보듀을 말함
▢️ νŠΉμ§•
μœ μΌμ„±(Uniqueness)κ³Ό μ΅œμ†Œμ„±(Minimality)을 λͺ¨λ‘ λ§Œμ‘±ν•΄μ•Ό 함
예) "학생" ν…Œμ΄λΈ”μ—μ„œ "ν•™λ²ˆ"κ³Ό "μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ"κ°€ λͺ¨λ‘ 학생을 μœ μΌν•˜κ²Œ
ꡬ뢄할 수 μžˆλ‹€λ©΄, "ν•™λ²ˆ"κ³Ό "μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ" λ‘˜ λ‹€ 후보 μ‹λ³„μž

βœ… λŒ€μ²΄ μ‹λ³„μž (Alternate Key)

μ—¬λŸ¬ 후보 μ‹λ³„μž μ€‘μ—μ„œ μ£Όμ‹λ³„μžλ‘œ μ„ νƒλ˜μ§€ μ•Šμ€ λ‚˜λ¨Έμ§€ μ‹λ³„μž
"보쑰 μ‹λ³„μž" 라고도 함
▢️ νŠΉμ§•
μ£Όμ‹λ³„μžμ™€ λ§ˆμ°¬κ°€μ§€λ‘œ 행을 κ³ μœ ν•˜κ²Œ 식별할 수 있으며,
(UNIQUE μ œμ•½ 쑰건 λ“±μœΌλ‘œ) λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•˜λŠ” 데 μ‚¬μš©
예) μœ„ μ˜ˆμ‹œμ—μ„œ "ν•™λ²ˆ"을 μ£Όμ‹λ³„μž(Primary Key)둜 μ„ νƒν–ˆλ‹€λ©΄,
"μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ"λŠ” λŒ€μ²΄ μ‹λ³„μž(Alternate Key)κ°€ λœλ‹€.

βœ… μžμ—° μ‹λ³„μž (Natural Key)

"인쑰 μ‹λ³„μž"의 λ°˜λŒ€ κ°œλ…
λΉ„μ¦ˆλ‹ˆμŠ€ λ‘œμ§μ΄λ‚˜ μ‹€μ œ ν˜„μ‹€ μ„Έκ³„μ—μ„œ μ›λž˜λΆ€ν„° 의미λ₯Ό κ°€μ§€κ³ 
μ‚¬μš©λ˜λŠ” 속성을 μ‹λ³„μžλ‘œ μ‚¬μš©ν•˜λŠ” 것
▢️ νŠΉμ§•
데이터 μžμ²΄μ— μ˜λ―Έκ°€ 있음
예) "ν•™λ²ˆ", "μ£Όλ―Όλ“±λ‘λ²ˆν˜Έ", "ISBN (ꡭ제 ν‘œμ€€ λ„μ„œ 번호)" 등은
λͺ¨λ‘ μΈμœ„μ μœΌλ‘œ λ§Œλ“  IDκ°€ μ•„λ‹Œ, μ‹€μ œ μ—…λ¬΄μ—μ„œ 의미λ₯Ό κ°–λŠ” μžμ—° μ‹λ³„μž

profile
μ½”λ”© μƒˆμ‹Ή

0개의 λŒ“κΈ€