๐ป
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ๋ง ๋ณธ๋ฌธ
01. ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๋ชจ๋ธ๋ง
์๊ตฌ์กฐ๊ฑด๋ถ์ -- ๊ฐ๋ ์ ์ค๊ณ -- ๋ ผ๋ฆฌ์ ์ค๊ณ -- ๋ฌผ๋ฆฌ์ ์ค๊ณ -- ๊ตฌํ
(์๊ตฌ์ฌํญ๋ช ์ธ์) -- (ERD) -- (ERD ๊ด๊ณ ์ ๋ฆฝ)
02. ์๊ตฌ์กฐ๊ฑด๋ถ์ : ์ฌ์ฉ์๊ฐ ์ํ๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ฉ๋๋ฅผ ํ์ ํ๋ ๋จ๊ณ
03. ๊ฐ๋ ์ ์ค๊ณ : ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ์ดํดํ๊ธฐ ์ฌ์ด ํ์์ผ๋ก ๊ธฐ์ ํ๋ ๋จ๊ณ
ERD(Entity Relationship Diagram)
- ์ํฐํฐ(Entity) : ์ ๋ณด๊ฐ ์ ์ฅ๋ ์ ์๋ ์ฌ๋, ์ฅ์, ์ฌ๋ฌผ, ์ฌ๊ฑด ๋ฑ ๋ ๋ฆฝ์ ์ธ ์กด์ฌ. ์ฆ, ํ ์ด๋ธ(ํ์, ๊ณผ๋ชฉ, ์๊ฐ, ์ฌ์, ๋ถ์)
- ์์ฑ(Attribute) : ์ํฐํฐ์ ์ฑ์ง, ๋ถ๋ฅ, ์๋, ์ํ ํน์ฑ์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ํ๋ด๋ ์ธ๋ถ ํญ๋ชฉ. ์ฆ, ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ์ ์ปฌ๋ผ(์ด)์ ๋งํจ.
โป๊ด๊ณ์คํค๋ง : ๊ณผ๋ชฉ(๊ณผ๋ชฉ์ฝ๋, ๊ณผ๋ชฉ๋ด์ฉ, ๊ณผ๋ชฉ๋ช )
ํ์(์ด๋ฆ, ํ๋ฒ, ์ฃผ์, ์ ๊ณต, ์ทจ๋ฏธ)
(1) ์์ฑ์ ํ
- ๋จ์ ์์ฑ(Simple Attribute) : ๋ ์ด์ ์์ ๊ตฌ์ฑ์์๋ก ๋ถํด ํ ์ ์๋ ์์ฑ
- ๋ณตํฉ ์์ฑ(Composite Attribute) : ๋ช ๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ๋จ์ ์์ฑ์ผ๋ก ๋ถํด ํ ์ ์๋ ์์ฑ์ด๋ค.
- ๋ค์ค ๊ฐ ์์ฑ(Multivate Attribute) : ๋ค์ค ๊ฐ ์์ฑ์ ํ ์ํฐํฐ์ ๋ํด์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๊ฐ๋ ๊ฒ์ผ๋ก์จ, ์ทจ๋ฏธ ์์ฑ์ ์๋ก ๋ค ์ ์๋ค.
- ์ ๋๋ ์ ํธ๋ฆฌ๋ทฐํธ(Derived Attribute) : ์ค์ ๊ฐ์ด ์ ์ฅ๋์ด ์๋ ๊ฒ์ด ์๋๋ผ ์ ์ฅ๋ ๊ฐ์ผ๋ก๋ถํฐ ๊ณ์ฐํด์ ์ป์ ๊ฒฐ๊ณผ ๊ฐ์ ์ฌ์ฉํ๋ ์ ํธ๋ฆฌ๋ทฐํธ๋ฅผ ๋งํ๋ค.
(2) ์ฃผ ์๋ณ์ / ๋น ์๋ณ์
- ์ฃผ ์๋ณ์ : ์๋ณ ํ ์ ์๋ ์ ์ผํ(Primary Key) ์ ์ฝ ์กฐ๊ฑด์ ๊ฐ๋์์ฑ
ERD์์ ์ค๋ณ์๋ ์์ฑ์ ๋ฐ์ค์ ๊ทธ์ด์ ํํ
์์ ) ERD
โป ๊ด๊ณ์คํค๋ง : ์ฌ์(์ฌ์๋ฒํธ(PK), ์ด๋ฆ, ์ฃผ์, ์ฃผ๋ฏผ๋ฒํธ)
์ทจ๋ฏธ
๋ถ์(๋ถ์์ฝ๋(PK), ๋ถ์๋ช )
(3) ๊ด๊ณ (Relation)
- ์ํฐํฐ ์ฌ์ด์ ์ฐ๊ด์ฑ์ ํํํ๋ ๊ฐ๋
- ๋ ๊ฐ์ ์ํฐํฐ ํ์ ์ฌ์ด์ ์ ๋ฌด์ ์ธ ์ฐ๊ด์ฑ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ํํ
- ERD์์ ์ํฐํฐ๋ค ์ฌ์ด์ ๊ด๊ณ
- ํ์ ์ ๋ง๋ฆ๋ชจ๋ฅผ ์ฌ์ฉํ์ฌ ํํํ ํ ๊ทธ ๊ด๊ณ์ ์ฐ๊ด๋ ์ํฐํฐ์ ์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํ์
์์ ) ERD
- ์์ ๊ด๊ณ
- ์๊ฐ ๊ด๊ณ
(4) ์ ํ
1. ์นด๋๋ ๋ฆฌํฐ(Cardinality) : ๊ด๊ณ์ ๋์ ์ํฐํฐ ์๋ผ๊ณ ๋ ํจ
2. ์นด๋๋ ๋ฆฌํฐ ํํ๋ฐฉ๋ฒ : ์ผ๋์ผ(1:1), ์ผ๋๋ค(1:N), ๋ค๋๋ค(N:M)
2-1. ์ผ๋์ผ(One to One) ๊ด๊ณ(1:1)
ex) Aํ์ฌ๋ ์ฌ์์ด ์ ์ฌํ๊ฒ ๋๋ฉด ์ฐจ๋ฅผ ํ ๋์ฉ ์ค๋ค. ์ฌ์์ ์ค ์ฐจ๋ ์ค๋ก์ง ํด๋น ์ฌ์๋ง ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด ์ด๋ฅผ 1:1 ๊ด๊ณ๋ผ๊ณ ํฉ๋๋ค.
ex) ์ ๋๊ณผ ์ ๋ถ ์ฌ์ด์ ๊ฒฐํผ ๊ด๊ณ๋ฅผ ๋ค ์ ์๋ค. 1๋ช ์ ์ ๋์ด 1๋ช ์ ์ ๋ถ์ ๊ฒฐํผ ๊ด๊ณ๋ฅผ ๋งบ๊ธฐ ๋๋ฌธ์ด๋ค.
์์ ) ERD
์ฌ์: ์ฌ์๋ฒํธ, ์ด๋ฆ, ์ฃผ์
์ฐจ: ์ฐจ๋๋ฒํธ, ์ฐจ์ข
1:1 ๊ด๊ณ ํ์ : ์ํฐํฐ๋ฅผ ํ๋์ ํ ์ด๋ธ๋ก ์ค๊ณํฉ๋๋ค. (1:1์ ๊ธฐ๋ณธํค๋ฅผ ์ด๋์ชฝ์ด๋ ์ธ๋ํค๋ก ํํํด๋ ์๊ด์๋ค.)
โป ๊ด๊ณ์คํค๋ง (Schema)๋ ๊ฐ๋ ๋๋ ํด( PK๋ ๋ฐ์ค๋ก, FK๋ ์ ์ ๋ฐ์ค๋ก ํํํด๋ณด์์ต๋๋ค. )
(1) ์ฐจ๋๋ฒํธ๋ฅผ ์ธ๋ํค
(2) ์ฌ์๋ฒํธ๋ฅผ ์ธ๋ํค
(3) ํ ๊ฐ์ ํ ์ด๋ธ
์์ ) ERD
๋จ์(๋จ์๋ฒํธ, ์ด๋ฆ, ๋์ด)
์ฌ์(์ฌ์๋ฒํธ, ์ด๋ฆ, ๋์ด)
โป ๊ด๊ณ์คํค๋ง
(1) ์ฌ์๋ฒํธ๋ฅผ ์ธ๋ํค
(2) ๋จ์๋ฒํธ๋ฅผ ์ธ๋ํค
(3) ํ ๊ฐ์ ํ ์ด๋ธ
2-2. ์ผ๋๋ค(One To Many) ๊ด๊ณ(1:N)
ex) ์ฌ์์ ํ๋์ ๋ถ์์๋ง ์์๋๊ณ , ํ๋์๋ถ์์ ์ฌ๋ฌ ๋ช ์ ์ฌ์์ด ์์๋์ด ์๋ค๋ฉด, ์นด๋๋ ๋ฆฌํฐ๋ 1:N์ผ๋ก ํํํ ์ ์์ต๋๋ค.
ex) ์ด๋จธ๋์ ์์ ์ฌ์ด์ ๋ชจ์ ๊ด๊ณ๋ฅผ ๋ค ์ ์๋ค. ํ ์ด๋จธ๋๋ ์ฌ๋ฌ ์์์ ๊ฐ์ง ์ ์๋ ๋ฐ๋ฉด์ ๊ฐ๊ฐ์ ์์๋ค์ ํ ๋ช ์ ์ด๋จธ๋์๋ง ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ค.
- 1๋จ๊ณ) ์ํฐํฐ, ์์ฑ ์ถ์ถ(์๊ตฌ์ฌํญ ๋ถ์ํตํด)
โ ์ฌ์ : ์ฌ์๋ฒํธ, ์ฌ์๋ช , ์ฃผ์
โก ๋ถ์ : ๋ถ์๋ฒํธ, ๋ถ์๋ช , ์์น
- 2๋จ๊ณ) ERD
- 3๋จ๊ณ) ๊ด๊ณ ์คํค๋ง
2-3. ๋ค๋๋ค(Many To Many) ๊ด๊ณ(N:M)
1) ๊ณ ๊ฐ์ด ํ ๊ฐ ์ด์์ ์ํ์ ์ฃผ๋ฌธํ ์ ์๊ณ , ์ํ์ด ํ ๋ช ์ด์์ ๊ณ ๊ฐ์ ์ํด ์ฃผ๋ฌธ๋๋ค๋ฉด, ์นด๋๋ ๋ฆฌํฐ๋ N:M์ผ๋ก ํํํ ์ ์์ต๋๋ค.
2) ํ ๋ช ์ ํ์์ ์ฌ๋ฌ ๊ณผ๋ชฉ์ ์๊ฐ ์ ์ฒญ ํ ์ ์๊ณ , 1๊ฐ์ ๊ณผ๋ชฉ์ด ๊ฐ์ค๋๋ฉด ์ฌ๋ฌ๋ช ์ ํ์์ด ์์ ์ ๋ฃ๊ฒ ๋๊ธฐ ๋๋ฌธ์ ๋ค๋๋ค ๊ด๊ณ์ด๋ค.
- 1๋จ๊ณ) ์ํฐํฐ, ์์ฑ ์ถ์ถ
โ ๊ณ ๊ฐ : ๊ณ ๊ฐ๋ฒํธ, ๊ณ ๊ฐ๋ช , ์ฃผ์
โก ์ํ : ์ํ๋ฒํธ, ์ํ๋ช , ๊ฐ๊ฒฉ
- 2๋จ๊ณ) ERD
โข ์นด๋๋ ๋ฆฌํฐ
(๊ณ ๊ฐ) 1 : N (์ฃผ๋ฌธ) 1๋ช ์ ๊ณ ๊ฐ์ด ์ํ ์ฌ๋ฌ ๊ฐ๋ฅผ ์ฃผ๋ฌธํ ์ ์๋ค.
(์ํ) 1 : N (์ฃผ๋ฌธ) 1๊ฐ์ ์ํ์ ๊ณ ๊ฐ ์ฌ๋ฌ๋ช ์ด ์ฃผ๋ฌธํ ์ ์๋ค.
- 3๋จ๊ณ) ๊ด๊ณ์คํค๋ง
04) ๋ ผ๋ฆฌ์ ์ค๊ณ : ๊ฐ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์์ ์์ฑ๋ ER ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ ผ๋ฆฌ ์ค๊ณ๋ฅผ ํ๋ ๊ณผ์
ER๋ชจ๋ธ์ DBMS(DataBase Managament System) ์ ๊ณ ๋ คํ์ง ์์ง๋ง, ๋ ผ๋ฆฌ์ ๋ชจ๋ธ์ ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ DBMS๋ฅผ ๊ณ ๋ คํ๋ค.
1. ๋ค์ค ๊ฐ ์์ฑ : ๋ณ๋์ ํ ์ด๋ธ์ ์์ฑํฉ๋๋ค.
- 1๋จ๊ณ) ์ํฐํฐ, ์์ฑ ๋์ถ :
โ ๋ถ์ : ๋ถ์๋ฒํธ, ๋ถ์๋ช , ์์น(์์ธ, ์ธ์ฒ, ๊ฒฝ๊ธฐ)
- 2๋จ๊ณ) ERD
โก ์นด๋๋ ๋ฆฌํฐ
(์์น) 1: N (๋ถ์)
- 3๋จ๊ณ) ๊ด๊ณ์คํค๋ง - ๋ ผ๋ฆฌ ์ค๊ณ
์์ 1) ์ฌ์ ๊ด๋ฆฌ ์์คํ ERD
- 1๋จ๊ณ) ์ํฐํฐ, ์์ฑ ์ถ์ถ
โ ์ฌ์ : ์ฌ์๋ฒํธ, ์ด๋ฆ, ์ฃผ์(์ฐํธ๋ฒํธ ์์ธ์ฃผ์), ์์๋ถ์๋ช , ์ทจ๋ฏธ(์ฌ๋ฌ ๊ฐ์ง ์ทจ๋ฏธ), ์ฃผ๋ฏผ๋ฒํธ
โก ๋ถ์ : ๋ถ์์ฝ๋, ๋ถ์๋ช
- 2๋จ๊ณ) ERD
โข ์นด๋๋ ๋ฆฌํฐ
(๋ถ์) 1 : N (์ฌ์) N์ธก์ ๊ธฐ๋ณธํค๋ฅผ 1์ธก์ ์ธ๋ํค๋ก ํฌํจ
(์ทจ๋ฏธ) 1 : N (์ฌ์) ๋ค์ค๊ฐ์ ํ ์ด๋ธ์ ๋ง๋ ๋ค.
- 3๋จ๊ณ) ๊ด๊ณ ์คํค๋ง
์์ 2) ๋ํ์ ๋ฌด ๊ด๋ฆฌ์์คํ ERD
- 1๋๊ณ) ์ํฐํฐ, ์์ฑ ์ถ์ถ
โ ๊ณผ๋ชฉ : ๊ณผ๋ชฉ์ฝ๋, ๊ต์ก๋ด์ฉ, ๊ณผ๋ชฉ๋ช
โก ํ์ : ํ๋ฒ, ์ด๋ฆ, ์ฃผ์, ์๋ ์์ผ
- 2๋จ๊ณ) ERD
โข ์นด๋๋ ๋ฆฌํฐ
(๊ณผ๋ชฉ) 1 : N (์๊ฐ) 1๋ช ์ ํ์์ด ๊ณผ๋ชฉ ์ฌ๋ฌ ๊ฐ๋ฅผ ์๊ฐํ ์ ์๋ค.
(ํ์) 1 : N (์๊ฐ) 1๊ฐ์ ๊ณผ๋ชฉ์ ํ์ ์ฌ๋ฌ ๋ช ์ด ์๊ฐํ ์ ์๋ค.
- 3๋จ๊ณ) ๊ด๊ณ ์คํค๋ง
์์ 3) ๋ณธ ์์ ๋ ๋ํ์ ๋ฌด ๊ด๋ฆฌ ์์คํ ์ด๋ค.
- ์ ๋ฌด๊ธฐ์ ์ : ๋ช ์ฌ์ ๋์ฌ ๋์ถ
- ์ํฐํฐ์ ์์ฑ์ ์ถ์ถ
โ ํ์ : ํ๋ฒ, ์ด๋ฆ, ์๋ ์์ผ, ์ฃผ์(์ฐํธ๋ฒํธ, ์ฃผ์)
โก ๊ต์ : ๊ต์๋ฒํธ, ์ด๋ฆ, ์ ๊ณต๋ถ์ผ, ๋ณด์ ๊ธฐ์ (์ฌ๋ฌ ๊ฐ์ง๋ณด์ ๊ธฐ์ )
โข ํ๊ณผ : ํ๊ณผ๋ฒํธ, ํ๊ณผ๋ช , ์ ํ๋ฒํธ
โป ์ฐธ๊ณ
- ํ์์ ๋ฐ๋์ ์ง๋๊ต์์๊ฒ ์ง๋๋ฅผ ๋ฐ์์ผํ๋ค.
- ํ์์ ์ ๊ณตํ๊ณผ๊ฐ ์์ผ๋ฉฐ, ๊ต์๋ ๋ถ์ํ๊ณผ์ ์ํ๋ค.
- ERD
- ๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง
1) ์ํฐํฐ ๋ํ ๊ด๊ณ ์ ์
(ํ์) N : 1 (๊ต์)
(๋ณด์ ๊ธฐ์ ) N : 1 (๊ต์)
(ํ๊ณผ) 1 : N (๊ต์)
(ํ๊ณผ) 1 : N (ํ์)
2) ๊ด๊ณ ์คํค๋ง
- ์ฝํ์ํฐํฐ : ์๋ณ์ด ๊ฐ๋ฅํ๊ธฐ์ ๋ถ์๊ฐ์กฑ์ ์ฝํ ์ํฐํฐ ํ์ ์ด๊ณ ์ฌ์ฐ๋์ ์์ ์ํฐํฐ ํ์ ์ด๋ค.
1) ์ํฐํฐ์ ๋ํ ๊ด๊ณ ์ ์ :
์ฌ์ 1 : N ๋ถ์๊ฐ์กฑ
2) ๊ด๊ณ ์คํค๋ง :
ISA : ํน์ ์ํฐํฐ๋ ์๋ก ๊ตฌ๋ณ๋๋ ์ฌ๋ฌ ํ์ ์ํฐํฐ๋ก ๋๋์ด์ง ์ ์๋ค.
์์ ์ํฐํฐ์ธ ํ์ ์ํฐํฐ์ ํ์ ์ํฐํฐ ๊ด์๋ 1:1 ISA ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ฏ๋ก ๊ธฐ๋ณธํค์ธ ํ๋ฒ์ ์ธ๋ํค๋ก ์ถ๊ฐํ๋ค.
1) ๊ด๊ณ์คํค๋ง
- ๋ ๊ฐ์ง ๋ชจ๋ ๊ฐ๋ฅํ๋ค.
์์ 4) ๋ณธ ์์ ๋ DVD ๋์ฌ ๊ด๋ฆฌ ์์คํ ์ด๋ค.
- ์ํฐํฐ์ ์์ฑ์ ์ถ์ถ
โ ํ์ : ์์ด๋, ์ด๋ฆ, ๋น๋ฐ๋ฒํธ, ์ฃผ๋ฏผ๋ฒํธ, ์ ํ๋ฒํธ, ์ฃผ์
โก ๊ณ ๊ฐ๊ฐ์กฑ : ์ด๋ฆ
โข ๋์ฌ : ๋์ฌ๋ฃ, ๋์ฌ์ผ, ๋ฐ๋ฉ์ผ
โฃ DVD : DVD๋ฒํธ, ์ ๋ชฉ, ๋ฑ๊ธ, ์ฅ๋ฅด, ์ถ์์ผ, ๊ฐ๋ , ์ฃผ์ฐ(๋ค์ค์์ฑ), ๋์ฌ๊ฐ๊ฒฉ
- ERD
- ๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง
1) ์ํฐํฐ์ ๋ํ ๊ด๊ณ ์ ์
ํ์ 1 : N ๋์ฌ
DVD 1 : N ๋์ฌ
ํ์ 1 : N ๊ฐ์กฑ
2) ๊ด๊ณ ์คํค๋ง
์์ 5) ๋ณธ ์์ ๋ ๋์ ๋์ฌ ๊ด๋ฆฌ ์์คํ ์ด๋ค.
- ์ํฐํฐ์ ์์ฑ์ ์ถ์ถ
โ ๋์ : ๋์๋ฒํธ, ๋์๋ช , ์ถํ์ฌ, ์ง์์ด, ์์น, ๊ฐ๊ฒฉ, ๋์ฌ์ ๋ฌด, ๋ฑ๋ก์ผ
์ฅ๋ฅด(์ฝ๋ฏน์ค, ์์ , ์ผ์ ํ, ์์ค, ์๊ฐ์ง), ๋์๋์ฌ, ๋์ฌ๋ฃ, ๋์ฌ๊ธฐ๊ฐ, ์ฐ์ฒด๊ธ
โก ํ์ : ํ์๋ฒํธ, ์ด๋ฆ, ์ ํ๋ฒํธ, ์ฃผ์, ๋์ฌ์ค์ธ ์ฑ , ๋ง์ผ๋ฆฌ์ง(์ ๋์์ฑ)
โข ์ฌ์ : ์ฌ์๋ฒํธ, ์ด๋ฆ, ์ฃผ์, ์ ํ๋ฒํธ, ๋น๋ฐ๋ฒํธ
โฃ ์๊ตฌ์ฌํญ ๋ถ์์์ ์ฌ์์ ๋์์ ํ์์ ๋ฑ๋กํ๊ณ ๋์ฌ ๊ด๋ฆฌํ๋ค.
- ERD
- ๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง
1) ์ํฐํฐ์ ๋ํ ๊ด๊ณ ์ ์
๋์ 1 : N ๋์ฌ
ํ์ 1 : N ๋์ฌ
ํ์ N : 1 ์ฌ์
๋์ N : 1 ์ฌ์
2) ๊ด๊ณ ์คํค๋ง