์ž๊ฒฉ์ฆ/SQLD

[SQLD] 1-2-2 ๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ

NaNaRin๐Ÿ™ƒ 2021. 2. 7. 16:27

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด  -  2์žฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ - 2์ ˆ ๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ

 

1. ๋ฐ˜์ •๊ทœํ™” De-Normalization

  - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๊ณ  ์กฐ์ธ์„ ์ค„์ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋ฐฉ๋ฒ•

  - ์กฐํšŒ ์†๋„๋Š” ํ–ฅ์ƒ๋˜์ง€๋งŒ, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์œ ์—ฐ์„ฑ์€ ๋‚ฎ์•„์ง

 

2. ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ

  - ์ •๊ทœํ™”์— ์ถฉ์‹คํ•˜๋ฉด ์ข…์†์„ฑ, ํ™œ์šฉ์„ฑ์€ ํ–ฅ์ƒ๋˜์ง€๋งŒ ์ˆ˜ํ–‰ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๋Š” ๊ฒฝ์šฐ

  - ๋‹ค๋Ÿ‰์˜ ๋ฒ”์œ„๋ฅผ ์ž์ฃผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ

  - ํŠน์ • ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ž์ฃผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ

  - ์š”์•ฝ/์ง‘๊ณ„ ์ •๋ณด๊ฐ€ ์ž์ฃผ ์š”๊ตฌ๋˜๋Š” ๊ฒฝ์šฐ

 

3. ๋ฐ˜์ •๊ทœํ™” ์ ˆ์ฐจ

  (1) ๋Œ€์ƒ ์กฐ์‚ฌ ๋ฐ ๊ฒ€ํ†  : ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฒ”์œ„, ํ†ต๊ณ„์„ฑ ๋“ฑ์„ ํ™•์ธํ•ด์„œ ๋ฐ˜์ •๊ทœํ™” ๋Œ€์ƒ์„ ์กฐ์‚ฌ

  (2) ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• ๊ฒ€ํ†  : ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ๊ฒ€ํ†  ( ex ํด๋Ÿฌ์Šคํ„ฐ๋ฆผ, ๋ทฐ, ์ธ๋ฑ์Šค ํŠœ๋‹, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ, ํŒŒํ‹ฐ์…˜ ๋“ฑ) 

  (3) ๋ฐ˜์ •๊ทœํ™” ์ˆ˜ํ–‰ : ํ…Œ์ด๋ธ”, ์†์„ฑ, ๊ด€๊ณ„ ๋“ฑ์„ ๋ฐ˜์ •๊ทœํ™”

 

4. ๋ฐ˜์ •๊ทœํ™” ๊ธฐ๋ฒ•

  (1) ํ…Œ์ด๋ธ” ๋ฐ˜์ •๊ทœํ™”

ํ…Œ์ด๋ธ”
๋ณ‘ํ•ฉ
1:1 ๊ด€๊ณ„
ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ
1:1 ๊ด€๊ณ„๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
1:N ๊ด€๊ณ„
ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ
1:N ๊ด€๊ณ„๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
์Šˆํผ/์„œ๋ธŒํƒ€์ž…
ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ

์Šˆํผ/์„œ๋ธŒ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
ํ…Œ์ด๋ธ”
๋ถ„ํ• 
์ˆ˜์ง ๋ถ„ํ•  ์นผ๋Ÿผ์„ ์ˆ˜์ง์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
์ˆ˜ํ‰ ๋ถ„ํ•  ๋กœ์šฐ๋‹จ์œ„๋กœ ์ง‘์ค‘ ๋ฐœ์ƒํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์„ ๋ถ„์„ํ•˜์—ฌ ๋กœ์šฐ๋‹จ์œ„๋กœ ํ…Œ์ด๋ธ”์„ ๋ถ„ํ• ํ•˜์—ฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
ํ…Œ์ด๋ธ”
์ถ”๊ฐ€
์ค‘๋ณต ํ…Œ์ด๋ธ”
์ถ”๊ฐ€
๋‹ค๋ฅธ ์—…๋ฌด์ด๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๋™์ผํ•œ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ์ค‘๋ณตํ•˜์—ฌ ์›๊ฒฉ์กฐ์ธ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ
ํ†ต๊ณ„ ํ…Œ์ด๋ธ”
์ถ”๊ฐ€
SUM, AVG ๋“ฑ์„ ๋ฏธ๋ฆฌ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ณ„์‚ฐํ•ด ๋‘ ์œผ๋กœ์จ ์กฐํšŒ์‹œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ
์ด๋ ฅ ํ…Œ์ด๋ธ”
์ถ”๊ฐ€
์ด๋ ฅํ…Œ์ด๋ธ” ์ค‘์—์„œ ๋งˆ์Šคํ„ฐ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ค‘๋ณตํ•˜์—ฌ ์ด๋ ฅํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๋ฐฉ๋ฒ•
๋ถ€๋ถ„ ํ…Œ์ด๋ธ”
์ถ”๊ฐ€
์ „์ฒด ์นผ๋Ÿผ ์ค‘ ์ž์ฃผ ์ด์šฉํ•˜๋Š” ์ง‘์ค‘ํ™”๋œ ์ปฌ๋Ÿผ์ด ์žˆ์„ ๋•Œ ํ•ด๋‹น ์ปฌ๋Ÿผ๋“ค์„ ๋ชจ์•„๋†“์€ ๋ณ„๋„์˜ ๋ฐ˜์ •๊ทœํ™”๋œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑ

 

  (2) ์ปฌ๋Ÿผ ๋ฐ˜์ •๊ทœํ™”

์ค‘๋ณต์ปฌ๋Ÿผ ์ถ”๊ฐ€ ์กฐ์ธ์‹œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด = ์กฐ์ธ์„ ๊ฐ์†Œ์‹œํ‚ค๊ธฐ ์œ„ํ•ด, ์ค‘๋ณต๋œ ์ปฌ๋Ÿผ์„ ์œ„์น˜์‹œํ‚ด
ํŒŒ์ƒ์ปฌ๋Ÿผ ์ถ”๊ฐ€ ํŠธ๋žœ์žญ์…˜์ด ์ฒ˜๋ฆฌ๋˜๋Š” ์‹œ์ ์— ๊ณ„์‚ฐ์— ์˜ํ•ด ๋ฐœ์ƒ๋˜๋Š” ์„ฑ๋Šฅ์ €ํ•˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด, ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•˜์—ฌ ์ปฌ๋Ÿผ์— ๋ณด๊ด€. Derived Column
์ด๋ ฅํ…Œ์ด๋ธ” ์ปฌ๋Ÿผ์ถ”๊ฐ€ ๋Œ€๋Ÿ‰์˜ ์ด๋ ฅ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์‹œ ๋ถˆํŠน์ • ์ผ ์กฐํšŒ๋‚˜ ์ตœ๊ทผ ๊ฐ’์„ ์กฐํšŒํ•  ๋•Œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ์ €ํ•˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋Šฅ์„ฑ ์ปฌ๋Ÿผ (์ตœ๊ทผ๊ฐ’ ์—ฌ๋ถ€, ์‹œ์ž‘์ผ์ž, ์ข…๋ฃŒ์ผ์ž)์„ ์ถ”๊ฐ€
PK์— ์˜ํ•œ ์ปฌ๋Ÿผ์ถ”๊ฐ€ ๋ณตํ•ฉ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” PK๋ฅผ ๋‹จ์ผ์†์„ฑ์œผ๋กœ ๊ตฌ์„ฑํ–ˆ์„ ๋•Œ ๋ฐœ์ƒ๋˜๋ฉฐ, PK์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์œ„ํ•ด ์ผ๋ฐ˜์†์„ฑ์œผ๋กœ ํฌํ•จ
์‘์šฉ์‹œ์Šค์ผ ์˜ค์ž‘๋™์„ ์œ„ํ•œ
์ปฌ๋Ÿผ์ถ”๊ฐ€
์—…๋ฌด์ ์œผ๋กœ๋Š” ์˜๋ฏธ๊ฐ€ ์—†์œผ๋‚˜. ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์‹œ ์˜ค๋ฅ˜๋กœ ์ธํ•ด ์›๋ž˜๊ฐ’์œผ๋กœ ๋ณต๊ตฌํ•˜๊ธธ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ด์ „ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ์ ์œผ๋กœ ์ค‘๋ณต ๋ณด๊ด€

 

  (3) ๊ด€๊ณ„ ๋ฐ˜์ •๊ทœํ™”

์ค‘๋ณต๊ด€๊ณ„ ์ถ”๊ฐ€ ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ๊ฑฐ์ณ ์กฐ์ธ์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์„ฑ๋Šฅ์ €ํ•˜๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ๊ด€๊ณ„๋ฅผ ๋งบ๋Š” ๋ฐฉ๋ฒ•