[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ํŠธ๋ฆฌ๊ฑฐ์™€ ์ฃผ์žฅ
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2020. 5. 19. 18:59

ํŠธ๋ฆฌ๊ฑฐ ํŠธ๋ฆฌ๊ฑฐ ๋ช…์‹œ๋œ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค DBMS๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” (์‚ฌ์šฉ์ž๊ฐ€ ์ •์˜ํ•˜๋Š”) ํ”„๋กœ์‹œ์ € DB์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ ํ…Œ์ด๋ธ” ์ •์˜์‹œ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๋Š” ๊ธฐ์—…์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์„ ์‹œํ–‰ํ•˜๋Š” ์—ญํ•  DB ๊ฐฑ์‹  ๋ชจ๋‹ˆํ„ฐ๋ง -> DB ๊ฐฑ์‹  ์ „ํŒŒ์˜ ๊ณผ์ •์„ ๊ฑฐ์นจ ํŠธ๋ฆฌ๊ฑฐ = '์ด๋ฒคํŠธ-์กฐ๊ฑด-๋™์ž‘(ECA) ๊ทœ์น™' E[Event] : ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ™œ์„ฑํ™” ์‹œํ‚ค๋Š” ์‚ฌ๊ฑด(INSERT, DELETE, UPDATE) C[Condition] : ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ™œ์„ฑ๋˜์—ˆ์„ ๋•Œ ํ™•์ธํ•˜๋Š” ์กฐ๊ฑด(WHERE ๋ฌธ์— ์“ฐ์ด๋Š” ๋ชจ๋“  ์กฐ๊ฑด๋ฌธ) A[Action] : Condition์ด ์ฐธ์ด๋ฉด ์ˆ˜ํ–‰๋˜๋Š” SQL๋ฌธ ์ฃผ์˜ํ•  ์  ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์ƒํ˜ธ์˜์กด์„ฑ ์•ผ๊ธฐ ํŠธ๋ฆฌ๊ฑฐ์˜ ์—ฐ์‡„ ์ˆ˜ํ–‰์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ Ex) CREATE TRIGGER RA..

*[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ํŠธ๋žœ์žญ์…˜
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2020. 4. 13. 00:40

ํŠธ๋žœ์žญ์…˜ ํŠธ๋žœ์žญ์…˜์ด๋ž€? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”(SQL ์งˆ์˜์–ด ์‚ฌ์šฉ)์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—… ๋‹จ์œ„ ์ž‘์—… ๋‹จ์œ„๋Š” SQL ๋ช…๋ น๋ฌธ๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ •ํ•˜๋Š” ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋‹ค๋ฆ„ ์˜ˆ์‹œ) ํšŒ์› ์ •๋ณด ์ˆ˜์ • ์ €์žฅ ๋ฒ„ํŠผ ํด๋ฆญ : UPDATE๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •๋ณด ์ˆ˜์ • ํšŒ์› ์ •๋ณด ๊ตฌ์„ฑ : SELECT๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •๋ณด ์ตœ์‹  ์œ ์ง€ ์ž‘์—… ๋‹จ์œ„ : UPDATE + SELECT ํŠธ๋žœ์žญ์…˜ ํŠน์ง• ์›์ž์„ฑ : DB์— ๋ชจ๋‘ ๋ฐ˜์˜๋˜๊ฑฐ๋‚˜, ์•„์˜ˆ ๋ฐ˜์˜๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ผ๊ด€์„ฑ : ์ž‘์—… ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋Š” ๋Š˜ ๊ฐ™์•„์•ผํ•จ ๋…๋ฆฝ์„ฑ : ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ๋ผ์–ด๋“ค ์ˆ˜ ์—†์Œ ์ง€์†์„ฑ : ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋Š” ์˜๊ตฌ์ ์ด์—ฌ์•ผํ•จ Commit๊ณผ Rollback Commit : ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์ด ์™„๋ฃŒ๋˜์—ˆ์œผ๋ฉฐ, DB๊ฐ€ ์ผ..

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2020. 3. 22. 21:09

๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด? ์‚ฌ์šฉ์ž์— ์˜ํ•œ DB ๊ฐฑ์‹ ์ด DB์˜ ์ผ๊ด€์„ฑ์„ ๊นจ์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•˜๋Š” ์ˆ˜๋‹จ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ ์กฐ๊ฑด์„ ๋ฌด์‹œํ•˜๋Š” ์˜ˆ์‹œ ์–ด๋–ค ํ•™์ƒ์ด ์ˆ˜๊ฐ•์‹ ์ฒญ์„ ํ–ˆ๋Š”๋ฐ, ํ•™์ƒ ์ •๋ณด์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ํ•™์ƒ์˜ ํ•™๋ฒˆ๊ณผ ๊ณผ๋ชฉ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ฒฝ์šฐ ํ•™์ƒ์ด ์žํ‡ดํ•ด์„œ, ํ•™์ƒ ๋ฆด๋ ˆ์ด์…˜์—์„œ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ฑฐํ–ˆ์ง€๋งŒ ์•„์ง ์ˆ˜๊ฐ• ๋ฆด๋ ˆ์ด์…˜์—๋Š” ๋‚จ์•„ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์€ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š”๊ฐ€? ๋‹จ์ง€, ์ œ์•ฝ์กฐ๊ฑด์„ ๋ช…์‹œํ•ด์ฃผ๋ฉด DBMS๊ฐ€ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด์คŒ! ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด ์ข…๋ฅ˜ ๊ฐœ์ฒด(์—”ํ‹ฐํ‹ฐ) ๋ฌด๊ฒฐ์„ฑ ๊ธฐ๋ณธํ‚ค๋Š” NULL ๊ฐ’์ด ์˜ฌ ์ˆ˜ ์—†์œผ๋ฉฐ, ์ค‘๋ณต๋  ์ˆ˜ ์—†์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ œ์•ฝ์กฐ๊ฑด ๋‹จ, ๋Œ€์ฒดํ‚ค๋Š” NULL ๊ฐ’์ด ์˜ฌ ์ˆ˜ ์žˆ์Œ ๊ฐœ์ฒด๋ฅผ ์‹๋ณ„ํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ์—†๋„๋ก ํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์™ธ๋ž˜ํ‚ค๊ฐ€ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ์•„๋‹ˆ๋ฉด NULL ๊ฐ’์ด ์˜ฌ ์ˆ˜..

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] DBMS
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2020. 3. 19. 21:11

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

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] Key
Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 2020. 3. 18. 00:03

Key์˜ ๊ฐœ๋… ๊ฒ€์ƒ‰,์ •๋ ฌ์‹œ์— ํŠœํ”Œ์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€ ์†์„ฑ ๋ฐ ์†์„ฑ ์ง‘ํ•ฉ์ด๋‹ค. Key์˜ ์ข…๋ฅ˜ Candidate Key(ํ›„๋ณดํ‚ค) ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ๋“ค์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ (๊ธฐ๋ณธํ‚ค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ) ํ›„๋ณดํ‚ค๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ์œ ์ผ์„ฑ : ๊ฐ ํŠœํ”Œ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Œ ์ตœ์†Œ์„ฑ : ๊ฐ ํŠœํ”Œ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๊ตฌ์„ฑ Primary Key(๊ธฐ๋ณธํ‚ค) ๊ธฐ๋ณธํ‚ค๋Š” ํ›„๋ณดํ‚ค ์ค‘์—์„œ ํŠœํ”Œ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์œ ์ผํ•˜๊ฒŒ ์„ ํƒ๋œ ํ‚ค๋ฅผ ๋งํ•œ๋‹ค. ๊ธฐ๋ณธํ‚ค๋Š” ์ค‘๋ณต๋  ์ˆ˜ ์—†์œผ๋ฉฐ, NULL๋„ ์˜ฌ ์ˆ˜ ์—†๋‹ค. ํ›„๋ณดํ‚ค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋ชจ๋‘ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. Alternate Key(๋Œ€์ฒดํ‚ค) ๋Œ€์ฒดํ‚ค๋Š” ํ›„๋ณดํ‚ค ์ค‘์—์„œ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ œ์™ธํ•œ ํ‚ค๋“ค์„ ์˜๋ฏธํ•œ๋‹ค. ํ›„๋ณดํ‚ค - ๊ธฐ๋ณธํ‚ค = ..