๐Ÿป‍โ„๏ธ์ „๊ณต๊ณต๋ถ€/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

0. ๋ฉด์ ‘ ์งˆ๋ฌธ์ด์ƒ ํ˜„์ƒ์ด ๋ญ˜๊นŒ์š”?์‚ฝ์ž… ์ด์ƒ(Insertion Anomaly)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.๊ฐฑ์‹  ์ด์ƒ(Update Anomaly)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์‚ญ์ œ ์ด์ƒ(Deletion Anomaly)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ํ•จ์ˆ˜ ์ข…์†์„ฑ์ด ๋ฌด์—‡์ธ๊ฐ€์š”?์™„์ „ ํ•จ์ˆ˜์  ์ข…์†์€ ๋ญ”๊ฐ€์š”?๋ถ€๋ถ„ ํ•จ์ˆ˜์  ์ข…์†์€ ๋ญ”๊ฐ€์š”?์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์†์€ ๋ญ”๊ฐ€์š”?์ •๊ทœํ™”(Normalization)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ œ 1 ์ •๊ทœํ˜•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ œ 2 ์ •๊ทœํ˜•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ œ 3 ์ •๊ทœํ˜•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.BCNF ์ •๊ทœํ˜•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.๋ฐ˜์ •๊ทœํ™”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. 1. ์ด์ƒ ํ˜„์ƒ๊ฐœ๋…: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋น„์ •์ƒ์ ์ธ ์ƒํ™ฉ์ฃผ๋กœ ๋น„์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐœ์ƒํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…, ๊ฐฑ์‹ , ์‚ญ์ œ ๊ณผ..
0. ๋ฉด์ ‘ ์งˆ๋ฌธ๋žœ๋ค I/O์™€ ์ˆœ์ฐจ I/O์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ธ๋ฑ์Šค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ธ๋ฑ์Šค์˜ ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์„ค์ •ํ•ด์•ผํ• ๊นŒ์š”?ํ…Œ์ด๋ธ”์— ์ธ๋ฑ์Šค๋ฅผ ๋งŽ์ด ์„ค์ •ํ•˜๋ฉด ์ข‹์„๊นŒ์š”?์ปค๋ฒ„๋ง ์ธ๋ฑ์Šค(Covering index)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.๋‹ค์ค‘ ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค(Multi-column index, ๋ณตํ•ฉ ์ธ๋ฑ์Šค)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.B-Tree ์ธ๋ฑ์Šค์™€ B+Tree ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.Hash ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ํด๋Ÿฌ์Šคํ„ฐ๋ง ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ธ๋ฑ์Šค ์Šค์บ” ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ฟผ๋ฆฌ ์‹คํ–‰ ๊ณ„ํš์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. ์‹คํ–‰ ๊ณ„ํš์„ ํ™•์ธํ•ด๋ณธ์ ์ด ์žˆ๋‚˜์š”?ํžŒํŠธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ธ๋ฑ์Šค๊ฐ€ ์ž˜ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์–ด๋–ป๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?์ธ๋ฑ์Šค ์‚ฌ์šฉ์‹œ ์ฃผ..
0. ๋ฉด์ ‘ ์งˆ๋ฌธSQL์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. C์–ธ์–ด์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์–ด๋–ค์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ SQL์ด ์–ด๋–ค ๊ณผ์ •์„ ํ†ตํ•ด ์‹คํ–‰ ๋˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.DML์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ด๋–ค ๊ตฌ๋ฌธ์ด ์žˆ๋Š”์ง€๋„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.DDL์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ด๋–ค ๊ตฌ๋ฌธ์ด ์žˆ๋Š”์ง€๋„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.DCL์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ด๋–ค ๊ตฌ๋ฌธ์ด ์žˆ๋Š”์ง€๋„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.CASCADE ์„ค์ •์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.VIEW์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.SELECT ์ ˆ์˜ ์ฒ˜๋ฆฌ์ˆœ์„œ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.SELECT ~ FOR UPDATE ๊ตฌ๋ฌธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.GROUP BY์ ˆ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ORDER BY์ ˆ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.INNER JOIN๊ณผ OUTER JOIN์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.LEFT OUTE..
0. ๋ฉด์ ‘ ์งˆ๋ฌธํŒŒ์ผ์‹œ์Šคํ…œ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.DBMS๋Š” ๋ญ˜๊นŒ์š”? ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.์Šคํ‚ค๋งˆ๊ฐ€ ๋ญ˜๊นŒ์š”? 3๋‹จ๊ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.๋ฐ์ดํ„ฐ ๋…๋ฆฝ์„ฑ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.RDBMS(๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์‹œ์Šคํ…œ)๋Š” ๋ญ˜๊นŒ์š”?๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ์™€ ๋ฆด๋ ˆ์ด์…˜ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜์™€ ์นด๋””๋„๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.ํ‚ค(Key)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. (์Šˆํผํ‚ค, ํ›„๋ณดํ‚ค, ๊ธฐ๋ณธํ‚ค, ๋Œ€๋ฆฌํ‚ค, ์™ธ๋ž˜ํ‚ค)๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. (๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ, ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ, ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ)์‚ฌ์šฉํ–ˆ๋˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. (์˜ค๋ผํดDB, MySQL, MariaDB, MongoDB ๋“ฑ) 1. ํŒŒ์ผ์‹œ์Šคํ…œ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜..
๊ณ„๋ž€์†Œ๋…„
'๐Ÿป‍โ„๏ธ์ „๊ณต๊ณต๋ถ€/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก