CS 곡뢀

μ—­μ •κ·œν™”

은진 2021. 11. 18. 19:31

λΉ„μ •κ·œν™”(Unnormalized form) : μ •κ·œν™”λœ ν…Œμ΄λΈ”(λ¦΄λ ˆμ΄μ…˜)을 읽기성λŠ₯ ν–₯상을 μœ„ν•΄ ν…Œμ΄λΈ”μ„ λ‹€μ‹œ ν•©μΉ˜λŠ” 방법

μ—­μ •κ·œν™”(Denormalization) : μ •κ·œν™”λœ ν…Œμ΄λΈ”μ„ λΉ„μ •κ·œν™” μƒνƒœλ‘œ λ§Œλ“€κΈ° μœ„ν•œ λ°©λ²• 쀑 ν•˜λ‚˜ (λΉ„μ •κ·œν™”κ°€ 더 포괄적)

 

 

μ—­μ •κ·œν™”λ₯Ό ν•˜λŠ” 이유

μ½κΈ°μž‘μ—…μ΄ 많이 ν•„μš”ν•œ ν…Œμ΄λΈ”μ˜ 읽기성λŠ₯ ν–₯상을 μœ„ν•΄μ„œ

 

 

 

 

λΉ„μ •κ·œν™” μƒνƒœλ‘œ λ§Œλ“œλŠ” μ—­μ •κ·œν™” ν”„λ‘œμ„ΈμŠ€

  • λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ™„λ²½ν•œ ꡬ쑰섀계λ₯Ό ν¬κΈ°ν•˜κ³  λ°μ΄ν„°μ˜ 무결성을 λ–¨μ–΄νŠΈλ¦¬λŠ” λŒ€μ‹  κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ˜ 읽기(Read)μ„±λŠ₯ ν–₯상을 μœ„ν•œ 섀계 방법
  • μ •κ·œν™”λ₯Ό 톡해 λΆ„λ¦¬λ˜μ—ˆλ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ 쀑볡을 ν—ˆμš©ν•˜κ³  λ‹€μ‹œ ν†΅ν•©ν•˜κ±°λ‚˜ λΆ„ν• ν•˜μ—¬ ꡬ쑰λ₯Ό μž¬μ‘°μ •ν•˜λŠ” κ³Όμ •

 

 

 

 

μ •κ·œν™”λœ λ¦΄λ ˆμ΄μ…˜μ˜ μ„±λŠ₯ μ €ν•˜ μš”μΈ

1. JOIN μ—°μ‚°

μ—­μ •κ·œν™” μ˜ˆμ‹œ

 

μ •κ·œν™”λœ ν…Œμ΄λΈ”μ—μ„œλŠ” 3가지 ν…Œμ΄λΈ”μ„ 같은 ν‚€λ‘œ JOINν•œ λ’€ 데이터 값을 νƒμƒ‰ν•œλ‹€.

<강사>ν…Œμ΄λΈ”μ—μ„œ {κ°•μ˜μ‹œκ°„, 이름, λ‹΄λ‹Ήμˆ˜μ—…}을 ν™•μΈν•˜κ³ ,

<μˆ˜μ—…>ν…Œμ΄λΈ”μ—μ„œ {μˆ˜μ—…μ½”λ“œ}λ₯Ό ν™•μΈν•˜κ³ ,

<μˆ˜κ°•λ£Œ>ν…Œμ΄λΈ”μ—μ„œ {μˆ˜κ°•λ£Œ}λ₯Ό 확인해야 ν•œλ‹€.

 

λ§Œμ•½ ν…Œμ΄λΈ” κ°œμˆ˜κ°€ μ—„μ²­ λ§Žκ±°λ‚˜ ν…Œμ΄λΈ” μ•ˆμ— 데이터가 μ—„μ²­ λ§Žμ€ 경우

JOINμ‹œκ°„μ΄ 훨씬 λŠ˜μ–΄λ‚˜ λ°μ΄ν„° 읽기 νš¨μœ¨μ„±μ΄ 떨어진닀.

 

κ·Έλž˜μ„œ 그림의 <μ‹œκ°„ν‘œ>ν…Œμ΄λΈ”μ²˜λŸΌ μ—­μ •κ·œν™” μ‹œν‚€λ©΄ 

JOIN을 ν•  ν•„μš”κ°€ μ—†μ–΄ 데이터 μ½κΈ°(쑰회)μ‹œκ°„μ΄ λ‹¨μΆ•λœλ‹€.

 

 

 

2. μ™Έλž˜ν‚€ μ°Έμ‘°

μ •κ·œν™”λœ λ¦΄λ ˆμ΄μ…˜μ€ ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ„ λΆ„ν•΄ν•˜κΈ° λ•Œλ¬Έμ— μ›ν•˜λŠ” μžλ£Œκ°€ ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ— μ‘΄μž¬ν•˜μ§€ μ•Šμ•„ μ™Έλž˜ν‚€λ₯Ό μ΄μš©ν•΄ μ°Έμ‘°ν•΄μ•Όν•˜λŠ” 상황이 μž¦μ•„μ§‘λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ €μž₯된 자료λ₯Ό κ²€μƒ‰ν•˜λŠ” μ‹œκ°„μ„ μ¦κ°€μ‹œν‚€λ©° μ„±λŠ₯을 μ €ν•˜μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

 

 

λΉ„μ •κ·œν™”λ₯Ό ν•  λ•Œ κ³ λ €ν•΄μ•Ό ν•  점

1. 무결성(λ°μ΄ν„°μ˜ μ •ν™•μ„±)이 λ–¨μ–΄μ§€λŠ” 것

데이터 쀑볡이 λ°œμƒν•΄ λ‚˜μ€‘μ— 데이터λ₯Ό μˆ˜μ •ν•  λ•Œ μΌλΆ€λ§Œ μˆ˜μ •λ˜μ–΄

κ²°κ΅­ μ €μž₯된 데이터가 μ •ν™•ν•˜μ§€ μ•Šμ„ μˆ˜λ„ μžˆλ‹€. 항상 λ¬Έμ œκ°€ μƒκΈ°λŠ” 건 μ•„λ‹ˆμ§€λ§Œ

λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ 무결성은 κ°€μž₯ μ€‘μš”ν•œ μš”μ†ŒλΌμ„œ λ―Όκ°ν•œ 뢀뢄이닀.

 

2. 읽기(쑰회)μ†λ„λŠ” λΉ¨λΌμ§€μ§€λ§Œ μ“°κΈ°(μ‚½μž…, μˆ˜μ •, μ‚­μ œ)μ†λ„λŠ” 느렀짐

이 λ¬Έμ œλ„ μ€‘λ³΅λœ 데이터 μ‚¬λ³Έλ•Œλ¬Έμ΄λ‹€.

κ·ΈλŸ¬λ‹ˆ μ“°κΈ° μž‘μ—…λ³΄λ‹€ 읽기 μž‘μ—…μ˜ μ„±λŠ₯이 μ€‘μš”ν•  λ•Œ κ³ λ €ν•˜μž.

 

3. μ €μž₯κ³΅κ°„μ˜ 효율이 떨어짐

μ€‘λ³΅λœ λ°μ΄ν„°μ˜ 곡간 μ°¨μ§€λ‘œ 인해 λ°μ΄ν„°μ˜ μš©λŸ‰μ΄ λŠ˜μ–΄λ‚œλ‹€.

 

4. μœ μ§€λ³΄μˆ˜μ˜ 어렀움

ν…Œμ΄λΈ” μžμ²΄κ°€ 크고 λ³΅μž‘ν•˜μ—¬ μ‰½κ²Œ μˆ˜μ •ν•  수 μ—†κ³  이둜 인해 ν™•μž₯성이 떨어진닀.

 

 

 

 

μ—­μ •κ·œν™”μ˜ μ’…λ₯˜

1) λ¦΄λ ˆμ΄μ…˜ μ—­μ •κ·œν™”: λ¦΄λ ˆμ΄μ…˜μ˜ μ—­μ •κ·œν™”μ—λŠ” λ¦΄λ ˆμ΄μ…˜μ„ λ³‘ν•©ν•˜λŠ” 방법과 λΆ„ν• ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆλ‹€.

  • λ¦΄λ ˆμ΄μ…˜ 병합: 두 λ¦΄λ ˆμ΄μ…˜ κ°„μ˜ μž¦μ€ 참쑰둜 μ„±λŠ₯이 μ €ν•˜λ  경우 이 λ¬Έμ œμ μ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ λ³‘ν•©ν•©λ‹ˆλ‹€.
  • λ¦΄λ ˆμ΄μ…˜ λΆ„ν• : λ¦΄λ ˆμ΄μ…˜μ˜ 데이터λ₯Ό κ²€μƒ‰ν• λ•ŒλŠ” λͺ©λ‘μ€‘μ˜ 데이터λ₯Ό 순차적으둜 μ‘°μ‚¬ν•˜μ—¬ μ›ν•˜λŠ” 자료λ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ 자주 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” μ†μ„±μ΄λ‚˜ νŠœν”Œμ΄ λ¦΄λ ˆμ΄μ…˜μ— μžˆμ„ 경우 κ²€μƒ‰μ‹œ μ„±λŠ₯을 μ €ν•˜ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€. 이 κ²½μš°μ—λŠ” 자주 μ‚¬μš©ν•˜λŠ” μ†μ„±μ΄λ‚˜ νŠœν”Œμ„ λΆ„ν•΄ν•˜μ—¬ μ„±λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. 수직 λΆ„ν• κ³Ό μˆ˜ν‰ λΆ„ν•  2μ’…λ₯˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.
    • 수직 λΆ„ν•  : 자주 μ‚¬μš©ν•˜λŠ” 속성과 그렇지 μ•ŠλŠ” 속성을 κ΅¬λΆ„ν•΄μ„œ λΆ„ν• 
    • μˆ˜ν‰ λΆ„ν•  : 자주 μ‚¬μš©ν•˜λŠ” νŠœν”Œκ³Ό 그렇지 μ•ŠλŠ” νŠœν”Œμ„ κ΅¬λΆ„ν•΄μ„œ λΆ„ν• 

 

2) μ†μ„± μ—­μ •κ·œν™”: λ¦΄λ ˆμ΄μ…˜μ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ 속성 λ˜λŠ” νŒŒμƒμ†μ„±μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

   β€» νŒŒμƒ 속성(Delivered Attribute): ν˜„μž¬ λ¦΄λ ˆμ΄μ…˜μ—λŠ” μ—†λŠ” μ†μ„±μ΄μ§€λ§Œ μž‘μ—…μ˜ νš¨μœ¨μ„ μœ„ν•΄ 힌 μ†μ„±μœΌλ‘œλΆ€ν„°μ˜ κ³„μ‚°μ΄λ‚˜ 가곡에 μ˜ν•΄ νŒŒμƒλ˜λŠ” μ†μ„±μž…λ‹ˆλ‹€. (λ‹€λ₯Έ μ†μ„±μ— 영ν–₯을 λ°›μ•„ λ°œμƒν•˜λŠ” μ†μ„±μœΌλ‘œ, κ³„μ‚°λœ κ°’)




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[좜처]
이것저것 λ‚¨κ²¨λ‘λŠ” λΈ”λ‘œκ·Έ, https://dodo000.tistory.com/21


 

11. λ°μ΄ν„°λ² μ΄μŠ€ μ •κ·œν™”(Normalization), μ—­μ •κ·œν™”(DeNormalization)

1. μ •κ·œν™”(Normalization) μ •κ·œν™”λž€ 논리적 데이터 λͺ¨λΈλ§ λ‹¨κ³„μ—μ„œ λ°μ΄ν„°μ˜ 쀑볡과 μ’…μ†μœΌλ‘œ μΈν•œ 이상 ν˜„μƒ(anomaly)을 λ°©μ§€ν•˜κΈ° μœ„ν•΄, 속성듀 κ°„μ˜ 쒅속 관계λ₯Ό λΆ„μ„ν•˜μ—¬ 무결성을 μœ μ§€ν•˜λ©΄μ„œ λ‹€μˆ˜

dodo000.tistory.com

ChanKim0718, https://chankim.tistory.com/m/7

 

[μ‰½κ²Œ μ„€λͺ…ν•œ] λ°μ΄ν„°λ² μ΄μŠ€ λΉ„μ •κ·œν™”, μ—­μ •κ·œν™”

이 μ±•ν„°μ—μ„œλŠ” λΉ„μ •κ·œν™”λ₯Ό μ‚΄νŽ΄λ³΄μž(μ •κ·œν™” λ§ν¬λŠ” μ—¬κΈ°) 사싀 μ—­μ •κ·œν™”μ™€ λΉ„μ •κ·œν™”κ°€ 같은 의미둜 μ“°μ΄λŠ” 것 κ°™μ§€λ§Œ μ—„μ—°νžˆ λ§ν•˜λ©΄ λ‹€λ₯΄λ‹€. λΉ„μ •κ·œν™”(Unnormalized form)λŠ” μ •κ·œν™”λœ ν…Œμ΄λΈ”(릴레이

chankim.tistory.com