- ACID๋?
- ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์์ค์ด๋?
- ์ ๊ทํ๋?
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ
- JOIN ์ด๋?
1. ACID๋?
Question
ACID์๋ํด ์ค๋ช ํด์ฃผ์ธ์
ACID๋ ํธ๋์ญ์ ์ ์ ์ํ๋ 4๊ฐ์ง ์์ฑ์ผ๋ก ์์์ฑ, ์ผ๊ด์ฑ, ๊ฒฉ๋ฆฌ์ฑ, ์์์ฑ์ ์๋ฏธํฉ๋๋ค.
์์์ฑ์ ํธ๋์ญ์ ๋ด ์์ ์ ๋ชจ๋ ์ฑ๊ณตํ๊ฑฐ๋ ์คํจํด์ผํจ์ ์๋ฏธํฉ๋๋ค. ์ผ๊ด์ฑ์ ํธ๋์ญ์ ์๋ฃ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ฒฉ๋ฆฌ์ฑ์ ๊ฐ ํธ๋์ญ์ ์ ์๋ก ์ํฅ์ ์ฃผ์ง ์์์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์์์ฑ์ ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๊ฐ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
Question
ACID ํธ๋์ญ์ ์ด ์์ผ๋ฉด ์ข์ ์ด์ ๋ ๋ฌด์์ธ๊ฐ์?
๋ฐ์ดํฐ์ ์์ ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํด์ค๋๋ค.
Question
๊ฐ ์์ฑ์ ์ค์ ๋ก ์ด๋ป๊ฒ ๊ตฌํํ ์ ์์๊น์?
commit๊ณผ rollback์ ์ฌ์ฉํด ์์์ฑ์ ๋ณด์ฅํ๊ณ , ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์ ํตํด ์ผ๊ด์ฑ์ ๋ณด์ฅํ ์ ์์ผ๋ฉฐ, ์ธ๋ํค๋ ๊ณ ์ ํค ๋ฑ์ ์ค์ ํด ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
2. ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์์ค์ด๋?
Question
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์์ค์๋ํด ์ค๋ช ํด์ฃผ์ธ์
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ์์ค์ด๋ ํธ๋์ญ์ ๋ผ๋ฆฌ ์ผ๋ง๋ ๊ณ ๋ฆฝ๋์ด ์๋์ง๋ฅผ ๋ํ๋ด๋ ์์ค์ ๋๋ค. ํธ๋์ญ์ ๊ฐ์ ์ํธ์์ฉ ๋ฐฉ์์ ์ค์ ํ์ฌ ๋์์ฑ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๊ณ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ ์ญํ ์ ํฉ๋๋ค.
Question
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ๋ ๋ฒจ์๋ ์ด๋ค ๊ฒ์ด ์๋์?
ํธ๋์ญ์ ๊ฒฉ๋ฆฌ ๋ ๋ฒจ์๋ 4๊ฐ์ง๊ฐ ์์ต๋๋ค. Read Uncommitted๋ ๊ฐ์ฅ ๋ฎ์ ์์ค์ผ๋ก ๋ค๋ฅธ ํธ๋์ญ์ ์ ๋ฏธํ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์์ต๋๋ค. Read Committed๋ ํ์ ๋ ๋ฐ์ดํฐ๋ง ์ฝ์ ์ ์์ง๋ง ๋ฐ๋ณต ์ฝ๊ธฐ์์ ๋ฐ์ดํฐ๊ฐ ๋ณํ ์ ์์ต๋๋ค. Repeatable Read๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณตํ์ฌ ์ฝ์ ๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ๋ฉฐ, Serializable์ ๊ฐ์ฅ ๋์ ๊ฒฉ๋ฆฌ์์ค์ผ๋ก ๋์์ฑ ์ฒ๋ฆฌ๊ฐ ๊ฐ์ฅ ์ ํ์ ์ด๋ง ๊ฐ์ฅ ์์ ํฉ๋๋ค.
3. ์ ๊ทํ๋?
Question
์ ๊ทํ๋ ๋ฌด์์ธ๊ฐ์?
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ํ ์ด๋ธ๋ก ๋ถ๋ฆฌํ๊ณ ๊ด๊ณ๋ฅผ ์ค์ ํ์ฌ ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ค์ด๊ณ , ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ๊ณต๊ฐ์ ์ ์ฝํ๊ณ , ์ฝ์ /์์ /์ญ์ ์ ๋ฐ์ํ ์ ์๋ ์ด์ ํ์์ ์ค์ผ ์ ์์ต๋๋ค.
Question
์ ๊ทํ์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ฌด์์ธ๊ฐ์?
์ ๊ทํ๋ฅผ ํตํด ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ๋์ด๊ณ ์ค๋ณต์ ์ต์ํํ ์ ์์ง๋ง, ์ง๋์น๊ฒ ์ธ๋ถํ๋ ํ ์ด๋ธ ๊ตฌ์กฐ๋ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์ต๋๋ค.
Question
๋น์ ๊ทํ๊ฐ ํ์ํ ์ํฉ์ ์ธ์ ์ธ๊ฐ์?
๋น์ ๊ทํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ด ์ค์ํ ๊ฒฝ์ฐ์ ๊ณ ๋ ค๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์กฐํ ์ฑ๋ฅ์ด ์ค์ํ ์ค์๊ฐ ํธ๋์ญ์ ์์คํ ์์๋ ์กฐ์ธ์ ์ค์ด๊ธฐ ์ํด ์ผ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์์ผ ๋น์ ๊ทํ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
4. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ
Question
๋ฐ์ด๋ฒํ ์ด์ค์ ๊ฐ ์ ๊ทํ ๋ ๋ฒจ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
์ 1 ์ ๊ทํ์ ๋ชจ๋ ์ปฌ๋ผ์ด ๋จ์ผ๊ฐ์ ๊ฐ์ ธ์ผ ํ๋ฉฐ ์ค์ฒฉ๋๊ฑฐ๋ ์ค๋ณต๋๋ ์ด์ด ์์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ ํ๋ฒํธ ์ปฌ๋ผ์ ์ฌ๋ฌ๊ฐ์ ์ ํ๋ฒํธ๊ฐ ๋ค์ด๊ฐ์๋ค๋ฉด ์ 1 ์ ๊ทํ์ ๋ง์กฑํ์ง ์์ต๋๋ค. ์ 2 ์ ๊ทํ์ ๊ธฐ๋ณธํค์ ๋ถ๋ถ ํจ์ ์ข ์์ฑ์ด ์์ด์ผ ํฉ๋๋ค. ์ฆ ๊ธฐ๋ณธํค๊ฐ ์๋ ์ปฌ๋ฆผ์ด ๊ธฐ๋ณธํค ์ ์ฒด์ ์์กดํด์ผ ํฉ๋๋ค. ์ 3 ์ ๊ทํ์ ์ดํ์ ์ข ์์ฑ์ด ์์ด์ผ ํฉ๋๋ค. ๊ธฐ๋ณธํค๊ฐ ์๋ ์ปค๋ถ์ด ๋ค๋ฅธ ๊ธฐ๋ณธํค๊ฐ ์๋ ์ปฌ๋ผ์ ์ข ์๋๋ฉด ์๋ฉ๋๋ค. BCNF๋ ํ ์ด๋ธ์ ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณดํค๊ฐ ๋์ด์ผ ํฉ๋๋ค. ์ 4 ์ ๊ทํ์ ๋ค์น ์ข ์์ฑ์ด ์์ด์ผ ํฉ๋๋ค. ์ 5 ์ ๊ทํ์ ์กฐ์ธ ์ข ์์ฑ์ด ์์ด์ผ ํฉ๋๋ค.
์ ๊ทํ์ ๋ชฉ์ ์ ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ค์ด๊ณ ์ด์ํ์์ ๋ฐฉ์งํ์ฌ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋์ด๋ ๊ฒ์ ๋๋ค.
5. JOIN ์ด๋?
Question
JOIN์ด๋ ๋ฌด์์ธ๊ฐ์?
JOIN์ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ํฉ์ณ์ ์กฐํํ ์ ์๋ SQL ์ฐ์ฐ์ ๋๋ค. ๊ฐ ํ ์ด๋ธ์ ๊ณตํต๋ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ๋ ํ ์ด๋ธ์ ๊ฒฐํฉํ์ฌ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
Question
JOIN์ ์ข ๋ฅ์ ๊ฐ๊ฐ์ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
JOIN์๋ inner, left, right, full, cross, self join์ด ์์ต๋๋ค. inner join์ ์์ชฝ ํ ์ด๋ธ์ ์ผ์นํ๋ ํ๋ง ๋ฐํํ๊ณ , left join์ ์ผ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ํ์ ํฌํจํ๋ ๋ฐ๋ฉด, right join์ ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ํ์ ํฌํจํฉ๋๋ค. full join์ ์์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. cross join์ ๋ ํ ์ด๋ธ์ ๋ชจ๋ ํ ์กฐํฉ์ ๋ฐํํ๋ฉฐ self join์ ํ๋์ ํ ์ด๋ธ์ ์ค์ค๋ก ์กฐ์ธํ๋ ๋ฐฉ์์ ๋๋ค.
inner join์ ๋ ํ ์ด๋ธ ๊ฐ ์ผ์นํ๋ ํ๋ง ๋ฐํํ๋ฉฐ outer join์ ์ผ์นํ์ง ์๋ ๋ฐ์ดํฐ๋ ํฌํจํ์ฌ Null ๊ฐ์ ์ฑ์ ๋ฐํํฉ๋๋ค.
Question
JOIN์ ์ฌ์ฉํ ๋ ๋ฐ์ํ ์ ์๋ ์ฑ๋ฅ ๋ฌธ์ ๋ ๋ฌด์์ธ๊ฐ์?
JOIN์ ์ฌ์ฉํ ๋ ๋์ฉ๋ ๋ฐ์ดํฐ๋ ๋ณต์กํ ์กฐ๊ฑด์ผ๋ก ์ธํด ์กฐ์ธ ์ฐ์ฐ์ด ๋ง์์ง๋ฉด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์กฐ์ธ ํ ์ด๋ธ์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ฑฐ๋ ํ์ํ ๋ฐ์ดํฐ๋ง ์กฐํํ๋๋ก where ์ ์ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์ต์ ํํ ์ ์์ต๋๋ค.