ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์๋ฅผ ๋งํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ '์ฟผ๋ฆฌ'์ด๋ฏ๋ก, ์ฌ๋ฌ ๊ฐ์ ์ฟผ๋ฆฌ๋ฅผ ํ๋๋ก ๋ฌถ๋ ๋จ์๋ฅผ ์๋ฏธํ๋ค.
ํธ๋์ญ์ ์ ๋ํ ํน์ง์ ์์์ฑ(Atomicity), ์ผ๊ด์ฑ(Consistency), ๊ฒฉ๋ฆฌ์ฑ(Isolation), ์ง์์ฑ(Durability)์ด ์์ผ๋ฉฐ ์ด๋ฅผ ์ฝ์๋ก ACID ํน์ฑ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์์์ฑ(Atomicity)
์์์ฑ์ ํธ๋์ญ์ ๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ์ผ์ด ์ํ๋์๊ฑฐ๋, ์ํ๋์ง ์์์์ ๋ณด์ฅํ๋ ํน์ง์ด๋ค.
ํธ๋์ญ์ ์ ์ปค๋ฐํ๋๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ ๋กค๋ฐฑํ๋ ๊ฒฝ์ฐ ๊ทธ ์ดํ์ ๋ชจ๋ ์ํ๋์ง ์์์ ๋ณด์ฅํ๋ ๊ฒ์ ๋งํ๋ค.
์๋ฅผ ๋ค์ด, 1000๋ง์์ ๊ฐ์ง ํ์ฒ ์ด๊ฐ 0์์ ๊ฐ์ง ๊ท์์ด์๊ฒ 500๋ง์์ ์ด์ฒดํ๋ค๋ฉด, ํ์ฒ ์ด๋ 500๋ง์, ๊ท์์ด๋ 500๋ง์์ ๊ฐ์ง ์ํ๊ฐ ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ ๋์๋ค๋ก ์ด๋ค์ง๋ค๊ณ ๊ฐ์ ํ์.
1. ํ์ฒ ์ด๊ฐ ์๊ณ ๋ฅผ ์กฐํํ๋ค.
2. ํ์ฒ ์๊ฒ์ 500๋ง์์ ๋บ๋ค.
3. ๊ท์์ด์๊ฒ 500๋ง์์ ๋ฃ๋๋ค.
์ฌ๊ธฐ์ 1~3๋ฒ ๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๋ ์ด ์ธ ๊ฐ์ง ๊ณผ์ ์ ๋ณผ ์๋ ์ฐธ์ฌํ ์๋ ์๋ค. ๋ค๋ง, ์ด ๊ณผ์ ์ด ๋ชจ๋ ๋๋ ํ์ ํ์ฒ 500๋ง์, ๊ท์ 500๋ง์์ ๊ฐ์ง ๊ฒฐ๊ณผ๋ง ์ ์ ์๋ค.
์ด๋ฌํ ์ํฉ์์ ์ ์์ ์ ์ทจ์ํ๋ค๊ณ ํ์ ๋, ํ์ฒ ์ด๋ ๋ค์ 1000๋ง์ ๊ฐ์ง๊ฒ ๋๊ณ , ๊ท์์ด๋ 0์์ผ๋ก ๋์๊ฐ์ผ ํ๋ค.
๋ง์ฝ 3๋ฒ ๋์๋ง ์ทจ์๋์ด ํ์ฒ ์ด๋ 500๋ง์, ๊ท์์ด๋ 0์์ ๊ฐ์ง๊ฒ ๋๋ ์ํฉ์ฒ๋ผ ์ผ๋ถ ๋์๋ง ์ทจ์๋์ง ์๋ ๋ค๋ ๊ฒ์ ๋ณด์ฅํ๋ค.
๋, ํธ๋์ญ์ ๋จ์๋ก ์ฌ๋ฌ ๋ก์ง์ ๋ฌถ์ ๋ ์ธ๋ถ API๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ์กด์ฌํ๋ฉด ์๋๋ค. ๋ง์ฝ ์กด์ฌํ๋ค๋ฉด ๋กค๋ฐฑ์ด ๋ฐ์ํ์ ๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊ฒ์ธ์ง ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ท์ ํด์ผ ํ๋ค.
์ปค๋ฐ๊ณผ ๋กค๋ฐฑ(Commit, Rollback)
์ปค๋ฐ์ ์ฌ๋ฌ ์ฟผ๋ฆฌ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋ค๊ณ ํ์ ํ๋ ๋ช ๋ น์ด์ด๋ค.
ํธ๋์ญ์ ๋จ์๋ก ์ํ๋๋ฉฐ, ๋ณ๊ฒฝ๋ ๋ด์ฉ์ด ๋ชจ๋ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋๋ค.
์ฆ, "์ปค๋ฐ์ด ์ํ๋์๋ค"==="ํ๋์ ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์๋ค"๋ผ๊ณ ๋ ๋งํ๋ค.
์ ๊ทธ๋ฆผ์ฒ๋ผ update, delete, insert ์ฟผ๋ฆฌ๊ฐ ํ๋์ ํธ๋์ญ์ ๋จ์๋ก ์ํ๋๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ตฌ ์ ์ฅ๋๋ค.
ํ์ง๋ง, ์๋ฌ๋ ์ฌ๋ฌ ์ด์ ๋๋ฌธ์ ํธ๋์ญ์ ์ ์ผ๋ก ๋๋ ค์ผ ํ๋ค๋ฉด '๋กค๋ฐฑ'์ ์ํํ๋ค.
๋กค๋ฐฑ์ด๋ ํธ๋์ญ์ ์ผ๋ก ์ฒ๋ฆฌํ ํ๋์ ๋ฌถ์ ๊ณผ์ ์ ์ผ์ด๋๊ธฐ ์ ์ผ๋ก ๋๋ฆฌ๋ ์ผ์ ์๋ฏธํ๋ค.
์ ์ํฉ์์ ๋กค๋ฐฑ์ ์ํํ๋ฉด ํธ๋์ญ์ ์์์ ์ดํ์ ๋ชจ๋ ์์ ์ด ์ทจ์๋๋ค.
์ด๋ฌํ ์ปค๋ฐ๊ณผ ๋กค๋ฐฑ ๋๋ถ์ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ด ๋ณด์ฅ๋๋ค. ๋, ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๊ฒ ํ์ธํ ์ ์๊ณ ํด๋น ์์ ์ ๊ทธ๋ฃนํํ ์ ์๋ค.
์ผ๊ด์ฑ(Consistency)
ํธ๋์ญ์ ์ดํ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ ์ด์ ๊ณผ ๊ฐ์ด ์ ํจํด์ผ ํ๋ค. ์ฆ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฝ์ด๋ ๊ท์น์ ๋ง์กฑํด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด ‘๋ชจ๋ ๊ณ ๊ฐ์ ๋ฐ๋์ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ค’๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฝ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ค์๊ณผ ๊ฐ์ ํธ๋์ญ์ ์ Consistency(์ผ๊ด์ฑ)๋ฅผ ์๋ฐํ๋ค.
- ์ด๋ฆ ์๋ ์๋ก์ด ๊ณ ๊ฐ์ ์ถ๊ฐํ๋ ์ฟผ๋ฆฌ
- ๊ธฐ์กด ๊ณ ๊ฐ์ ์ด๋ฆ์ ์ญ์ ํ๋ ์ฟผ๋ฆฌ
๋ ๋ค๋ฅธ ์๋ฅผ ๋ค๋ฉด, ํต์ฅ์ 1000๋ง์์ด ์๋ ํธ์ฒ ์ด์ 0์์ด ์๋ ๋ฒ์์ด๊ฐ ์๋ค๊ณ ํ์ ๋, ๋ฒ์์ด๊ฐ ํ์ฒ ์ด์๊ฒ 500๋ง์์ ์ฃผ๋ ํธ๋์ญ์ ์ ๋ฐ์ํ๋ฉด ์๋๋ค. (๋ง์ด๋์ค ํต์ฅ ์ ์ธใ ใ ..)
๊ฒฉ๋ฆฌ์ฑ(Isolation)
ํธ๋์ญ์ ๊ฐ์ ์๋ก ๋ ๋ฆฝ์ ์ด์ด์ผ ํ๋ค ์ฆ, ํธ๋์ญ์ ์ํ ์ ์๋ก ๋ผ์ด๋ค์ง ๋ชปํ๋ ๊ฒ์ ๋งํ๋ค.
๋์์ ์คํ๋๋ ๋ณต์์ ๋ณ๋ ฌ ํธ๋์ญ์ ์ ์๋ก ๊ฒฉ๋ฆฌ๋์ด ์์ฐจ์ ์ผ๋ก ์คํ๋๋ ๊ฒ์ฒ๋ผ ์๋๋์ด์ผ ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๊ฐ์ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์ด์ผ ํ๋ค.
๊ฒฉ๋ฆฌ์ฑ์ ์ ๊ฒฝ์ฐ์ง ์๊ณ ์๋๋ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ์ฝ๊ฒ ์ง๋ง ๊ทธ๋ฌ๋ฉด ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋นํด ์ฑ๋ฅ์ด ๋๋น ์ง ๊ฒ์ด๋ค.
๊ฒฉ๋ฆฌ์ฑ์ ์ฌ๋ฌ ๊ฐ์ ๊ฒฉ๋ฆฌ ์์ค(isolation level)์ผ๋ก ๋๋์ด ๊ฒฉ๋ฆฌ์ฑ์ ๋ณด์ฅํ๋ค.
์๋ก ๊ฐ์๋ก ๋์์ฑ์ด ๊ฐํด์ ธ์ ์ฑ๋ฅ์ ๋์์ง์ง๋ง, ๊ฒฉ๋ฆฌ์ฑ์ด ๋ฎ์์ง๋ค.
SERIALIZABLE
๋ง ๊ทธ๋๋ก ์์ฐจ์ ์ผ๋ก ํธ๋์ญ์ ์ ์งํ์ํค๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ฌ๋ฌ ํธ๋์ญ์ ์ด ๋์์ ๊ฐ์ ํ์ ์ ๊ทผํ ์ ์๋ค.
์ด ์์ค์ ๋งค์ฐ ์๊ฒฉํ ์์ค์ผ๋ก ํด๋น ํ์ ๋ํด ๊ฒฉ๋ฆฌ์ํค๊ณ , ์ดํ ํธ๋์ญ์ ์ด ํด๋น ํ์ ๋ํด ์ผ์ด๋๋ค๋ฉด ์์ ํธ๋์ญ์ ์ ์์ ์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ์ด ๋๋ฌธ์ ๊ต์ฐฉ ์ํ๊ฐ ์ผ์ด๋ ํ๋ฅ ๋ ๋ง๊ณ ์ฑ๋ฅ์ด ๊ฐ์ฅ ๋จ์ด์ง๋ค.
REPEATABLE_READ
ํ๋์ ํธ๋์ญ์ ์ด ์์ ํ ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ ์ ์๋๋ก ๋ง์์ฃผ์ง๋ง, ์๋ก์ด ํ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋ง์ง๋ ์๋๋ค.
๋ฐ๋ผ์ ์ดํ์ ์ถ๊ฐ๋ ํ์ด ๋ฐ๊ฒฌ๋ ์๋ ์๋ค.
READ_COMMITTED
๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ฒฉ๋ฆฌ ์์ค์ด๋ฉฐ, ๋ค์ํ DBMS์์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ค์ ๋์ด ์๋ค.
READ_UNCOMMITTED์๋ ๋ฌ๋ฆฌ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ปค๋ฐํ์ง ์๋ ์ ๋ณด๋ ์ฝ์ ์ ์๋ค. ์ฆ, ์ปค๋ฐ ์๋ฃ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ง ์กฐํ๋ฅผ ํ์ฉํ๋ค.
ํ์ง๋ง, ์ด๋ค ํธ๋์ญ์ ์ด ์ ๊ทผํ ํ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์์ ํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, ํธ๋์ญ์ A๊ฐ ์์ ํ ํ์ ํธ๋์ญ์ B๊ฐ ์์ ํ ์๋ ์๋ค. ์ด ๋๋ฌธ์ ํธ๋์ญ์ A๊ฐ ๊ฐ์ ํ์ ๋ค์ ์ฝ์ ๋ ๋ค๋ฅธ ๋ด์ฉ์ด ์กฐํ๋ ์ ์๋ ๊ฒ์ด๋ค.
READ_UNCOMMITTED
๊ฐ์ฅ ๋ฎ์ ๊ฒฉ๋ฆฌ์ฑ์ ๊ฐ์ง๋ฉฐ, ํ๋์ ํธ๋์ญ์ ์ด ์ปค๋ฐ๋๊ธฐ ์ ์ ๋ค๋ฅธ ํธ๋์ญ์ ์ ๋ ธ์ถ๋๋ ๋ฌธ์ ๊ฐ ์์ง๋ง, ์ฑ๋ฅ์ด ๊ฐ์ฅ ์ข๋ค.
์ด๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํด ๋๋๋ก์ด๋ฉด ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ง๋ง, ๋ช๋ช ํ์ด ์ ๋๋ก ์กฐํ๋์ง ์๋๋ผ๋ ๊ด์ฐฎ์ ๊ฑฐ๋ํ ์์ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฆผ์ก์ ์ง๊ณํ๋ ๋ฐ๋ ์ฌ์ฉํด๋ ์ข๋ค.
๋, ๊ฐ ๋จ๊ณ๋ง๋ค ๋ํ๋๋ ํ์์ด ์๋ค.
๊ฐ๊ฐ์ ํ์์ ๋ํด ์์ธํ ์์๋ณด์!
๊ฒฉ๋ฆฌ ์์ค์ ๋ฐ๋ผ ๋ฐ์ํ๋ ํ์
๊ฒฉ๋ฆฌ ์์ค์ ๋ฐ๋ผ ๋ฐ์ํ๋ ํ์์ ํฌํ ๋ฆฌ๋(Phantom Read), ๋ฐ๋ณต ๊ฐ๋ฅํ์ง ์์ ์กฐํ(Non-Repeatable Read), ๋ํฐ ๋ฆฌ๋(Dirty Read)๊ฐ ์๋ค.
- Phantom Read
- ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ปค๋ฐ(Commit)ํ ๋ฐ์ดํฐ๊ฐ ์๋๋ผ๋ ์์ ์ ํธ๋์ญ์ ์์ ์ฝ์๋ ๋ด์ฉ๋ง ์ฌ์ฉํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ์ด๋ฌํ ์ด์ ๋ก ํ ํธ๋์ญ์ ๋ด์์ ๋์ผํ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋์ ๋, ํด๋น ์กฐํ ๊ฒฐ๊ณผ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค.
- ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์ A๊ฐ ํ์ ํ ์ด๋ธ์์ age๊ฐ 12 ์ด์์ธ ํ์๋ค์ ์กฐํํ๋ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋๋ค๊ณ ๊ฐ์ ํ๋ค.
- ์ด ๊ฒฐ๊ณผ๋ก ์ธ ๊ฐ์ ๋ ์ฝ๋๊ฐ ์กฐํ๋๋ค.
- ์ดํ์ ๊ทธ ๋ค์ ์ฌ์ฉ์ B๊ฐ age๊ฐ 15์ธ ๋ ์ฝ๋๋ฅผ ์ฝ์ ํ๋ค.
- ๊ทธ๋ฌ๋ฉด ๊ทธ ๋ค์ ๋์ผํ ์ฟผ๋ฆฌ๋ฅผ ๋ณด๋์ ๋ ๋ค ๊ฐ์ ๋ ์ฝ๋๊ฐ ์กฐํ๋๋ ๊ฒ์ด๋ค.
- ๋ณดํ ์์ ๊ฐ์ด ๋ฐ์ดํฐ ์ฝ์ ์ด ๋ฐ์ํ์ ๊ฒฝ์ฐ ๋ฐ์ํ๋ค.
- Non-Repeatable Read
- ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ปค๋ฐ(Commit)ํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ์ด๋ฌํ ์ด์ ๋ก ํ ํธ๋์ญ์ ๋ด์ ๊ฐ์ ํ์ ๋ ๋ฒ ์ด์ ์กฐํ๊ฐ ๋ฐ์ํ๋๋ฐ, ๊ทธ ๊ฐ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ค.
- ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์ A๊ฐ ๋ณด์์ ๊ฐ์๊ฐ 100๊ฐ๋ผ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์๋๋ฐ, ์ดํ ์ฌ์ฉ์ B๊ฐ ๊ทธ ๊ฐ์ 1๋ก ๋ณ๊ฒฝํด์ ์ปค๋ฐํ๋ค๊ณ ํ๋ฉด ์ฌ์ฉ์ A๋ 100์ด ์๋ 1์ ์ฝ๊ฒ ๋๋ ๊ฒ์ด๋ค.
- ๋ณดํต ๋ฐ์ดํฐ์ ์์ /์ญ์ ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ ๋ฐ์ํ๋ค.
- Dirty Read
- ํ ํธ๋์ญ์ ์ด ์คํ ์ค์ผ ๋, ๋ค๋ฅธ ํธ๋์ญ์ ์ ์ํด ์์ ๋์์ง๋ง ์์ง '์ปค๋ฐ๋์ง ์์' ํ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ ๋ ๋ฐ์ํ๋ค.
- ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์ A๊ฐ ๋ณด์์ ๊ฐ์ 100์ 1๋ก ๋ณ๊ฒฝํ๊ณ , ๋ณ๊ฒฝ ๋ด์ฉ์ ์ปค๋ฐํ์ง ์์ ์ํ๋ผ๋ ๊ทธ ์ดํ ์ฌ์ฉ์ B๊ฐ ์กฐํํ ๊ฒฐ๊ณผ๊ฐ 1๋ก ๋์ค๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
์ง์์ฑ(Durability)
์ฑ๊ณต์ ์ผ๋ก ์ํ๋ ํธ๋์ญ์ ์ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋์ด์ผ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์คํ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ ์์ฒด์๋ ์ํฅ์ด ๊ฐ์ง ์์์ผ ํ๋ฉฐ, ์๋ ์ํ๋ก ๋ณต๊ตฌํ๋ ํ๋ณต ๊ธฐ๋ฅ์ด ์์ด์ผ ํจ์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด๋ฅผ ์ํด ์ฒดํฌ์ฌ, ์ ๋๋ง, ๋กค๋ฐฑ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
์ ํ์ ์ผ๋ก ๋ชจ๋ ํธ๋์ญ์ ์ ๋ก๊ทธ๋ก ๋จ๊ณ , ์์คํ ์ฅ์ ๋ฐ์ ์ ์ํ๋ก ๋๋๋ฆด ์ ์๋ค. ํธ๋์ญ์ ์ ๋ก๊ทธ์ ๋ชจ๋ ๊ฒ์ด ์ ์ฅ๋ ํ์๋ง commit ์ํ๋ก ๊ฐ์ฃผ๋ ์ ์๋ค.
*์ฒดํฌ์ฌ : ์ค๋ณต ๊ฒ์ฌ์ ํ ํํ๋ก, ์ค๋ฅ ์ ์ ์ ํตํด ์ก์ ๋ ์๋ฃ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณดํธํ๋ ๋จ์ํ ๋ฐฉ๋ฒ
*์ ๋๋ง : ํ์ผ ์์คํ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ๊ธฐ ์ ์ ๋ก๊น ํ๋ ๊ฒ์ด๋ค. ์ฆ, ํธ๋์ญ์ ๋ฑ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๋ ๊ฒ์ด๋ค.
๋ฌด๊ฒฐ์ฑ
๋ฌด๊ฒฐ์ฑ์ด๋, ๋ฐ์ดํฐ์ ์ ํ์ฑ, ์ผ๊ด์ฑ, ์ ํจ์ฑ์ ์ ์งํ๋ ๊ฒ์ ๋งํ๋ฉฐ ๋ฌด๊ฒฐ์ฑ์ด ์ ์ง๋์ด์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๊ฐ๊ณผ ๊ทธ ๊ฐ์ ํด๋นํ๋ ํ์ค ์ธ๊ณ์ ์ค์ ๊ฐ์ด ์ผ์นํ๋์ง์ ๋ํ ์ ๋ขฐ๊ฐ ์๊ธด๋ค.
- ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ
- ๊ธฐ๋ณธํค๋ก ์ ํ๋ ํ๋๋ ๋น ๊ฐ์ ํ์ฉํ์ง ์๋๋ค.
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ
- ์๋ก ์ฐธ์กฐ ๊ด๊ณ์ ์๋ ๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ ํญ์ ์ผ๊ด๋ ๊ฐ์ ์ ์งํด์ผ ํ๋ค.
- ์๋ฅผ ๋ค์ด, ๊ต์ ํ ์ด๋ธ์ ๊ต์ ID๊ฐ ํ์ ํ ์ด๋ธ์ ์ธ๋ํค ์ง๋๊ต์ ID๋ก ์ฐธ์กฐ๋์ด ์๋ ๊ฒฝ์ฐ, ๊ต์ ํ ์ด๋ธ๊ณผ ํ์ ํ ์ด๋ธ์์ ๋์ผํ ๊ต์์ ๋ํ ID ๊ฐ์ ๋์ผํด์ผ ํ๋ค.
- ๊ณ ์ ๋ฌด๊ฒฐ์ฑ
- ํน์ ์์ฑ์ ๋ํด ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง๋๋ก ์กฐ๊ฑด(UNIQUE)์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ๊ทธ ์์ฑ ๊ฐ์ ๋ชจ๋ ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง๋ค.
- NULL ๋ฌด๊ฒฐ์ฑ
- ํน์ ์์ฑ ๊ฐ์ NULL์ด ์ฌ ์ ์๋ค๋ ์กฐ๊ฑด(NOT NULL)์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ ๊ทธ ์์ฑ ๊ฐ์ NULL์ด ๋ ์ ์๋ค๋ ์ ์ฝ ์กฐ๊ฑด์ด๋ค.
'CS > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ์ธ๋ฑ์ค(Index) (0) | 2023.09.28 |
---|---|
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ (0) | 2023.09.24 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ ์ด์ ํ์๊ณผ ์ ๊ทํ ๊ณผ์ (1) | 2023.09.15 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ERD(Entity Relationship Diagram) (0) | 2023.09.11 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค] ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ด(๊ด๊ณ, ํค) (0) | 2023.09.05 |