์ด์ ํฌ์คํ
https://rkdrkd-history.tistory.com/18
4. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ: db์ ์คํค๋ง๋ฅผ ์ ์ํ๊ณ , ์ด์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ๊ณผ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๊ณผ์ ์ ์๊ตฌ ์กฐ์ ๋ถ์, ์ค๊ณ, ๊ตฌํ, ์ด์ ๋ฐ ์ ์ง๋ณด์ ๋ฑ์ ๊ณผ์ ์ ํตํด ์ด๋ฃจ์ด์ง๋ค.
1. ์๊ตฌ ์กฐ๊ฑด ๋ถ์
์ ์: ์ฌ์ฉ์๊ฐ ๋ฌด์์ ๋ํ ์ ๋ณด๋ฅผ ํ์๋ก ํ๋์ง ๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ๋ฑ์ ๋ถ์ํ๋ ๊ณผ์
ํ๋ ์ผ
- ์ค์ ๋ก ๋ง๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํ๋ค
- ์ฌ์ฉ์์ ์๊ตฌ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ช ์ธ์(Specification)๋ฅผ ์์ฑํ๋ค.
2. ์ค๊ณ
์ ์: ์๊ตฌ ์กฐ๊ฑด ๋ถ์์ ํตํด ์ป๋ ์ ๋ณด๋ฅผ ํ ๋๋ก ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ด์ ๋จ๊ณ
- ๊ฐ๋ ์ ์ค๊ณ -> ๋ ผ๋ฆฌ์ ์ค๊ณ -> ๋ฌผ๋ฆฌ์ ์ค๊ณ ๊ณผ์ ์ ํตํด ์ด๋ฃจ์ด์ง๋ค.
2-1. ๊ฐ๋ ์ ์ค๊ณ(Conceptual Design)
์ ์: ๊ตฌํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ ๊ตฌ์ฑ์์๋ฅผ ๊ฒฐ์ ํ ํ ์ํํ ์์ ๊ณผ ๊ด๊ณ๋ฅผ ์ค๊ณํ๋ ๊ณผ์ ์ ๋ปํ๋ค.
- ๊ฐ๋ ์ ์ค๊ณ์์๋ ๊ตฌ์ฑ์์๋ฅผ ์ ํ๊ณ ์ํํ ์์ ์ ์ค๊ณํ๊ธฐ ์ํด 'E-R ๋ชจ๋ธ' ์ ๋ํ์ ์ผ๋ก ์ด์ฉํ๋ค.
- E-R ๋ชจ๋ธ(Entity-Relationship Model): ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉํ๋ ๊ฐ์ฒด, ์์ฑ, ๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ์ ๊ด๊ณ ๋ฑ์ ์ฝ์๋ ๊ธฐํธ๋ฅผ ์ด์ฉํ์ฌ ํํํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ฝ๋๋ก ํํํ ๋ชจ๋ธ์ ๋งํ๋ค.
2-2. ๋ ผ๋ฆฌ์ ์ค๊ณ(Logical Design)
์ ์: ๊ฐ๋ ์ ์ค๊ณ์์ ๋ง๋ค์ด์ง ๊ตฌ์กฐ๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ๋ณํํ๋ ๋จ๊ณ๋ก ์ฌ์ฉ์๊ฐ ์์๋ณผ์ ์๋ ํํ๋ก ๋ณํํ๊ณ , ์คํค๋ง๋ฅผ ์ ์ํ๋ ๊ณผ์ ์ ๋งํ๋ค.
์ฐ๋ฆฌ๊ฐ ์์๋ณผ ์ ์๋ ํ
์ด๋ธ(ํ)์ ๊ฐ์ ํํ๋ก ํํํ์ฌ ์ฌ์ฉ์๊ฐ ์ดํดํ ์ ์๋๋ก ํ๋๋ฐ,
์ด์ ๊ฐ์ ๋จ๊ณ๋ฅผ ๋
ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ๋ผ๊ณ ํ๋ค.
์์ ๊ฐ์ด ํ ์ด๋ธ(ํ)์ ํํ๋ก ํํ๋ ๋ชจ๋ธ์ '๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ' ์ด๋ผ๊ณ ํ๋ค.
2-3. ๋ฌผ๋ฆฌ์ ์ค๊ณ(Pysical Design)
์ ์: ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ค์ ๊ธฐ๊ณ๊ฐ ์ฒ๋ฆฌํ๊ธฐ์ ์๋ง๋๋ก ๋ด๋ถ ์ฅ์น ๊ตฌ์กฐ์ ์ ๊ทผ ๊ฒฝ๋ก ๋ฑ์ ์ค๊ณํ๋ ๊ณผ์ ์ผ๋ก, ํจ์จ์ ์ธ ๊ธฐ๊ณ ์ฒ๋ฆฌ์ ๋ง๋๋ก ์ค๊ณํ๋ ๊ณผ์ ์ ๋งํ๋ค.
3. ๊ตฌํ
์ ์: ์ค๊ณ ๊ณผ์ ์์ ์ป์ด์ง ๊ฒ์ ํ ๋๋ก ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋๋ ๊ณผ์ ์ด๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๊ฒฐ ๋ช ๋ฃํ๋ฉด์๋ ๋ถ์ ๊ณํํ ๋ด์ฉ๊ณผ ์ผ์นํ๊ณ ์ ์ง.๋ณด์๊ฐ ์ฉ์ดํ๋๋ก ์์ฑํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด
- ์ ์์ด(DDL: Data Definiition Language): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ ๋ฐ ์์ , ์ ๊ฑฐ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด
- ์กฐ์์ด(DML: Data Manipulation Language): ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ์๋ฃ๋ฅผ ๊ฒ์, ์ฝ์ , ์์ , ์ญ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด
- ์ ์ด์ด(DCL: Data Control Language): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ๋ณดํธ์ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด
4. ์ด์ ๋ฐ ์ ์ง๋ณด์
์ ์: ๊ตฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ ๋ก ์ด์ํ๋ ๋จ๊ณ๋ก, ์ค์ ์ฌ์ฉํด ๋ด์ผ๋ก์จ ๋ฌธ์ ์ ๊ณผ ๊ฐ์ ์ ๋ฑ์ ํ์ ํ๊ฒ ๋๋ค.
5. ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ(E-R Model)
1. E-R ๋ชจ๋ธ
E-R ๋ชจ๋ธ: ๊ฐ๋ ์ ์ค๊ณ ๋จ๊ณ์์ ์ฌ์ฉ๋๋ ์ค๊ณ ๊ธฐ๋ฒ์ผ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ์ฒด(Entity) ํ์ ๊ณผ ๊ด๊ณ(Relationship) ํ์ ๊ฐ์ ๊ตฌ์กฐ ๋๋ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ(Attribute) ๋ฑ์ ์ฝ์๋ ๊ธฐํธ๋ก ํํํจ์ผ๋ก์จ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ํํํ ๋ชจ๋ธ
2. E-R ๋ชจ๋ธ์ ๊ธฐํธ
3. ๋ค์ํ ๊ด๊ณ ํํ๋ฒ(์ ๋ณด ๊ณตํ์ ํํ๋ฒ)
4. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ
์ ์: ๊ฐ๋ ์ ์ค๊ณ ์ดํ ๋ ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ๋ก ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ๋ณํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ, ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฑ์ด ์๋ค.
4-1. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋ผ๊ณ ๋ ํ๋ฉฐ, 2์ฐจ์ ๊ตฌ์กฐ์ ํ ํํ๋ก ํํํ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๊ตฌ์กฐ๊ฐ ๋จ์ํ๊ณ , ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํด์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๊ณ ์๋ ํํ์ด๋ค.
4-2. ๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ทธ๋ํ ํํ๋ก ํํํ๋ฉฐ ๋ง ๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋ผ๊ณ ๋ ํ๋ฉฐ ๋ ์ฝ๋ ํ์ ๊ฐ ๊ด๊ณ๋ฅผ ๋ํ์ผ๋ก ํํํ๋ค.
4-3. ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ํํํ์ฌ ํธ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋ผ๊ณ ๋ ํ๋ฉฐ ๋ถ๋ชจ ์์ ๊ด๊ณ(์ผ๋ ๋ค ๊ด๊ณ)๋ฅผ ๋ํ๋ธ๋ค.
6. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ
์ ์: ์๋ฃ์ ์ ์ฅ ํํ๋ฅผ 2์ฐจ์ ๊ตฌ์กฐ์ ํ(ํ ์ด๋ธ)๋ก ํํํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค.
1. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฉ์ด
๋ฆด๋ ์ด์ (Relation) | ์๋ฃ ์ ์ฅ์ ํํ๊ฐ 2์ฐจ์ ๊ตฌ์กฐ์ ํ ์ด๋ธ๋ก ํํ |
์์ฑ(Attribute) | ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ๊ฐ ์ด |
ํํ(Tuple) | ๋ฆด๋ ์ด์ ์ ํ ํ์ ๊ตฌ์ฑํ๋ ์์ฑ๋ค์ ์งํฉ |
๋๋ฉ์ธ(Domain) | ํ๋์ ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๊ฐ๋ค์ ๋ฒ์ |
๋ฆด๋ ์ด์ ์คํค๋ง(Relation Schema) | ๋ฆด๋ ์ด์ ์ ์ด๋ฆ๊ณผ ์์ฑ ์ด๋ฆ์ ์งํฉ(๋ฆด๋ ์ด์จ์ ๊ตฌ์กฐ) |
๋ฆด๋ ์ด์ ์ธ์คํด์ค(Reltaion Instance) | ๋ฆด๋ ์ด์ ์์ ์ด๋ ์์ ๊น์ง ์ ๋ ฅ๋ ํํ๋ค์ ์งํฉ |
๋๊ทธ๋ฆฌ, ์ฐจ์(Degree) | ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ฑ(ํญ๋ชฉ)์ ์ |
์นด๋๋๋ฆฌํฐ(Cardinality) | ๋ฆด๋ ์ด์ ์ ์ ๋ ฅ๋ ํํ(๋ ์ฝ๋)์ ์ |