0. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง, ๋ฐ์ดํฐ ๋ชจ๋ธ
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง(data modeling)
- ํ์ค ์ธ๊ณ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ปดํจํฐ ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฎ๊ธฐ๋ ๋ณํ(์ถ์ํ) ๊ณผ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ํต์ฌ ๊ณผ์
- ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง : ํ์ค ์ธ๊ณ์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๊ฐ๋
์ ๊ตฌ์กฐ๋ก ํํ
- ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง : ๊ฐ๋
์ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ DB์ ์ ์ฅํ ๊ตฌ์กฐ๋ก ํํ
๋ฐ์ดํฐ ๋ชจ๋ธ(data model)
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ๋ฌผ์ ํํํ๋ ๋๊ตฌ
- ๋ฐ์ดํฐ ๊ตฌ์กฐ, ์ฐ์ฐ, ์ ์ฝ์กฐ๊ฑด ๋ฑ์ ํฌํจ
- ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ(ex. ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ)
- ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ(ex. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ)
1. ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ
๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ(E-R model)
- ๊ฐ์ฒด์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ด์ฉํด ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ๋
์ ๊ตฌ์กฐ๋ก ํํ
- ํต์ฌ ์์ : ๊ฐ์ฒด, ์์ฑ, ๊ด๊ณ
- ๊ทธ๋ฆผ์ผ๋ก ํํํ ๊ฒ์ ๊ฐ์ฒด-๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ(E-R diagram)์ด๋ผ๊ณ ํจ
๊ฐ์ฒด(entity)
- ํ์ค ์ธ๊ณ์์ ์กฐ์ง์ ์ด์ํ๋ ๋ฐ์ ๊ผญ ํ์ํ ์ฌ๋์ด๋ ์ฌ๋ฌผ๊ณผ ๊ฐ์ด ๊ตฌ๋ณ๋๋ ๋ชจ๋ ๊ฒ
- ์ ์ฅํ ๊ฐ์น๊ฐ ์๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ฌ๋์ด๋ ์ฌ๋ฌผ, ๊ฐ๋
์ฌ๊ฑด ๋ฑ
- ๋ค๋ฅธ ๊ฐ์ฒด์ ๊ตฌ๋ณ๋๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๊ณ , ์์ฑ์ ํ๋ ์ด์ ๊ฐ์ง๊ณ ์์
ex. ํ๊ต์ ํ์ํ ๊ฐ์ฒด : ํ๊ณผ (ํ๊ณผ์ ์์ฑ : ๋ฉํฐ๋ฏธ๋์ด๊ณตํ๊ณผ, ์ปดํจํฐ๊ณตํ๊ณผ ๋ฑ)
๊ฐ์ฒด์ ์์ฑ, ํ์
, ์ธ์คํด์ค, ์งํฉ
- ์์ฑ : ๊ฐ์ฒด๋ ๊ด๊ณ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ณ ์ ์ ํน์ฑ, ์๋ฏธ ์๋ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ๋
ผ๋ฆฌ์ ๋จ์
โป ์์ฑ์ ๋ถ๋ฅ
- ๋จ์ผ๊ฐ ์์ฑ / ๋ค์ค๊ฐ ์์ฑ (์์ฑ ๊ฐ์ ๊ฐ์๋ก ๋ถ๋ฅ)
- ๋จ์ ์์ฑ / ๋ณตํฉ ์์ฑ (์๋ฏธ์ ๋ถํด ๊ฐ๋ฅ์ฑ)
- ์ ๋ ์์ฑ (๊ธฐ์กด ์์ฑ๊ฐ์์ ์ ๋)
- ํ์
: ๊ฐ์ฒด๋ฅผ ๊ณ ์ ์ ์ด๋ฆ๊ณผ ์์ฑ๋ค๋ก ์ ์ํ ๊ฒ
- ์ธ์คํด์ค : ๊ฐ์ฒด์ ์์ฑ์ด ์ค์ ๊ฐ์ ๊ฐ์ง์ผ๋ก์จ ์ค์ ํ๋ ๊ฐ์ฒด
- ์งํฉ : ํน์ ๊ฐ์ฒด ํ์
์ ๋ํ ๊ฐ์ฒด ์ธ์คํด์ค๋ค์ ๋ชจ์๋์ ๊ฒ
๊ฐ์ฒด์ ์์ฑ
๋จ์ ์์ฑ (simple attribute) |
์๋ฏธ๋ฅผ ๋๋ ๋ถํดํ ์ ์๋ ์์ฑ | (ex. ์ฑ ๊ฐ์ฒด์ ์ด๋ฆ, ๊ฐ๊ฒฉ) |
๋ณตํฉ ์์ฑ (composite attribute) |
์๋ฏธ๋ฅผ ๋ถํดํ ์ ์๋ ์์ฑ | (ex. ์ฃผ์ใ ก๋, ์, ๋, ์์ผใ ก๋ , ์, ์ผ) |
์ ๋ ์์ฑ (derived attribute) |
๊ธฐ์กด์ ๋ค๋ฅธ ์์ฑ์ ๊ฐ์์ ์ ๋๋์ด ๊ฒฐ์ (๋ณ๋๋ก ์ ์ฅX) | (ex. ์์ผ >>>์ ๋>>> ๋์ด) |
๋ ์์ฑ (null attribute) |
๋ ๊ฐ(๋ฏธ๊ฒฐ์ ์ด๊ฑฐ๋ ๋ชจ๋ฅด๊ฑฐ๋, ์กด์ฌํ์ง ์๋ ๊ฐ. ๊ณต๋ฐฑ, 0๊ณผ ๋ค๋ฅธ ์๋ฏธ)์ด ํ์ฉ | (ex. ์ํ๋ฑ๊ธ) |
ํค ์์ฑ (key attribute) |
๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ฅผ ์๋ณ (๋ชจ๋ ์ธ์คํด์ค ๋ค์ด ๋ฌ๋ผ์ผํจ)ํ๋ ๋ฐ ์ฌ์ฉ |
(ex. ๊ณ ๊ฐ ๊ฐ์ฒด์ ID์์ฑ) |
๊ด๊ณ(relationship)
- ๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ ๋งบ๊ณ ์๋ ์๋ฏธ์๋ ์ฐ๊ด์ฑ, ๋์๊ด๊ณ(mappping) (ex. ๊ณ ๊ฐ ๊ฐ์ฒด, ์ฑ
๊ฐ์ฒด ใ
ก ๊ณ ๊ฐ์ ์ฑ
์ ๊ตฌ๋งค)
- ๋งคํ ์นด๋๋๋ฆฌํฐ : ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ ๊ฐ์ฒด ์งํฉ์์, ๊ฐ ์ธ์คํด์ค ๋น ๊ด๊ณ๊ฐ ์๋ ์๋ ๊ฐ์ฒด ์งํฉ์ ์ธ์คํด์ค ๊ฐ์
โป ๊ด๊ณ์ ๋ถ๋ฅ
- ์ํ(1์ง) ๊ด๊ณ / ์ดํญ(2์ง) ๊ด๊ณ / ์ผํญ(3์ง) ๊ด๊ณ ใ
ก ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด 'ํ์
'์ ์ ๊ธฐ์ค
- 1 : 1 ๊ด๊ณ / 1: n ๊ด๊ณ / n : m ๊ด๊ณ ใ
ก '๋งคํ ์นด๋๋๋ฆฌํฐ' ๊ธฐ์ค
๊ด๊ณ์ ํน์ง(์ฐธ์ฌํน์ฑ)
- ํ์์ ์ฐธ์ฌ(์ ์ฒด ์ฐธ์ฌ)ใ
ก๋ชจ๋ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ด๊ณ์ ๋ฐ๋์ ์ฐธ์ฌ (ex. ๋ชจ๋ ๊ณ ๊ฐ์ด ๋ฐ๋์ ์ฑ
๊ตฌ๋งค)
- ์ ํ์ ์ฐธ์ฌ(๋ถ๋ถ ์ฐธ์ฌ)ใ
ก๊ฐ์ฒด ์ธ์คํด์ค ์ค ์ผ๋ถ๋ง ๊ด๊ณ์ ์ฐธ์ฌํด๋ ๋จ (ex. ๊ณ ๊ฐ์ด ๊ตฌ๋งคํ์ง ์์ ์ฑ
์กด์ฌ)
๊ด๊ณ์ ํน์ง(์ข
์์ฑ)
- ์ฝํ ๊ฐ์ฒด : ๋ค๋ฅธ ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ์ ์์กด์ (ex. ์ง์ ใ
ก ๋ถ์๊ฐ์กฑ์ ๊ด๊ณ ์ค ๋ถ์๊ฐ์กฑ)
- ๊ฐํ ๊ฐ์ฒด : ๋ค๋ฅธ ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ , ๋ณดํต ์ฝํ ๊ฐ์ฒด์ ์ผ๋๋ค(1:n) ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ , ์ฝํ ๊ฐ์ฒด๋ ํ์์ ์ฐธ์ฌ
- ์ฝํ ๊ฐ์ฒด๋ ๊ฐํ ๊ฐ์ฒด์ ํค๋ฅผ ํฌํจํ์ฌ ํค๋ฅผ ๊ตฌ์ฑ
E-R ๋ค์ด์ด๊ทธ๋จ
- ์ฌ๊ฐํ : ๊ฐ์ฒด //์ด์ค์ฌ๊ฐํ์ ์ฝํ ๊ฐ์ฒด,
- ๋ง๋ฆ๋ชจ : ๊ด๊ณ //์ด์ค๋ง๋ฆ๋ชจ๋ ์ฝํ๊ฐ์ฒด์ ๊ฐํ๊ฐ์ฒด์ ๊ด๊ณ
- ํ์ : ์์ฑ //์ ์ ํ์์ ์ ๋ ์์ฑ, ์ด์คํ์์ ๋ค์ค๊ฐ ์์ฑ, ๋ฐ์ค์ ํค ์์ฑ
- ๋งํฌ(์ฐ๊ฒฐ์ ) : ๊ฐ ์์๋ฅผ ์ฐ๊ฒฐ //์ด์ค์ฐ๊ฒฐ์ (ํ์์ ์ฐธ์ฌ)
- ๋ ์ด๋ธ : 1:1, 1:N, N:M์ ๊ด๊ณ๋ฅผ ํ๊ธฐ
IE ํ๊ธฐ๋ฒ
- ๊ตฌ์ฒด์ ์ธ ๊ด๊ณ๋ฅผ ๋ํ์ด ์๋, ์ ์ ๋ณํ
--- : ๋น์๋ณ์ ๊ด๊ณ(๊ฐํ ๊ด๊ณ, ๋ถ๋ชจ ๊ฐ์ฒด์ ํค๊ฐ ์ผ๋ฐ ์์ฑ์ผ๋ก ํฌํจ๋๋ ๊ด๊ณ)
ใ
ก : ์๋ณ์ ๊ด๊ณ(์ฝํ ๊ด๊ณ, ๋ถ๋ชจ ๊ฐ์ฒด์ ํค๊ฐ ์ฃผ์๋ณ์๋ก ํฌํจ๋๋ ๊ด๊ณ)
-< : ์ผ๋๋ค
-ใ
: 0(์ ํ์ฐธ์ฌ), ์ต์ ์ฐธ์ฌ๊ฐ 0์ผ ๊ฒฝ์ฐ
-+ : 1(ํ์์ฐธ์ฌ), ์ต์ ์ฐธ์ฌ๊ฐ 1์ผ ๊ฒฝ์ฐ
2. ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
- E-R ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฅํ ํํ๋ก ํํํ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ(์คํค๋ง, schema)
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฑ
๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ(related data model)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ 2D ํ
์ด๋ธ(table) ํํ
- ์ผ๋ฐ์ ์ผ๋ก ๋ง์ด ์ฌ์ฉ๋๋ ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ(hierarchial data model)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ ํธ๋ฆฌ(tree) ํํ
- ๋ฃจํธ ์ญํ ์ ํ๋ ๊ฐ์ฒด๊ฐ ์กด์ฌํ๊ณ ์ฌ์ดํด์ด ์กด์ฌํ์ง ์์
- ๊ฐ์ฒด ๊ฐ์ ์ํ ๊ด๊ณ๊ฐ ์ฑ๋ฆฝ(๋ถ๋ชจ/์์, ๋ถ๋ชจ-์์์ 1:n๊ด๊ณ๋ง ํ์ฉ)
- ๋ค๋๋ค(n:m)์ ์ง์ ํํํ ์ ์์
- ๊ฐ๋
์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋จ๊ณ์์ ์ด๋ฏธ ์ด๋ ค์
- ๋ฐ์ดํฐ์ ์ฝ์
, ์ญ์ , ์์ , ๊ฒ์์ด ์ฝ์ง ์์
๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ(network data model)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ ๊ทธ๋ํ(graph) ํํ
- ๊ฐ์ฒด ๊ฐ์ ์ค๋/๋ฉค๋ฒ ๊ด๊ณ๋ฅผ ๊ฐ์ง(1:n๊ด๊ณ๋ง ํ์ฉ)
- ๋ ๊ฐ์ฒด ์ฌ์ด์ ์ฌ๋ฌ ๊ด๊ณ๋ฅผ ์ ์ํ ์ ์์ด, ๊ด๊ณ๋ฅผ ์ด๋ฆ์ผ๋ก ๊ตฌ๋ณ
- ๋ค๋๋ค(n:m)์ ์ง์ ํํํ ์ ์์
- ๋ฐ์ดํฐ์ ์ฝ์
, ์ญ์ , ์์ , ๊ฒ์์ด ์ฝ์ง ์์
'๐ป > CS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] ๊ด๊ณ ๋ฐ์ดํฐ ์ฐ์ฐ (0) | 2020.10.28 |
---|---|
[DB] ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ (0) | 2020.10.28 |
[๋คํธ์ํฌ] ์ ์ก ๊ณ์ธต (Transport Layer) (1) | 2020.10.26 |
[์๋ฒ ๋๋] MIPS ๊ณฑ์ , ๋๋์ , ๋ถ๋์์์ (0) | 2020.10.22 |
[์๋ฒ ๋๋] MIPS ๋ ผ๋ฆฌ์ฐ์ฐ (0) | 2020.10.22 |