λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
⭐ Personal_Study/Database

λ°˜μ •κ·œν™”

by ν¬μŠ€νŠΈμ‰μ΄ν¬ 2023. 3. 7.

DB λ°˜μ •κ·œν™”

2. λ°˜μ •κ·œν™”(μ—­μ •κ·œν™”)λž€?

βœ” μ •κ·œν™”λœ μ—”ν‹°ν‹°νƒ€μž…, 속성, 관계λ₯Ό μ‹œμŠ€ν…œμ˜ μ„±λŠ₯ν–₯상, 개발과 운영의 λ‹¨μˆœν™”λ₯Ό μœ„ν•΄ λͺ¨λΈμ„ ν†΅ν•©ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€

μ •κ·œν™” λͺ¨λΈ

이상적인 논리 λͺ¨λΈμ€ λͺ¨λ“  μ—”ν‹°ν‹°νƒ€μž…, 속성 관계가 λ°˜λ“œμ‹œ ν•œ 개만 μ‘΄μž¬ν•˜λ©°, λ”°λΌμ„œ μž…λ ₯, μˆ˜μ • , μ‚­μ œλ„ ν•œ κ΅°λŒ€μ—μ„œλ§Œ λ°œμƒν•˜λ―€λ‘œ 데이타 값이 λ³€μ§ˆλ˜κ±°λ‚˜ μ΄μ§ˆν™”λ  κ°€λŠ₯성이 μ—†λ‹€.

반면 μ—¬λŸ¬ ν…Œμ΄λΈ”μ΄ μƒμ„±λ˜μ–΄μ•Ό ν•˜λ―€λ‘œ SQLμž‘μ„±μ΄ μš©μ΄ν•˜μ§€ μ•Šκ³  κ³Όλ‹€ν•œ ν…Œμ΄λΈ” 쑰인이 λ°œμƒν•˜μ—¬ μ„±λŠ₯이 μ €ν•˜λ  κ°€λŠ₯성이 λ†’λ‹€.

λ°˜μ •κ·œν™” λͺ¨λΈ

λ°˜λŒ€λ‘œ λ°˜μ •κ·œν™”λ₯Ό ν•˜λ©΄ μ—¬λŸ¬ 개의 ν…Œμ΄λΈ”μ΄ λ‹¨μˆœν•΄μ§€λ―€λ‘œ SQLK μž‘μ„±μ΄ μš©μ΄ν•˜κ³  μ„±λŠ₯이 ν–₯상될 κ°€λŠ₯성이 λ§Žλ‹€.

κ·ΈλŸ¬λ‚˜ 같은 데이터가 μ—¬λŸ¬ ν…Œμ΄λΈ”μ— 걸쳐 μ‘΄μž¬ν•˜λ―€λ‘œ 무결성이 깨질 μš°λ €κ°€ μžˆλ‹€.

βœ” κ³ΌλΆ€ν•˜κ°€ λ°œμƒν•˜λŠ” μ •ν™•ν•œ 기쀀은 μ—†λ‹€! -> μˆ˜μ‹œλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜λ©΄μ„œ 확인

3. ν…Œμ΄λΈ” λ°˜μ •κ·œν™” 방법

βœ” 1:1 κ΄€κ³„μ˜ ν…Œμ΄λΈ” 병합

βœ” 1:N κ΄€κ³„μ˜ ν…Œμ΄λΈ” 병합

βœ” 수퍼/μ„œλΈŒ νƒ€μž… ν…Œμ΄λΈ” 병합

βœ” 수직 λΆ„ν• (μ§‘μ€‘ν™”λœ 일뢀 μΉΌλŸΌμ„ 뢄리)

  • 같은 ν…Œμ΄λΈ”μΈλ° 양이 λ„ˆλ¬΄ λ§Žμ€ 경우 λ“±

βœ” μˆ˜ν‰ λΆ„ν• (ν–‰μœΌλ‘œ κ΅¬λΆ„ν•˜μ—¬ ꡬ간별 뢄리)

βœ” ν…Œμ΄λΈ” μΆ”κ°€(μ€‘λ³΅ν…Œμ΄λΈ”, ν†΅κ³„ν…Œμ΄λΈ”, 이λ ₯ν…Œμ΄λΈ”, λΆ€λΆ„ν…Œμ΄λΈ”)

4. λŒ€ν‘œμ  λ°˜μ •κ·œν™” - 칼럼 λ°˜μ •κ·œν™”

βœ” μ€‘λ³΅μΉΌλŸΌ μΆ”κ°€(자주 μ‘°νšŒν•˜λŠ” 칼럼이 μžˆλŠ” 경우)

βœ” νŒŒμƒ 컬럼 μΆ”κ°€(미리 κ³„μ‚°ν•œ κ°’)

βœ” PK에 μ˜ν•œ 컬럼 μΆ”κ°€

βœ” μ‘μš© μ‹œμŠ€ν…œ μ˜€μž‘λ™μ„ μœ„ν•œ 컬럼 μΆ”κ°€(이전 데이터 μž„μ‹œλ³΄κ΄€)

5. λŒ€ν‘œμ  λ°˜μ •κ·œν™” - 관계 λ°˜μ •κ·œν™”

βœ” 쀑볡 관계 μΆ”κ°€(이미 Aν…Œμ΄λΈ”μ—μ„œ Cν…Œμ΄λΈ”μ˜ 정보λ₯Ό 읽을 수 μžˆλŠ” 관계가 μž„μŒμ—λ„ 관계λ₯Ό μ€‘λ³΅ν•˜μ—¬ 쑰회(READ) 경둜λ₯Ό 단좕)

  • ν™”λ©΄ ꡬ성을 κ³ λ €ν•˜μž

6. μš”μ•½

λ°˜μ •κ·œν™”? μ •κ·œν™”?

βœ” 정닡은 μ—†λ‹€: κ°œλ…μ„ 잘 μ•Œκ³  μžˆμ–΄μ•Ό 상황에 따라 μ μ ˆν•˜κ²Œ μ“Έ 수 μžˆλ‹€!

'⭐ Personal_Study > Database' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

ν”„λ‘œμ νŠΈ μ‹œ DB 섀계 방법  (0) 2023.03.08
M:N Relationship  (0) 2022.10.16
N:1 Relationship  (1) 2022.10.08
Relational Database  (0) 2022.10.08
DML (Data Manipulation Language)  (0) 2022.10.08

λŒ“κΈ€