SQL ์ ๋ถ๋ฅ ์ค DDL์ ํด๋นํ์ง ์๋ ๊ฒ์?
DDL (์ ์) : CREATE, ALTER, DROP (์์ฑ, ์ญ์ ๊ด๋ จ)
DML (์กฐ์) : SELECT, INSERT, UPDATE, DELETE (์์ฃผ ์ฐ๋๊ฑฐ)
DCL (์ ์ด) : GRANT, REVOKE (์ ๋ชจ๋ฅด๋๊ฑฐ)
๋ค์ ๋ ๋ฆด๋ ์ด์ ์์ ์ธ๋ํค๋ก ์ฌ์ฉ๋ ๊ฒ์? (๋จ ๋ฐ์ค ์น ์์ฑ์ ๊ธฐ๋ณธํค์ด๋ค.)
์ธ๋ํค
๋ ๋ฆด๋ ์ด์ ์์ ๊ณตํต์ผ๋ก ์ฌ์ฉ๋๋ ๊ฒ์ด ์ธ๋ํค์ด๋ค.
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด ์ค “๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ”์กฐ๊ฑด์ ๋ํ ์ค๋ช ์ผ๋ก ๋ง๋ ๊ฒ์?
<๋ฐ์ดํฐ ์ ์ฝ์กฐ๊ฑด>
- ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด : ๊ธฐ๋ณธ ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ค ์์ฑ๋ Null๊ฐ์ด๋ ์ค๋ณต๊ฐ์ ๊ฐ์ง ์ ์๋ค. (์ค๋ณต)
- ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด : ์ฃผ์ด์ง ์์ฑ ๊ฐ์ด ์ ์๋ ๋๋ฉ์ธ์ ์ํ ๊ฐ์ด์ด์ผ ํ๋ค. (๋๋ฉ์ธ)
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด : ์ธ๋ํค์ ๊ฐ์ Null์ด๊ฑฐ๋ ์ฐธ์กฐ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค ๊ฐ๊ณผ ๋์ผํด์ผ ํ๋ค. (์ธ๋ํค, ์ฐธ์กฐ)
๋ทฐ(view)์ ๋ํ ์ค๋ช ์ผ๋ก ์ณ์ง ์์ ๊ฒ์?
๋ทฐ
- CREATE ๋ฌธ์ ์ฌ์ฉํ์ฌ ์ ์
- ๋ฐ์ดํฐ์ ๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ์ ์ ๊ณต
- ์ ๊ฑฐ ์, DROP ๋ฌธ์ ์ฌ์ฉํ๋ค.
- ์ ์ฅ ์ฅ์น ๋ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌ X (๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ์ฑ/์กด์ฌ)
๋ค์ SQL ๋ฌธ์ ์คํ ๊ฒฐ๊ณผ๋?
# TIP : SQL๋ฌธ์ ์์ด ๋ ํด์ ๊ฐ์ด ๋ค์์ ๋ถํฐ ์ฝ๋ ๊ฒ์ด ์ฐ๋ฆฌ๋๋ผ ๋ฌธ๋ฒ์ ์ผ์ถ ๋ง๋ค...
"๋์ ๊ฐ๊ฒฉ ๋ฆด๋ ์ด์ ์์ ๋์ ๋ฆด๋ ์ด์ ์ '์๋ฃ๊ตฌ์กฐ'๋ผ๋ ์ด๋ฆ์ ๊ฐ์ง ์ฑ ์ ๋ฒํธ์ ๊ฐ์ ์ฑ ์ ๊ฐ๊ฒฉ์ ๋ณด์ฌ์ค!"
FROM ๋์๊ฐ๊ฒฉ FROM ๋์ WHERE ์ฑ ๋ช ='์๋ฃ๊ตฌ์กฐ' WHERE=์ฑ ๋ฒํธ SELECT ๊ฐ๊ฒฉ
'์๋ฃ๊ตฌ์กฐ' ์ฑ ์ ๋ฒํธ๋ 222์ด๋ฏ๋ก 222์ ์ฑ ๋ฒํธ์ ๊ฐ๊ฒฉ์ 25,000์ด๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์ค๊ณ(logical design) ๋จ๊ณ์์ ์ํํ๋ ์์ ์ด ์๋ ๊ฒ์?
<๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์ค๊ณ(๋ฐ์ดํฐ ๋ชจ๋ธ๋ง)>
- ํ์ค ์ธ๊ณ์์ ๋ฐ์ํ๋ ์๋ฃ๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ ๋ฌผ๋ฆฌ์ ์ ์ฅ์ฅ์น์ ์ ์ฅํ ์ ์๋๋ก ๋ณํํ๊ธฐ ์ํด ํน์ DBMS๊ฐ ์ง์ํ๋ ๋
ผ๋ฆฌ์ ์๋ฃ ๊ตฌ์กฐ๋ก ๋ณํ์ํค๋ ๊ณผ์
- ๊ฐ๋
์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ํ๋๋ก ๊ธฐ์ ๋ ๋ฐ์ดํฐ ํ์
๊ณผ ์ด ๋ฐ์ดํฐ ํ์
๋ค ๊ฐ์ ๊ด๊ณ๋ก ํํ๋๋ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ก ๋ชจ๋ธํ
- ๊ฐ๋
์คํค๋ง๋ฅผ ํ๊ฐ ๋ฐ ์ ์ ํ๊ณ DBMS์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ๋
ผ๋ฆฌ์ ์คํค๋ง๋ฅผ ์ค๊ณํ๋ ๋จ๊ณ(์ข
์์ ์ธ ๋
ผ๋ฆฌ ์คํค๋ง)
- ํธ๋์ญ์
์ ์ธํฐํ์ด์ค ์ค๊ณ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๋ฉด ํ
์ด๋ธ ์ค๊ณ
- ํน์ ๋ชฉํ DBMS์ ๋ฐ๋ฅธ ์คํค๋ง ์ค๊ณ
- ์คํค๋ง์ ํ๊ฐ ๋ฐ ์ ์
<๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ฌผ๋ฆฌ์ ์ค๊ณ(๋ฐ์ดํฐ ๊ตฌ์กฐํ)>
- ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก ํํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ก ๋ณํ
- ๋ฐ์ดํฐ ๋ฒ ์ด์ค ํ์ผ์ ์ ์ฅ ๊ตฌ์กฐ ๋ฐ ์์ธ์ค ๊ฒฝ๋ก ๊ฒฐ์
- ๋ฐ์ดํฐ๊ฐ ์ปดํจํฐ์ ์ ์ฅ๋๋ ๋ฐฉ๋ฒ์ ๋ฌ์ฌ
- ์ ์ฅ ๋ ์ฝ๋์ ์์ ์ค๊ณ, ๋ ์ฝ๋ ์ง์ค์ ๋ถ์ ๋ฐ ์ค๊ณ, ์ ๊ทผ ๊ฒฝ๋ก ์ค๊ณ
- ๊ธฐ๋ณธ์ ๋ฐ์ดํฐ ๋จ์๋ ์ ์ฅ : ๋ ์ฝ๋
- ์ฑ๋ฅ์ ์ค๋ํ ์ํฅ์ ๋ฏธ์นจ
์ดํ์ ํจ์ ์ข ์ ๊ด๊ณ๋ฅผ ์๋ฏธํ๋ ๊ฒ์?
<3์ฐจ ์ ๊ทํ (3NF)์ ์กฐ๊ฑด>
์ดํ์ ํจ์ ์ข ์ ๊ด๊ณ๋ฅผ ์ ๊ฑฐํด์ผํ๋ค.
์ดํ์ ํจ์ ์ข ์ ๊ด๊ณ : A→B์ด๊ณ B→C ์ผ ๋, A→C์ด๋ค.
ํ๋์ ์ ํธ๋ฆฌ๋ทฐํธ๊ฐ ๊ฐ์ง ์ ์๋ ์์๊ฐ๋ค์ ์งํฉ์ ์๋ฏธํ๋ ๊ฒ์?
์ ํธ๋ฆฌ๋ทฐํธ
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์์ ๋ ผ๋ฆฌ์ ๋จ์
- ์ด ๊ฐ์ ์์ ๊ฐ๋ง์ ํ์ฉ
๋๋ฉ์ธ
- ๊ฐ์ ํ์
์ ๋ชจ๋ ์์ ๊ฐ๋ค์ ์งํฉ
- ๊ฐ์ ๋๋ฉ์ธ์ ๊ฐ๋ค๋ผ๋ฆฌ ๋น๊ต ํ์ฉ
- ํ๋์ ๋๋ฉ์ธ์ ๋ํ์ฌ ๋ ์ด์์ ์ ํธ๋ฆฌ๋ทฐํธ๊ฐ ์ ์ ๊ฐ๋ฅ
- ํ ๋ฆด๋ ์ด์ ์์๋ ๋ชจ๋ ์ ํธ๋ฆฌ๋ทฐํธ๋ค์ ์ด๋ฆ์ด ๋ฐ๋์ ๋ฌ๋ผ์ผํจ
STUDENT ํ ์ด๋ธ์ ๋ ์ผ์ด๊ณผ ํ์ 50๋ช , ์ค๊ตญ์ด๊ณผ ํ์ 30๋ช , ์์ด์๋ฌธํ๊ณผ ํ์ 50๋ช ์ ์ ๋ณด๊ฐ ์ ์ฅ๋์ด ์์ ๋, ๋ค์ ๋ SQL๋ฌธ์ ์คํ ๊ฒฐ๊ณผ ํํ ์๋? (๋จ, DEPT ์ปฌ๋ผ์ ํ๊ณผ๋ช )
# ๋ ์ผ์ด ํ์ 30 + ์ค๊ตญ์ด ํ์ 30 + ์์ด ํ์ 50 = ์ด 130๋ช
โ๋ ํ์ ํ ์ด๋ธ์ ํ๊ณผ๋ฅผ ๋ชจ๋ ๋ณด์ฌ์ฃผ๋ฏ๋ก ์ด 130๋ช ์ ํ๊ณผ๋ฅผ ๋ค ๋ณด์ฌ์ค๋ค. (130)
โ๋ ํ์ ํ ์ด๋ธ์ ํ๊ณผ๋ฅผ ์ค๋ณต ์์ด ๋ชจ๋ ๋ณด์ฌ์ฃผ๋ฏ๋ก, ์ค๋ณต์ ์ ๊ฑฐํ๋ฉด 3๊ฐ์ ํ๊ณผ๋ง ์ถ๋ ฅ๋๋ค.(3)
DISTINCT : ๊ฒ์ ๊ฒฐ๊ณผ์์ ๋์ผํ ํํ์ ์ ๊ฑฐ (์ค๋ณต ์ ๊ฑฐ)
๊ด๊ณ๋์ ์ฐ์ฐ์์ ๋ ๋ฆด๋ ์ด์ ์ด ๊ณตํต์ผ๋ก ๊ฐ์ง๊ณ ์๋ ์์ฑ์ ์ด์ฉํ์ฌ ๋ ๊ฐ์ ๋ฆด๋ ์ด์ ์ ํ๋๋ก ํฉ์ณ์ ์๋ก์ด ๋ฆด๋ ์ด์ ์ ๋ง๋๋ ์ฐ์ฐ์?
- ์ ๋ ํธ(Select) σ : ๋ฆด๋ ์ด์ ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ ๋ฐํ (์ํ ์ ๋จ, ํ์ ๋ค ๊ฐ์ ธ์ด)
- ํ๋ก์ ํธ(Project) π : ๋ฆด๋ ์ด์ ์์ ์ฃผ์ด์ง ์์ฑ๋ค์ ๊ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋ ํํ ๋ฐํ (์์ง ์ ๋จ, ์ด์ ์ ํ์ ๊ฐ์ ธ์ด)
- ์กฐ์ธ(Join) โ : ๊ณตํต ์์ฑ์ ์ด์ฉํด ๋๊ฐ์ ๋ฆด๋ ์ด์ ํํ๋ค์ ์ฐ๊ฒฐํด ๋ง๋ค์ด์ง ํํ ๋ฐํ
- ๋๋น์ (Division) ÷ : [R%S] ๋ฆด๋ ์ด์ S์ ๋ชจ๋ ํํ๊ณผ ๊ด๋ จ์๋ ๋ฆด๋ ์ด์ R์ ํํ ๋ฐํ
ํธ๋์ญ์ ์ ํน์ฑ ์ค ๋ค์ ์ค๋ช ์ ํด๋นํ๋ ๊ฒ์?
- Durability (์์์ฑ) : ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ํธ๋์ญ์ ์ ๊ฒฐ๊ณผ๋ ์์คํ ์ด ๊ณ ์ฅ๋๋๋ผ๋ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋์ด์ผ ํ๋ค.
- Consistency (์ผ๊ด์ฑ) : ํธ๋์ญ์ ์ด ๊ทธ ์คํ์ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋ณํํ๋ค.
- Atomicity (์์์ฑ) : ํธ๋์ญ์ ์ฐ์ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๋ฐ์๋๋ ์ง ์๋๋ฉด ์ ํ ๋ฐ์๋์ง ์์์ผ ํ๋ค.
- Isolation (๊ฒฉ๋ฆฌ์ฑ) : ํธ๋์ญ์ ์คํ ์ค ์์ฑํ๋ ์ฐ์ฐ์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ ๊ทผ ๋ถ๊ฐํ๋ค.
๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชฉํ ์ค “๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ถ์ฐ๋ ๋ฌผ๋ฆฌ์ ํ๊ฒฝ์์ ํน์ ์ง์ญ์ ์ปดํจํฐ ์์คํ ์ด๋ ๋คํธ์ํฌ์ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด ๋ณด์ฅ๋๋ค”๋ ๊ฒ๊ณผ ๊ด๊ณ์๋ ๊ฒ์?
<๋ถ์ฐ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชฉํ>
- ์์น ํฌ๋ช ์ฑ(Location Trasparency) : ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ค์ ์์น๋ฅผ ์ ํ์ ์์ด ๋จ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์ธ ๋ช ์นญ๋ง์ผ๋ก ์์ธ์คํ ์ ์์
- ์ค๋ณต ํฌ๋ช ์ฑ(Replication Transparency) : ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ๊ณณ์ ์ค๋ณต๋์ด ์๋๋ผ๋ ์ฌ์ฉ์๋ ๋ง์น ํ๋์ ๋ฐ์ดํฐ๋ง ์กด์ฌํ๋ ๊ฒ ์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ, ์์คํ ์ ์๋์ผ๋ก ์ฌ๋ฌ ์๋ฃ์ ๋ํ ์์ ์ํ
- ๋ณํ ํฌ๋ช ์ฑ(Concurrency Transparency) : ๋ค์์ ํธ๋์ญ์ ์ด ๋์์ ์คํ๋๋๋ผ๋ ๊ทธ ๊ฒฐ๊ณผ๋ ์ํฅ์ ๋ฐ์ง ์์
- ์ฅ์ ํฌ๋ช ์ฑ(Failure Transparency) : ํธ๋์ญ์ , DBMS, ๋คํธ์ํฌ, ์ปดํจํฐ ์ฅ์ ์๋ ํธ๋์ญ์ ์ ์ ํํ ์ฒ๋ฆฌ(๋ฌด๊ฒฐ์ฑ)
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ์ฝ์ , ๊ฐฑ์ , ์ญ์ ๋ฑ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ๊ด๋ จ ์์ ์ด ์๋์ผ๋ก ์ํ๋๋ ์ ์ฐจํ SQL์?
ํธ๋ฆฌ๊ฑฐ : ๋ฏธ๋ฆฌ ์ ํด ๋์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด DBMS์์ ์๋์ ์ผ๋ก ์คํ๋๋๋ก ๊ตฌํํ ํ๋ก๊ทธ๋จ
์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ์ฌ DROP๋ฌธ์์ ๋ถ๋ชจ ํ ์ด๋ธ์ ํญ๋ชฉ ๊ฐ์ ์ญ์ ํ ๊ฒฝ์ฐ ์๋์ ์ผ๋ก ์์ ํ ์ด๋ธ์ ํด๋น ๋ ์ฝ๋๋ฅผ ์ญ์ ํ๊ธฐ ์ํ ์ต์ ์?
<DDL>
- PRIMARY KEY : ๊ธฐ๋ณธํค ์ ์ / FOREIGN KEY : ์ธ๋ํค ์ ์
- UNIQUE : ์ง์ ์์ฑ์ ์ค๋ณต๊ฐ ๊ฐ์ง ์ ์์ / NO ACTION : ๋ณํ๊ฐ ์์ด๋ ์กฐ์ทจ๋ฅผ ์ทจํ์ง ์์
- CASCADE : ์ฐธ์กฐ ํ ์ด๋ธ ํํ ์ญ์ ์ ๊ด๋ จ ํํ ๋ชจ๋ ์ญ์ ๋ฐ ์์ฑ ๋ณ๊ฒฝ ์ ์์ฑ๊ฐ ๋ชจ๋ ๋ณ๊ฒฝ
- RESTRICTED : ํ ๊ฐ์ฒด๊ฐ ์ ๊ฑฐํ ์์๋ฅผ ์ฐธ์กฐ์ค์ด๋ฉด ์ ๊ฑฐ๋ฅผ ์ทจ์
- SET NULL : ์ฐธ์กฐ ํ ์ด๋ธ ๋ณํ ์ ๊ธฐ๋ณธ ํ ์ดํ ๊ด๋ จ ์์ฑ๊ฐ Null๋ก ๋ณ๊ฒฝ
- SET DEFAULT : ์ฐธ์กฐ ํ ์ด๋ธ ๋ณํ ์ ๊ธฐ๋ณธํ ์ด๋ธ์ ๊ด๋ จ ํํ ์์ฑ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ณ๊ฒฝ
- CONSTRAINT : ์ ์ฝ ์กฐ๊ฑด ์ด๋ฆ ์ง์ / CHECK ์์ฑ๊ฐ์ ๋ํ ์ ์ฝ ์กฐ๊ฑด ์ ์
<DML>
- INSERT INTO ~ VELUES : ํํ ์ฝ์ / DELETE FROM~ WHERE : ํํ ์ญ์
- UPDATE ~ SET ~ WHERE : ํํ ๋ด์ฉ ๋ณ๊ฒฝ / SELECT~ FROM~ WHERE : ํํ ๊ฒ์
- DISTINCT : ์ค๋ณต ํํ ๋ฐ๊ฒฌ ์ ๊ทธ ์ค ์ฒซ๋ฒ์งธ ํ๋๋ง ๊ฒ์ / DISTINCTROW : ์ค๋ณต ํํ ์ ๊ฑฐ ๋ฐ ํ๋๋ง ๊ฒ์ (ํํ ์ ์ฒด๋ฅผ ๋์์ผ๋ก ๊ฒ์)
- PREDICATE : ๊ฒ์ํ ํํ ์ ์ ํ / AS ์์ฑ๋ช ์ ์
- ORDER BY : ํน์ ์์ฑ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ํ ๊ฒ์ํ ๋
- ASC : ์ค๋ฆ์ฐจ์ / DESC : ๋ด๋ฆผ์ฐจ์ / ์๋ต ์ ์ค๋ฆ์ฐจ์
- GROUP BY : ํน์ ์์ฑ ๊ธฐ์ค ๊ทธ๋ฃนํํ์ฌ ๊ฒ์ํ ๋ ์ฌ์ฉ having์ ๊ณผ ๊ฐ์ด ์ฌ์ฉ๋์ด์ผํจ
๋ฐ์ดํฐ ์ ์ด์ธ์ด(DCL)์ ๊ธฐ๋ฅ์ผ๋ก ์ณ์ง ์์ ๊ฒ์?
DCL (๋ฐ์ดํฐ ์ ์ด ์ธ์ด)
๋ฐ์ดํฐ ๋ณด์ / ๋ฌด๊ฒฐ์ฑ ์ ์ง / ๋ณํ์ํ ์ ์ด / ํ๋ณต
๋ณํ์ ์ด์ ๋กํน(Locking) ๋จ์์ ๋ํ ์ค๋ช ์ผ๋ก ์ณ์ง ์์ ๊ฒ์?
๋กํน(Locking)
- ๋กํน ๋จ์ : ํ๊บผ๋ฒ์ ๋กํน ํ ์ ์๋ ๊ฐ์ฒด์ ํฌ๊ธฐ (DB, ํ์ผ, ๋ ์ฝ๋)
- ๋กํน ๋จ์ ↓ : ๋กํฌ ์, ๋ณํ์ฑ, ์ค๋ฒํค๋, ๊ณต์ ๋ ↑/ ์ ์ด๊ธฐ๋ฒ ๊ด๋ฆฌ ๋ณต์ก
E-R ๋ชจ๋ธ์ ํํ ๋ฐฉ๋ฒ์ผ๋ก ์ณ์ง ์์ ๊ฒ์?
๊ฐ์ฒด ํ์
(์ฌ๊ฐํ)
๊ด๊ณ ํ์
(๋ง๋ฆ๋ชจ)
์์ฑ ํ์
(ํ์)
์ฐ๊ฒฐ (์ )
๋ค์ ์ค๋ช ์ ( )์์ ๋ค์ด๊ฐ ๋ด์ฉ์ผ๋ก ์ ํฉํ ๊ฒ์?
"ํ๋ณดํค๋ ๋ฆด๋ ์ด์ ์ ์๋ ๋ชจ๋ ํํ์ ๋ํด ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ชจ๋ ๋ง์กฑ์์ผ์ผ ํ๋ค."
์ ๊ทํ ๊ณผ์ ์ค 1NF์์ 2NF๊ฐ ๋๊ธฐ ์ํ ์กฐ๊ฑด์?
1NF ์กฐ๊ฑด : ์์๊ฐ์ผ๋ก ๊ตฌ์ฑ
2NF ์กฐ๊ฑด : ๋ถ๋ถ ํจ์ ์ข
์ ์ ๊ฑฐ (์์ ํจ์์ ์ข
์ ๊ด๊ณ)
3NF ์กฐ๊ฑด : ์ดํ ํจ์ ์ข
์ ์ ๊ฑฐ
BCNF ์กฐ๊ฑด : ๊ฒฐ์ ์ ํจ์ ์ข
์
4NF ์กฐ๊ฑด : ๋ค์ค๊ฐ(๋ค์น) ์ข
์์ฑ ์ ๊ฑฐ
5NF ์กฐ๊ฑด : ์กฐ์ธ ์ข
์์ฑ ์ ๊ฑฐ
# ์๋ถ์ด๊ฒฐ๋ค์กฐ