2NF(Second Normal Form)๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ญ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ผ๋ก, ๋ฐ์ดํฐ ์ค๋ณต์ฑ์ ์ ๊ฑฐํ๊ณ ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ฐ ๋ฌด๊ฒฐ์ฑ์ ํฅ์์ํค๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. 2NF ์์น์ ์ค์ํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ฅผ ์ต์ ํํ๊ณ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ์ ์ค์ํ ์ธก๋ฉด์ธ 2NF๋ ๊ด๊ณํ ํ ์ด๋ธ์ ์๋ฏธ ์๋ ๊ฐ๋ ํ ๋ฐ ๊ตฌ์ฑ์ ๋ณด์ฅํ๋ฉฐ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ๋ ๋ฐ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
2NF์ ์ธ๋ถ ์ฌํญ์ ์ดํด๋ณด๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทํ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ ๊ทํ๋ ๋ณต์กํ ๋ค์ค ๊ฐ ๋ฐ์ดํฐ ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ์ ์์ ๋จ์ผ ๊ฐ ํ ์ด๋ธ๋ก ๋ถํดํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋ฐ์ดํฐ ์ค๋ณต์ ์ ๊ฑฐํ๊ณ , ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ ํฅ์์ํค๋ฉฐ, ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐ ์ฟผ๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ ๊ทํ์๋ ์ฌ๋ฌ ์์ค์ด ์์ผ๋ฉฐ, ๊ทธ ์ค ๋ ๋ฒ์งธ ์ ๊ทํ์ ์ฒซ ๋ฒ์งธ ์ ๊ทํ(1NF)์ ๋ฌ์ฑํ ํ์ ๋ค์ ๋จ๊ณ์ ๋๋ค.
2NF๋ฅผ ์ดํดํ๋ ค๋ฉด "๊ธฐ๋ฅ์ ์ข ์์ฑ"๊ณผ "์ฃผ์ ์์ฑ"์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ ์๊ณ ์์ด์ผ ํฉ๋๋ค. ๊ธฐ๋ฅ์ ์ข ์์ฑ์ ๊ด๊ณํ ํ ์ด๋ธ์ ์ด ๊ฐ ๊ด๊ณ๋ก, ํ ์ด์ด ๋ค๋ฅธ ์ด์ ๊ฐ์ ์์ ํ ๊ฒฐ์ ํฉ๋๋ค. ๋ฐ๋ฉด์ ์ฃผ์ ์์ฑ์ ํ ์ด๋ธ์ ํ๋ณด ํค์ ์ผ๋ถ์ธ ์ด์ ๋๋ค. ํ๋ณด ํค๋ ํ ์ด๋ธ์ ๊ฐ ํ์ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ์ด์ ์กฐํฉ์ ๋๋ค.
๊ณต์์ ์ธ ์ ์์ ๋ฐ๋ฅด๋ฉด, ๊ด๊ณํ ํ ์ด๋ธ์ 1NF์ ์๊ณ ํ๋ผ์์ด ์๋ ๋ชจ๋ ์ด์ด ๋ชจ๋ ํ๋ณด ํค์ ์์ ํ ๊ธฐ๋ฅ์ ์ผ๋ก ์ข ์๋๋ ๊ฒฝ์ฐ์๋ง 2NF์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, 2NF๋ ๋นํ๋ผ์ ์์ฑ์ด ํ๋ณด ํค์ ์ผ๋ถ์๋ง ์ข ์๋๋ ๋ถ๋ถ์ ๊ธฐ๋ฅ ์ข ์์ฑ์ ํ ์ด๋ธ์์ ์ ๊ฑฐํด์ผ ํ๋ค๊ณ ๊ท์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฐ์ดํฐ ์ค๋ณต์ด ์ต์ํ๋๊ณ ๊ด๊ณํ ์คํค๋ง ๋ด์์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ด ํฅ์๋ฉ๋๋ค.
AppMasterno-code ํ๋ซํผ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ์ค๊ณ๋ 2NF ์์น์ ์ค์ํ์ฌ ๊ด๊ณํ ํ ์ด๋ธ์ ์ต์ ํ๋ ๊ตฌ์ฑ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฆฌ์์ค์ ํจ๊ณผ์ ์ธ ํ์ฉ์ ๋ณด์ฅํฉ๋๋ค. 2NF์ ๋ํ ์ด๋ฌํ ๊ท์ ์ค์๋ฅผ ํตํด ์น ๋ฐ ๋ชจ๋ฐ์ผ ์๋ฃจ์ ์ ๊ธฐ๋ฐ์ด ๋๋ ๋งค์ฐ ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ ์ ์์ต๋๋ค. AppMaster ์ฌ์ฉ์๋ 2NF ์์น์ ์ค์ํ๋ฉด์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๊ฐ์ ์ผ๋ก ์์ฑํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ๋๋ฅผ ๋ง๋ จํ๋ ๊ตฌ์กฐ์ ์ผ๋ก ๊ฐ๋ ฅํ๊ณ ์ ๊ตฌ์ฑ๋ ๊ด๊ณํ ์คํค๋ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, 2NF๋ก ๋ณํ๋์ด์ผ ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ๋ค์ ์๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
+---------+-------------+-------------+
| ์ฃผ๋ฌธID | ์ ํ๋ช
| ์ ํ๊ฐ๊ฒฉ |
+---------+-------------+-------------+
| 1 | ๋
ธํธ๋ถ | 1000 |
| 2 | ๋ชจ๋ํฐ | 200 |
| 3 | ํค๋ณด๋ | 50 |
+---------+-------------+-------------+
์ด ํ ์ด๋ธ์ OrderID๋ฅผ ๋ฌด์ํ๊ณ ProductPrice๊ฐ ProductName์ ์ข ์๋๋ ๋ถ๋ถ์ ์ธ ๊ธฐ๋ฅ ์ข ์์ฑ์ ๋ํ๋ ๋๋ค. 2NF๋ฅผ ๋ฌ์ฑํ๋ ค๋ฉด ์ด ํ ์ด๋ธ์ ๋ ๊ฐ์ ๋ณ๋ ํ ์ด๋ธ๋ก ๋ถํดํด์ผ ํฉ๋๋ค.
ํ 1: ์ฃผ๋ฌธ ์ธ๋ถ์ ๋ณด
+---------+-------------+
| ์ฃผ๋ฌธID | ์ ํ๋ช
|
+---------+-------------+
| 1 | ๋
ธํธ๋ถ |
| 2 | ๋ชจ๋ํฐ |
| 3 | ํค๋ณด๋ |
+---------+-------------+
ํ 2: ์ ํ ์ธ๋ถ์ ๋ณด
+------------+-------------+
| ์ ํ๋ช
| ์ ํ๊ฐ๊ฒฉ |
+------------+-------------+
| ๋
ธํธ๋ถ | 1000 |
| ๋ชจ๋ํฐ | 200 |
| ํค๋ณด๋ | 50 |
+------------+-------------+
๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ 2NF๋ก ๊ฐ์ ธ์ด์ผ๋ก์จ AppMaster ํ๋ซํผ์ ๋ค์ํ ์๋ฃจ์ ์ ๋ฐ์ ๊ฑธ์ณ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ด๋ฆฌ, ๊ฒ์ ๋ฐ ์์ ์ ์ํ ๊ธธ์ ์ด์ด์ค๋๋ค. ์๊ท๋ชจ ๊ธฐ์ ์ด๋ ๋๊ท๋ชจ ๊ธฐ์ ์ด๋ ์๊ด์์ด 2NF ์์น์ ์ค์ํ๋ฉด AppMaster ์์ ์์ฑ๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ต์ ํ๋๊ณ ์ธ์ฌํ ๊ธฐ๋ฐ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ๋ ๋ฒ์งธ ์ ๊ทํ(2NF)์ ๋ฐ์ดํฐ ์ค๋ณต์ ์ต์ํํ๊ณ ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ค์ํ ์ธก๋ฉด์ ๋๋ค. 2NF์ ์์น์ ๋ฐ๋ฅด๋ฉด AppMaster ์ฌ์ฉ์๋ ๊ฐ๋ ฅํ๊ณ ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์์ฑํ์ฌ ํจ์จ์ ์ธ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ค๊ณ ๋ฐ ๊ตฌํ์ ๋ณด์ฅํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก AppMaster ํ๋ซํผ์ ๊ฐ๋ฐ์์ ๊ธฐ์ ์ด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฌ๋ ฅ์ ํ์ฉํ๋ ๋์์ ์์ฐ์ฑ๊ณผ ๋น์ฉ ํจ์จ์ฑ์ ๊ทน๋ํํ๋ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋๋ก ์ง์ํฉ๋๋ค.