์๊ตฌ์ฌํญ ๋ถ์์์ ์์ํ๋ ์ค๊ณ
๋ชจ๋ ์ค๊ณ๋ ์๊ตฌ์ฌํญ ๋ถ์์์ ์์ํ๋ค.
์๊ตฌ์ฌํญ ๋ฌธ์๋ฅผ ์ฝ์ ๋๋ ํนํ '๋ช
์ฌ'์ '๋์ฌ'์ ์ง์คํด์ผ ํ๋ค.
์ด๋ค์ด ๋ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ ํ๋ ํต์ฌ ์์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ช ์ฌ (Nouns)
- ์ฐ๋ฆฌ๊ฐ ๊ด๋ฆฌํด์ผ ํ ๋ฐ์ดํฐ์ ๋์์ ๋ํ๋ธ๋ค.
- ์ํฐํฐ(Entity) ๋๋ ๊ทธ ์ํฐํฐ๊ฐ ๊ฐ์ง๋ ์์ฑ(Attribute)์ด ๋ ์ ์๋ค.
- ์์: ํ์, ์์ด๋, ๋น๋ฐ๋ฒํธ, ํ์๋ช , ์ฃผ์, ์ฐ๋ฝ์ฒ, ์ํ, ์ํ ์ฝ๋, ์ํ๋ช , ๊ฐ๊ฒฉ, ์ฌ๊ณ ์๋, ์ฃผ๋ฌธ์, ์ฃผ๋ฌธ ๋ฒํธ, ๋ฐฐ์ก์ง, ์ฃผ๋ฌธ ์ผ์, ๊ฒฐ์ ๊ธ์ก, ์ฃผ๋ฌธ ๋ด์ญ, ์ฃผ๋ฌธ ์๋
๋์ฌ (Verbs)
- ๋ฐ์ดํฐ๋ค ์ฌ์ด์ ํ์๋ ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค.
- ๊ด๊ณ(Relationship)๊ฐ ๋ ์ ์๋ค.
- ์์: ๊ฐ์ ํ๋ค, ์์ ํ๋ค, ํํดํ๋ค, ๋ฑ๋กํ๋ค, ๋ณ๊ฒฝํ๋ค, ์ฃผ๋ฌธํ๋ค, ์กฐํํ๋ค
์ํฐํฐ(Entity)๋ ๋ฌด์์ธ๊ฐ

์ํฐํฐ๋ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ ์์๋ค. ์ํฐํฐ๊ฐ ์ ๋๋ก ์ ์๋๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๊ฐ์ง ํน์ง์ ๋ง์กฑํด์ผ ํ๋ค.
1. ์ ๋ฌด ๊ด๋ จ์ฑ (Business Relevance)
๋ฐ๋์ ํด๋น ์ ๋ฌด์ ํ์ํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ ์ ๋ณด์ฌ์ผ ํ๋ฉฐ, ์ ๋ฌด ํ๋ก์ธ์ค์ ์ํด ์ค์ ๋ก ์ด์ฉ๋์ด์ผ ํ๋ค.
2. ์๋ณ ๊ฐ๋ฅ์ฑ (Uniquely Identifiable)
๊ฐ๊ฐ์ ๋ฐ์ดํฐ(์ธ์คํด์ค, ํ)๋ ์๋ก ๋ช ํํ๊ฒ ๊ตฌ๋ถ๋ ์ ์์ด์ผ ํ๋ค. ์ด๋ฅผ ์ํด ์ฃผ๋ก Primary Key๋ฅผ ์ฌ์ฉํ๋ค.
3. ๋ ๊ฐ ์ด์์ ์์ฑ ๋ณด์ (Has Attributes)
๊ด๋ฆฌํ ๋งํ ๊ฐ์น๊ฐ ์๋ ์ฌ๋ฌ ์ ๋ณด, ์ฆ ์์ฑ(Attribute)๋ค์ ๊ฐ์ ธ์ผ ํ๋ค.
4. ์ธ์คํด์ค์ ์งํฉ
๋ ๊ฐ ์ด์์ ์ธ์คํด์ค(์ค์ ๋ฐ์ดํฐ)๋ก ๊ตฌ์ฑ๋ ์งํฉ์ด์ด์ผ ํ๋ค. ์๋ฅผ ๋ค์ด ํ์1, ํ์2์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํด์ผ ํ๋ค.
5. ๊ด๊ณ ํ์ฑ (Has Relationships)
๋ค๋ฅธ ์ํฐํฐ์ ๊ด๊ณ๋ฅผ ๋งบ์ด์ผ ํ๋ค. ์ํฐํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ ํ๋ ๊ฒ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ํต์ฌ์ด๋ค.
์ํฐํฐ ๋ถ๋ฅ์ ์๋ฏธ์ ๋ชฉ์
์ํฐํฐ ๋ถ๋ฅ๋ ๋ฐ์ดํฐ ๋ฉ์ด๋ฆฌ์ ์ฑ๊ฒฉ๊ณผ ์ญํ ์ ์ ๋๋ก ํ์ ํ๊ณ ๊ตฌ๋ถํ๋ ๊ณผ์ ์ด๋ค. ์ด ์์ ์ด ์ค์ํ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋ถ๋ฅ ๋ชฉ์
1. ๋ชจ๋ธ์ ์ดํด๋์ ์ปค๋ฎค๋์ผ์ด์ ๋น์ฉ ๊ฐ์ ์ํฐํฐ์ ์ฑ๊ฒฉ์ ๋ช ํํ ๋ถ๋ฅํ๋ฉด ํ์๋ค๊ณผ์ ์ํต์ด ์ํํด์ง๋ค.
2. ์ฒด๊ณ์ ์ธ ๊ฐ๋ฐ ์์์ ์ผ์ ๊ด๋ฆฌ ์ํฐํฐ ๋ถ๋ฅ๋ ๊ธฐ๋ณธ โ ์ค์ฌ โ ํ์ ์์ ๊ทธ๋๋ก ๊ฐ๋ฐ์ ์ฐ์ ์์๊ฐ ๋๋ค.
3. ์ฑ๋ฅ๊ณผ ๋ฐ์ดํฐ ๊ด๋ฆฌ ์ ๋ต ์๋ฆฝ์ ๊ธฐ์ค ์ํฐํฐ์ ํน์ฑ์ ๊ณง ๋ฐ์ดํฐ์ ํน์ฑ์ ์๋ฏธํ๋ค.
- ๊ธฐ๋ณธ ์ํฐํฐ: ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ด ์ฆ์ง ์๊ณ ์ฃผ๋ก ์กฐํ(READ) ์์ ์ด ๋ง๋ค. ๋ฐ๋ผ์ ์กฐํ ์ฑ๋ฅ์ ์ต์ ํ๋ ์ธ๋ฑ์ฑ ์ ๋ต์ด ์ค์ํ๋ค.
- ์ค์ฌ ์ํฐํฐ: ์กฐํ์ ์ค์ฌ์ถ์ด์ ํธ๋์ญ์ ์ ํต์ฌ์ด๋ค. ์กฐํ(SELECT)๋ฟ๋ง ์๋๋ผ ์ฃผ๋ฌธ ์ํ ๋ณ๊ฒฝ(UPDATE)๋ ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ฏ๋ก, ๊ฐ๊ฐ์ ์ฐ์์์ ๋ง๋ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ฑ๋ฅ ์ ์ง์ ๊ด๊ฑด์ด๋ค.
- ํ์ ์ํฐํฐ: ๋ฐ์ดํฐ๊ฐ ํญ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๋ฉฐ ๊ฐ์ฅ ๋ง์ ์ ์ฅ ๊ณต๊ฐ์ ์ฐจ์งํ๋ค. ์ค๊ณ ์ด๊ธฐ๋ถํฐ ๋ฐ์ดํฐ ํํฐ์ ๋์ด๋ ์ฃผ๊ธฐ์ ์ธ ์์นด์ด๋น ์ ๋ต์ ๊ณ ๋ฏผํ๋ ๊ฒ์ด ์ข๋ค.
์กด์ฌ ํํ์ ๋ฐ๋ฅธ ์ํฐํฐ ๋ถ๋ฅ
์ ํ ์ํฐํฐ
- ๋ฌผ๋ฆฌ์ ํํ๊ฐ ์กด์ฌํ๋ค.
- ์ ๋ฌด๋ก๋ถํฐ ์๋ณ์ด ์ฉ์ดํ๋ค.
- ์๋์ ์ผ๋ก ์์ ์ ์ด๋ฉฐ ์ง์์ ์ผ๋ก ํ์ฉ๋๋ ์ ๋ณด๋ฅผ ๋ด๋๋ค.
- ์์: ์ฌ์, ํ์, ๊ณ ๊ฐ, ๊ต์(์ฌ๋), ์ํ, ์์ฌ, ๋ฌผํ, ์ฐจ๋, ๊ฑด๋ฌผ(์ฌ๋ฌผ)
๊ฐ๋ ์ํฐํฐ
- ๋ฌผ๋ฆฌ์ ํํ๊ฐ ์๋ ์ถ์์ ์ธ ๊ฐ๋ ์ด๋ค.
- ์ ๋ฌด ๊ท์น์ด๋ ์ ๋, ๋ถ๋ฅ ๊ธฐ์ค ๋ฑ์ ํํํ๋ค.
- ์ ํ ์ํฐํฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๊ต์ ์์ ์ ์ธ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค.
- ์์: ๋ถ์, ์กฐ์ง, ํ(์กฐ์ง ๊ตฌ์กฐ), ๊ณ์ข, ๋ณดํ์ํ(๊ธ์ต ์ํ ๋ฐ ์ฅ๋ถ)
์ฌ๊ฑด ์ํฐํฐ (์ด๋ฒคํธ ์ํฐํฐ)
- ์ ๋ฌด ์ํ์ ๋ฐ๋ผ ๋ฐ์ํ๋ ํ์๋ฅผ ๊ธฐ๋กํ๋ค.
- ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ์ธ์คํด์ค๊ฐ ๊ณ์ํด์ ๋ฐ์ํ๋ค.
- ๋ฐ์๋์ด ๋ง๊ณ ๊ฐ์ข ํต๊ณ ์๋ฃ์ ํ์ฉ๋ ์ ์๋ค.
- ์์: ์ฃผ๋ฌธ, ๊ณ์ฝ, ์ฒญ๊ตฌ, ๋งค์ถ(ํ๋งค ๋ฐ ๊ณ์ฝ ๊ด๋ จ ์ฌ๊ฑด), ์์ฝ, ์ทจ์, ์ฌ๊ณ ์ ์(์๋น์ค ๊ด๋ จ ์ฌ๊ฑด)
์ญํ ๋ฐ ๋ฐ์ ์์ ์ ๋ฐ๋ฅธ ์ํฐํฐ ๋ถ๋ฅ
๊ธฐ๋ณธ ์ํฐํฐ (Fundamental/Key Entity)
- ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
- ์ฃผ๋ก ๋ค๋ฅธ ์ํฐํฐ์ ๋ถ๋ชจ ์ญํ ์ ํ๋ค.
- ์์ ๋ง์ ๊ณ ์ ํ ์ฃผ์๋ณ์๋ฅผ ๊ฐ์ง๋ค.
- ์์: ํ์, ์ํ, ์ฌ์, ๋ถ์, ๊ณ ๊ฐ, ์์ฌ
์ค์ฌ ์ํฐํฐ (Main/Center Entity)
- ๊ธฐ๋ณธ ์ํฐํฐ๋ก๋ถํฐ ๋ฐ์ํ๋ค.
- ์ ๋ฌด ํ๋ก์ธ์ค์ ์ค์ฌ์ ์ธ ์ญํ ์ ๋ด๋นํ๋ค.
- ๋ฐ์ดํฐ ๋ฐ์๋์ด ๋ง๊ณ ๋ง์ ํ์ ์ํฐํฐ๋ฅผ ํ์์ํจ๋ค.
- ์์: ์ฃผ๋ฌธ, ๊ณ์ฝ, ์ฒญ๊ตฌ, ๋งค์ถ
ํ์ ์ํฐํฐ (Action/Behavioral Entity)
- ๋ ๊ฐ ์ด์์ ๋ถ๋ชจ ์ํฐํฐ๋ก๋ถํฐ ๋ฐ์ํ๋ค.
- ๋ฐ์ดํฐ ๋ด์ฉ์ด ์์ฃผ ๋ณ๊ฒฝ๋๊ฑฐ๋ ๋ฐ์ดํฐ์์ด ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ค.
- ์์ธ ์ค๊ณ ๋จ๊ณ์์ ๋์ถ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ์์: ์ฃผ๋ฌธ ์ด๋ ฅ, ์ ์ฒญ๋ณ๊ฒฝ์ด๋ ฅ, ๊ฒฐ์ ๋ด์ญ, ๋ก๊ทธ, ์ฃผ๋ฌธ ํญ๋ชฉ
์ค๋ฌด ์ด์ผ๊ธฐ: ๋ถ๋ฅ ์ฉ์ด๋ฅผ ์ธ์ฐ๊ธฐ๋ณด๋ค ๋ณธ์ง์ ์ดํดํ๋ ๊ฒ
์ด ๋ถ๋ฅ๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ๋ '์ฌ๊ณ ์ ํ(Framework)'์ ์ ๊ณตํ๋ค. ์ฉ์ด ์์ฒด๋ฅผ ์๊ธฐํด์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ชฉ์ ์ด ์๋๋ผ, ๊ฐ ํ ์ด๋ธ์ด ๊ฐ์ง๋ ๋ฐ์ดํฐ์ '๋ณธ์ง'๊ณผ '์ฑ๊ฒฉ'์ ๋น ๋ฅด๊ณ ์ ํํ๊ฒ ๊ฐํํ๋ ํ๋ จ์ ํ๋ ๊ฒ์ด๋ค. ์ํฐํฐ ๋ถ๋ฅ๋ ๋ณต์กํ ์๊ตฌ์ฌํญ ์์์ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ์ ์ฑ๊ฒฉ์ ๋ณด๊ณ ์ต์ ์ ํด๊ฒฐ์ฑ ์ ์ฐพ์๊ฐ๋ ๊ณผ์ ์์ ๋จธ๋ฆฟ์์ ๊ทธ๋ ค์ง๋ '์ค๊ณ ์ง๋'์ธ ๊ฒ์ด๋ค!
'Database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฐ๋ ์ ๋ชจ๋ธ๋ง (2) - ์ํฐํฐ ๊ด๊ณ์ ERD ์ค์ต (0) | 2025.10.07 |
---|---|
DB ์ค๊ณ์ ์ค์์ฑ๊ณผ 3๋จ๊ณ ์ค๊ณ ํ๋ก์ธ์ค (0) | 2025.10.07 |