ER Diagram
- ER ๋ค์ด์ด๊ทธ๋จ์ ๋์ ํ๋ฆฌํฐ๋ก DB๋ฅผ ์ค๊ณํ๋๋ก ๋๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ, ๊ด๋ฆฌ, ์ ์ง๋ฅผ ์ํด ์ฌ์ฉ๋๋ค.
- Communication์ ์๋จ์ด๊ธฐ๋ ํ๋ค.
1. ERD?
- Entity Relationship Diagram
- Entity์ ๊ด๊ณ๋ฅผ ๋ค์ด์ด๊ทธ๋จ ํํ๋ก ํํ
- ๊ตฌ์กฐ์ ๋ค์ด์ด๊ทธ๋จ(Structural Diagram) ์ค ํ๋
- System์ Major Entity
- Inter-Relationship among Entities
2. ์ธ์ ERD๋ฅผ ๊ทธ๋ฆด๊น?
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๊ฐํ์ ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์์ธ์ ์ํด ๊ฐ๋ฐ๋จ
- ํ์ง๋ง ๊ทธ ์ธ์๋ ERD๋ ๋ค์ํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ค.
1) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์์ธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ์กฐ์ํ๋ ๊ฒ์ ์ํ์ด ๋ฐ๋ฅด๋ ์ผ์ด๋ค
- ERD๋ฅผ ์ด์ฉํ์ฌ ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋์์ธ์ ์ด๋ค ์์ผ๋ก ๋ฐ๊ฟ ๊ฒ์ธ์ง์ ๊ดํด ๊ณํํ ์ ์๋ค.
- ์ฆ, ๋ณํ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ์ฃผ๊ธฐ ์ ์ค๊ณ๋ฅผ ํตํด ์์ ์ฑ์ ํ์ธํ๋ ๊ฒ์ด๋ค.
2) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ฒ๊น
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ด์๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ๊ฝค ํ๋ ์ผ์ด๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ง์ ํ ์ด๋ธ๋ค์ ํฌํจํ๊ณ ์๊ณ ํ ์ด๋ธ๋ค์ ์๊ตฌ์ฌํญ๋ ๊ฐ๊ธฐ ๋ค๋ฅด๋ค.
- ERD๋ ํ ์ด๋ธ, ํ ์ด๋ธ ์๊ตฌ์ฌํญ์ ๊ดํ ์ ๋ณด๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ด๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ฒ๊น ์ ํ๊ธฐ ๊ฐํธํ๋ค.
3) ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ๋ฐ ํจ์นญ
- ERD๋ฅผ ๊ทธ๋ฆฌ๋ฉด ์๋์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ ์ ์๋ค.
- MySQL์์๋ ERD๋ฅผ ํ ์ด๋ธ๋ก ๋ฐ๊ฟ์ฃผ๋ ์์ ์ ์ง์ํ๋ค.
- ํ ์ด๋ธ๋ค๊ณผ ๊ทธ๋ค์ ๊ด๊ณ๋ฅผ ERD ๋ก ๋ฐ๊พธ์ด ํํํด์ค ์๋ ์๋ค.
4) ์๊ตฌ์ฌํญ ์์ง
- ํ ์ด๋ธ์ ์ ์ฒด์ ํ๋ฆ์ ๋ด๊ณ ์๊ณ ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ฐ๊ฟ ๋์ ์ด๋ฆ์ ๊ดํ ์ ๋ณด๋ ๋ด๊ณ ์์ ์ ์๋ค.
- ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ์ ํํํ์๋์ง, ๋์น ๊ฒ์ ์๋์ง๋ฅผ ์ง๊ด์ ์ผ๋ก ํ์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
3. ERD Notations
1) Entity
- ์์คํ ์์์ ๊ฐ๋ ์ ์ธ ํํ์ด๋ค.
- ์ฌ๋, ์ญํ , ๊ฐ์ฒด, ๊ฐ๋ , ์ฌ๊ฑด ๋ฑ์ ํ ์ด๋ธ๋ก ๋ํ๋ผ ์ ์๋ค.
- ERD์์๋ ํ ์ด๋ธ์ด๋ผ๋ ๋ช ์นญ๋์ Entity๋ก ์ฌ์ฉํ๋ค.
2) Entity Attributes (๊ตฌ์ฑ์์)
- Primary Key
- ๋ฐ์ดํ ๋น์ด์ค ํ ์ด๋ธ์์ ์ต์์ฑ๊ณผ ์ ์ผ์ฑ์ ๋ง์กฑํ๋ ํค์ด๋ค.
- ์ต์์ฑ: ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ด์ ๊ฐ์๊ฐ ์ต์์ด๋ค.
- ์ ์ผ์ฑ: ์ ํํ ์นผ๋ผ(์ด)์ ๋ฐ๋ผ ๊ฐ๊ฐ์ ๋ ์ฝ๋๋ฅผ ๊ตฌ๋ถํ ์ ์๋ค.
- e.g. ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ํ๋ฒ
- Foreign Key
- ์๋ณ๊ด๊ณ์ ๋น์๋ณ ๊ด๊ณ๋ฅผ ๊ฒฐ์ ์ง๋๋ค.
- ๋ถ๋ชจ ํ ์ด๋ธ์ Primary Key ํน์ Unique Key๋ฅผ ์์ ์ Primary Key๋ก ์ผ์ผ๋ฉด ์๋ณ ๊ด๊ณ
- ๋ถ๋ชจ ํ
์ด๋ธ์ Primary Key ํน์ Unique Key๋ฅผ ์ธ๋ํค๋ก์๋ง ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๋น์๋ณ ๊ด๊ณ
- ์ด๋, ์ธ๋ํค๋ Unique ํ ํ์๋ ์๋ค. (๋ ์ฝ๋๋ฅผ ๊ตฌ๋ถํ์ง ์์๋ ๋๋ค, ์ฌ๋ฌ ๋ฒ ๋ฑ์ฅํ ์ ์๋ค)
- Relationship
- ๋ ํ ์ด๋ธ ๊ฐ ์ด๋ค ๊ด๊ณ๋ฅผ ํ์ฑํ๊ณ ์๋๊ฐ
- 1:1, 1:N, N:M์ ๊ด๊ณ๊ฐ ์๋ค.
- Cardinality
- 1:1, 1:N, N:M
4. ๊ฐ๋ ์ , ๋ ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
1) ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๋น์ฆ๋์ค ๋ชฉ์ ์ผ๋ก ๋ง๋๋ ๋ชจ๋ธ
- Entity์ Relation์ ๋ํ๋
2) ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
- Entity, Relation, Column
3) ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ์ ์ธ ๋์์ธ ์ฒญ์ฌ์ง
- Entity, RRelation, Column + ์ด๋ป๊ฒ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๊ฒ์ธ์ง์ ๊ดํ Type, Name ๋ฑ์ ๋ํ ๋ด์ฉ๋ ์ถ๊ฐ๋๋ค.
5. Data Flow Diagram(DFD)์ ERD
- ์์คํ ํ๋ฆ๋: ์์คํ ์ ๊ณผ์ ์ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ํ๋ธ ๊ฒ
- DFD์ ERD๋ฅผ ํจ๊ป ์ด์ฉํ์ฌ ์์คํ ํ๋ฆ๋๋ฅผ ๊ตฌ์ฑํ ์๋ ์์
- Business Process Model and Notation(BPMN)์ ERD๋ฅผ ํจ๊ป ๋ฌถ์ด ์ ์ฒด ์์คํ ํ๋ฆ๋๋ฅผ ๊ตฌ์ฑํ ์๋ ์์
๋ณธ ๋ด์ฉ์ ๋ค์ ์ฌ์ดํธ๋ฅผ ๋ฒ์ญํ์ฌ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
https://www.visual-paradigm.com/guide/data-modeling/what-is-entity-relationship-diagram/#erd-data-models-conceptual
What is Entity Relationship Diagram (ERD)?
Design Database Faster, Better and Easier Are you looking for a Free ERD tool for creating data models faster, easier and quicker? Visual Paradigm Community Edition provides you with an ERD editor for database design. It is an international award-winning m
www.visual-paradigm.com
๋๊ธ