๋ชฉ๋ก๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๊ฐœ๋ฐœ๊ฐœ๋ฐœ/Database (6)

DevLog

Database - SQL ๋‚ด์žฅํ•จ์ˆ˜

SQL ๋‚ด์žฅํ•จ์ˆ˜ ์ง‘ํ•ฉ์—ฐ์‚ฐ: ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐํšŒํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•œ ๋’ค, ํŠน์ • ์ž‘์—…์„ ํ•˜๋Š” ์—ฐ์‚ฐ GROUP BY ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ๋•Œ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด์„œ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. SELECT * FROM customers; [์ปค๋งจ๋“œ] customers ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐํšŒ ์ด ์ฟผ๋ฆฌ๋ฅผ ์ฃผ(state)์— ๋”ฐ๋ผ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SELECT * FROM customers GROUP BY State; [์ปค๋งจ๋“œ] customers ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋ฅผ State์— ๋”ฐ๋ผ ๊ทธ๋ฃนํ™” GROUP BY ์ฟผ๋ฆฌ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ State์— ๋”ฐ๋ผ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๊ฐ€ ์ค‘๊ฐ„์— ๋น„์–ด์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๊ณผ์ •์—์„œ State์—..

Database - ACID

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