- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํน์ง
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด๋?
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ Key์ ํน์ง
- ์ธ๋ฑ์ค(Index)
- ํธ๋์ญ์ ๊ณผ ํน์ง
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํน์ง
Question
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ณต์ ๋ชฉ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํตํฉํ๊ณ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ์ ์งํฉ์ ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ค์๊ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ , ์ง์์ ์ธ ๋ณํ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ๋์์ ๊ณต์ ํ๊ณ , ์ํ๋ ๋ฐ์ดํฐ์ ๋ด์ฉ์ ๋ฐ๋ผ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅํด์ผํ๋ ํน์ง์ด ์์ต๋๋ค.
2. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด๋?
Question
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด๋ ๋ฐ์ดํฐ๊ฐ ์ ํํ๊ณ ์ผ๊ด์ฑ์๊ฒ ์ ์ง๋๋๊ฒ์ผ๋ก ๋ฐ์ดํฐ์ ๊ฒฐํจ์ด ์๋ ์ํ๋ฅผ ์๋ฏธํฉ๋๋ค.
โ ๋ฌด๊ฒฐ์ฑ์ ์ข ๋ฅ์ ๋ํด ์ด์ผ๊ธฐํด์ฃผ์ธ์
๋ฌด๊ฒฐ์ฑ์๋ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ, ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ, ๊ณ ์ ๋ฌด๊ฒฐ์ฑ, NULL ๋ฌด๊ฒฐ์ฑ ๋ฑ์ด ์์ต๋๋ค.
โ ๊ฐ ๋ฌด๊ฒฐ์ฑ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ด๋ ์ฐธ์กฐ ๊ด๊ณ์ ์๋ ๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ํญ์ ์ผ๊ด๋ ๊ฐ์ ๊ฐ๋๋ก ์ ์ง๋๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ์ด๋ ๊ฐ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ NULL์ด๋ ์ค๋ณต๊ฐ์ ๊ฐ์ง ์ ์๋ค๋ ํน์ง์ ๋๋ค. ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ์ ๊ฐ ์์ฑ์ ๊ฐ์ ์ ์๋ ๋๋ฉ์ธ์ ์ํ ๊ฐ์ด์ฌ์ผ ํ๋ค๋ ์๋ฏธ์ ๋๋ค. ๊ณ ์ ๋ฌด๊ฒฐ์ฑ์ด๋ ํน์ ์์ฑ์ ๋ํด ๊ฐ ํํ์ ๊ฐ๋ค์ด ์๋ก ๋ฌ๋ผ์ผํ๋ ๊ท์ ์ ๋๋ค. NULL ๋ฌด๊ฒฐ์ฑ์ด๋ ํน์ ์์ฑ๊ฐ์ด NULL์ด ๋ ์ ์๋ ๊ท์ ์ ๋๋ค.
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ Key์ ํน์ง
Question
๋ฐ์ดํฐ๋ฒ ์ด์ค์ Key์ ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ Key๋ Primary key, Foreign Key, Unique Key ๋ฑ์ด ์์ต๋๋ค.
Primary key๋ ์ฃผ ์๋ณ์ํค๋ก ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ณํ๋ ์ปฌ๋ผ์ ๋๋ค. ํ ์ด๋ธ ์ ์ฒด์ ๋ํ ์ ์ผ์ฑ์ ๋ณด์ฅํ๋ฉฐ, ์ค๋ณต์ด๋ Null๊ฐ์ด ๋ถ๊ฐ๋ฅํ ํน์ง์ด ์์ต๋๋ค.
Foreign key๋ ํ ์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ์๋ฏธํ๋ ์ฐธ์กฐํค์ ๋๋ค. ๋ ํ ์ด๋ธ๊ฐ ์ข ์๊ด๊ณ๋ฅผ ํํํ๋ ํค๋ก ์๋ก ์ฐธ์กฐํ ์ ์๋๋ก ๊ด๊ณ๋ฅผ ๋งบ์ด์ฃผ๋ ํค ์ ๋๋ค.
Unique key๋ ๊ธฐ๋ณธํค์ฒ๋ผ ์ค๋ณต๊ฐ์ ํ์ฉํ์ง๋ ์์ง๋ง NULL์ ํ์ฉํ๋ ํค ์ ๋๋ค. ๊ธฐ๋ณธํค์ ๋ค๋ฅด๊ฒ ํ ํ ์ด๋ธ์ ์ฌ๋ฌ๊ฐ์ Unique key๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
4. ์ธ๋ฑ์ค(Index)
Question
์ธ๋ฑ์ค์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ํฐ ๋ฐ์ดํฐ ์งํฉ์์ ๋ ์ฝ๋๋ฅผ ์ฐพ๊ธฐ ์ฝ๊ฒ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฃผ๋ก ๊ฒ์ ์ฑ๋ฅ ํฅ์์ ์ํด ์ฌ์ฉํฉ๋๋ค.
โ ์ธ๋ฑ์ค์ ์ฅ์ ๊ณผ ๋จ์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์
์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ฉด ๋น ๋ฅธ ๊ฒ์์ด ๊ฐ๋ฅํด Select, Delete, Update์ ์์ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค. ํ์ง๋ง ์ถ๊ฐ์ ์ธ ์ ์ฅ๊ณต๊ฐ์ด ํ์ํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
โ ์ด๋ค ์ปฌ๋ผ์ ์ธ๋ฑ์ค๋ก ์ง์ ํด์ผ ํ ๊น์?
๊ฒ์ ์ฟผ๋ฆฌ๊ฐ ์์ฃผ ์ฌ์ฉ๋๋ ์ปฌ๋ผ์ด๋ ํ ์ด๋ธ ํฌ๊ธฐ๊ฐ ํฌ๊ฑฐ๋ ๋ ์ฝ๋ ์๊ฐ ๋ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํฉ๋๋ค.
5. ํธ๋์ญ์ ๊ณผ ํน์ง
Question
ํธ๋์ญ์ ๊ณผ ํธ๋์ญ์ ์ ํน์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
ํธ๋์ญ์ ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผ๊ด์ฑ ์ ์ง๋ฅผ ์ํด ์ฌ๋ฌ ์์ ์ ํ๋์ ๋จ์๋ก ๋ฌถ๋๊ฒ์ ๋๋ค. ํธ๋์ญ์ ์ ์ฃผ์ ์์ฑ์ผ๋ก๋ ์์์ฑ, ์ผ๊ด์ฑ, ๊ฒฉ๋ฆฌ์ฑ, ์์์ฑ์ด ์์ต๋๋ค.
์์์ฑ์ ํธ๋์ญ์ ๋ด ์์ ์ ๋ชจ๋ ์ฑ๊ณตํ๊ฑฐ๋ ์คํจํด์ผํจ์ ์๋ฏธํฉ๋๋ค. ์ผ๊ด์ฑ์ ํธ๋์ญ์ ์๋ฃ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๊ฒฉ๋ฆฌ์ฑ์ ๊ฐ ํธ๋์ญ์ ์ ์๋ก ์ํฅ์ ์ฃผ์ง ์์์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์์์ฑ์ ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๋ฉด ๊ฒฐ๊ณผ๊ฐ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
Question
๊ธฐ๋ณธํค์ ํ์ ์ UUID์ Long ํ์ ์ผ๋ก ์ค์ ํ์ ๋ ์ธ๋ฑ์ค์ ๋ฏธ์น๋ ์ํฅ
UUID๋ 16๋ฐ์ดํธ์ด๊ณ , Long์ 8๋ฐ์ดํธ์ ๋๋ค. UUID๊ฐ Long๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค์ ๋ ๋ง์ ์ ์ฅ ๊ณต๊ฐ์ ํ์๋ก ํ๊ณ , ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ๋์คํฌ I/O์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ธ๋ฑ์ค์ ํฌ๊ธฐ๊ฐ ํฌ๋ฉด, ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ๋์คํฌ ๊ณต๊ฐ์ ์ฌ์ฉํ๊ฒ ๋๊ณ , ์ด๋ ์ฟผ๋ฆฌ ์คํ ์ ๋ถ๋ฌ์ค๋ ๋ฐ์ดํฐ ์์ ์ํฅ์ ๋ฏธ์ณ ์บ์ ํจ์จ์ฑ์ด ๋จ์ด์ง ์ ์์ต๋๋ค. UUID๋ ๋ฐ์ดํฐ๊ฐ ๋ถํฌ๋์ด ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค๊ฐ ๋นํจ์จ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ด, ๊ฒ์ ์๋๊ฐ ๋๋ ค์ง๋ ๋ฐ๋ฉด, Long์ ์ผ๋ฐ์ ์ผ๋ก ์์ฐจ์ ์ผ๋ก ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์ธ๋ฑ์ค๊ฐ ๋ ์ฐ์์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ํ์ฉ๋ผ ๊ฒ์ ์๋๋ฅผ ๋์ด๋๋ฐ ์ ๋ฆฌํฉ๋๋ค.