Develop/DB

[RDBMS Modeling 기초] 1. κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€

hello_u 2023. 2. 24. 18:13

 

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€(relational database)λž€?

 

 

κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€λž€ ν…Œμ΄λΈ”(table)둜 이루어져 있으며, 이 ν…Œμ΄λΈ”은 ν‚€(key)와 κ°’(value)의 관계λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

 

 

고유 μ‹λ³„μž

 

Unique 

 

μ—¬λŸ¬κ°œμ˜ 집합체λ₯Ό λ‹΄κ³  μžˆλŠ” ν•˜λ‚˜μ˜ ν†΅μ—μ„œ 각각을 ꡬ뢄할 수 μžˆλŠ” 논리적인 μ΄λ¦„μ˜ κ΅¬λΆ„μžλ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€.

 

ν•˜λ‚˜μ˜ 엔터티에 κ΅¬μ„±λ˜μ–΄ μžˆλŠ” μ—¬λŸ¬κ°œμ˜ 속성 쀑에 μ—”ν„°ν‹°λ₯Ό λŒ€ν‘œν•  수 μžˆλŠ” 속성을 μ˜λ―Έν•˜λ©°

 

ν•˜λ‚˜μ˜ μ—”ν„°ν‹°λŠ” λ°˜λ“œμ‹œ ν•˜λ‚˜μ˜ μ‹λ³„μžκ°€ μ‘΄μž¬ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

 

μ°Έμ‘° 무결성

 

ν…Œμ΄λΈ”μ—μ„œ μ™Έλž˜ν‚€λ₯Ό μ„ μ–Έ 

 

μ™Έλž˜ν‚€λŠ” λ‹€λ₯Έ ν…Œμ΄λΈ”μ— μ •μ˜λœ 고유 μ‹λ³„μžλ₯Ό μ°Έμ‘°

 

μ™Έλž˜ν‚€μ˜ 값은 λ‹€λ₯Έ ν…Œμ΄λΈ”μ— μ •μ˜λœ 고유 μ‹λ³„μžμ˜ κ°’μ˜ λ²”μœ„λ₯Ό λ„˜μ„ 수 없도둝 μ œν•œλ¨ 

 

 

μ£Ό μ‹λ³„μž(Primary Key)

 

ν•˜λ‚˜μ˜ λ ˆμ½”λ“œλ₯Ό κ³ μœ ν•˜κ²Œ ꡬ뢄할 수 μžˆλŠ” 것

 

후보 ν‚€λ“€ 쀑에 λŒ€ν‘œ ν‚€λ‘œ μ„ μ •λœ μ‹λ³„μž

 

Primary KeyλŠ” ν…Œμ΄λΈ” 등둝 μ‹œ λͺ…μ‹œν•΄ μ£Όμ–΄μ•Ό 함 

 

Not NULL & Unique : 무쑰건 값이 μ‘΄μž¬ν•΄μ•Ό 함 / μœ μΌμ„± 

 

ex) ν•Έλ“œν°μ€ unique -> but μ£Ό μ‹λ³„μžλ‘œλŠ” μ‚¬μš© X : ν•Έλ“œν°μ΄ μ—†λŠ” 학생도 있기 λ•Œλ¬Έ

 

μ£Ό μ‹λ³„μžλŠ” ν•˜λ‚˜λ°–μ— μ§€μ •ν•  수 μ—†λ‹€ 

 

Not NULL & Unique ν•œ μ‹λ³„μžμ—¬λ„ μ£Ό μ‹λ³„μžλŠ” ν•˜λ‚˜λΏμ΄λ―€λ‘œ λ‚˜λ¨Έμ§€λŠ” λ‹€ 후보 μ‹λ³„μž

 

무엇을 μ£Ό μ‹λ³„μžλ‘œ μ„ μ •ν•΄μ•Ό ν•˜λŠ”κ°€ ? 

 

 

 

 

후보 ν‚€(Candidate Identifier)

 

μ£Ό μ‹λ³„μžκ°€ 될 κ°€λŠ₯성이 μžˆλŠ” μ‹λ³„μž 

 

 

 

주민번호,폰번호,이메일,고객번호 - Unique 함 

 

폰번호,이메일 - NULL 일 κ°€λŠ₯성이 있음 

 

고객번호 : μ‚¬μ—…μžκ°€ λΆ€μ—¬ν•œ 정보

 

주민번호 : 고객이 μ œκ³΅ν•œ 정보 

 

고객듀이 μ œκ³΅ν•œ 데이터듀은 보톡 PK둜 μ±„νƒν•˜μ§€ μ•ŠλŠ”λ‹€ 

 

κ³ κ°λ²ˆν˜ΈλŠ” μš°λ¦¬κ°€ 확신을 κ°€μ§€κ³  ν•˜λ‚˜λ„ μ•ˆλΉ μ§€κ³  Unique ν•˜κ²Œ λΆ€μ—¬ν•œ 정보

 

--> κ³ κ°λ²ˆν˜Έκ°€ PKκ°€ 될 ν™•λ₯ μ΄ 제일 λ†’λ‹€ 

 

 

κ²°μ •μž(Determinant): 이 값을 μ•Œλ©΄ λ‚˜λ¨Έμ§€ 속성 값도 μ•Œ 수 μžˆλŠ” μ†μ„±

 

μ™Όμͺ½ κ²°μ •μž 속성이 λͺ¨λ‘ 후보 μ‹λ³„μž

 

FD: 고객번호 -> 고객λͺ…

FD1: 주민번호 -> 고객λͺ…

FD2: 폰번호 -> 고객λͺ…

FD3: 이메일 -> 고객λͺ