๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑํ๊ธฐ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข
๋ฅ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์ฑ ์์ํค์ ๊ฐ๋
๋ฐ ์ข
๋ฅ์ค์ ! Database Relation!
Database Relation์ ๋ด์ฉ์ด ๊ธธ์ด ์ด 3ํธ์ผ๋ก ๋๋ด์ต๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ, ๊ฐ๋ ๋ฐ ๊ธฐ๋ณธ Relation
- Rollup์ ์ด์ฉํ ์ฅ๋ถ๋ง๋ค๊ธฐ
- ๋ค์ค Relation
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑํ๊ธฐ
๋
ธ์
page
์์ /data
๋ผ๊ณ ์
๋ ฅํ๋ฉด Database ๋ธ๋ก์ผ๋ก ๋ค์ด๊ฐ ์ ์์ต๋๋ค. Inline์ ํ์ฌ ์์
ํ๊ณ ์๋ ํ์ด์ง์ ํ
์ด๋ธ์ ์์ฑํ๋ฉฐ Full page๋ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ์์ฑํ๊ณ ์ ์ฒด ํ๋ฉด์ผ๋ก ํ
์ด๋ธ์ ์์
ํ๊ฒ ๋ฉ๋๋ค.์๋ ๊ทธ๋ฆผ์ฒ๋ผ Turn into Page๋ฅผ ํตํ์ฌ Inline๋ฅผ Full page๋ก, Full page๋ฅผ Inline๋ก๋ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
์ด๋ฒ ์ฑํฐ์์๋ Database ์ ์ฒด์ ์ธ๊ธํ๋ ๊ฒ์ ์๋๊ณ Relation์ ๋ํด์๋ง ์ธ๊ธํ๋ ๊ฒ์ด๋ฏ๋ก ๊ฐ๋
๊ณผ ์ค์ ์์ผ๋ก ์ค๋ช
ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ๋
์ ์์ธํ ๋ด์ฉ์ ์ธ๊ธํ ์์ ์ด๋ ํน์ ์ค์ ์ผ๋ก ๋ฐ๋ก ๊ฐ๊ณ ์ถ์ผ์ ๋ถ๋ค์ ์ด ๋ถ๋ถ์ ๋์ด๊ฐ์ฃผ์ธ์.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข
๋ฅ๋ ์๋์ ๊ฐ์ต๋๋ค. Notion์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ข ๋ฅ
- ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(1:N)
- ๋งํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(N:M)
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(๋จ์ํ ํ ํํ์ ์ํธ ๊ด๊ณ, 1:1, 1:N, N:M๊ด๊ณ ํํ)
- ๊ฐ์ฒด ์งํฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์ฑ ์์
- ํํ(Tuple)์ ํ ์ด๋ธ์ ํ์ ๋๋ค.
- ์์ฑ(Attribute)์ HTML๋ก ๋ฐ์ง์๋ฉด Table Heading ์ ๋๋ค. ์ฌ๊ธฐ์๋ ํ๋ฒ, ์ด๋ฆ, ์ฃผ์, ์ ํ๋ฒํธ๊ฐ ์์ฑ์ด์ฃ .
- ๋๋ฉ์ธ(Domain)์ ํ๋์ ์์ฑ์์ ์ทจํ ์ ์๋ ๊ฐ์ ๋ฒ์๋ฅผ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์์๋ ์ ์ฒญ ๊ณผ๋ชฉ์์ ์ ์ฒด ๊ณผ๋ชฉ์ ๋ฒ์๋ฅผ ์๊ธฐํฉ๋๋ค.
- ์ฐจ์(Degree)๋ ์์ฑ์ ๊ฐ์์ ๋๋ค. ํ์ ๋ฆด๋ ์ด์ ์์๋ ํ๋ฒ, ์ด๋ฆ, ์ฃผ์, ์ ํ๋ฒํธ์ด๋ ์ด 4๊ฐ๊ฐ ๋ ๊ฒ์ ๋๋ค.
- ๊ธฐ์(Cardinality)๋ ํํ์ ๊ฐ์์ ๋๋ค. ์์์๋ ์ดํธ๋ฆฌ๋ทฐํธ๋ฅผ ์ ์ธํ๊ณ ์ด 5๊ฐ์ ํํ์ด ์กด์ฌํฉ๋๋ค.
ํค์ ๊ฐ๋ ๋ฐ ์ข ๋ฅ
- ๊ธฐ๋ณธํค๋ ๋ฉ์ธ์ผ๋ก ์ฌ์ฉํ ํค๋ฅผ ๋งํฉ๋๋ค. ๊ณ ์ ํ(์ ์ผํ) ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋, ๊ณ์ข๋ฒํธ, ์ ํ๋ฒํธ ๋ฑ์ ๊ธฐ๋ณธํค๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธํค๋ NULL์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํ๋ณดํค๋ ๊ธฐ๋ณธํค๋ฅผ ์ ์ธํ๊ณ ๊ณ ์ ํ ํค๋ค์ ๋งํฉ๋๋ค.
- ์ธ๋ํค๋ ๊ด๊ณ๋์ด ์๋ ํ ์ด๋ธ์์ ์ฐธ๊ณ ํ๊ณ ์๋ ํค๋ฅผ ์๊ธฐํฉ๋๋ค. ์ฌ๊ธฐ์ ํ์ ๋ฆด๋ ์ด์ ๊ณผ ์๊ฐ์ ์ฒญ ๊ณผ๋ชฉ ๋ฆด๋ ์ด์ ์ ์๋ก ํ๋ฒ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์์ฃ .
์ค์ ! Database Relation!
์ฐ์ ์๋์ ๊ฐ์ 2๊ฐ์ ํ
์ด๋ธ์ ๋ง๋ค๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์๋ ์งํํ ์ฑ
๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์ ๊ณ ๊ฐ์ ๋ณด๋ ํน์ฑ์ ์ํ๋ถ๋ฅ๋๋ก ํ๋์ ๋ด์ผ ํ๋ฏ๋ก
add_a_View
๋ก Board๋ฅผ ์ถ๊ฐํ๊ฒ ์ต๋๋ค.์์ฑ์ด ๋ ํ๋ฉด์
๋๋ค. ๋นจ๊ฐ ๋ค๋ชจ ๋ฐ์ค๋ฅผ ํด๋ฆญํ์
์ ์๋๋๋ก ๋์๊ฐ ์ ์์ต๋๋ค.
๋ค์์ ๊ณ ๊ฐ์ ๋ณด์์ ์ดํธ๋ฆฌ๋ทฐํธ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์๋
+
๋ฒํผ์ ํด๋ฆญํฉ๋๋ค. ๊ทธ๋ผ ์๋์ ๊ฐ์ด Text ํ์๋ก Relation์ ์ ํํ๋ ํ๋ฉด์ด ๋์ต๋๋ค.๊ทธ๋ผ ๊ณ ๊ฐ์ ๋ณด ํ
์ด๋ธ์๋ ํ์ดํ์ ํจ๊ป Column ์ดํธ๋ฆฌ๋ทฐํธ๊ฐ, ๋ฌผํ ๋ชฉ๋ก์๋ ํ์ดํ์ ํจ๊ป Related to ๊ณ ๊ฐ์ ๋ณด ์ดํธ๋ฆฌ๋ทฐํธ๊ฐ ์๊ธด ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด์ ๊ณ ๊ฐ์ ๋ณด์์ ์ปฌ๋ผ์ ํด๋ฆญํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์
+
๋ฒํผ์ ๋๋ฅด๋ฉด ์ปฌ๋ผ์ ์๋์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.์ผ์ชฝ์ ๊ณ ๊ฐ์ ๋ณด, ์ค๋ฅธ์ชฝ์ ๋ฌผํ ๋ชฉ๋ก์
๋๋ค. ๊ณ ๊ฐ์ ๋ณด์ ๋ค์ด๊ฐ๋ฉด ์๋์ผ๋ก ๋ฌผํ ๋ชฉ๋ก์ ๊ณ ๊ฐ ์ด๋ฆ์ด ๋ค์ด๊ฐ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.