๐ฉํธ๋ฆฌ๊ฑฐ ์ ์ ๐ค ํธ๋ฆฌ๊ฑฐ๋? ํธ๋ฆฌ๊ฑฐ๋ ํ
์ด๋ธ์ ์ด๋ค ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋ ์๋์ผ๋ก ์คํ๋๋ ๊ฒ์ด๋ค. ์ฆ, ์ด๋ค ํ
์ด๋ธ์์ ํน์ ํ ์ด๋ฒคํธ(update, insert, delete)๊ฐ ๋ฐ์ํ์๋, ์คํ์ํค๊ณ ์ ํ๋ ์ถ๊ฐ ์ฟผ๋ฆฌ ์์
๋ค์ ์๋์ผ๋ก ์ํํ ์ ์๊ฒ๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๋ฏธ๋ฆฌ ์ค์ ํด๋๋ ๊ฒ. ๊ฐ๋จํ ์๋ฅผ ๋ค์๋ฉด ์จ๋ผ์ธ ์ฃผ๋ฌธ์ ์ฅ๋ฐ๊ตฌ๋ํ
์ด๋ธ์ด์ -> ๊ตฌ๋งคํ
์ด๋ธ insert-> ๋ฐฐ์ก ํ
์ด๋ธ๋ก ์๋์ผ๋ก insert ์ฟผ๋ฆฌ๋ฅผ ์คํ์ํจ๋ค๊ณ ๋ณผ ์ ์๋ค. ๐ฉํธ๋ฆฌ๊ฑฐ ์ ํ ํฌ๊ฒ ํ ํธ๋ฆฌ๊ฑฐ์ ๋ฌธ์ฅํธ๋ฆฌ๊ฑฐ๊ฐ ์๋ค. ํ ํธ๋ฆฌ๊ฑฐ : ํ
์ด๋ธ ์์ ์ํฅ์ ๋ฐ์ ํ ๊ฐ๊ฐ์ ๋ํด ์คํ๋๋ค. ๋ณ๊ฒฝ ์ ๋๋ ๋ณ๊ฒฝ ํ์ ํ์ OLD, NEW๋ผ๋ ๊ฐ์ ์ค ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ์ ์ ์๋ค. OLD : ์์ ๋ฐ์ดํฐ ( DELETE๋ก ์ญ์ ๋ ๋ฐ์ดํฐ ๋๋ ..
๐์คํฐ๋
๐ฉ์ ์ฅํ๋ก์์ ์ ์ ์ - DB๋ด๋ถ์ ์ ์ฅ๋ ์ผ๋ จ์ SQL ๋ช
๋ น๋ฌธ๋ค์ ํ๋์ ํจ์์ฒ๋ผ ์คํํ๊ธฐ ์ํ ์ฟผ๋ฆฌ์ ์งํฉ - ์ผ๋ จ์ ์ฟผ๋ฆฌ๋ฅผ ๋ง์น ํ๋์ ํจ์์ฒ๋ผ ์คํํ๊ธฐ ์ํ ์ฟผ๋ฆฌ๋ฌธ๋ค์ ์งํฉ - DB๋ด๋ถ์ ์ ์ฅ๋ ์ผ๋ จ์ SQL ๋ช
๋ น๋ฌธ๋ค์ ํ๋์ ํจ์์ฒ๋ผ ์คํํ๊ธฐ ์ํ ์ฟผ๋ฆฌ์ ์งํฉ - ์ฟผ๋ฆฌ๋ฌธ๋ค์ ์งํฉ์ผ๋ก, ์ด๋ค ๋์์ ์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฅผ ๊ฑฐ์ณ์ ์ผ๊ด์ ์ผ๋ก ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ - ์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฅผ ํ ๋ฒ์ ์ํํ๋ ๊ฒ. ๋ง์น SQL๋ฌธ๋ฒ์ ํจ์์ ์ ์ฌํ ๋๋ ์ฌ๋ฌ ๋ธ๋ก๊ทธ์์ ์ฐพ์๋ณด๋ ๋น์ทํ ์ค๋ช
๋ค์ด๋ค. ์ ์ฅํ๋ก์์ ๋ '์ฌ๋ฌ ์ฟผ๋ฆฌ๋ฅผ ํ๋์ ํจ์์ฒ๋ผ ์คํํ๊ธฐ ์ํ ์ฟผ๋ฆฌ์ ์งํฉ'์ด๋ผ๊ณ ์ค๋ช
ํ๊ณ ์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฟผ๋ฆฌ๋ค์ด ํจ์์ฒ๋ผ ์คํ๋๋ค๋ ์๋ฏธ๋ ๋ฌด์์ผ๊น? ์๋ฏธ๋ฅผ ์๊ธฐ ์ํด SQL์ ํจ์๊ฐ ๋ฌด์์ธ์ง๋ถํฐ ์์๋ณด์. SQL์ ํจ์๋? ์ฐ๋ฆฌ๊ฐ ํ๋ก..
๐ฉ๋ฐ์ดํฐ๋ฒ ์ด์ค ๐๋ฌด๊ฒฐ์ฑ์ด๋? ๋ฐ์ดํฐ์ ์ ํ์ฑ, ์ผ๊ด์ฑ์ ๋ํ๋ ๋ฐ์ดํฐ์ ๊ฒฐํจ์ด ์๋ ์ํ, ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๊ฒ ๐๋ฌด๊ฒฐ์ฑ์ ์ฝ์กฐ๊ฑด์ด๋? ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ ์ฅ, ์ญ์ , ์์ ๋ฑ์ ์ ์ฝํ๊ธฐ ์ํ ์กฐ๊ฑด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ฅผ ์ผ๊ด๋๊ฒ ์ ์งํ๋ ๊ฒ ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ( Entity Intergrity ) ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ null๊ฐ์ ๊ฐ์ง ์ ์๋ค. ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ ๋ค๋ฅธ ๋ ์ฝ๋(ํํ)์ ์ค๋ณต๋ ์ ์๋ค. ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ( Referential Intergrity ) ์ธ๋ ํค์ ๊ฐ์ null์ด๊ฑฐ๋ ์ฐธ์กฐ ๋ฆด๋ ์ด์
์ ๊ธฐ๋ณธํค ๊ฐ๊ณผ ๋์ผํด์ผ ํ๋ค. ์ธ๋ ํค ์์ฑ์ ์ฐธ์กฐํ ์ ์๋ ๊ฐ์ ์ง๋ ์ ์์ (์ธ๋ ํค ์์ฑ ๊ฐ์ด ์์ ํ
์ด๋ธ์ ์ธ์คํด์ค์..
๐ค์ ๊ทํ(Normalization)๋? ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ๋ ํ๋ก์ธ์ค๋ฅผ ์ ๊ทํ ๋ผ๊ณ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด '์ค๋ณต์ ์ต์ํํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํ'๋ผ๋ ๊ฒ ๋ญ๊น? ๊ณตํต์ ์ผ๋ก ํจ์ ์ข
์์ฑ์ ์ฌ์ฉ ๋๋ ์ด์ฉํด์ ํ
์ด๋ธ(๋ฆด๋ ์ด์
)์ ๊ด๋ จ ์๋ ์์ฑ๋ค๋ก๋ง ๊ตฌ์ฑํด์ ๋๋จธ์ง๋ ๋ถํดํ๊ณ ์ด์ํ์์ด ๋ฐ์ํ์ง ์๋ ํ
์ด๋ธ์ ๋ง๋ค์ด๊ฐ๋ ๊ณผ์ ์ด๋ผ๊ณ ๋๋ถ๋ถ์ ๋ธ๋ก๊ทธ์์ ์ค๋ช
๋๊ณ ์๋ค. ํจ์ ์ข
์์ฑ์ด๋ผ๋ ๊ฑธ ์ฌ์ฉํด์ ํจ์์ข
์์ฑ๊ณผ ๊ด๋ จ๋ attibute๋ค๋ก๋ง ๊ตฌ์ฑํ๊ณ ๋๋จธ์ง๋ ๋ถํด ๊ทธ๋ฆฌ๊ณ ์ค๋ณต์ด ๋ฐ์ํ์ง ์๊ฒ ํ๋ ๊ณผ์ ์ด๊ตฌ๋! โํจ์ ์ข
์์ฑ์ ๋ญ์ง? ํ ํ
์ด๋ธ์ ์๋ ๋ ๊ฐ์ Attribute(s) ์งํฉ(set) ์ฌ์ด์ ์ ์ฝ(a contraint) X ๊ฐ์ ๋ฐ๋ผ Y ๊ฐ์ด ์ ์ผํ๊ฒ ๊ฒฐ์ ๋ ๋ X๊ฐ..
๐ฉ RDB์ RDBMS์ ์ฐจ์ด์ ๐ก RDB, RDBMS ์์ฝ RDB๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ๋ชจ๋ธ RDBMS๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด ์์คํ
๐RDB ๋๋ณด๊ธฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฝ์ (Relational Database) ๋ฐ์ดํฐ๋ฅผ ํ
์ด๋ธ ํํ๋ก ์ ์ฅํ๊ณ ํ
์ด๋ธ๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ์๋ฏธ ๋ฐ์ดํฐ๋ฅผ ์ด๊ณผ ํ์ผ๋ก ๊ตฌ์ฑ๋ ํ
์ด๋ธ์ ์ ์ฅํ๋ฉฐ, ํ
์ด๋ธ์ ๊ฐ๊ฐ ๊ณ ์ ํ ์ด(์์ฑ), ํ(๋ ์ฝ๋ ๋๋ ํํ)์ ๊ฐ์ง๊ณ ์์. ํ
์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ ๊ณตํต๋ ์์ฑ์ ํตํด ์ค์ ๐RDBMS ๋๋ณด๊ธฐ RDBMS (Relational Database Management System) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
์ ์ฝ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ๊ด๋ฆฌ, ์กฐ์ํ๋ ์ํํธ์จ์ด ์์คํ
์ ์๋ฏธ RDBMS๋ RDB์ ..
๐ค์คํค๋ง๋? ๐ก์คํค๋ง์ ์ ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ(๊ฐ์ฒด, ์์ฑ, ๊ด๊ณ)์ ์ ์ฝ ์กฐ๊ฑด์ ๋ํ ์ ์์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
(DBMS)์ด ์ฃผ์ด์ง ์ค์ ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ฑํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๊ฐ ์๋ฃ๋ฅผ ์ ์ฅ, ์กฐํ, ์ญ์ , ๋ณ๊ฒฝํ ๋ DBMS๋ ์์ ์ด ์์ฑํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์ฐธ์กฐํ์ฌ ๋ช
๋ น์ ์ํํ๋ค. ํ๋ง๋๋ก DBMS๋ ์คํค๋ง๋ฅผ ์ฐธ์กฐํ์ฌ ์ฌ์ฉ์์ ๋ช
๋ น์ ์ํํ๋ ๊ฒ์ด๋ค. ๐ค์คํค๋ง์ 3 ๊ตฌ์กฐ๋? ๐ก์คํค๋ง 3 ๊ตฌ์กฐ ๐ค์ธ๋ถ ์คํค๋ง๋? ๐ก์ธ๋ถ ์คํค๋ง์ ์ ์ฌ์ฉ์& ์์ฉํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฐ ๊ฐ์ธ์ ์
์ฅ์์ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ ๊ฒ์ด๋ค. ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ๋
ผ๋ฆฌ์ ์ธ ๋ถ๋ถ์ผ๋ก ๋ณผ ์ ์์ผ๋ฏ๋ก ์๋ธ ์คํค๋ง๋ผ๊ณ ๋ ํ๋ค. ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
์๋ ์ฌ๋ฌ ๊ฐ์ ์ธ๋ถ ์คํค..