๐Ÿ’ผ ์ž๊ฒฉ์ฆ/SQLD

[SQLD]๋ฐ์ดํ„ฐ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ : ์„ฑ๋Šฅ๋ชจ๋ธ๋ง, ์ •๊ทœํ™”, ๋ฐ˜์ •๊ทœํ™”, ํŒŒํ‹ฐ์…”๋‹, ์Šˆํผ/์„œ๋ธŒํƒ€์ž… ์„ฑ๋Šฅ, PK/FK ์„ฑ๋Šฅ, ๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์—ฐ_์šฐ๋ฆฌ 2021. 11. 11. 00:03
๋ฐ˜์‘ํ˜•

https://lotuus.tistory.com/42

 

[SQLD] 21.11.20 ์ œ43ํšŒ SQL๊ฐœ๋ฐœ์ž ํ›„๊ธฐ, ๊ณต๋ถ€๋ฐฉ๋ฒ•, ์ •๋ฆฌ๋ณธ, 43ํšŒ ์ถœ์ œ๋ฌธ์ œ

2021๋…„ 11์›” 20์ผ ํ† ์š”์ผ ์ œ43ํšŒ SQL๊ฐœ๋ฐœ์ž ์ž๊ฒฉ์ฆ ์‹œํ—˜ ํ›„๊ธฐ ์˜ค๋Š˜ ๋ณด๊ณ ์™”๋‹ค! ๋‚ด ๊ณต๋ถ€๋ฐฉ๋ฒ•๊ณผ ์ •๋ฆฌ๋ณธ, ์ด๋ฒˆ์— ์‹œํ—˜์— ์ถœ์ œ๋œ ๋ฌธ์ œ๋“ค์„ ๊ธฐ์–ต๋‚˜๋Š”๋Œ€๋กœ ์ ์–ด๋ณด๊ฒ ๋‹ค ๊ฐœ์ธ์ ์œผ๋กœ ๊ธฐ์ถœ์ด๋‚˜ ๋ณต์›๋œ ๋ฌธ์ œ๊ฐ€

lotuus.tistory.com

 

[๋ชฉ์ฐจ]

๐Ÿ’š์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ๊ฐœ์š”
   ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆ˜ํ–‰์‹œ์  : ๋ถ„์„/์„ค๊ณ„๋‹จ๊ณ„
   ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๊ณ ๋ ค์‚ฌํ•ญ
๐Ÿ’š์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
   ์ •๊ทœํ™”๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ ์ „๋žต
   ํ•จ์ˆ˜์  ์ข…์†์„ฑ๊ณผ ์ •๊ทœํ™” ๊ณผ์ •
๐Ÿ’š๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
   ๋ฐ˜์ •๊ทœํ™”๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅํ–ฅ์ƒ ์ „๋žต
   ๋ฐ˜์ •๊ทœํ™” ์ ์šฉ๋ฐฉ๋ฒ•
     ๋ฐ˜์ •๊ทœํ™” ๋Œ€์ƒ์กฐ์‚ฌ, ๋‹ค๋ฅธ๋ฐฉ๋ฒ• ์œ ๋„ ๊ฒ€ํ† 
     ๋ฐ˜์ •๊ทœํ™” ์ ์šฉ
๐Ÿ’š๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ
   ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฐœ์ƒ์— ๋”ฐ๋ฅธ ํ…Œ์ด๋ธ” ๋ถ„ํ•   (Row Chaining, Row Migration)
   PK์— ์˜ํ•œ ํ…Œ์ด๋ธ” ํŒŒํ‹ฐ์…”๋‹  (Range, List, Hash ํŒŒํ‹ฐ์…”๋‹)
   ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ˆ˜ํ‰/์ˆ˜์ง๋ถ„ํ•  ์ ˆ์ฐจ
๐Ÿ’š๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ
   ์Šˆํผ/์„œ๋ธŒํƒ€์ž… ๋ชจ๋ธ(=Extended ER๋ชจ๋ธ)์˜ ์„ฑ๋Šฅ๊ณ ๋ ค๋ฐฉ๋ฒ•  (One to One, Plus, Single Type)
   ์ธ๋ฑ์Šค ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ PK/FK ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ํ–ฅ์ƒ
๐Ÿ’š๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์„ฑ๋Šฅ
   ๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํˆฌ๋ช…์„ฑ
   ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์žฅ๋‹จ์ 
   ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ์šฉ ๊ธฐ๋ฒ•
   ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋ฅผ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ

 

 

๐Ÿ’š์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ๊ฐœ์š”

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅํ–ฅ์ƒ์„ ๋ชฉ์ ์œผ๋กœ ์„ค๊ณ„๋‹จ๊ณ„๋ถ€ํ„ฐ ์ •๊ทœํ™”, ๋ฐ˜์ •๊ทœํ™”, ํ…Œ์ด๋ธ”ํ†ตํ•ฉ, ํ…Œ์ด๋ธ”๋ถ„ํ• , ์กฐ์ธ๊ตฌ์กฐ, PK, FK ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ์‚ฌํ•ญ์ด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์— ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆ˜ํ–‰์‹œ์  : ๋ถ„์„/์„ค๊ณ„๋‹จ๊ณ„

์„ฑ๋Šฅ ํ–ฅ์ƒ ๋น„์šฉ์€ ์‚ฌ์ „์— ํ• ์ˆ˜๋ก ์ €๋ ดํ•˜๋‹ค.

ํŠนํžˆ ๋ถ„์„/์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ์ˆ˜ํ–‰ํ•  ๊ฒฝ์šฐ, ์„ฑ๋Šฅ ์ €ํ•˜์— ๋”ฐ๋ฅธ ์žฌ์—…๋ฌด ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋œ๋‹ค.

๋ฐ์ดํ„ฐ์˜ ์ฆ๊ฐ€๊ฐ€ ๋น ๋ฅผ์ˆ˜๋ก ์„ฑ๋Šฅ์ €ํ•˜์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ๊ฐœ์„ ๋น„์šฉ์€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

 

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ๊ณ ๋ ค์‚ฌํ•ญ

โ‘  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์„ ํ•  ๋•Œ ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•œ๋‹ค.
โ‘ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋Ÿ‰์‚ฐ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
โ‘ข ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์„ ํŒŒ์•…ํ•œ๋‹ค.
โ‘ฃ ์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
โ‘ค ์ด๋ ฅ๋ชจ๋ธ์˜ ์กฐ์ •, PK/FK์กฐ์ •, ์Šˆํผํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ๋“ฑ๋“ฑ์˜ ์กฐ์ • ๋“ฑ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
โ‘ฅ ์„ฑ๋Šฅ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๊ฒ€์ฆํ•œ๋‹ค.

 

 

๐Ÿ’š์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ

์ •๊ทœํ™”๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ ์ „๋žต

์ •๊ทœํ™”๋Š” ์ตœ์†Œํ•œ์˜ ๋ฐ์ดํ„ฐ ์ค‘๋ณต, ๋ฐ์ดํ„ฐ์˜ ์œ ์—ฐ์„ฑ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

ํ•˜์ง€๋งŒ, ์กฐ์ธ์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ฒŒ๋˜์–ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜๋„ ์žˆ๋‹ค. => ๋ฐ˜์ •๊ทœํ™” ์ˆ˜ํ–‰ํ•˜๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.

์กฐํšŒ์„ฑ๋Šฅ ์ฒ˜๋ฆฌ์กฐ๊ฑด์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๐Ÿ‘๋  ์ˆ˜ ์žˆ์Œ
์ฒ˜๋ฆฌ์กฐ๊ฑด์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์ด ์ €ํ•˜๐Ÿ‘Ž๋  ์ˆ˜ ์žˆ์Œ
์ž…๋ ฅ/์ˆ˜์ •/์‚ญ์ œ ์„ฑ๋Šฅ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋จ๐Ÿ‘

 

ํ•จ์ˆ˜์  ์ข…์†์„ฑ๊ณผ ์ •๊ทœํ™” ๊ณผ์ •

ํ•จ์ˆ˜์  ์ข…์†์„ฑ์€ ๋ฐ์ดํ„ฐ(์ข…์†์ž)๋“ค์ด ์–ด๋–ค ๊ธฐ์ค€๊ฐ’(๊ฒฐ์ •์ž)์— ์˜ํ•ด ์ข…์†๋˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค.

EX. ์ด๋ฆ„, ์ถœ์ƒ์ง€, ์ฃผ์†Œ๋Š” ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ์— ํ•จ์ˆ˜ ์ข…์†์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. = ์ด๋ฆ„, ์ถœ์ƒ์ง€, ์ฃผ์†Œ๋ฅผ ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋กœ ํŠน์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ’š๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ

๋ฐ˜์ •๊ทœํ™”๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅํ–ฅ์ƒ ์ „๋žต

๋ฐ˜์ •๊ทœํ™”๋Š” ์ •๊ทœํ™”๋œ ์—”ํ„ฐํ‹ฐ, ์†์„ฑ, ๊ด€๊ณ„์— ๋Œ€ํ•ด ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅํ–ฅ์ƒ๊ณผ ์šด์˜์˜ ๋‹จ์ˆœํ™”๋ฅผ ์œ„ํ•ด ์ค‘๋ณต, ํ†ตํ•ฉ, ๋ถ„๋ฆฌ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

 

๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์ด ๊นจ์ง€๋Š” ๊ฒƒ์„ ๊ฐ์ˆ˜ํ•˜๊ณ  ๋ฐ˜์ •๊ทœํ™”๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š”

๋ฐ์ดํ„ฐ ์กฐํšŒ ์‹œ ์ž…์ถœ๋ ฅ๋Ÿ‰์ด ๋งŽ์•„์„œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ฑฐ๋‚˜, 

๊ฒฝ๋กœ๊ฐ€ ๋„ˆ๋ฌด ๋ฉ€์–ด ์กฐ์ธ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ฑฐ๋‚˜,

์นผ๋Ÿผ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ฝ์„ ๋•Œ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ๊ฒฝ์šฐ์— ๋ฐ˜์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

๋ฐ˜์ •๊ทœํ™” ์ ์šฉ๋ฐฉ๋ฒ•

๋ฐ˜์ •๊ทœํ™” ๋Œ€์ƒ์กฐ์‚ฌ, ๋‹ค๋ฅธ๋ฐฉ๋ฒ• ์œ ๋„ ๊ฒ€ํ† 

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

 - ์ธ๋ฑ์Šค๋ฅผ ์กฐ์ •ํ•œ๋‹ค.
- ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๋ฅผ ์ž์ฃผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ ํŒŒํ‹ฐ์…”๋‹ ์ ์šฉ :
๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ€๋ถ„์ ์ธ ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค. 
ํŒŒํ‹ฐ์…”๋‹ ํ‚ค๋กœ ์กฐํšŒํ•  ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ์ข‹์•„์ง„๋‹ค.
- ๋งŽ์€ ์กฐ์ธ์ด ๊ฑธ๋ ค ๋ฐ์ดํ„ฐ ์กฐํšŒ ์‹œ ์–ด๋ ค์›€์ด ์žˆ๋Š” ๊ฒฝ์šฐ view๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.
- ํ†ต๊ณ„์„ฑ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ํ†ต๊ณ„์ •๋ณด๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ณ„๋„์˜ ํ†ต๊ณ„ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค.

 

๋ฐ˜์ •๊ทœํ™” ์ ์šฉ

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

ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ 1:1 ๊ด€๊ณ„ ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ ๋ถ„๋ฆฌ๋œ ํ…Œ์ด๋ธ”์˜ join์—ฐ์‚ฐ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜์—ˆ๋˜ ๊ฒƒ์„
๋ณ‘ํ•ฉํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค.
1:M ๊ด€๊ณ„ ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ
์Šˆํผ-์„œ๋ธŒํƒ€์ž… ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ
ํ…Œ์ด๋ธ” ๋ถ„ํ•  ์ˆ˜์ง๋ถ„ํ•  ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ์œ ํ˜• ํŒŒ์•…์ด ์„ ํ–‰๋˜์–ด์•ผํ•œ๋‹ค.
์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ • ์นผ๋Ÿผ๋“ค๋กœ ๋ถ„ํ• ํ•œ๋‹ค.
๋””์Šคํฌ I/O๋ฅผ ๋ถ„์‚ฐ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.
ex. (์ผ์ž, ์‚ฌ๋ฒˆ, ๋ฐฉ๋ฒ•, ์ฝ”๋“œ, ๋ฒˆํ˜ธ) -> (์ผ์ž, ๋ฐฉ๋ฒ•), (์‚ฌ๋ฒˆ, ์ฝ”๋“œ, ๋ฒˆํ˜ธ)
์ˆ˜ํ‰๋ถ„ํ•  ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ • ํŠœํ”Œ๋“ค๋กœ ๋ถ„ํ• ํ•œ๋‹ค.
ex. ๋ฐ์ดํ„ฐ๋“ค์„ ์›”๋ณ„๋กœ ๋ถ„๋ฆฌ -> ์ˆ˜๋‚ฉ์ด๋ ฅ 1์›”, 2์›”, 3์›”....
ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ ์ค‘๋ณตํ…Œ์ด๋ธ” ์ถ”๊ฐ€ ๋‹ค๋ฅธ ์—…๋ฌด์ด๊ฑฐ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค๋ฅธ ๊ฒฝ์šฐ, ์›๊ฒฉ์กฐ์ธ์„ ์ œ๊ฑฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค.
ํ†ต๊ณ„ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ SUM, AVG๋“ฑ์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด ๋‘ ์œผ๋กœ์จ ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค.
์ด๋ ฅํ…Œ์ด๋ธ” ์ถ”๊ฐ€ ๋งˆ์Šคํ„ฐํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ค‘๋ณตํ•œ๋‹ค.
๋ถ€๋ถ„ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ • ์นผ๋Ÿผ๋“ค๋กœ ๋ถ„ํ• ํ•œ๋‹ค.
๋””์Šคํฌ I/O๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•จ์ด๋‹ค.
์นผ๋Ÿผ
๋ฐ˜์ •๊ทœํ™”

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

 

 

๐Ÿ’š๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ

๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฐœ์ƒ์— ๋”ฐ๋ฅธ ํ…Œ์ด๋ธ” ๋ถ„ํ• (Row Chaining, Row Migration)

์ธ๋ฑ์Šค์˜ Tree ๊ตฌ์กฐ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ ธ ํšจ์œจ์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ๋˜๊ณ , 

๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ(์ž…๋ ฅ, ์ˆ˜์ •, ์‚ญ์ œ, ์กฐํšŒ) ์‹œ I/O๋ฅผ ๋งŽ์ด ์œ ๋ฐœํ•˜๊ฒŒ๋œ๋‹ค.

Row Chaining Row Migration
ํ–‰ ๊ธธ์ด๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก 1๊ฐœ์— ๋ชจ๋‘ ์ €์žฅ๋˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ๋ธ”๋ก์œผ๋กœ ๋„˜์–ด๊ฐ€ ์ €์žฅ๋˜๋Š” ํ˜•ํƒœ์ด๋‹ค. ์ €์žฅ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•œ ์ƒํ™ฉ์—์„œ 10๋งŒํผ ์ €์žฅ๋˜์–ด์žˆ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ
15๋งŒํผ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ณ ์ž ํ•˜๋ฉด ๋‹ค๋ฅธ ๋ธ”๋ก์„ ์ฐพ์•„ ์ €์žฅํ•ด์•ผํ•˜๋Š” ํ˜•ํƒœ
๋‘ ๊ธฐ๋ฒ•์œผ๋กœ ์„ฑ๋Šฅ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํŠธ๋žœ์žญ์…˜์„ ๋ถ„์„ํ•˜์—ฌ ์ ์ ˆํ•˜๊ฒŒ 1:1 ๊ด€๊ณ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•œ๋‹ค.

 

 

 

PK์— ์˜ํ•œ ํ…Œ์ด๋ธ” ํŒŒํ‹ฐ์…”๋‹(Range, List, Hash ํŒŒํ‹ฐ์…”๋‹)

Range ํŒŒํ‹ฐ์…”๋‹ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚ ์งœ ๋˜๋Š” ์ˆซ์ž๋กœ ๋ถ„๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์— ์ ์šฉํ•œ๋‹ค.
SQL๋ฌธ์„ ์‹คํ–‰ํ•  ๋• ๋‚ด๋ถ€์ ์œผ๋กœ ๊ตฌ๋ถ„๋œ ํ…Œ์ด๋ธ”์—์„œ ์ฒ˜๋ฆฌํ•˜์—ฌ ์„ฑ๋Šฅ์ด ๊ฐœ์„ ๋œ๋‹ค.
๋ฐ์ดํ„ฐ ๋ณด๊ด€์ฃผ๊ธฐ์— ๋”ฐ๋ฅธ ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

ex. ๋…„/์›”์„ ์ด์šฉํ•˜์—ฌ 12๊ฐœ์˜ ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค.
List ํŒŒํ‹ฐ์…”๋‹ ์ผ๋ จ๋ฒˆํ˜ธ ๋“ฑ์˜ ์ฝ”๋“œ๊ฐ’์œผ๋กœ PK๊ฐ€ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ์— ์ ์šฉํ•œ๋‹ค.
ex. ์‚ฌ์—…์†Œ์ฝ”๋“œ๋ณ„๋กœ ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค.
Hash ํŒŒํ‹ฐ์…”๋‹ ์ง€์ •๋œ hash์กฐ๊ฑด์— ๋”ฐ๋ผ ํ•ด์Š ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ ์šฉ๋œ๋‹ค.
์„ค๊ณ„์ž๋„ ์–ด๋–ค ํ…Œ์ด๋ธ”์— ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ”๋Š”์ง€ ์•Œ ์ˆ˜ ์—†๋‹ค.

 

ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ˆ˜ํ‰/์ˆ˜์ง๋ถ„ํ•  ์ ˆ์ฐจ

- ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌํŒจํ„ด์„ ๋ถ„์„ํ•œ๋‹ค.

- ์นผ๋Ÿผ๋‹จ์œ„์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋ฐœ์ƒ๋˜๋Š”๊ฑด์ง€, ๋กœ์šฐ๋‹จ์œ„์˜ ์ฒ˜๋ฆฌ๊ฐ€ ๋ฐœ์ƒ๋˜๋Š”๊ฑด์ง€ ๋ถ„์„ํ•œ๋‹ค.

 

 

๐Ÿ’š๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ

์Šˆํผ/์„œ๋ธŒํƒ€์ž… ๋ชจ๋ธ(=Extended ER๋ชจ๋ธ)์˜ ์„ฑ๋Šฅ๊ณ ๋ ค๋ฐฉ๋ฒ•

์Šˆํผ/์„œ๋ธŒํƒ€์ž… ๋ชจ๋ธ์€ ๊ณตํ†ต๋ถ€๋ถ„์„ ์Šˆํผํƒ€์ž…์œผ๋กœ ๋ชจ๋ธ๋งํ•˜๊ณ , ๋‚ด์šฉ์„ ์ƒ์†๋ฐ›์•„ ์„œ๋ธŒํƒ€์ž… ์—”ํ„ฐํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด 

์—…๋ฌด์˜ ๋‚ด์šฉ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋ฉด์„œ ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ๋ณ€ํ™˜ ์‹œ ์„ ํƒ์˜ ํญ์ด ๋„“๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์Šˆํผ/์„œ๋ธŒํƒ€์ž…์˜ ๋ณ€ํ™˜ ๊ธฐ์ค€์€ ๋ฐ์ดํ„ฐ ์–‘๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์ด๋‹ค.

  One to One Type
1:1 ํƒ€์ž…
Plus Type
์Šˆํผ+์„œ๋ธŒ ํƒ€์ž…
Single Type
All in One ํƒ€์ž…
์„ค๋ช… ์Šˆํผํƒ€์ž…๊ณผ ์„œ๋ธŒํƒ€์ž…
๊ฐ๊ฐ ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒํ•˜๋ฉด 
๊ฐœ๋ณ„ ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑํ•˜์—ฌ
1:1 ๊ด€๊ณ„๋ฅผ ๊ฐ–๋„๋ก ํ•œ๋‹ค.

ex. ์Šˆํผํƒ€์ž…์— ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด, ์„œ๋ธŒํƒ€์ž…์œผ๋กœ ์„ธ๋ถ€์ •๋ณด๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ







์Šˆํผํƒ€์ž…๊ณผ ์„œ๋ธŒํƒ€์ž…
ํ•จ๊ป˜ ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒํ•˜๋ฉด
์Šˆํผํƒ€์ž…์˜ PK์™€ ๊ฐ ์„œ๋ธŒํƒ€์ž…์˜ ์†์„ฑ์„
๋ฌถ์–ด N๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•œ๋‹ค.

ex. ์Šˆํผํƒ€์ž…๊ณผ ์„œ๋ธŒํƒ€์ž…์ด 1๊ฐœ ํ…Œ์ด๋ธ”๋กœ ํ†ตํ•ฉ๋˜์–ด์žˆ๊ณ  A์นผ๋Ÿผ๋งŒ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋งŽ์ด ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ B, C ๋“ฑ์˜ ์นผ๋Ÿผ๋‚ด์šฉ๊นŒ์ง€ ํฌํ•จ๋˜์–ด์žˆ์–ด์„œ ํ•„์š”์—†๋Š” ์ฒ˜๋ฆฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ๋˜๋Š” ๊ฒฝ์šฐ.

(PK๋‹น์‚ฌ์ž๋ฒˆํ˜ธ, ์ดํ•ด๊ด€๊ณ„์ธ, ๋Œ€๋ฆฌ์ธ, ๋งค์ˆ˜์ธ)
-> (FK๋‹น์‚ฌ์ž๋ฒˆํ˜ธ, ์ดํ•ด๊ด€๊ณ„์ธ)
-> (FK๋‹น์‚ฌ์ž๋ฒˆํ˜ธ, ๋Œ€๋ฆฌ์ธ)
-> (FK๋‹น์‚ฌ์ž๋ฒˆํ˜ธ, ๋งค์ˆ˜์ธ)
์™ผ์ชฝ ์˜ˆ์ œ์—์„œ ๋‹น์‚ฌ์ž๋ฒˆํ˜ธ, ์ดํ•ด๊ด€๊ณ„์ธ,..์˜ ์†์„ฑ์„ ํ•ญ์ƒ ํ†ตํ•ฉ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜

์Šˆํผ+์„œ๋ธŒํƒ€์ž…์„ ์ •ํ™•ํžˆ ์ง€์ •ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑํ•œ๋‹ค.








ํ™•์žฅ์„ฑ ์ข‹์Œ ๋ณดํ†ต ๋‚˜์จ
์กฐ์ธ์„ฑ๋Šฅ ๋‚˜์จ ๋‚˜์จ ์ข‹์Œ
I/O๋Ÿ‰ ์„ฑ๋Šฅ ์ข‹์Œ ์ข‹์Œ ๋‚˜์จ
๊ด€๋ฆฌ์šฉ์ด์„ฑ ๋‚˜์จ ๋‚˜์จ ์ข‹์Œ(1๊ฐœ)

๐Ÿ“Œ ์Šˆํผํƒ€์ž…๊ณผ ์„œ๋ธŒํƒ€์ž… ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋ฌผ๋ฆฌ์ ์ธ ํ…Œ์ด๋ธ” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ์„ค๋ช…์œผ๋กœ ๋ถ€์ ์ ˆํ•œ ๊ฒƒ์€?

1) ํŠธ๋žœ์žญ์…˜์€ ํ•ญ์ƒ ์ „์ฒด๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ผ๊ด„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ…Œ์ด๋ธ”์€ ์„œ๋ธŒํƒ€์ž…๋ณ„๋กœ ๊ฐœ๋ณ„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด UNION ์—ฐ์‚ฐ์— ์˜ํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.
2) ํŠธ๋žœ์žญ์…˜์€ ํ•ญ์ƒ ์„œ๋ธŒํƒ€์ž… ๊ฐœ๋ณ„๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ…Œ์ด๋ธ”์€ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜์—ฌ ๋ณ€ํ™˜ํ•˜๋ฉด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง‘์ ๋˜์–ด์žˆ์–ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.
3) ํŠธ๋žœ์žญ์…˜์€ ํ•ญ์ƒ ์Šˆํผ+์„œ๋ธŒํƒ€์ž…์„ ํ•จ๊ผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ๊ฐœ๋ณ„๋กœ ์œ ์ง€ํ•˜๋ฉด ์กฐ์ธ์— ์˜ํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.
4) ํŠธ๋žœ์žญ์…˜์€ ํ•ญ์ƒ์ „์ฒด๋ฅผํ†ตํ•ฉํ•˜์—ฌ ๋ถ„์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ ์ง‘์ ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.  //์กฐ์ธ์ด ๊ฐ์†Œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ๋” ์šฐ์ˆ˜ํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์ธ๋ฑ์Šค ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ PK/FK ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ํ–ฅ์ƒ

PK/FK๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„ฑ๋Šฅ์˜ ์ธก๋ฉด์—์„œ๋„ ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

ํ…Œ์ด๋ธ”์— ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์กฐํšŒ ํŒจํ„ด์„ ๋ถ„์„ํ•˜์—ฌ PK/FK ์นผ๋Ÿผ์˜ ์ˆœ์„œ๋ฅผ ์กฐ์ •ํ•ด์•ผํ•œ๋‹ค.

Primary Key Foreign Key
PK๋Š” ํ…Œ์ด๋ธ”์˜ ์ธ๋ฑ์Šค(Unique Index)๋ฅผ ์ž๋™ ์ƒ์„ฑํ•œ๋‹ค.

์•ž์ชฝ์— ์œ„์น˜ํ•œ ์†์„ฑ์˜ ๊ฐ’์ด ๋น„๊ต์ž(=, between, <> ...)๋กœ ์žˆ์–ด์•ผ ์ข‹์€ ํšจ์œจ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

์ธ๋ฑ์Šค ํŠน์ง•์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  PK๋ฅผ ์ง€์ •ํ•˜๋ฉด, ํšจ์œจ์ ์ด์ง€ ์•Š์€ ์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด FULL TABLE SCAN์ด ์œ ๋ฐœ๋œ๋‹ค. => ์„ฑ๋Šฅ์ €ํ•˜
FK๋Š” ์กฐ์ธ์œผ๋กœ ์ด์šฉ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ด ์žˆ๊ธฐ๋•Œ๋ฌธ์— FK์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ์„ฑ๋Šฅ์ด ์ข‹์•„์ง„๋‹ค.

FK์ธ๋ฑ์Šค๊ฐ€ ๋ฏธ์ƒ์„ฑ๋˜๋ฉด FULL TABLE SCAN์ด ๋ฐœ์ƒํ•˜์—ฌ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋œ๋‹ค.

ํ•˜์ง€๋งŒ, FK์ธ๋ฑ์Šค๊ฐ€ ๊ฑฐ์˜ ํ™œ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด FK์ธ๋ฑ์Šค๋ฅผ ์ง€์šฐ๋Š” ๊ฒƒ๋„ ์ ์ ˆํ•˜๋‹ค.

 

 

๐Ÿ’š๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์„ฑ๋Šฅ

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค :

์—ฌ๋Ÿฌ ๊ณณ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ€์ƒ ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.

๋ฌผ๋ฆฌ์ ์œผ๋กœ๋Š” ๋ถ„๋ฆฌ๋˜์–ด์žˆ์ง€๋งŒ, ๋…ผ๋ฆฌ์ ์œผ๋กœ๋Š” ๋™์ผํ•œ ์‹œ์Šคํ…œ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.

 

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ†ตํ•ฉ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ œ๊ณตํ•  ์ˆ˜ ์—†๋Š” ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

 

๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํˆฌ๋ช…์„ฑ

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์•„๋ž˜ 6๊ฐ€์ง€ ํˆฌ๋ช…์„ฑ์„ ๋งŒ์กฑํ•ด์•ผํ•œ๋‹ค.

๋ถ„ํ•  ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ๋ฆด๋ ˆ์ด์…˜์ด ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋ถ„ํ• ๋˜์–ด ์žˆ๋‹ค.
์œ„์น˜ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ €์žฅ์žฅ์†Œ ๋ช…์‹œ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๋‹ค. 
System Catalog์— ์œ„์น˜์ •๋ณด๊ฐ€ ์ €์žฅ๋˜์–ด์•ผํ•œ๋‹ค.
์ง€์—ญ์‚ฌ์ƒ ์ง€์—ญDBMS์™€ ๋ฌผ๋ฆฌ์ DB ์‚ฌ์ด์˜ MAPPING์„ ๋ณด์žฅํ•œ๋‹ค.
๊ฐ ์ง€์—ญ์‹œ์Šคํ…œ ์ด๋ฆ„๊ณผ ๋ฌด๊ด€ํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
์ค‘๋ณต DB๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์— ์ค‘๋ณต๋˜์–ด์žˆ๋Š”์ง€ ์•Œ ํ•„์š” ์—†๋‹ค.
์žฅ์•  DBMS ๋˜๋Š” ์ปดํ“จํ„ฐ์˜ ์žฅ์• ์— ๋ฌด๊ด€ํ•˜๊ฒŒ ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ์ด ๋ณด์žฅ๋˜์–ด์•ผํ•œ๋‹ค.
๋ณ‘ํ–‰ ๋‹ค์ˆ˜ ํŠธ๋žœ์žญ์…˜์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•ด๋„ ๊ฒฐ๊ณผ๋Š” ์ผ๊ด€์„ฑ์žˆ์–ด์•ผ ํ•œ๋‹ค.

 

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
- ์‹ ๋ขฐ์„ฑ, ๊ฐ€์šฉ์„ฑ, ํšจ์šฉ์„ฑ, ์œต๋™์„ฑ์ด ๋†’๋‹ค
- ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋น ๋ฅธ ์‘๋‹ต ๊ฐ€๋Šฅํ•˜๋‹ค
- ์‹œ์Šคํ…œ ์šฉ๋Ÿ‰ ํ™•์žฅ์ด ์‰ฝ๋‹ค
- ๊ฐ ์ง€์—ญ ์‚ฌ์šฉ์ž๋“ค์˜ ์š”๊ตฌ ์ˆ˜์šฉ์ด ๋น ๋ฅด๋‹ค
- ์„ค๊ณ„์™€ ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•˜๋‹ค, ๋น„์šฉ์ด ๋†’๋‹ค
- ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์— ๋Œ€ํ•œ ์œ„ํ˜‘์ด ์žˆ๋‹ค
- ๋ณด์•ˆ, ๊ด€๋ฆฌ, ํ†ต์ œ ์–ด๋ ต๊ณ  ์˜ค๋ฅ˜ ์ž ์žฌ์„ฑ์ด ํฌ๋‹ค
- ์‘๋‹ต์†๋„๊ฐ€ ๋ถˆ๊ทœ์น™ํ•˜๋‹ค.

 

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ์šฉ ๊ธฐ๋ฒ•

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋™๊ธฐํ™”๋Š” ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ๋ณด๋‹ค๋Š” ์•ผ๊ฐ„ ๋ฐฐ์น˜์ž‘์—…์œผ๋กœ ๋ณต์ œ๋œ๋‹ค.

ํ…Œ์ด๋ธ” ์œ„์น˜ ๋ถ„์‚ฐ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋Š” ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. 
ํ…Œ์ด๋ธ”์ด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ค‘๋ณต๋˜์–ด ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”๋‹ค.
ํ…Œ์ด๋ธ”์˜ ์œ„์น˜๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์œ„์น˜์‹œํ‚จ๋‹ค.
ex. ์ž์žฌํ’ˆ๋ชฉ์€ ๋ณธ์‚ฌDB์—, ์ƒ์‚ฐ์ œํ’ˆ์€ ์ง€์‚ฌDB์— ์œ„์น˜
ํ…Œ์ด๋ธ”
๋ถ„ํ•  ๋ถ„์‚ฐ
์ˆ˜ํ‰๋ถ„ํ•  ํ…Œ์ด๋ธ”์„ ํŠน์ • ํ–‰์„ ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐœ์–ด ๋ถ„์‚ฐํ•œ๋‹ค. ex. ์ง€์‚ฌ๋ณ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ–‰์ด ๋‹ค๋ฅผ ๋•Œ ์ด์šฉํ•œ๋‹ค.
์ˆ˜์ง๋ถ„ํ•  ํ…Œ์ด๋ธ”์„ ํŠน์ • ์นผ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์ชผ๊ฐœ์–ด ๋ถ„์‚ฐํ•œ๋‹ค.
ํ…Œ์ด๋ธ”์— ๋™์ผํ•œ PK๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
ex. ์žฌ๊ณ ๋Ÿ‰์€ ๊ฐ ์ง€์‚ฌ์—์„œ ๊ด€๋ฆฌํ•˜๊ณ , ๋‹จ๊ฐ€๋Š” ๋ณธ์‚ฌ์—์„œ ๊ด€๋ฆฌ
ํ…Œ์ด๋ธ”
๋ณต์ œ ๋ถ„์‚ฐ
(๊ฐ€์žฅ ๋งŽ์ด

์‚ฌ์šฉํ•œ๋‹ค)
๋ถ€๋ถ„๋ณต์ œ ๋งˆ์Šคํ„ฐ ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€๋งŒ ๋‹ค๋ฅธ์ง€์—ญ์ด๋‚˜ ์„œ๋ฒ„์— ๋™์ผํ•˜๊ฒŒ ์ƒ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค. ex. ์ง€์‚ฌ์˜ ๋ฐ์ดํ„ฐ ์ค‘ ๊ณ ๊ฐ์ •๋ณด๋งŒ ๋ณธ์‚ฌ์— ๋ณต์ œ
๊ด‘์—ญ๋ณต์ œ ๋งˆ์Šคํ„ฐ ํ…Œ์ด๋ธ”์˜ ์ „๋ถ€๋ฅผ ๋‹ค๋ฅธ์ง€์—ญ์ด๋‚˜ ์„œ๋ฒ„์— ๋™์ผํ•˜๊ฒŒ ์ƒ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค. ex. ์ง€์‚ฌ์˜ ๋ฐ์ดํ„ฐ ์ „๋ถ€๋ฅผ ๋ณธ์‚ฌ์— ๋ณต์ œ
ํ…Œ์ด๋ธ”
์š”์•ฝ ๋ถ„์‚ฐ
๋ถ„์„์š”์•ฝ ์ง€์—ญ๊ฐ„, ์„œ๋ฒ„๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์Šทํ•˜์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์œผ๋กœ ์กด์žฌํ•œ๋‹ค.
์ง€์—ญ๋ณ„๋กœ ์กด์žฌํ•˜๋Š” ๋™์ผํ•œ ์ •๋ณด๋ฅผ ๋ณธ์‚ฌ์—์„œ ํ†ตํ•ฉํ•œ๋‹ค.
ex. ๊ฐ ์ง€์‚ฌ๋ณ„๋กœ ํŒ๋งค ์ œํ’ˆ์ด ๊ฐ™๊ณ , ํŒ๋งค์‹ค์ ์„ ๋ณธ์‚ฌ์—์„œ ํ†ตํ•ฉํ•œ๋‹ค.
ํ†ตํ•ฉ์š”์•ฝ ์ง€์—ญ๊ฐ„, ์„œ๋ฒ„๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์Šทํ•˜์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์œผ๋กœ ์กด์žฌํ•œ๋‹ค.
์ง€์—ญ๋ณ„๋กœ ์กด์žฌํ•˜๋Š” ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๋ณธ์‚ฌ์—์„œ ํ†ตํ•ฉํ•œ๋‹ค.
ex. ๊ฐ ์ง€์‚ฌ๋ณ„๋กœ ํŒ๋งค ์ œํ’ˆ์ด ๋‹ค๋ฅด๊ณ , ํŒ๋งค์‹ค์ ์„ ๋ณธ์‚ฌ์—์„œ ํ†ตํ•ฉํ•œ๋‹ค.

 

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋ฅผ ๊ณ ๋ คํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ

- ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•œ ์‚ฌ์ดํŠธ์ด๋‹ค.

- ๊ณตํ†ต์ฝ”๋“œ, ๊ธฐ์ค€์ •๋ณด, ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ ๋“ฑ์— ๋Œ€ํ•ด ๋ถ„์‚ฐํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ข‹์•„์ง„๋‹ค.

- ์‹ค์‹œ๊ฐ„ ๋™๊ธฐํ™”๋ฅผ ์š”๊ตฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

- ํŠน์ • ์„œ๋ฒ„์— ๋ถ€ํ•˜๊ฐ€ ์ง‘์ค‘๋œ๋‹ค.

- ๋ฐฑ์—… ์‚ฌ์ดํŠธ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

 

 

 

 

#SQLD #์„ฑ๋Šฅ๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง #์ •๊ทœํ™” #ํ•จ์ˆ˜์ข…์†์„ฑ #๋ฐ˜์ •๊ทœํ™” #RowChainning #RowMigration #RangeํŒŒํ‹ฐ์…”๋‹ #ListํŒŒํ‹ฐ์…”๋‹ #HashํŒŒํ‹ฐ์…”๋‹ #์Šˆํผ/์„œ๋ธŒํƒ€์ž…๋ชจ๋ธ #OnetoOneType #PlusType #SingleType #PK/FK์ธ๋ฑ์ŠคํŠน์„ฑ #๋ถ„์‚ฐ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ˜์‘ํ˜•
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ํŠธ์œ„ํ„ฐ ๊ณต์œ ํ•˜๊ธฐ
  • ๊ตฌ๊ธ€ ํ”Œ๋Ÿฌ์Šค ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜คํ†ก ๊ณต์œ ํ•˜๊ธฐ