๋ชฉ๋กDATABASE (4)

YS's develop story

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ๋ฐ Cascade

์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ (Referential Integrity)์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ์—์„œ 2๊ฐœ์˜ ๊ด€๋ จ ์žˆ๋Š” ๊ด€๊ณ„ ๋ณ€์ˆ˜ ๊ฐ„์˜ ์ผ๊ด€์„ฑ์„ ๋งํ•ฉ๋‹ˆ๋‹ค '์ฃผ์–ด์ง„ ์†์„ฑ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด ํ•œ ๊ด€๊ณ„์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ’์ด ๋‹ค๋ฅธ ๊ด€๊ณ„์—์„œ ํŠน์ • ์†์„ฑ ์ง‘ํ•ฉ์— ๋Œ€ํ•ด์„œ๋„ ๋‚˜ํƒ€๋‚˜๋„๋ก ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค'๋ผ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ต์žฌ์— ๋‚˜์™€ ์žˆ๋„ค์š”. ์ฆ‰ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์ด๋ž€ ๊ธฐ๋ณธํ‚ค์™€ ์ฐธ์กฐ ํ‚ค ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ํ•ญ์ƒ ์œ ์ง€๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ๊ต์› ํ…Œ์ด๋ธ”์˜ departmentName์ด Foreign key์ด๊ณ  ๊ทธ ๊ฐ’์ด 'Biology'์ด๋ฉด ์‹ค์ œ๋กœ ํ•™๊ณผ ํ…Œ์ด๋ธ”์— 'Biology'๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‘ ๊ฐ’์€ ํ•ญ์ƒ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๊ฐ€ ์œ ์ง€๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ„์™€ ๊ฐ™์€ ํŠœํ”Œ์„ ์ถ”๊ฐ€ํ•˜..

Database 2021. 5. 18. 08:56
Cartesian Product

Cartesian Product SELECT * FROM instructor, teaches from์ ˆ์— ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋‘ ๊ฐœ ์“ฐ๊ฒŒ ๋œ๋‹ค๋ฉด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์œผ๋กœ ํ…Œ์ด๋ธ”์„ ์ด์–ด ๋ถ™์—ฌ์„œ ์ถœ๋ ฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์™ผ์ชฝ์€ classroom ํ…Œ์ด๋ธ”, ์˜ค๋ฅธ์ชฝ์€ department ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. classroom๊ณผ departmentํ…Œ์ด๋ธ”์„ Cartesian product๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. SELECT * FROM classroom,department Cartesian Product๋Š” ์ด ๊ธฐ๋Šฅ ํ•˜๋‚˜๋งŒ์œผ๋กœ ์œ ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์œผ๋กœ ํ…Œ์ด๋ธ”์„ ์ด์–ด ๋ถ™์ด๊ธฐ ๋•Œ๋ฌธ์— ์“ธ๋ฐ์—†๋Š” ํŠœํ”Œ๋“ค์ด ๋งŽ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Whereํ‚ค์›Œ๋“œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ..

Database 2021. 4. 26. 08:57
ํŠธ๋žœ์žญ์…˜์˜ ์˜๋ฏธ ๋ฐ Node MySQL Transactions ์ ์šฉํ•ด๋ณด๊ธฐ

ํŠธ๋žœ์žญ์…˜์˜ ์˜๋ฏธ ๋ฐ Node MySQL Transactions ์ ์šฉํ•ด๋ณด๊ธฐ 3ํ•™๋…„ ์ „๊ณต ํ•„์ˆ˜๊ณผ๋ชฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค.. ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ธ Transactions์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค transaction์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์—ฐ์†๋œ ์ฟผ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ ํ•˜๋‚˜์˜ ์ž‘์—…์ฒ˜๋Ÿผ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. SQL standard๋Š” SQL ๋ฌธ์ด ์‹คํ–‰๋  ๋•Œ ํŠธ๋žœ์žญ์…˜์ด ์•”์‹œ์ ์œผ๋กœ ์‹œ์ž‘๋˜๋„๋ก ์ง€์ •ํ•ด์ค๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์€ ์•„๋ž˜์˜ ์š”์†Œ ์ค‘ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. Commit work ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋‚  ๋•Œ ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰๋˜์—ˆ๋˜ ๋ชจ๋“  ์ฟผ๋ฆฌ๋ฌธ๋“ค์˜ ์ž‘์—…์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ Rollback work ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋‚  ๋•Œ๊นŒ์ง€ ์ˆ˜ํ–‰๋˜์—ˆ๋˜ ์ž‘์—…๋“ค์„ ๋ชจ๋‘ ์ทจ์†Œํ•˜๋Š” ๊ฒƒ ํŠธ๋žœ์žญ์…˜์˜ ์›์ž์„ฑ ์™„์ „ํžˆ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ (Commit) ๋ฐœ์ƒํ•˜์ง€ ์•Š..

Database 2021. 4. 10. 09:48