[DB] ํŠธ๋žœ์žญ์…˜ ACID ์†์„ฑ๊ณผ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€
ยท
๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
์ฃผ์ œํŠธ๋žœ์žญ์…˜์˜ ACID ์†์„ฑ ์ค‘ ๊ฒฉ๋ฆฌ์„ฑ(Isolation)์ด ๋ณด์žฅ๋˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ ๋“ค์„ ์„ค๋ช…ํ•˜๊ณ ,์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•œ๋‹ค.ํŠธ๋žœ์žญ์…˜์ด๋ž€?ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ํ•ด์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ์  ์ž‘์—… ๋‹จ์œ„์ด๋‹ค.ACIDACID๋Š” ํŠธ๋žœ์žญ์…˜์„ ์ •์˜ํ•˜๋Š” 4๊ฐ€์ง€ ์†์„ฑ์„ ๋งํ•œ๋‹ค.์›์ž์„ฑ A: AtomicityํŠธ๋žœ์žญ์…˜์€ ์›์ž์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ์—ฐ์‚ฐ๋“ค์˜ ๋ฌถ์€ ํ•˜๋‚˜์˜ ๋‹จ์œ„์ด๋‹ค.์›์ž์ ์ด๋ž€, ์ž‘์—… ์ˆ˜ํ–‰ ์‹œ ์ด ๋ชจ๋“  ์—ฐ์‚ฐ๋“ค์ด ๋ชจ๋‘ ์„ฑ๊ณตํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๋ชจ๋‘ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋ถ€๋ถ„์ ์œผ๋กœ ์„ฑ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ถˆ์ผ์น˜๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋„๋ก๋ชจ๋‘ ์„ฑ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ปค๋ฐ‹ํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ๋ถ€๋ถ„์ ์œผ๋กœ ์„ฑ๊ณตํ•œ ๊ฒฝ์šฐ๋Š” ๋กค๋ฐฑํ•˜์—ฌ ์•„๋ฌด๊ฒƒ๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ..
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™”์™€ ์—ญ์ •๊ทœํ™”: 1NF, 2NF, 3NF, BCNF
ยท
๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™”์ •๊ทœํ™”(Normalization)๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)์˜ ์„ค๊ณ„์—์„œโœ… ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ , โœ… ์ด์ƒ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ , โœ… ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์ •๊ทœํ˜•์— ๋งž๋„๋ก ๊ตฌ์กฐํ™”ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋‹ค. ์ •๊ทœํ™” ๊ณผ์ •์€ ๊ฐ ๊ด€๊ณ„(relation)๊ฐ€ ์ •๊ทœํ˜• ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๊ณ ,๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ•„์š”์— ๋”ฐ๋ผ ๊ด€๊ณ„๋ฅผ ๋ถ„ํ•ดํ•œ๋‹ค. ์ œ1์ •๊ทœํ˜•(1NF)์—์„œ ์ œ4์ •๊ทœํ˜•(4NF)๋กœ ๊ฐˆ์ˆ˜๋ก ์ •๊ทœํ™”๊ฐ€ ๋” ๋งŽ์ด ๋œ๋‹ค. ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ์ œ1์ •๊ทœํ˜•,์ œ2์ •๊ทœํ˜•, ์ œ3์ •๊ทœํ˜•, BCNF์˜ ๊ฐ ํŠน์ง•์„ ์•Œ์•„๋ณด๊ณ ,๋ฐ˜๋Œ€ ๊ฐœ๋… ์—ญ์ •๊ทœํ™”์— ๋Œ€ํ•ด ์‚ดํŽด๋ณธ๋‹ค.๐Ÿ“Œ 1NF์ œ1์ •๊ทœํ˜•์€ First Normal Form์œผ๋กœ ์ฃผ๋กœ 1NF๋กœ ๋ถ€๋ฅธ๋‹ค.1NF์—์„œโœ… ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์†์„ฑ์˜ ๊ฐ’์€ ์›์ž์ ์ด์–ด์•ผ ํ•œ๋‹ค.'์›์ž์ ์ธ ๊ฐ’'์€ ๋” ์ด์ƒ..
[DB] SQL ๋ช…๋ น์–ด ์ •๋ฆฌ: DDL, DML, DQL, DCL, TCL
ยท
๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
๐Ÿ“Œ SQLStructured Query Language(๊ตฌ์กฐ์  ์ฟผ๋ฆฌ ์–ธ์–ด)์˜ ์ค„์ž„๋ง๋กœ,๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋‹ค.๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด๋กœ, ๋ฐ์ดํ„ฐ ์ €์žฅ์ด๋‚˜ ์กฐํšŒ, ์‚ญ์ œ, ์ˆ˜์ •, ๊ถŒํ•œ ์„ค์ • ๋“ฑ์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.SQL ๋ช…๋ น์–ด์—๋Š” DDL, DML, DCL, DQL, TCL์ด ์žˆ๊ณ  ์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ๊ฐ ๋ช…๋ น์–ด๋ฅผ ์‚ดํŽด๋ณธ๋‹ค.โœ… DDLDDL์€ Data Definition Language๋กœ ๋ฐ์ดํ„ฐ ์ •์˜์–ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ์Šคํ‚ค๋งˆ์™€ ๊ฐ™์€ "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ"๋ฅผ ์ •์˜, ๋ณ€๊ฒฝ, ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด๋“ค์ด ํฌํ•จ๋œ๋‹ค.CREATE์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์“ด๋‹ค.์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๊ด€๊ณ„(ํ…Œ์ด๋ธ”), ๋ทฐ(๊ฐ€์ƒ ํ…Œ์ด๋ธ”), ์ธ๋ฑ์Šค..