๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ณด์กฐ์ธ๋ฑ์Šค (2)

Soy Library

[ํ˜ผ๊ณตS] CH6-(3). ์ธ๋ฑ์Šค์˜ ์‹ค์ œ ์‚ฌ์šฉ

์ง€๊ธˆ๊นŒ์ง€๋Š” ์ธ๋ฑ์Šค์˜ ๊ฐœ๋…์„ ํŒŒ์•…ํ–ˆ๋‹ค๋ฉด, ์‹ค์ œ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” SQL์„ ์ตํžˆ๋„๋ก ํ•˜์ž. ์ธ๋ฑ์Šค์˜ ์ƒ์„ฑ๊ณผ ์ œ๊ฑฐ ๋ฌธ๋ฒ• ์ธ๋ฑ์Šค ์ƒ์„ฑ ๋ฌธ๋ฒ• ์•ž์—์„œ PRIMARY KEY๋ฅผ ์ง€์ •ํ•˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐํ˜• ์ธ๋ฑ์Šค๊ฐ€, UNIQUE๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋ณด์กฐ ์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ์ด์™ธ์— ์ง์ ‘ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด CREATE INDEX ๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. -- ์ธ๋ฑ์Šค ์ƒ์„ฑ CREATE [UNIQUE] INDEX ์ธ๋ฑ์Šค_์ด๋ฆ„ ON ํ…Œ์ด๋ธ”_์ด๋ฆ„ (์—ด_์ด๋ฆ„) [ASC | DESC] ; UNIQUE๋ฅผ ์“ฐ๋ฉด ์ค‘๋ณต์ด ์•ˆ ๋˜๋Š” ๊ณ ์œ  ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๊ณ , ์ด๋ฅผ ์ƒ๋žตํ•˜๋ฉด ์ค‘๋ณต์ด ํ—ˆ์šฉ๋œ๋‹ค. ASC/DESC๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ, ๋‚ด๋ฆผ์ฐจ์ˆœ์„ ์˜๋ฏธํ•œ๋‹ค. ์ธ๋ฑ์Šค ์ œ๊ฑฐ ๋ฌธ๋ฒ• -- ์ธ๋ฑ์Šค ์ œ๊ฑฐ DROP INDEX ์ธ๋ฑ์Šค_์ด๋ฆ„ ON ํ…Œ์ด๋ธ”_์ด๋ฆ„ ; ์—ฌ๊ธฐ์„œ ๊ธฐ๋ณธ..

Study/SQL 2022. 2. 19. 16:15
[ํ˜ผ๊ณตS] CH6-(2). ์ธ๋ฑ์Šค์˜ ๋‚ด๋ถ€ ์ž‘๋™

ํด๋Ÿฌ์Šคํ„ฐํ˜• ์ธ๋ฑ์Šค์™€ ๋ณด์กฐ ์ธ๋ฑ์Šค๋Š ๋ชจ๋‘ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ท ํ˜• ํŠธ๋ฆฌ๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. ์—ฌ๊ธฐ์„œ ๊ท ํ˜• ํŠธ๋ฆฌ(Balanced tree, B-tree)๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ๋กœ, ๋ฟŒ๋ฆฌ, ์ค„๊ธฐ, ์žŽ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ธ๋ฑ์Šค์˜ ๋‚ด๋ถ€ ์ž‘๋™ ์›๋ฆฌ ์ธ๋ฑ์Šค์˜ ๋‚ด๋ถ€ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์™€ ์•„๋‹Œ ๊ฒฝ์šฐ๋ฅผ ์„ ํƒํ•  ๋•Œ ๋„์›€์ด ๋œ๋‹ค. ๊ท ํ˜• ํŠธ๋ฆฌ์˜ ๊ฐœ๋… ๊ท ํ˜• ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„์„ ๋…ธ๋“œ(node)๋ผ๊ณ  ํ•œ๋‹ค. ๋ฃจํŠธ ๋…ธ๋“œ(root node)๋Š” ๊ฐ€์žฅ ์ƒ์œ„์˜ ๋…ธ๋“œ๋ฅผ ๋งํ•˜๊ณ , ๋ชจ๋“  ์ถœ๋ฐœ์€ ๋ฃจํŠธ๋…ธํŠธ์—์„œ ์‹œ์ž‘๋˜๊ณ  ๋ฆฌํ”„๋…ธํŠธ(leaf node)๋กœ ๋งˆ๋ฌด๋ฆฌ๋œ๋‹ค. ์ด ์‚ฌ์ด์— ์žˆ๋Š” ๋…ธ๋“œ๋Š” ์ค‘๊ฐ„ ๋…ธ๋“œ(internal node)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. MySQL์—์„œ๋Š” node ๋Œ€์‹  ํŽ˜์ด์ง€(page)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ท ํ˜• ํŠธ๋ฆฌ์˜..

Study/SQL 2022. 2. 18. 18:08