ํธ๋ฆฌ๊ฑฐ ํธ๋ฆฌ๊ฑฐ ๋ช ์๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค DBMS๊ฐ ์๋์ผ๋ก ์คํํ๋ (์ฌ์ฉ์๊ฐ ์ ์ํ๋) ํ๋ก์์ DB์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๊ฐ๋ ฅํ ๋๊ตฌ ํ ์ด๋ธ ์ ์์ ํํํ ์ ์๋ ๊ธฐ์ ์ ๋น์ฆ๋์ค ๊ท์น์ ์ํํ๋ ์ญํ DB ๊ฐฑ์ ๋ชจ๋ํฐ๋ง -> DB ๊ฐฑ์ ์ ํ์ ๊ณผ์ ์ ๊ฑฐ์นจ ํธ๋ฆฌ๊ฑฐ = '์ด๋ฒคํธ-์กฐ๊ฑด-๋์(ECA) ๊ท์น' E[Event] : ํธ๋ฆฌ๊ฑฐ๋ฅผ ํ์ฑํ ์ํค๋ ์ฌ๊ฑด(INSERT, DELETE, UPDATE) C[Condition] : ํธ๋ฆฌ๊ฑฐ๊ฐ ํ์ฑ๋์์ ๋ ํ์ธํ๋ ์กฐ๊ฑด(WHERE ๋ฌธ์ ์ฐ์ด๋ ๋ชจ๋ ์กฐ๊ฑด๋ฌธ) A[Action] : Condition์ด ์ฐธ์ด๋ฉด ์ํ๋๋ SQL๋ฌธ ์ฃผ์ํ ์ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋ํ๊ฒ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ์ํธ์์กด์ฑ ์ผ๊ธฐ ํธ๋ฆฌ๊ฑฐ์ ์ฐ์ ์ํ์ด ์ผ์ด๋ ์ ์์ Ex) CREATE TRIGGER RA..
ํธ๋์ญ์ ํธ๋์ญ์ ์ด๋? ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ๋ณํ(SQL ์ง์์ด ์ฌ์ฉ)์ํค๊ธฐ ์ํด ์ํํ๋ ์์ ๋จ์ ์์ ๋จ์๋ SQL ๋ช ๋ น๋ฌธ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ ํ๋ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ค๋ฆ ์์) ํ์ ์ ๋ณด ์์ ์ ์ฅ ๋ฒํผ ํด๋ฆญ : UPDATE๋ฌธ์ ์ด์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ์์ ํ์ ์ ๋ณด ๊ตฌ์ฑ : SELECT๋ฌธ์ ์ด์ฉํ์ฌ ์ฌ์ฉ์ ์ ๋ณด ์ต์ ์ ์ง ์์ ๋จ์ : UPDATE + SELECT ํธ๋์ญ์ ํน์ง ์์์ฑ : DB์ ๋ชจ๋ ๋ฐ์๋๊ฑฐ๋, ์์ ๋ฐ์๋์ง ์๊ฑฐ๋ ์ผ๊ด์ฑ : ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ ๋ ๊ฐ์์ผํจ ๋ ๋ฆฝ์ฑ : ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๋ผ์ด๋ค ์ ์์ ์ง์์ฑ : ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์๋ค๋ฉด, ๊ทธ ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ด์ฌ์ผํจ Commit๊ณผ Rollback Commit : ํ๋์ ํธ๋์ญ์ ์ด ์๋ฃ๋์์ผ๋ฉฐ, DB๊ฐ ์ผ..
๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด? ์ฌ์ฉ์์ ์ํ DB ๊ฐฑ์ ์ด DB์ ์ผ๊ด์ฑ์ ๊นจ์ง ์๋๋ก ๋ณด์ฅํ๋ ์๋จ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด์ ๋ฌด์ํ๋ ์์ ์ด๋ค ํ์์ด ์๊ฐ์ ์ฒญ์ ํ๋๋ฐ, ํ์ ์ ๋ณด์ ๋ํ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒฝ์ฐ ํ์์ ํ๋ฒ๊ณผ ๊ณผ๋ชฉ์ ๋ฒํธ๋ฅผ ๋น๊ตํ๋ ๊ฒฝ์ฐ ํ์์ด ์ํดํด์, ํ์ ๋ฆด๋ ์ด์ ์์๋ ์ ๋ณด๋ฅผ ์ ๊ฑฐํ์ง๋ง ์์ง ์๊ฐ ๋ฆด๋ ์ด์ ์๋ ๋จ์ ์๋ ๊ฒฝ์ฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ๋๊ฐ? ๋จ์ง, ์ ์ฝ์กฐ๊ฑด์ ๋ช ์ํด์ฃผ๋ฉด DBMS๊ฐ ์์์ ์ฒ๋ฆฌํด์ค! ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์ข ๋ฅ ๊ฐ์ฒด(์ํฐํฐ) ๋ฌด๊ฒฐ์ฑ ๊ธฐ๋ณธํค๋ NULL ๊ฐ์ด ์ฌ ์ ์์ผ๋ฉฐ, ์ค๋ณต๋ ์ ์์์ ๋ํ๋ด๋ ์ ์ฝ์กฐ๊ฑด ๋จ, ๋์ฒดํค๋ NULL ๊ฐ์ด ์ฌ ์ ์์ ๊ฐ์ฒด๋ฅผ ์๋ณํ ๋ ์ค๋ฅ๊ฐ ์๋๋ก ํ๋ ์ ์ฝ์กฐ๊ฑด ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ธ๋ํค๊ฐ ๊ธฐ๋ณธ ํค๊ฐ ์๋๋ฉด NULL ๊ฐ์ด ์ฌ ์..
DBMS์ ์ ์ ํ์ผ ์์คํ ์ ๋ฌธ์ ์ ์ธ ๋ฐ์ดํฐ์ ์ค๋ณต์ฑ๊ณผ ์ข ์์ฑ ๋ฑ์ ๋ฌธ์ ๋ฅผ ์ต์ํํ๊ธฐ ์ํด ๋ฑ์ฅํ์์ผ๋ฉฐ, ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ์ ์ค๊ณ ์ญํ ์ ํฉ๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ด์ฉ์ ์ ์,์กฐ์,์ ์ดํ ์ ์๋๋ก ํจ์ผ๋ก์จ ๋ชจ๋ ์ฌ์ฉ์๋ ์์ฉ ํ๋ก๊ทธ๋จ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ๊ด๋ฆฌ, ์ด์ํด์ฃผ๋ ์ํํธ์จ์ด ์์คํ ์ ์๋ฏธํฉ๋๋ค. ์ค๋ณต์ฑ : ๋์ผํ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ๊ณณ์ ์ค๋ณต ์ ์ฅ๋๋ ์ฑ์ง์ ์๋ฏธ ์ข ์์ฑ : ํ๋์ ๋ฐ์ดํฐ๊ฐ ์ญ์ ,๋ณ๊ฒฝ๋จ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฐ์ดํฐ๊ฐ ์์น ์๊ฒ ์ํฅ์ ๋ฐ๋ ์ฑ์ง์ ์๋ฏธ DBMS์ ํ์ ๊ธฐ๋ฅ 1. ์ ์ ๊ธฐ๋ฅ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ํํ, ๊ตฌ์กฐ ๋ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ์ ๊ดํ ์ฌ๋ฌ ๊ฐ์ง ์ฌํญ์ ์ ์ํ๋ ๊ธฐ๋ฅ 2. ์กฐ์ ๊ธฐ๋ฅ ์ฌ์ฉ์์ ์๊ตฌ์ ๋ฐ๋ผ ๊ฒ์, ๊ฐฑ์ , ์ฝ์ , ์ญ์ ๋ฑ์ ์ง์ํ๋ ๊ธฐ๋ฅ 3. ..
Key์ ๊ฐ๋ ๊ฒ์,์ ๋ ฌ์์ ํํ์ ๊ตฌ๋ถํ ์ ์๋ ๊ธฐ์ค ์์ฑ ๋ฐ ์์ฑ ์งํฉ์ด๋ค. Key์ ์ข ๋ฅ Candidate Key(ํ๋ณดํค) ํํ์ ์ ์ผํ๊ฒ ์๋ณํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์์ฑ๋ค์ ๋ถ๋ถ ์งํฉ (๊ธฐ๋ณธํค๋ก ์ฌ์ฉํ ์ ์๋ ์์ฑ๋ค์ ์งํฉ) ํ๋ณดํค๊ฐ ๋๊ธฐ ์ํด์๋ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ชจ๋ ๋ง์กฑํด์ผ ํ๋ค. ์ ์ผ์ฑ : ๊ฐ ํํ์ ์๋ณํ ์ ์์ ์ต์์ฑ : ๊ฐ ํํ์ ์๋ณํ ์ ์๋ ์ต์ ๊ตฌ์ฑ Primary Key(๊ธฐ๋ณธํค) ๊ธฐ๋ณธํค๋ ํ๋ณดํค ์ค์์ ํํ์ ์๋ณํ๊ธฐ ์ํด ์ ์ผํ๊ฒ ์ ํ๋ ํค๋ฅผ ๋งํ๋ค. ๊ธฐ๋ณธํค๋ ์ค๋ณต๋ ์ ์์ผ๋ฉฐ, NULL๋ ์ฌ ์ ์๋ค. ํ๋ณดํค์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ชจ๋ ๋ง์กฑํด์ผ ํ๋ค. Alternate Key(๋์ฒดํค) ๋์ฒดํค๋ ํ๋ณดํค ์ค์์ ๊ธฐ๋ณธํค๋ฅผ ์ ์ธํ ํค๋ค์ ์๋ฏธํ๋ค. ํ๋ณดํค - ๊ธฐ๋ณธํค = ..