-
[Database] ERD๋ฅผ ์ค๊ณํด๋ณด์!(1. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง)๐ปProgramming/Database 2023. 10. 9. 12:53
ERD์ ๋ํด์ ์๊ธฐํ๊ธฐ ์ ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์๋ ๊ฒ์ด ์ข๋ค.
https://suucong.tistory.com/32
๐ ERD๋?
- Entity Relationship Diagram์ ์ฝ์๋ก "๊ฐ์ฒด"๋ค์ ์์ฑ๊ณผ ๊ฐ์ฒด๋ค๊ณผ์ "๊ด๊ณ"๋ฅผ ํํํ๊ธฐ ์ํ "๋ค์ด์ด๊ทธ๋จ"์ ์๋ฏธํ๋ค. ์ฌ๋์ด ๋ณด๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํด๋์ ๊ทธ๋ฆผ ๊ฐ์ ๊ฒ์ด๋ค.
๐ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ํ์ค ์ธ๊ณ๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ํํํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ๋ค๊ณ ํ๋๋ฐ, ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ ๋ ์ด 3๊ฐ์ง์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
๐ 1. ๊ฐ๋ ์ ๋ชจ๋ธ๋ง
- ํ์ค ์ธ๊ณ๋ฅผ ์ถ์์ ๊ฐ๋
, ์ฆ ๊ฐ์ฒด ํ์
์ผ๋ก ํํํ๋ ๊ฒ์ด๋ค.
- ์ ํธ๋ฆฌ๋ทฐํธ๋ค๋ก ๊ตฌ์ฑ๋ ๊ฐ์ฒด ํ์ ๊ณผ ์ด ๊ฐ์ฒด ํ์ ๋ค๊ฐ์ ๊ด๊ณ๋ฅผ ์ด์ฉํ์ฌ ํ์ค ์ธ๊ณ๋ฅผ ํํ.
- ๊ฐ์ฅ ๋ํ์ ์ธ ๋ชจ๋ธ์ด ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ(E-R Model)
๐2. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ์์ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ๋ ผ๋ฆฌ์ ๊ฐ๋ , ๋ ์ฝ๋ ํ์ ์ผ๋ก ํํํ๋ ๊ฒ์ด๋ค.
๐3. ๋ฐ์ดํฐ ๊ตฌ์กฐํ
- ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๊ฒ์ด๋ค. (์ฌ๋ฌ ํํ๋ค์ "์ ์ฅ์ฅ์น"์ ์ ์ฅํ๋ ๊ฒ.)
๐ ๊ฐ์ฒด
- ๋จ๋ ์ผ๋ก ์กด์ฌํ ์ ์์ผ๋ฉฐ ๋ค๋ฅธ ๊ฒ๊ณผ ๊ตฌ๋ณ๋๋ ๊ฐ์ฒด
- ์๋ฅผ๋ค์ด ์ผํ๋ชฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ํ๋ค๊ณ ํ ๋ ํ์(ํ์๋ฒํธ, ์ด๋ฆ, ์ฃผ์, ๋๋ค์, ์ฑ๋ณ...) / ์ํ(์ํ๋ฒํธ, ์ํ์ด๋ฆ, ์ํ ์นดํ ๊ณ ๋ฆฌ, ์ํ๊ฐ๊ฒฉ...) ๋ฑ๋ฑ ๋ ์๊ฒ ์ง๋ง ํ์๊ณผ ์ํ์ ๊ฐ๊ฐ์ ๊ฐ์ฒด์ด๋ค.
๐ Entity Type
๐๋จ์ ์ ํธ๋ฆฌ๋ทฐํธ์ ๋ณตํฉ ์ ํธ๋ฆฌ๋ทฐํธ
- ๋จ์ ์ ํธ๋ฆฌ๋ทฐํธ
- ๋์ด์ ์์ ๊ตฌ์ฑ์์๋ก ๋ถํดํ ์ ์๋ ์ ํธ๋ฆฌ๋ทฐํธ(ex. ์ ์)
- ๋ณตํฉ ์ ํธ๋๋ทฐํธ
- ๋ช ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๋จ์ ์ ํธ๋ฆฌ๋ทฐํธ๋ก ๋ถํดํ ์ ์๋ ์ ํธ๋ฆฌ๋ทฐํธ(ex. ์ฑ์ -์ ์, ๊ณผ๋ชฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ค. ์ด๋ ๊ฒ ๋จ์ ์ ํธ๋ฆฌ๋ทฐํธ๋ก ๋ถํด๊ฐ ๊ฐ๋ฅํ ์ ํธ๋ฆฌ๋ทฐํธ์ด๋ค.)
๐๋จ์ผ ๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ์ ๋ค์ค ๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ
- ๋จ์ผ ๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ
- ๋๋ถ๋ถ์ ์ ํธ๋ฆฌ๋ทฐํธ๋ค์ ํน์ ๊ฐ์ฒด์ ๋ํด ํ๋์ ๊ฐ์ ๊ฐ์ง๋ค. (ex. ํ์ ๊ฐ์ฒด ํ์ ์์ ์ด๋ฆ ์ ํธ๋ฆฌ๋ทฐํธ๋ ๊ฐ ๊ฐ์ฒด์ ๋ํด ํ๋์ ๊ฐ๋ง ๊ฐ์ง๋ค.)
- ๋ค์ค ๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ
- ํ ๊ฐ์ฒด์ ๋ํด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๊ฐ์ง ์ ์๋ ์ ํธ๋ฆฌ๋ทฐํธ. (ex. ํ์ ๊ฐ์ฒด ํ์ ์์ ์ทจ๋ฏธ ์ ํธ๋ฆฌ๋ทฐํธ๋ ํ์์ด ์ฌ๋ฌ๊ฐ์ ์ทจ๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ ์ ์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฌ๊ฐ์ ๊ฐ์ ๊ฐ์ง ์ ์์)
๐์ ๋ ์ ํธ๋ฆฌ๋ทฐํธ์ ์ ์ฅ ์ ํธ๋ฆฌ๋ทฐํธ
- ์ ๋ ์ ํธ๋ฆฌ๋ทฐํธ
- ์ ํธ๋ฆฌ๋ทฐํธ์ ๊ฐ์ด ๋ค๋ฅธ ์ ํธ๋ฆฌ๋ทฐํธ๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ผ๋ก๋ถํฐ ์ ๋๋์ด ๊ฒฐ์ ๋๋ ๊ฒฝ์ฐ
- ์ ์ฅ ์ ํธ๋ฆฌ๋ทฐํธ
- ์ ๋ ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋ ์ ํธ๋ฆฌ๋ทฐํธ
๐์๋ฅผ๋ค์ด "๊ณผ๋ชฉ-์ฑ์ " ๊ฐ์ฒด ํ์ ์ "ํ๊ท ์ฑ์ "์ ํธ๋ฆฌ๋ทฐํธ์ธ ๊ฒฝ์ฐ ํ๊ท ์ฑ์ ์ ์ ํธ๋ฆฌ๋ทฐํธ ๊ฐ์ ์ฑ์ ์ ํธ๋ฆฌ๋ทฐํธ ๊ฐ์ ํ๊ท ํ ๊ฒฐ๊ณผ๋ก ๊ฒฐ์ ๋๋ค. → ์ฑ์ ์ ํธ๋ฆฌ๋ทฐํธ-์ ์ฅ ์ ํธ๋ฆฌ๋ทฐํธ, ํ๊ท ์ฑ์ ์ ํธ๋ฆฌ๋ทฐํธ-์ ๋ ์ ํธ๋ฆฌ๋ทฐํธ
๐ Relationship Type
- ๊ฐ์ฒด ์งํฉ๋ค ์ฌ์ด์ ๋์, ์ฆ ์ฌ์์ ์๋ฏธํ๋ค.
๐์ฐธ์ฌ
- ์ ์ฒด ์ฐธ์ฌ
- A-B ๊ด๊ณ์์ ๊ฐ์ฒด์งํฉ A์ ๋ชจ๋ ๊ฐ์ฒด๊ฐ A-B์ ๊ด๊ณ์ ์ฐธ์ฌํ๋ค.(ex. ๊ต์-ํ๊ณผ๊ด๊ณ)
- ๋ถ๋ถ ์ฐธ์ฌ
- A-B๊ด๊ณ์์ ๊ฐ์ฒด์งํฉ A์ ์ผ๋ถ ๊ฐ์ฒด๋ง A-B๊ด๊ณ์ ์ฐธ์ฌ
๐์กด์ฌ ์ข ์
- ์ด๋ค ๊ฐ์ฒด b์ ์กด์ฌ๊ฐ ๊ฐ์ฒด a์ ์กด์ฌ์ ์ข ์๋๋ค.
- b๋ a์ ์กด์ฌ ์ข ์
- ์ฃผ ๊ฐ์ฒด๋ ๋์ถ, ์ข ์ ๊ฐ์ฒด๋ ์ํ ๊ฐ์ฒด
๐์ฝํ ๊ฐ์ฒด ํ์
- ์๊ธฐ ์์ ์ ์ ํธ๋ฆฌ๋ทฐํธ ๋ง์ผ๋ก๋ ํค๋ฅผ ๋ช ์ธํ ์ ์๋ ๊ฐ์ฒดํ์ ↔ ๊ฐํ ๊ฐ์ฒด ํ์
- ์ฃผ ๊ฐ์ฒด: ๊ฐํ ๊ฐ์ฒด ํ์
- ์ข ์ ๊ฐ์ฒด: ์ฝํ ๊ฐ์ฒด ํ์
๐๊ตฌ๋ณ์
- ๊ฐํ ๊ฐ์ฒด์ ์ฐ๊ด๋ ์ฝํ ๊ฐ์ฒด ์งํฉ ๋ด์์๋ง ์ด๋ค์ ์๋ก ๊ตฌ๋ณํ ์ ์๋ ์ ํธ๋ฆฌ๋ทฐํธ
- ๋ถ๋ถ ํค
๐์๋ณ ๊ด๊ณ ํ์
์ฝํ ๊ฐ์ฒด๋ฅผ ๊ฐํ ๊ฐ์ฒด์ ์ฐ๊ด์์ผ ๊ฐ์ฒด๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ๋๋ก ํ๋ ๊ด๊ณ
๐ E-R Diagram ํ๊ธฐ๋ฒ(๊ฐ๋ ์ ๋ชจ๋ธ๋ง)
๋ค์ ๊ธ
https://suucong.tistory.com/34
'๐ปProgramming > Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ