๊ตญ๋ฏผ๋ํ๊ต์์ "์ค๋ผํด๋ก ๋ฐฐ์ฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ก ๊ณผ ์ค์ต(2ํ)" ์ ์ด์ฉํ
์ ์ธ์ ๊ต์๋์ ๊ฐ์ ๊ต์์ ์ด์ฉํ์ฌ ์์ ๋ด์ฉ์ ์ ๋ฆฌํ์์ต๋๋ค
1. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ฐ๋
1.1 ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ค์์ฑ
1.2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ช ์ฃผ๊ธฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ช ์ฃผ๊ธฐ (database life cycle)์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ฑ๊ณผ ์ด์์ ๊ด๋ จ๋ ํน์ง์ผ๋ก
1. ์๊ตฌ์ฌํญ ์์ง ๋ฐ ๋ถ์ : ์ฌ์ฉ์๋ค์ ์๊ตฌ์ฌํญ์ ๋ฃ๊ณ ๋ถ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถ์ ๋ฒ์๋ฅผ ์ ํ๋ ๋จ๊ณ
2. ์ค๊ณ : ๋ถ์๋ ์๊ตฌ์ฌํญ์ ๊ธฐ์ด๋ก ์ฃผ์ ๊ฐ๋
๊ณผ ์
๋ฌด ํ๋ก์ธ์ค ๋ฑ์ ์๋ณํ๊ณ (๊ฐ๋
์ ์ค๊ณ)
์ฌ์ฉํ๋ DBMS์ ์ข
๋ฅ์ ๋ง๊ฒ ๋ณํ(๋
ผ๋ฆฌ์ ์ค๊ณ)ํ ํ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ๋์ถ(๋ฌผ๋ฆฌ์ ์ค๊ณ)ํจ
3. ๊ตฌํ : ์ค๊ณ ๋จ๊ณ์์ ์์ฑํ ์คํค๋ง๋ฅผ ์ค์ DBMS์ ์ ์ฉํ์ฌ ํ ์ด๋ธ ๋ฐ ๊ด๋ จ ๊ฐ์ฒด(๋ทฐ, ์ธ๋ฑ์ค ๋ฑ)๋ฅผ ๋ง๋ฆ
4. ์ด์ : ๊ตฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ์ฌ ์๋น์ค๋ฅผ ์ ๊ณต
5. ๊ฐ์ ๋ฐ ๊ฐ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์์ ๋ฐ๋ฅธ ์์คํ ์ ๋ฌธ์ ๋ฅผ ๊ด์ฐฐํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฒด์ ๋ฌธ์ ์ ์ ํ์ ํ์ฌ ๊ฐ์
1.3 ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ณผ์
- ๊ฐ๋
์ ๋ชจ๋ธ๋ง
์๊ตฌ์ฌํญ์ ์์งํ๊ณ ๋ถ์ํ ๊ฒฐ๊ณผ๋ฅผ ํ ๋๋ก ์ ๋ฌด์ ํต์ฌ์ ์ธ ๊ฐ๋ ์ ๊ตฌ๋ถํ๊ณ ๋ผ๋๋ฅผ ๋ง๋๋ ๊ณผ์
=> ๊ฐ์ฒด(entitiy)๋ฅผ ์ถ์ถํ๊ณ ๊ฐ ๊ฐ์ฒด๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ์ฌ ER ๋ค์ด์ด๊ทธ๋จ(ERD, Entitiy Relationship Diagram)์
๋ง๋๋ ๊ณผ์ ๊น์ง๋ฅผ ๋งํจ - ๋
ผ๋ฆฌ์ ๋ชจ๋ธ๋ง
๊ฐ๋ ์ ๋ชจ๋ธ๋ง์์ ๋ง๋ ER ๋ค์ด์ด๊ทธ๋จ์ ์ฌ์ฉํ๋ ค๋ DBMS์ ๋ง๊ฒ ์ฌ์(๋งคํ, mapping)ํ์ฌ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ตฌํํ๊ธฐ ์ํ ๋ชจ๋ธ์ ๋ง๋๋ ๊ณผ์
๋
ผ๋ฆฌ์ ๋ชจ๋ธ๋ง ๊ณผ์
1. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง์์ ์ถ์ถํ์ง ์์๋ ์์ธ ์์ฑ๋ค์ ๋ชจ๋ ์ถ์ถํจ
2. ์ ๊ทํ ์ํ
3. ๋ฐ์ดํฐ ํ์คํ ์ํ
- ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง
์์ฑ๋ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ์ ์ค์ ์ปดํจํฐ์ ์ ์ฅ ์ฅ์น์ ์ ์ฅํ๊ธฐ ์ํ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ๊ตฌํํ๋ ๊ณผ์
=> DBMS์ ํน์ฑ์ ๋ง๊ฒ ์ ์ฅ ๊ตฌ์กฐ๋ฅผ ์ ์ํด์ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ต์ ์ ์ฑ๋ฅ์ ๋ผ ์ ์์
๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง ์ ํธ๋์ญ์ , ์ ์ฅ ๊ณต๊ฐ ์ค๊ณ ์ธก๋ฉด์์ ๊ณ ๋ คํ ์ฌํญ
1. ์๋ต์๊ฐ์ ์ต์ํํด์ผ ํจ
2. ์ผ๋ง๋ ๋ง์ ํธ๋์ญ์ ์ ๋์์ ๋ฐ์์ํฌ ์ ์๋์ง ๊ฒํ ํด์ผ ํจ
3. ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ๋ฐฐ์นํด์ผ ํจ
2. ER ๋ชจ๋ธ
ER(Entity Relationship) ๋ชจ๋ธ์ ์ธ์์ ์ฌ๋ฌผ์ ๊ฐ์ฒด(entity)์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ(relationship)์ผ๋ก ํํํ ๊ฒ์ด๋ค
ER ๋ค์ด์ด๊ทธ๋จ : ER ๋ชจ๋ธ์ ๊ฐ์ฒด์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์คํ๋ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ธ๋ค
2.2 ๊ฐ์ฒด์ ๊ฐ์ฒด ํ์
๊ฐ์ฒด(entity)
์ฌ๋, ์ฌ๋ฌผ, ์ฅ์, ๊ฐ๋ , ์ฌ๊ฑด๊ณผ ๊ฐ์ด ์ ๋ฌดํ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ ๋ฆฝ์ ์ธ ์ค์ฒด
=> ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฃผ๋ก ๋ค๋ฃจ๋ ๊ฐ์ฒด - (๋ฑ๊ฐ๋ก ๊ตฌ์ฑ๋ ๊ฒ, ๋ฑ๊ฐ๊ฐ ๊ฐ๊ฐ ๋ฐ์ดํฐ ๊ฐ์ ๊ฐ์ง๋ ๊ฒ, ๋ฐ์ดํฐ ๊ฐ์ด ๋ณํ๋ ๊ฒ)
๋น์ทํ ์์ฑ์ ๊ฐ์ฒด ํ์ ์ ๊ตฌ์ฑํ๋ฉฐ, ๊ฐ์ฒด ์งํฉ์ผ๋ก ๋ฌถ์
ER ๋ค์ด์ด๊ทธ๋จ์์์ ๊ฐ์ฒด ํ์ ์ ์ง์ฌ๊ฐํ์ผ๋ก ๋ํ๋
๊ฐ์ฒด ํ์ ์ ์ ํ
=> ๊ฐํ ๊ฐ์ฒด : ๋ค๋ฅธ ๊ฐ์ฒด์ ๋์ ์์ด ๋ ์์ ์ผ๋ก ์กด์ฌํ ์ ์๋ ๊ฐ์ฒด (์ง์ฌ๊ฐํ 1๊ฐ๋ก ํํ)
=> ์ฝํ ๊ฐ์ฒด : ๋ ์์ ์ผ๋ก๋ ์กด์ฌํ ์ ์๊ณ ๋ฐ๋์ ์์ ๊ฐ์ฒด ํ์ ์ ๊ฐ์ง (์ง์ฌ๊ฐํ์์ ์ง์ฌ๊ฐํ์ ๊ทธ๋ ค ํํ)
2.3 ์์ฑ
์์ฑ์ ๊ฐ์ฒด๊ฐ ๊ฐ์ง ์ฑ์ง์ด๋ค
์์ฑ์ ER ๋ค์ด์ด๊ทธ๋จ ํํ
- ์์ฑ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์์ผ๋ก ํํ (๊ฐ์ฒด ํ์
์ ๋ํ๋ด๋ ์ง์ฌ๊ฐํ๊ณผ ์ค์ ์ผ๋ก ์ฐ๊ฒฐ๋จ)
- ์์ฑ์ ์ด๋ฆ์ ํ์์ ์ค์์ ํ๊ธฐ
- ์์ฑ์ด ๊ฐ์ฒด๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํค์ผ ๊ฒฝ์ฐ ์์ฑ ์ด๋ฆ์ ๋ฐ์ค์ ๊ทธ์
2.4 ๊ด๊ณ์ ๊ด๊ณ ํ์
๊ด๊ณ๋ ๊ฐ์ฒด ์ฌ์ด์ ์ฐ๊ด์ฑ์ ๋ํ๋ด๋ ๊ฐ๋ ์ด๋ค
๊ด๊ณ ํ์
=> ๊ฐ์ฒด ํ์ ๊ณผ ๊ฐ์ฒด ํ์ ๊ฐ์ ์ฐ๊ฒฐ ๊ฐ๋ฅํ ๊ด๊ณ๋ฅผ ์ ์ํ ๊ฒ
=> ๊ด๊ณ ์งํฉ์ ๊ด๊ณ๋ก ์ฐ๊ฒฐ๋ ์งํฉ์ ์๋ฏธํจ
์ฐจ์์ ๋ฐ๋ฅธ ๊ด๊ณ ํ์ ์ ์ ํ
=> ๊ด๊ณ ์งํฉ์ ์ฐธ๊ฐํ๋ ๊ฐ์ฒด ํ์ ์ ์๋ฅผ ๊ด๊ณ ํ์ ์ ์ฐจ์(degree)๋ผ๊ณ ํจ
๊ด๊ณ ๋์์(cardinality) : ๋ ๊ฐ์ฒด ํ์ ์ ๊ด๊ณ์ ์ค์ ๋ก ์ฐธ์ฌํ๋ ๊ฐ๋ณ ๊ฐ์ฒด ์
๊ด๊ณ ๋์์์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ
๊ด๊ณ ๋์์ 1:1, 1:N, M:N์์ 1, N, M์ ๊ฐ ๊ฐ์ฒด๊ฐ ๊ด๊ณ์ ์ฐธ์ฌํ๋ ์ต๋๊ฐ์ ์๋ฏธํจ
=> ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด์ ์ต์๊ฐ์ ํ์ํ์ง ์๋๋ค๋ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด ER ๋ค์ด์ด๊ทธ๋จ์์๋ ๋์์ ์ธ์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ๊ด๊ณ์ค์ ์์ (์ต์๊ฐ, ์ต๋๊ฐ)์ผ๋ก ํ๊ธฐํจ
ISA ๊ด๊ณ
์์ ๊ฐ์ฒด ํ์ ์ ํน์ฑ์ ๋ฐ๋ผ ํ์ ๊ฐ์ฒด ํ์ ์ด ๊ฒฐ์ ๋๋ ํํ(ISA => is-a) ์ด๋ค!
์ฐธ์ฌ ์ ์ฝ ์กฐ๊ฑด
๊ฐ์ฒด ์งํฉ ๋ด ๋ชจ๋ ๊ฐ์ฒด๊ฐ ๊ด๊ณ์ ์ฐธ์ฌํ๋์ง ์ ๋ฌด์ ๋ฐ๋ผ ์ ์ฒด ์ฐธ์ฌ, ๋ถ๋ถ ์ฐธ์ฌ๋ก ๊ตฌ๋ถ!
=> ์ ์ฒด ์ฐธ์ฌ๋ฅผ (์ต์๊ฐ, ์ต๋๊ฐ)์ผ๋ก ํํํ ๊ฒฝ์ฐ ์ต์๊ฐ์ด 1 ์ด์์ผ๋ก ๋ชจ๋ ์ฐธ์ฌํ๋ค๋ ๋ป
(๋ถ๋ถ ์ฐธ์ฌ๋ ์ต์๊ฐ์ด 0 ์ด์)
์ญํ
๊ฐ์ฒด ํ์ ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ๋ ๊ฐ ๊ฐ์ฒด๋ค์ ๊ณ ์ ํ ์ญํ (role)์ ๋ด๋นํจ
์ํ์ ๊ด๊ณ
ํ๋์ ๊ฐ์ฒด ํ์ ์ด ๋์ผํ ๊ฐ์ฒด ํ์ (์๊ธฐ ์์ )๊ณผ ์ํ์ ์ผ๋ก ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ ํํ์ด๋ค
2.5 ์ฝํ ๊ฐ์ฒด ํ์ ๊ณผ ์๋ณ์
์ฝํ ๊ฐ์ฒด ํ์
=> ์์ ๊ฐ์ฒด ํ์ ์ด ๊ฒฐ์ ๋์ง ์์ผ๋ฉด ๊ฐ๋ณ ๊ฐ์ฒด๋ฅผ ์๋ณํ ์ ์๋ ์ข ์๋ ๊ฐ์ฒด ํ์
=> ์ฝํ ๊ฐ์ฒด ํ์ ์ ๋ ๋ฆฝ์ ์ธ ํค๋ก๋ ์กด์ฌํ ์ ์์ง๋ง ์์ ๊ฐ์ฒด ํ์ ์ ํค์ ๊ฒฐํฉํ์ฌ ์ฝํ ๊ฐ์ฒด ํ์ ์ ๊ฐ๋ณ ๊ฐ์ฒด๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ์์ฑ์ ์๋ณ์ ํน์ ๋ถ๋ถํค๋ผ๊ณ ํจ
2.6 IE ํ๊ธฐ๋ฒ(Information Enginerring ํ๊ธฐ๋ฒ)
ER ๋ค์ด์ด๊ทธ๋จ์ ๋ ์ถ์ฝํ์ฌ ์ฝ๊ฒ ํํํ๋ฉฐ Erwin ๋ฑ ์ํํธ์จ์ด์์ ์ฌ์ฉํจ
(IE ํ๊ธฐ๋ฒ์์ ๊ฐ์ฒด ํ์ ๊ณผ ์์ฑ์ ์ง์ฌ๊ฐํ์ผ๋ก ํํํจ)
3. ER ๋ชจ๋ธ์ ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ฌ์
์์ฑ๋ ER ๋ชจ๋ธ์ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ตฌ์ถํ๊ธฐ ์ํด ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง ๋จ๊ณ๋ฅผ ๊ฑฐ์น๋๋ฐ, ์ด ๋จ๊ณ์์ ์ฌ์(mapping)์ด ์ด๋ฃจ์ด์ง๋ค
3.1 ๊ฐ์ฒด ํ์ ์ ์ฌ์
[1๋จ๊ณ] ๊ฐํ(์ ๊ท) ๊ฐ์ฒด ํ์
์ ๊ท ๊ฐ์ฒด ํ์ E์ ๊ฒฝ์ฐ ๋์ํ๋ ๋ฆด๋ ์ด์ R์ ์์ฑํจ
[2๋จ๊ณ] ์ฝํ ๊ฐ์ฒด ํ์
์ฝํ ๊ฐ์ฒด ํ์ ์์ ์์ฑ๋ ๋ฆด๋ ์ด์ ์ ์์ ์ ํค์ ํจ๊ป ๊ฐํ ๊ฐ์ฒด ํ์ ์ ํค๋ฅผ ์ธ๋ํค๋ก ์ฌ์ํ์ฌ ์์ ์ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑ
๊ด๊ณ ํ์ ์ ์ฌ์
[3๋จ๊ณ] ์ด์ง 1:1 ๊ด๊ณ ํ์
์ด์ง 1:1 ๊ด๊ณ ํ์ ์ ๊ฒฝ์ฐ [๋ฐฉ๋ฒ1] ~ [๋ฐฉ๋ฒ4]๊น์ง ๋ชจ๋ ์ ํ์ผ๋ก ์ฌ์์ด ๊ฐ๋ฅํจ
=> ๊ฐ์ฒด๊ฐ ๊ฐ์ง ์ ๋ณด ์ ํ์ ๋ฐ๋ผ ํ๋จ
[4๋จ๊ณ] ์ด์ง 1:N ๊ด๊ณ ํ์
์ด์ง 1:N ๊ด๊ณ ํ์ ์ ๊ฒฝ์ฐ N์ ์์น์ ๋ฐ๋ผ [๋ฐฉ๋ฒ1] ๋๋ [๋ฐฉ๋ฒ2]์ ์ ํ์ผ๋ก ์ฌ์๋จ
=> N์ ์์น์ธ ๋ฆด๋ ์ด์ ์ 1์ ์์น์ธ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ์ธ๋ํค(FK)๋ก ์ฌ์ฉํด์ผ์ง ๋ฐ๋๋ก ์ ์ฅํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅ!
[5๋จ๊ณ] ์ด์ง M:N ๊ด๊ณ ํ์
์ด์ง M:N ๊ด๊ณ ํ์ ์ [๋ฐฉ๋ฒ4]์ ์ ํ์ผ๋ก ์ฌ์๋จ
=> ๊ต์ฐจ ๋ฆด๋ ์ด์ ์ ์์ฑํด์ ์ฌ์
[6๋จ๊ณ] N์ง ๊ด๊ณ ํ์
ER ๋ชจ๋ธ์ ์ฐจ์๊ฐ 3 ์ด์์ธ ๋ค์ง ๊ด๊ณ ํ์ ์ ๊ฒฝ์ฐ [๋ฐฉ๋ฒ4]์ ์ ํ์ผ๋ก ์ฌ์
=> ์์ฑ๋๋ ๊ต์ฐจ ๋ฆด๋ ์ด์ R์ ํค๋ ๊ฐ ๊ฐ์ฒด ํ์ ์ ๊ธฐ๋ณธํค๋ฅผ ๋ชจ์ ๋ณตํฉํค๋ฅผ ์ฌ์ฉํจ!
๋ค์ค๊ฐ ์์ฑ์ ์ฌ์
[7๋จ๊ณ] ๋ค์ค๊ฐ ์์ฑ
์์ฑ์ ๊ฐ์๋ฅผ ์ ์ ์๋ ๊ฒฝ์ฐ [๋ฐฉ๋ฒ1]์, ์์ฑ์ ๊ฐ์๊ฐ ์ ํ์ ์ผ๋ก ์ ํด์ง๋ ๊ฒฝ์ฐ [๋ฐฉ๋ฒ2]๋ฅผ ์ฌ์ฉ
4. ERwin ์๊ฐ
ERwin์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ํ๊ธฐ ์ํ ํ๋ก๊ทธ๋จ์ด๋ค
(ERwin ์ด์ธ์๋ ๋ค์ํ ์ ํ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ํ๋ก๊ทธ๋จ์ด ์กด์ฌํจ)
์ค์ต์ ์๋ตํ๊ฒ ์ต๋๋ค!!!
'๐ซง Database > ๋ฐ์ดํฐ๋ฒ ์ด์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Chapter 08. ํธ๋์ญ์ , ๋์์ฑ ์ ์ด, ํ๋ณต (0) | 2024.05.26 |
---|---|
Chapter 07. ์ ๊ทํ (0) | 2024.05.17 |
Chapter 05. ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๋ก๊ทธ๋๋ฐ (1) | 2024.04.16 |
Chapter 04. SQL ๊ณ ๊ธ (1) | 2024.04.15 |
Chapter 03. SQL ๊ธฐ์ด (1) | 2024.04.14 |