[SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ

2022. 11. 4. 23:02ยท๐Ÿ“์ž๊ฒฉ์ฆ ๊ณต๋ถ€/๐Ÿ“™ SQLD
๋ชฉ์ฐจ
  1. ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐœ์š”
  2. ์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
  3. ๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
  4. ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ
  5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ
๋ฐ˜์‘ํ˜•

์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐœ์š”

- ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง : DB ์„ฑ๋Šฅํ–ฅ์ƒ์„ ์œ„ํ•œ ์‚ฌํ•ญ๋“ค์ด ๋ชจ๋ธ๋ง์— ๋ฐฉ์˜๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ

 

- ์ˆ˜ํ–‰ ์‹œ์  : ๋ถ„์„/์„ค๊ณ„ ๋‹จ๊ณ„ (๋Šฆ๊ฒŒ ํ• ์ˆ˜๋ก ๋น„์šฉ ์ฆ๊ฐ€)

 

- ๊ณ ๋ ค ์‚ฌํ•ญ

  1. ์ •๊ทœํ™”๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์ˆ˜ํ–‰
  2. DB ์šฉ๋Ÿ‰ ์‚ฐ์ •
  3. DB์— ๋ฐœ์ƒ๋˜๋Š” ํŠธ๋žœ์žญ์…˜ ์œ ํ˜• ํŒŒ์•…
  4. ์šฉ๋Ÿ‰๊ณผ ํŠธ๋žœ์žญ์…˜์˜ ์œ ํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์ •๊ทœํ™” ์ˆ˜ํ–‰
  5. ์ด๋ ฅ๋ชจ๋ธ์˜ ์กฐ์ •, PK/FK์กฐ์ •, ์Šˆํผํƒ€์ž…/์„œ๋ธŒํƒ€์ž… ์กฐ์ •
  6. ์„ฑ๋Šฅ๊ด€์ ์—์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ฒ€์ฆ

- DB์—์„œ์˜ ์„ฑ๋Šฅ

  1. ์กฐํšŒ
  2. ์ž…๋ ฅ / ์ˆ˜์ • / ์‚ญ์ œ

 


 

์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ

- ์ •๊ทœํ™” : ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์†์„ฑ์„ ์ œ๊ฑฐํ•˜๊ณ  ๊ฒฐ์ •์ž์— ์˜ํ•ด ๋™์ผํ•œ ์˜๋ฏธ(ํ•จ์ˆ˜์  ์ข…์†์„ฑ)์˜ ์ผ๋ฐ˜์†์„ฑ์„ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ์ง‘์•ฝ์‹œํ‚ค๋Š” ๊ฒƒ (ํ•œ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์šฉ๋Ÿ‰์ด ์ตœ์†Œํ™”)

  • 1์ฐจ ์ •๊ทœํ™” : ์ค‘๋ณต ์†์„ฑ์— ๋Œ€ํ•œ ๋ถ„๋ฆฌ (๋กœ์šฐ๋‹จ์œ„, ์นผ๋Ÿผ๋‹จ์œ„)
  • 2์ฐจ ์ •๊ทœํ™” : ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†์„ฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ๋‘๊ฐœ์˜ ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌ
  • 3์ฐจ ์ •๊ทœํ™” : ์ดํ–‰ ํ•จ์ˆ˜ ์ข…์†์„ฑ ์ œ๊ฑฐ, ์„œ๋กœ ์ข…์†๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ์ผ๋ฐ˜์†์„ฑ์„ ๋ถ„๋ฆฌ

 

- ํŠน์ง•

  • ์ •๊ทœํ™”๋œ ํ…Œ์ด๋ธ”์€ ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ ์ˆ˜๋„ ์žˆ๊ณ  ๋А๋ ค์งˆ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์ •๊ทœํ™”ํ•˜๋ฉด ์ž…๋ ฅ/์ˆ˜์ •/์‚ญ์ œ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ณ , ๋ฐ˜์ •๊ทœํ™”ํ•˜๋ฉด ์กฐํšŒ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋จ
  • ์ •๊ทœํ™”ํ•ด์„œ ์กฐํšŒ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๋Š” ์‚ฌ๋ก€๋„ ๋งŽ์Œ

 

- ํ•จ์ˆ˜์  ์ข…์†์„ฑ : ๋ฐ์ดํ„ฐ๋“ค์ด ์–ด๋–ค ๊ธฐ์ค€๊ฐ’์— ์˜ํ•ด ์ข…์†๋˜๋Š” ํ˜„์ƒ  ex) ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ(๊ฒฐ์ •์ž) --- ์ถœ์ƒ์ผ, ์ถœ์ƒ์ง€(์ข…์†์ž)

 


 

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

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

 

- ์ ˆ์ฐจ

  1. ๋ฐ˜์ •๊ทœํ™” ๋Œ€์ƒ ์กฐ์‚ฌ : ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฒ”์œ„, ํ†ต๊ณ„์„ฑ, ํ…Œ์ด๋ธ” ์กฐ์ธ ๊ฐœ์ˆ˜
  2. ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œ ๋„ ๊ฒ€ํ†  : ๋ทฐ / ํด๋Ÿฌ์Šคํ„ฐ๋ง / ์ธ๋ฑ์Šค ์กฐ์ • / ์‘์šฉ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  3. ๋ฐ˜์ •๊ทœํ™” ์ ์šฉ : ํ…Œ์ด๋ธ” ๋ฐ˜์ •๊ทœํ™” / ์†์„ฑ(์นผ๋Ÿผ)์˜ ๋ฐ˜์ •๊ทœํ™” / ๊ด€๊ณ„์˜ ๋ฐ˜์ •๊ทœํ™”

 

- ๊ธฐ๋ฒ•

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

  • ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ : 1:1 ๊ด€๊ณ„ ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ / 1:N ๊ด€๊ณ„ ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ / ์Šˆํผใ†์„œ๋ธŒ ํƒ€์ž… ํ…Œ์ด๋ธ” ๋ณ‘ํ•ฉ
  • ํ…Œ์ด๋ธ” ๋ถ„ํ•  : ์ˆ˜์ง๋ถ„ํ•  / ์ˆ˜ํ‰๋ถ„ํ• 
  • ํ…Œ์ด๋ธ” ์ถ”๊ฐ€ : ์ค‘๋ณตํ…Œ์ด๋ธ” / ํ†ต๊ณ„ ํ…Œ์ด๋ธ” / ์ด๋ ฅ ํ…Œ์ด๋ธ” / ๋ถ€๋ถ„ ํ…Œ์ด๋ธ”

<์นผ๋Ÿผ ๋ฐ˜์ •๊ทœํ™”>

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

<๊ด€๊ณ„ ๋ฐ˜์ •๊ทœํ™”>

  • ์ค‘๋ณต ๊ด€๊ณ„ ์ถ”๊ฐ€ (๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ํฌ์ƒ X)

 


 

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

- ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์— ๋งŽ์€ ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒํ•˜์—ฌ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๋Š” ํ…Œ์ด๋ธ” ๊ตฌ์กฐ์— ๋Œ€ํ•ด ํ…Œ์ด๋ธ” ๋ฐ˜์ •๊ทœํ™”์˜ ํ…Œ์ด๋ธ” ์ˆ˜์งใ†์ˆ˜ํ‰ ๋ถ„ํ•  ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ ์ €ํ•˜ ์˜ˆ๋ฐฉ

ex) ํ•œ ํ…Œ์ด๋ธ”์— ๋งŽ์€ ์ˆ˜์˜ ์นผ๋Ÿผ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ / ํ•œ ํ…Œ์ด๋ธ”์— ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ (I/O์–‘ ์ฆ๊ฐ€)

 

- ๋ฐœ์ƒ

  • ๋กœ์šฐ ์ฒด์ด๋‹ : ํ–‰ ๊ธธ์ด๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ํ•˜๋‚˜๊ฐ€ ์•„๋‹Œ ์—ฌ๋Ÿฌ ๋ธ”๋ก์— ๊ฑธ์ณ ๋กœ์šฐ๊ฐ€ ์ €์žฅ ๋˜๋Š” ํ˜„์ƒ
  • ๋กœ์šฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ : ์ˆ˜์ •๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ด๋‹น ๋ธ”๋ก์ด ์•„๋‹Œ ๋‹ค๋ฅธ ๋ธ”๋ก์˜ ๋นˆ ๊ณต๊ฐ„์— ์ €์žฅ ๋˜๋Š” ํ˜„์ƒ

 

- ํ•ด๊ฒฐ๋ฐฉ์•ˆ

  • ํ…Œ์ด๋ธ” ์ˆ˜์ง ๋ถ„ํ•  : ์นผ๋Ÿผ ์ˆ˜๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ ์นผ๋Ÿผ ๋‹จ์œ„๋กœ ํ…Œ์ด๋ธ”์„ ๋ถ„ํ• ํ•˜์—ฌ I/O ๊ฐ์†Œ (1:1 ํ˜•ํƒœ)
  • ํ…Œ์ด๋ธ” ์ˆ˜ํ‰ ๋ถ„ํ•  : ๋ฐ์ดํ„ฐ์–‘์ด ๋งŽ์„ ๊ฒฝ์šฐ ํ–‰ ๋‹จ์œ„๋กœ ํ…Œ์ด๋ธ”์„ ๋ถ„ํ•  ํ•˜์—ฌ I/O ๊ฐ์†Œ (ํŒŒํ‹ฐ์…”๋‹)

 

- ํŒŒํ‹ฐ์…”๋‹ : ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ด์ง€๋งŒ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋ถ„์‚ฐ ์ €์žฅ

  • Range Partition : ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„ํ•    ex) ๋‚ ์งœ
  • List Partition : ํŠน์ • ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋ถ„ํ• (ํ•ต์‹ฌ์ ์ธ ์ฝ”๋“œ๊ฐ’์œผ๋กœ PK๊ฐ€ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ)   ex) ์ง€์ ์ฝ”๋“œ
  • Hash Partition : ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ถ„ํ•  (DBMS๊ฐ€ ์•Œ์•„์„œ ๋ถ„ํ•  ๊ด€๋ฆฌ)

 

- ์ ˆ์ฐจ

  1. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์™„์„ฑ
  2. DB ์šฉ๋Ÿ‰ ์‚ฐ์ •
  3. ๋Œ€๋žต ๋ฐ์ดํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ํŒจํ„ด ๋ถ„์„
  4. ์ง‘์ค‘ํ™”๋œ ๋‹จ์œ„(์นผ๋Ÿผ or ๋กœ์šฐ)๋กœ ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๊ฒ€ํ† 

 


 

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

100p

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ“์ž๊ฒฉ์ฆ ๊ณต๋ถ€ > ๐Ÿ“™ SQLD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SQLD] SQL ๊ธฐ๋ณธ - ์กฐ์ธ JOIN  (0) 2022.11.05
[SQLD] SQL ๊ธฐ๋ณธ - ํ•จ์ˆ˜, GROUP BY, HAVING, ORDER BY  (0) 2022.11.05
[SQLD] SQL ๊ธฐ๋ณธ  (0) 2022.11.04
[SQLD] ์—”ํ„ฐํ‹ฐ, ์†์„ฑ, ๊ด€๊ณ„, ์‹๋ณ„์ž  (0) 2022.10.20
[SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด  (0) 2022.10.13
  1. ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ๊ฐœ์š”
  2. ์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
  3. ๋ฐ˜์ •๊ทœํ™”์™€ ์„ฑ๋Šฅ
  4. ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ
  5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ์„ฑ๋Šฅ
'๐Ÿ“์ž๊ฒฉ์ฆ ๊ณต๋ถ€/๐Ÿ“™ SQLD' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [SQLD] SQL ๊ธฐ๋ณธ - ํ•จ์ˆ˜, GROUP BY, HAVING, ORDER BY
  • [SQLD] SQL ๊ธฐ๋ณธ
  • [SQLD] ์—”ํ„ฐํ‹ฐ, ์†์„ฑ, ๊ด€๊ณ„, ์‹๋ณ„์ž
  • [SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด
yujch
yujch
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€ ๋ฉ”๋ชจ
    ๋ฐ˜์‘ํ˜•
  • yujch
    โœŽRepository
    yujch
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (95)
      • ๐Ÿ“Language (42)
        • ๐ŸŒ HTML (3)
        • ๐ŸŸจ Javascript (4)
        • ๐ŸŸฃ PHP (9)
        • ๐ŸŸข Node.js (6)
        • โ˜• Java (10)
        • โž• Python (9)
        • ๐Ÿ”ต C (1)
      • ๐Ÿ“Framework (11)
        • ๐Ÿƒ Spring (1)
        • ๐ŸŽต Laravel (9)
        • ๐Ÿš„ Express (1)
      • ๐Ÿ“DB (7)
        • ๐Ÿฌ MySQL (6)
        • ๐Ÿ˜ PostgreSQL (1)
      • ๐Ÿ“DevOps (6)
      • ๐Ÿ“Book (2)
      • ๐Ÿ“ETC. (16)
        • โš’๏ธ Tool (11)
        • ๐Ÿชข API Connection (5)
      • ๐Ÿ“์ž๊ฒฉ์ฆ ๊ณต๋ถ€ (10)
        • ๐Ÿ“™ SQLD (7)
        • ๐Ÿ“™ ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ (3)
      • ๐Ÿ“˜ ๋…ธํŠธ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿ ํ™ˆ
    • ๐Ÿ“ฎ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

    • Github
  • ์ธ๊ธฐ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
yujch
[SQLD] ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๊ณผ ์„ฑ๋Šฅ

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.