ํ ์์๋๊ป์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ฃผ์ ๋ก ์ฌ๋ด๊ต์ก์ ์งํํ์ ์ ์ฐธ์ฌํ ์ ์๋ ๊ธฐํ๊ฐ ์๊ฒผ๋ค. ์ฐธ์ฌํ ์ค์ต๋ ์๊ณ ์์ ์ ์ตํ๊ณ ์ฌ๋ฐ๋ ๊ต์ก์ด๋ผ๊ณ ํ์ ์ ๊ธฐ๋๋ฅผ ์๋ฉ ํ๊ณ ๊ฐ๋ค.
ํ๊ต์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์์ ๋ ๋ฐฐ์ด ๋ด์ฉ๋ ์๋ก์๋ก ์๊ฐ์ด ๋๊ณ ์ต๊ทผ์ ๊ณ์ ๋ชจ๋ธ๋ง ์์ ์ ํ๊ณ ์์ด์ ๋ด์ฉ์ด ๋ ์ ๋ค๋ฆฌ๊ธฐ๋ ํ๊ณ , ํ์ ํฌ์ธํธ๊น์ง ์ ์ ์๋ ๊ฐ์ง ์๊ฐ์ด์๋ค.
๋ค๋ฅธ ๋ถ์๋ถ๋ค์ ๋ง๋๋ ์์ฒด๋ ์ฌ๋ฐ์๋๋ฐ ๋ค๋ค ์ ์ฐธ์ฌํด์ฃผ์๊ณ , ์๊ธฐ๋ ์ ํตํด์ ์ฆ๊ฑฐ์ด ์๊ฐ์ด์๋ค. ํนํ ์ค์ต์์ ์์ ๋ชจ๋ธ๋ค์ด ๋ชจ์ฌ์ ๋ง์ง๋ง์ ํ๋์ ๋ชจ๋ธ๋ก ํ์ํ ๋ ๊ฐ๋์ด์๋ค..๐ฅบ (์์๋ ์กด๊ฒฝํฉ๋๋ค..)
๋ฐ์ดํฐ ํ์คํ์ ๊ธฐ๋ณธ
๋ฐ์ดํฐ๊ฐ ์ค์ํ๋ค!
- ๋น์ฆ๋์ค์ ๋ชฉ์ ์ด ๋ฐ๋์ง ์๋ ํ, ์ค์ ๋ฐ์ดํฐ๋ ๋ณํ์ง ์๋๋ค.
- ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ง๋๋๊ฒ ๊ฐ๋ฐ์ ๋๊ตฌ์ผ๊น?
- ๋ฐ์ดํฐ๊ฐ ๋ชฉ์ ์ผ ์ ์๋ค. ๋น์ฆ๋์ค ๋ฐ์ดํฐ๊ฐ ๊ทธ๋งํผ ์ค์ํ๋ค.
- ๋ชจ๋ธ๋ง์ ํ ๋ ์ด๋ค ์ ์ ์ฃผ์์ ์ผ๋ก ๋๊น?
- ์ ๋ต๊ณผ ํ๋ก์ธ์ค๊ฐ ๋ฐ๋์ด๋ ๋ฐ์ดํฐ๋ ๋ณํ์ง ์๋๋ค
- ๋ฐ์ดํฐ๋ง ๋ด๋ ์
๋ฌด ๊ท์น์ ์ ์ ์๊ฒ
์) ๊ณ ๊ฐ ์ํ ์ฃผ๋ฌธ ๊ฒฐ์ ๊ณ์ฝ -> ํ๋ก์ธ์ค๋ ํด์ด ๋ฐ๋์ด๋ ๋ชจ๋ธ ๊ตฌ์กฐ๊ฐ ๋ฐ๋์ง ์๊ฒ -> ๋ ๋ฆฝ์ ์ด๊ณ ์์ ์ ์ด๊ฒ
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๋ชฉ์
- ์ผ๊ด์ฑ, ๋ฌด๊ฒฐ์ฑ, ์ ํ์ฑ์ด ๋ณด์ฅ๋ ์ ๋ขฐํ ์ ์๋ ๊ณ ํ์ง ๋ฐ์ดํฐ
- ๊ฐ์น ์๋ ์ ๋ณด, ์ต์์ ์ฑ๋ฅ
- ๋ฐ์ดํฐ ๊ท์น์ ๋ํ ๋ช
์์ ์ธ ์์ฌ์ํต์ ๋๊ตฌ
์) ๋ง์ฝ ๋ด ์ง์ ์ง๋๋ค๋ฉด...? ์ ํํ ์ ๋๋ก ๋ ์ค๊ณ ๋๋ฉด ์ธ๋ ฅ ๋ฌผ๋ ๊ณต์ฌ์งํ ์๊ณต
- ๋ฐ์ดํฐ ๊ท์น์ ๋ํ ๋ช
์์ ์ธ ์์ฌ์ํต์ ๋๊ตฌ
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ ์ฐจ
๊ฐ๋
- ๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง(๋น์ฆ๋์ค ์ค์ฌ)
- ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง(์ฑ๋ฅ ์ค์ฌ) : DBMS ํน์ฑ์ ๊ณ ๋ คํด์ ์ฑ๋ฅ, ์ฃผ์ ์ธ๋ฑ์ค ๋ฐ ํํฐ์ ์ค๊ณ
- DB๊ตฌ์ถ : DDL ์์ฑ, ๋ฌผ๋ฆฌ DB ๊ตฌ์ถ, ๋ง์ด๊ทธ๋ ์ด์
๋ฐ์ดํฐ ํ์ค (์ฉ์ด, ๋๋ฉ์ธ, ์ฝ๋)
๋ฐ์ดํฐ์ด์ํ์์ ๊ฒ์ ์ค์ธ ๊ฒ
- ๋ ผ๋ฆฌ์ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ์ ํ์คํ๋ฅผ ์ ์ฉ -> DA (์ฌ๋๊ณผ ๊ฐ๊น๊ณ ์ข ๋ ๋ ผ๋ฆฌ์ ์ธ ๋ถ๋ถ)
- ์ธ๋ฑ์ค ์ค๊ณ, ํํฐ์ ์ค๊ณ ~ DB ๊ตฌ์ถ -> DBA (DBMS์ ๊ฐ๊น์ด ์ฌ๋๋ค, ์ข ๋ ๋ฌผ๋ฆฌ์ ์ธ ๋ถ๋ถ)
๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง์ ๊ธฐ๋ณธ
๊ฒ์ ์ ๊ฐ์ฅ ๋ง์ ๋๋ฆฌ๋ 3๊ฐ์ง
- ์๊ฐ์ ์ผ๋ก ๋ฌ๋ผ์ง๋ ์ ์ฐจ์ ์ฌ๊ณ ๋ณด๋ค๋ ์งํฉ์ ์ฌ๊ณ
- ์ค๋ณต๊ณผ ๋ถ์ผ์น๋ NO
- ์ ๋งคํจ < ๋ช ํํจ
๋ ผ๋ฆฌ ๋ชจ๋ธ์ ๊ตฌ์ฑ ์์ - 1
- ์ํฐํฐ : ์ ๋ฌด๊ฐ ๋ค๋ฃจ๋ ์ด๋ค ๊ฒ
- ๊ด๊ณ : ์ ๋ฌด๊ฐ ๋ค๋ฃจ๋ ๊ฒ๋ค ์ฌ์ด์ ์กด์ฌํ๋ ์ฐ๊ด
- ์์ฑ : ๊ฐ ์ฌ๋ฌผ(์ํฐํฐ)์ด ๊ฐ์ง๊ณ ์๋ ์์ธํ ํน์ฑ
๋ ผ๋ฆฌ ๋ชจ๋ธ์ ๊ตฌ์ฑ ์์ - 2
- ์) ์ํ
- ์ํฐํฐ : ๊ณ ๊ฐ ๊ณ์ฝ ์ํ ์ง์
- ๊ด๊ณ : ๊ณ์ฝ์ ์ฃผ์ฒด, ๊ณ์ฝ์ ๋์, ์ํ๋ด๋น์, ...
- ์์ฑ : ์ธ๋ถ ์์ฑ๋ค์ด ํ์ํ๊ณ
๋ ผ๋ฆฌ ๋ชจ๋ธ์ ๊ตฌ์ฑ ์์ - 3
- ERD๋ฅผ ๊ทธ๋ฆฐ๋ค๋ฉด
- ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํ์ธํด์ผ ํจ
์) ์ํฐํฐ : ์๋น์ค์์ ๊ด๋ฆฌํ ํ์๊ฐ ์๋? ๊ด๋ฆฌํ๋ ค๋ ๋ฐ์ดํฐ์ ๋ฒ์๋ ์ด๋๊น์ง? ์ํฐํฐ์ธ์ง ์์ฑ์ธ์ง ๊ด๊ณ์ธ์ง
- ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํ์ธํด์ผ ํจ
๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง์ ๊ธฐ๋ณธ
- ERD ํ๊ธฐ๋ฒ
- ์ฌ๋ด์์ ์ฌ์ฉํ๋ ํด : PowerDesigner (IE๋ฒ ์ฌ์ฉ, ER-Win๋ ์์)
- Barker๋ฒ ํด : DA# (์งํฉ ๊ฐ๋ ์ ์กฐ๊ธ ๋ ๋ํ๋ธ๋ค๋ ์ )
๊ด๊ณ์ ํํ - 1
- ์นด๋๋๋ฆฌํฐ(1:1, 1:๋ค, ...), ์๋ณ์ฑ(์๋ณ์ ์์, ์ผ๋ฐ์์ฑ ์์), ์ ํ์ฑ(0๊ฐ nullable ์ค์ )
- ๊ณ์ธต, ์ํ, BOM / Barker๋ฒ : ๋ฐฐํ๊ด๊ณ
๊ด๊ณ์ ํํ - 2
- ๋ถ์์ ์ฌ์ ๊ด๊ณ์ ์์
- ์๋ณ ์์ : ํ ๋ช ์ ์ฌ์์ ์ฌ๋ฌ ๋ถ์์ ์์๋ ์ ์์ (์ฌ์ ์ํฐํฐ์ ๋์ถ ํ์)
- ๋น์๋ณ ์์ : ํ ๋ช ์ ์ฌ์์ ํ๋์ ๋ถ์์ ์์๋ ์ ์์
๊ฒธ์ง ๋ถ์ - ์ฌ์์์๋ถ์ - ์ฌ์
๊ด๊ณ์ ํํ - 3
- ์ง์ ์ข ์ ๊ด๊ณ ๋ง์ ํํ, ๊ฐ์ ์ข ์ ๊ด๊ณ๋ ํํํ์ง ์์ (๋ถ๋ชจ-์์ ๊ฐ๋ง ํํํ๋ฉด ๋จ)
- ๋ ์ํฐํฐ ๊ฐ์ ๋ ์ด์์ ๊ด๊ณ๊ฐ ์กด์ฌํ ์ ์์ -> ๊ด๊ณ๋ช ํํ, ์ปฌ๋ผ๋ช ์์์ด(์ญํ ๋ช role name) ์ฌ์ฉ
- ๊ฐ๋ฅํ ๋ชจ๋ ๊ด๊ณ๋ฅผ ํํ
- ๋๋ฌด ๋ง์ ๊ด๊ณ์ ์ ํผํ๊ธฐ ์ํด ๋บ ์๋ ์์ (๊ณตํต์ฝ๋ ํ ์ด๋ธ ๋ฑ)
๋ฐ์ดํฐ ํ์คํ์ ๊ธฐ๋ณธ
- ์ผ๊ด์ฑ ์ ์ง
- ๊ฐ๋ ์ฑ ๊ฐํ
- ๋ช ํํ๊ณ ์ ์ํ ์์ฌ์ํต, ์ํ๋ ์๊ธฐ์ ์ ํํ ์ ๋ณด ์ ๋ฌ (๊ฐ๋ฐ๊น์ง) // ๋ฐ์ดํฐ ํ์ฉ๋ ์ฆ๊ฐ ์ ์ ๋น์ฉ ๊ฐ์, ๋ฐ์ดํฐ ํ์ง ํฅ์
- ํ์คํ๋ ๋ํ ์์คํ ์์๋ ํ์คํ ๋ด๋น์๊ฐ ๋ฐ๋ก ์์ ์ ๋๋ก ์ด๋ ค์ด ๋ถ๋ถ
๋จ์ด
ํ์ค ๋จ์ด
- DB ์ค๋ธ์ ํธ์ ์ด๋ฆ ๋ถ์ฌ ์ ์ฌ์ฉํ๊ธฐ ์ํ ์์ ๋จ์(์ต์ ์๋ฏธ ๋จ์)์ ํํ์ ๋ฏธ๋ฆฌ ์ ํด ๋์ ๊ฒ
- ์ฐ๋ฆฌ ํ์ฌ๋ ์ ์ฌ ํ์ค์ด ๋ฐ๋ก ์์ง๋ ์์, ์ฐ๋ฆฌ ํ์ฌ์ ๊ฒฝ์ฐ ๋ค์ํ ์๋น์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์ฌ ํ์ค ๊ด๋ฆฌ๋ ์ด๋ ค์, ์ฐ๋ฆฌ ํ์ฌ ํน์ฑ์ ์๋น์ค ๋ณ ํ์ค, ์กฐ์ง๋ณ ํ์ค์ด ์์
- ํ์ค ๋จ์ด(์๋ฌธ, ํ๊ธ)์๋ ๋์ด์ฐ๊ธฐ, /, _ ๋ฑ ํน์ ๋ฌธ์ ์ฌ์ฉ ๊ธ์ง
- ์๋ฌธ ๋จ์ด๋ ์ฝ์ด ํน์ full ๋จ์ด๋ก ์ ํ์ฌ ์ฌ์ฉ
- ์ค๋ผํด ์ธ ๋๋ ์ปฌ๋ผ๋ช ๊ธธ์ด ์ ํ์ด ์์ด์ ์ฝ์ด๋ฅผ ๋ง์ด ์ผ๋๋ฐ, ์์ฆ์ mysql ์ฐ๋๊น full ๋จ์ด๋ก ์
- ๋ณตํฉ ๋จ์ด๋ ๋ ๊ฐ ์ด์์ ๋จ์ด๋ฅผ ๊ฒฐํฉํ์ฌ ํ๋์ ๋จ์ด๋ก ์ฌ์ฉ(blacklist, zipcode)
ํ์ค ์ฉ์ด
- ํ์ค ๋จ์ด๋ฅผ ์กฐํฉํ์ฌ ์ํฐํฐ๋ช (ํ ์ด๋ธ๋ช )๊ณผ ์์ฑ๋ช (์ปฌ๋ผ๋ช )์ ์ฌ์ฉ๋๋ ์ฉ์ด๋ฅผ ๊ตฌ์ฑํจ
- ๋์ผํ ๋ฐ์ดํฐ ์งํฉ์ ๋์ผํ ์ฉ์ด๋ฅผ ์ฌ์ฉ
- ์ฉ์ด์ ๋ง์ง๋ง์๋ ๋ถ๋ฅ์ด์ ์ํ๋ ๋จ์ด๋ฅผ ์ฌ์ฉ (์ count, ์ผ์ date ymd, datetime ymdt ๋ฑ)
๋๋ฉ์ธ
- ์์ฑ์ ๋ํ ์ฑ์ง์ ๊ทธ๋ฃนํํ ๊ฐ๋
- ๋์ผ ์ฑ์ง์ ๊ฐ์ง ์ปฌ๋ผ์ ๋ฐ์ดํฐ ํ์ ๋ฐ ๋ฐ์ดํฐ ๊ธธ์ด๋ฅผ ์ผ๊ด๋๊ฒ ๊ด๋ฆฌํจ
- ์ฌ๋ฌ ์์คํ ์์ ์ฌ์ฉ๋๋ฉด ๊ณตํต ๋๋ฉ์ธ์ ์ ์ ํด์ ์ฐ๊ธฐ๋ ํจ
- ํ ์คํธ, ์ซ์ ๋๋ฉ์ธ์ ์ต๋ํ ํตํฉ
๋ถ๋ฅ์ด -> ๋๋ฉ์ธ -> ๋ฐ์ดํฐ ํ์ (๊ธธ์ด)
์ฝ๋
- ํน์๋๋ฉ์ธ
- ํน์ ๋๋ฉ์ธ ๊ฐ(์ฝ๋ ๊ฐ)์ด ๋ฏธ๋ฆฌ ์ ์๋์ด ์๋ ๋๋ฉ์ธ
- ๊ณตํต์ฝ๋์ ๋ชฉ๋ก์ฑ์ฝ๋(์กฐ์ง์ฝ๋,...)
- 3๊ฐ ์ด์์ ๊ตฌ๋ถ ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ '์ฝ๋' ๋๋ฉ์ธ ์ฌ์ฉ
- Yes/No ํน์ True/False์ 2๊ฐ์ง ๊ฐ ๋ง์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ '์ฌ๋ถ' ๋๋ฉ์ธ ์ฌ์ฉ
- ๊ธฐ๋ณธ : Not Null, default ๊ฐ ์ ์๋ฅผ ๊ถ์ฅํจ
๋ช ๋ช ๊ท์น
- ์ํฐํฐ ๋ช
๋ช
- ๋จ์ํ
- ๋ถ๋ชจ ์ํฐํฐ์ ๊ฐํ๊ฒ ์ฎ์ธ ์์ ์ํฐํฐ๋ ๊ฐ๊ธ์ ๋ถ๋ชจ ์ํฐํฐ์ ์ด๋ฆ์ ์์๋ฐ์ (๊ฒ์๋ฌผ์ฒจ๋ถํ์ผ, ๊ฒ์๋ฌผ์คํฌ๋ฉ)
- ๊ด๊ณ ์ํฐํฐ์ ๊ฒฝ์ฐ, ๋ ์ํฐํฐ์ ์ด๋ฆ์ ์์๋ฐ์ ๋ช ๋ช (์ฃผ๋ฌธ ์ํ -> ์ฃผ๋ฌธ์ํ)
- ํต๊ณ์ฑ ํ ์ด๋ธ์ ๊ฒฝ์ฐ, ํต๊ณ ์ฃผ๊ธฐ์ ๊ธฐ์ค์ด ๋ํ๋๋๋ก ๋ช ๋ช
- ์ํฐํฐ ๋ช ๋ง์ง๋ง ๋จ์ด์์ ์ํฐํฐ์ ์ ํ์ ๋ํ๋ด๋๋ก ์ ํจ
- ๋ฐ๋์งํ์ง ์์ ์ : ํ์๋ฆฌ์คํธ, ์ฃผ๋ฌธ์ฒ๋ฆฌ, ๊ธ์ฌ๊ด๋ฆฌ, ์ฟ ํฐ๋ชฉ๋ก -> ๋ฐ์ดํฐ ๊ด์ ์์ ์๊ฐํ๊ณ , ๊ธฐ๋ฅ์ด๋ ํ๋ฉด์ ์ด๋ฆ์ ํ์์์
- ์์ฑ ๋ช
๋ช
- ๋จ์ด์ ๋ค๋ฅผ ๋จผ์ ๋ณด๋ฉด ๋๋๋ก ๋ช ๋ช
- ํ์ค ์ฉ์ด ์ฌ์
- ๊ฐ ์๋น์ค์ ํด๋นํ๋ ๋จ์ด, ๋๋ฉ์ธ, ์ฝ๋ ํ์ค์ด ์ ์๋๋ฉด ์ด๋ฅผ ๋ฐํ์ผ๋ก ํ์ค ์ฉ์ด๋ฅผ ๊ตฌ์ฑ ํจ
- ์ ๋ฌด์ ์ผ๋ก๋ DBMS ์ ์ฉ ์ ๋ฌด๋ฆฌ๊ฐ ์๋์ง ๊ฒํ
- ๋๋ฝ๋ ๋จ์ด ๋ฐ ๋๋ฉ์ธ, ์ฝ๋ ๋ฑ์ด ์๋์ง ํ์ธํ๊ณ ์ถ๊ฐ ๋ณด์ ์์ ์ ์ํ ํจ
๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง์ ํ๋ค๊ฐ ๋ง์ฃผ์น๋ ๊ณ ๋ฏผ๋ค
์ ๊ทํ vs. ๋ฐ์ ๊ทํ
- ์ ๊ทํ : ์ค๋ณต์ ์ ๋ง๋ค๊ณ ์ ํ๋ ๊ตฌ์กฐ
- ๋ฐ์ ๊ทํ
- ๋ฌผ๋ฆฌ๋ชจ๋ธ๋ง ์ ์ ๊ทํ๋ ๋ ผ๋ฆฌ๋ชจ๋ธ์ ์กฐ์ ํ์ฌ ๋ฐ์ ๊ทํ๋ฅผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์
- ์กฐ์ํ ์ด๋ธ ์์ฑ์ ์์ํ ์ด๋ธ์ ๊ฐ๋ค๋๋..
- ํ ์ด๋ธ์ ํตํฉ/๋ถ๋ฆฌ, ์์ฑ์ ์ถ๊ฐ, ๊ด๊ณ์ ์ค๋ณต ๋ฑ์ด ํฌํจ
- ๋ฐ์ดํฐ์ ์ ํฉ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์ง๋ฅผ ์ํ ๋ฐฉ์๊ณผ ๋ ธ๋ ฅ์ด ๋ฐ๋์ ํ์ํจ
- ์กฐํ์ ์ฑ๋ฅ๊ณผ ๊ฐ๋ฐ์ ํธ์๋ฅผ ์ํด ๋ฐ์ ๊ทํ๋ฅผ ํ ๊ฒฝ์ฐ, ๊ทธ์ ๋ฐ๋ผ ๋ณ๊ฒฝ ์์ ์์ ์ฑ๋ฅ์ด ์ ํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฏ๋ก ํธ๋ ์ด๋-์คํ๋ฅผ ๋ฐ์ ธ์ ์ ์ฉํด์ผ ํจ
๋ฐฉ๋ฒ
ํ ์ด๋ธ ๋ฐ์ ๊ทํ
- ํ ์ด๋ธ ํตํฉ
- 1:1, 1:N, ์ํผํ์ /์๋ธํ์
- ํ
์ด๋ธ ๋ถํ
์์ง, ์ํ - ํ
์ด๋ธ ์ถ๊ฐ
ํต๊ณ, ์ด๋ ฅ, ๋ถ๋ถ-์ ๋ฐ์ดํธ๊ฐ ์์ฃผ ๋ฐ์ํ๋ฉด ๋ฐ๋ก ๋ผ์ด๋ด๊ธฐ, ๋ณต์ -์ ์ฅ์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ ์๊ฒฉ์ง์ ์๋๊ฑธ ๊ฐ์ ธ๋ค ๋๊ธฐ
์ปฌ๋ผ ๋ฐ์ ๊ทํ
- ์ค๋ณต์ปฌ๋ผ ์ถ๊ฐ
ํ ์ด๋ธ ๊ฐ์ ์กฐ์ธ์ ๊ฐ์์ํค๊ธฐ ์ํด์, ๊ทธ ์ปฌ๋ผ์ด ์ ๋ฐ๋์ง ์๋๋ค๋ ๊ฐ์ ํ์ - ์ถ์ถ(derived)์ปฌ๋ผ ์ถ๊ฐ
๋งค๋ฒ ๊ณ์ฐ๋์ง ์๋๋ก ๋ฏธ๋ฆฌ ๊ณ์ฐํด์ ๊ฐ๋ค๋๊ธฐ(์ฃผ๋ฌธ์ด๊ธ์ก) - ์ด๋ ฅํ
์ด๋ธ ์ปฌ๋ผ ์ถ๊ฐ
์ต๊ทผ ๊ฐ์ ๋ํ ์ปฌ๋ผ์ ๋ฏธ๋ฆฌ ์ถ๊ฐํด๋๊ธฐ
๊ด๊ณ ๋ฐ์ ๊ทํ
- ๊ด๊ณ์ ์ค๋ณต
- ํ๊ธฐ ์ ์
- ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์ง ๊ณ ๋ คํด๋ณด๊ณ ๋์ ํ ์ ๋๋ฉด ๋ฐ์ ๊ทํํ๊ธฐ
- ํ๊ณ ๋์
- ERD ๋ฑ์ ํด๋น ๋ด์ฉ์ ๊ณต์ ํ๊ธฐ
ํตํฉ vs. ๋ถ๋ฆฌ
๋ ผ๋ฆฌ๋ชจ๋ธ์์ ์ค๊ณํ ์ํผํ์ ๊ณผ ์๋ธํ์ ์ ๋ฌผ๋ฆฌ๋ชจ๋ธ๋ก ์ ํํ ๊ฒฝ์ฐ ํธ๋์ญ์ ํจํด ๋ฐ ์์ฑ๋๋ ๋ฐ์ดํฐ ๊ฑด์ ๋ฑ์ ๋ฐ๋ผ ํ ์ด๋ธ์ ํตํฉ ํน์ ๋ถ๋ฆฌ๋ฅผ ๊ฒํ ํ์ฌ ๊ฒฐ์
ํธ๋์ญ์ ์ ํ์ ์ํ ๊ฒฐ์
- ๊ฐ๋ณ ํธ๋์ญ์
๋ฐ์ ์ ํ
๊ณต์ฉ ์ปฌ๋ผ์ ์ต๋ํ ๋์ถํด์ ์์ง๋ถํ (๊ฒฐ์ ์๋จ์ฝ๋- ...) or ํตํฉ (๋ชจ๋ ๊ฐ์ ํ ํ ์ด๋ธ์, join์ด๋ union all์ด ๋๋ฌด ๋ง์ด ๋ฐ์ํ ๊ฒ ๊ฐ์ ๋) - ์ํผํ์
+์๋ธํ์
ํธ๋์ญ์
๋ฐ์ ์ ํ
์ํ๋ถํ (์ฃผ๋ฌธ๋ฒํธ - ์นด๋๊ฒฐ์ ๋ด์ญ / ํด๋ํฐ๊ฒฐ์ ๋ด์ญ / ๊ณ์ข์ด์ฒด๊ฒฐ์ ๋ด์ญ) ๊ฒฐ์ ๋ฒํธ๊ฐ ๊ฒน์น๋ ๋ฌธ์ ๊ฐ ์์ ์ ์์
ํตํฉ์ ๊ณ ๋ คํด ๋ณด๊ฒ ๋๋ ๊ฒฝ์ฐ
- ์๋ณ์๊ฐ ๋์ผ ํ ๋
- ๊ด๋ฆฌํ๋ ์ ๋ณด๊ฐ ์ ์ฌํ ๋
- ์์ฃผ join ๋๊ฑฐ๋ union all ๋๋ ๊ฒฝ์ฐ
ARC ๊ด๊ณ
๋ก ์ ์๋๋ ๊ฒฝ์ฐ, ์์์ด ๊ณ์ ๋๋ค๋ฉด ๋ถ๋ชจ ํ ์ด๋ธ์ ํตํฉ์ด ๊ฐ๋ฅํ์ง ๊ฒํ
์ธ์กฐ ํค vs. ๋ณธ์ง ํค
์ธ์กฐ ํค vs. ๋ณธ์ง ํค - 1
PK ์ ์
- ๊ทธ ์ค ์๋ณ์ ์ ์, ์์ฑ ์ฃผ์ฒด์ ๋จ์๋ฅผ ์ ํ๋ ๊ฒ
- ๋ณธ์ง์๋ณ์ ํน์ ์ธ์กฐ์๋ณ์ ์ฌ์ฉ ์ฌ๋ถ๋ ๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง ๋จ๊ณ์์ ๊ฒฐ์ ํ๋ ๊ฒ์ด ๋ฐ๋์งํจ
- ํน์ง
- ์ ์ผ์ฑ
- ์์ ์ฑ : ์ ๋ ๋ณ๊ฒฝ๋์ง ์์์ผ ํจ(~๋ช ๋ฑ ํ ์คํธ ์ฑ ์ ๋ณด๋ ํ์ง ์๊ธฐ)
- ์ต์์ฑ : ๋ณตํฉ ์๋ณ์๋ก ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ ์ ์ผ์ฑ์ ๊ธฐ์ฌํ์ง ์๋ ์์ฑ์ ์ ์ธํ๊ณ ์ต์์ ์กฐํฉ์ผ๋ก ํจ
- ํ์ฉ์ฑ : ์ ๋ฌด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์์ฑ ์ ํ, PK๋ ์์ ํ ์ด๋ธ์ ์์์ด ๋จ
- ๋ณด์์ฑ : ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ์ฌ๊ถ๋ฒํธ ๋ฑ
์ธ์กฐ ํค vs. ๋ณธ์ง ํค - 2
๋ณธ์ง์๋ณ์
- ํด๋น ์ํฐํฐ์ ์๋ฏธ์์ ์ฃผ์ด, ์ธ์คํด์ค๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ๋ ์ต์ํ์ ์์ฑ ์กฐํฉ
- ์งํฉ์ ์ธ์คํด์ค๊ฐ ์์ฑ๋๋ ๋จ์
์ธ์กฐ์๋ณ์
- ์ฟผ๋ฆฌ ๋ณต์ก๋ ๊ฐ์
- ๊ฒ์์ ํ์ฉ ๋ถ๊ฐ -> ๋ฐ์ ๊ทํ์ ์์ธ์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ์์
- ์ค์ ๋ฐ์ดํฐ์ ์ค๋ณต ๊ฐ๋ฅ์ฑ
์ธ์กฐ ํค vs. ๋ณธ์ง ํค - 3
- ๋ณธ์ง์๋ณ์ ์ฌ์ฉ์ ๋จผ์ ๊ณ ๋ ค
- ์ธ์กฐ์๋ณ์๋ฅผ ์ฌ์ฉํ๋ค๋ฉด, ํ์ ์ํฐํฐ์์ ๋ค์์ ์กฐ์ธ์ด ๋ฐ์ํ๊ฑฐ๋, ๋ฐ์ ๊ทํ์ ์์ธ์ด ๋๊ธฐ๋ ํจ
- ์ธ์กฐ์๋ณ์๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ
- ๋ณธ์ง์๋ณ์๊ฐ ์๋ณ์์ ์กฐ๊ฑด์ ๋ถํฉํ์ง ์๋ ๊ฒฝ์ฐ(๋ก๊ทธ ์ฑ๊ฒฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๋ ํ ์ด๋ธ, ๋ณธ์ง์๋ณ์๋ฅผ ์ข ์ข ์์ ํด์ผ ํ๋ ๊ฒฝ์ฐ)
- ์์ ์ ์๋ณ์์ ์ฆ๊ฐ๋ก ๋ณต์ก๋๊ฐ ์ง๋์น๊ฒ ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ(mysql์ ๊ฒฝ์ฐ๋ PK์ ๊ฐ์๊ฐ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์นจ)
- ํ ์์ญ์์ ์์ฃผ ์ฐธ์กฐํ๋ ์ฃผ์ ์ํฐํฐ์ ์๋ณ์์ธ ๊ฒฝ์ฐ ์ธ์กฐ ์๋ณ์์ ์ฌ์ฉ์ ๊ฒํ ํด์ผ ํจ
- ~๋ฒํธ, ~์ผ๋ จ๋ฒํธ, ~ID๋ฅผ ๊ตฌ๋ถํด์ ์ฐ๊ธฐ๋ ํจ
์์คํ ์์ฑ์ ๊ด๋ฆฌ
- ๋ชจ๋ ํ ์ด๋ธ์ ๊ณตํต์ผ๋ก ์ถ๊ฐํ์ฌ ๊ด๋ฆฌํ ํ์ ์์ฑ์ ์ ์ํ๋ ๊ฒ
- ๋ฐ์ดํฐ ์ถ์ ๊ด๋ฆฌ ์ฉ๋, ๋ง์ด๊ทธ๋ ์ด์ ์์ ์, ๋ฐ์ดํฐ ๋ถ๋ฆฌ ๋ณด๊ด ์์ ์ ๋ฑ ์ค์ํ ๊ธฐ์ค ์ ๋ณด๋ก ํ์ฉ๋จ
- ์ฃผ์ ์ฌํญ
- ์ ๋ฌด ์ฉ๋๋ก ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ๊ถ์ฅํจ(๋ฑ๋ก์ผ์:๋ฐ์ดํฐ์ ์ค์ Insert ์ผ์์ ๊ฐ์ ์ผ์๋ ๊ตฌ๋ถํด์ ์ฐ๊ธฐ..)
์ด๋ ฅ์ ๊ด๋ฆฌ์ ํํ
์ด๋ ฅ ๊ด๋ฆฌ์ ํํ - 1
- ์ด๋ ฅ ๊ด๋ฆฌ ๋ชจ๋ธ
๋ฐ์ดํฐ ๋ณต๊ตฌ๋ ์ถ์ ์ด๋ ๊ณ ๊ฐ ์๋๋ฅผ ์ํด์ - ํํ
- ์์ ์ด๋ ฅ(๋ณ๊ฒฝ๋ ์์ ์ ๋ํ..) ์ ๋ถ์ด๋ ฅ(์ ํจ์์์ผ์, ์ด๋ฐ ์์ผ๋ก ๊ตฌ๊ฐ ๊ด๋ฆฌ)
- ๋ถ๋ฆฌํ ํตํฉํ
- row column subject
๋ฐ์ดํฐ ๋ชจ๋ธ ๊ฒ์
์์ ๋ด๋ค๋ณด๊ณ , ๋์ค์ ๊ด๋ฆฌ ์ธก๋ฉด๊น์ง ๊ณ ๋ คํจ