๋ฆด๋ ์ด์ R์ ๋ชจ๋ ๊ฒฐ์ ์(determinant)๊ฐ ํ๋ณดํค์ด๋ฉด ๊ทธ ๋ฆด๋ ์ด์ R์ ์ด๋ค ์ ๊ทํ์ ์ํ๋๊ฐ? |
1NF : ๋๋ฉ์ธ์ด ์์๊ฐ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ์ ๊ทํ
2NF : ๊ธฐ๋ณธ ํค๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ๊ธฐ๋ณธ ํค์ ๋ํด ์์ ํจ์์ ์ข
์์ ๋ง์กฑํ๋ ์ ๊ทํ
3NF : ๊ธฐ๋ณธ ํค๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ๊ธฐ๋ณธ ํค์ ๋ํด ์ดํ์ ์ข
์์ ๋ง์กฑ ์ํ๋ ์ ๊ทํ
BCNF : ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณด ํค์ธ ์ ๊ทํ *
4NF : ๋ค์น ์ข
์ A->B๊ฐ ์ฑ๋ฆฝํ๋ ๊ฒฝ์ฐ A์ ํจ์์ ์ข
์ ๊ด๊ณ๋ฅผ ๋ง์กฑํ๋ ์ ๊ทํ
5NF : ๋ชจ๋ ์กฐ์ธ ์ข
์์ด ํ๋ณด ํค๋ฅผ ํตํด์๋ง ์ฑ๋ฆฝ๋๋ ์ ๊ทํ
๋๋ถ์ด๊ฒฐ๋ค์กฐ?
๋ค์ ๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ํ ์ค๋ช ์ผ๋ก ์ณ์ ๊ฒ์? |
๋ฆด๋ ์ด์ : ํ ์
์์ฑ(Attribute) : ์ด ์
ํํ(Tuple) : ํ ์
Commit๊ณผ Rollback ๋ช ๋ น์ด์ ์ํด ๋ณด์ฅ ๋ฐ๋ ํธ๋์ญ์ ์ ํน์ฑ์? |
์์์ฑ : ํธ๋์ญ์
์ฐ์ฐ์ DB์ ๋ชจ๋ ๋ฐ์๋์ด Commit(์๋ฃ)๋๋ ์ง ์๋๋ฉด ๋ฐ์์๋์ด Rollback(๋ณต๊ตฌ)๋์ด์ผ ํ๋ค.
์ผ๊ด์ฑ : ํธ๋์ญ์
์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋ณํํ๋ค.
๋
๋ฆฝ์ฑ : ๋ ์ด์ ํธ๋์ญ์
์ด ๋์ ๋ณํ ์คํ๋ ๊ฒฝ์ฐ ํธ๋์ญ์
์คํ ์ค ํ ํธ๋์ญ์
์ ์ํฅ X
์ง์์ฑ : ์ฑ๊ณต์ ์๋ฃ๋ ํธ๋์ญ์
๊ฒฐ๊ณผ๋ ์์คํ
์ด ๊ณ ์ฅ๋๋๋ผ๋ ์๊ตฌ์ ์ผ๋ก ๋ฐ์๋์ด์ผ ํ๋ค.
Commit๊ณผ Rollback์ด ๋์ค๋ฉด ์์์ฑ(Atomicity) ๊ตญ๋ฃฐ
๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ ํ ์ด๋ธ R1์ ๋ํ ์๋ SQL ๋ฌธ์ ์คํ๊ฒฐ๊ณผ๋ก ์ณ์ ๊ฒ์? |
SELECT : ์กฐํ
DISTINCT : ์ค๋ณต ํํ์ด ์์ผ๋ฉด ํ๋๋ง ์กฐํ
"R1ํ ์ด๋ธ์์ ๋ชจ๋ ํ๋ ์ ์ค๋ณต์์ด ์กฐํํด์ฃผ์ธ์"
DCL(Data Control Language) ๋ช ๋ น์ด๊ฐ ์๋ ๊ฒ์? |
DDL(๋ฐ์ดํฐ ์ ์์ด) ํฌ์๋
CREATE / ALTER / DROP
DML(๋ฐ์ดํฐ ์กฐ์์ด) ์
์ธ๋์
SELECT / INSERT / DELETE / UPDATE
DCL (๋ฐ์ดํฐ ์ ์ด์ด) ์ปค๋กค๊ทธ๋ฆฌ
COMMIT / ROLLBACK / GRANT / REVOKE
๋ณํ์ ์ด ๊ธฐ๋ฒ ์ค ๋กํน์ ๋ํ ์ค๋ช ์ผ๋ก ์ณ์ง ์์ ๊ฒ์? |
๋กํน ๊ธฐ๋ฒ
ํ๋์ ํธ๋์ญ์ ์ด ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๋์ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ๊ทธ๋ฐ์ดํฐ ํญ๋ชฉ์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๋ณํ ์ ์ด ๊ธฐ๋ฒ
๋ฐ์ดํฐ ๊ฐ์ฒด์ ๋กํน(Locking)ํ๋ค.
๋ฐ์ดํฐ ๊ฐ์ฒด : ํ์ผ, ๋ ์ฝ๋, ํ๋ ๋ฑ
๋กํน ๋จ์๊ฐ ์ปค์ง์๋ก ๋กํน ์ค๋ฒํค๋, ๋ฐ์ดํ ์ด๋ฒ์ค ๊ณต์ ๋๊ฐ ์์์ง๋ค.
๋กํน ๋จ์๊ฐ ์์์๋ก ๋กํน ์ค๋ฒํค๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณต์ ๋๊ฐ ์ปค์ง๋ค.
(๋กํน ๋จ์์ ๋ฐ๋น๋ก)
๊ด๊ณ ๋ฐ์ดํฐ๋ชจ๋ธ์ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์ค ๊ธฐ๋ณธํค ๊ฐ์ ์์ฑ ๊ฐ์ด ๋(Null)๊ฐ์ด ์๋ ์์ ๊ฐ์ ๊ฐ๋ ์ฑ์ง์? |
<๋ฌด๊ฒฐ์ฑ์ ์ข ๋ฅ>
1. ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ : ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์ด๋ค ์์ฑ๋ NULL ๊ฐ์ด๋ ์ค๋ณต ๊ฐ X
2. ๋๋ฉ์ธ ๋ฌด๊ฒฐ์ฑ(์์ญ ๋ฌด๊ฒฐ์ฑ) : ์ฃผ์ด์ง ์์ฑ ๊ฐ์ด ์ ์๋ ๋๋ฉ์ธ์ ์ํ ๊ฐ์ด์ด์ผ ํ๋ค๋ ๊ท์
3. ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ(Referential Integrity) : ์ธ๋ํค ๊ฐ์ NULL์ด๊ฑฐ๋ ์ฐธ์กฐ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค ๊ฐ๊ณผ ๋์ผํด์ผ ํจ. ์ฆ ๋ฆด๋ ์ด์ ์ ์ฐธ์กฐํ ์ ์๋ ์ธ๋ํค ๊ฐ์ ๊ฐ์ง ์ ์๋ค๋ ๊ท์
4. ์ฌ์ฉ์ ์ ์ ๋ฌด๊ฒฐ์ฑ : ์์ฑ ๊ฐ๋ค์ด ์ฌ์ฉ์๊ฐ ์ ์ํ ์ ์ฝ ์กฐ๊ฑด์ ๋ง์กฑํด์ผ ํ๋ค๋ ๊ท์
๊ธฐ๋ณธํค + NULL --> ๊ฐ์ฒด
๊ฐ์ด ์ํด์ผํจ --> ๋๋ฉ์ธ
์ธ๋ํค --> ์ฐธ์กฐ
์ฌ์ฉ์ ์ ์ --> ์ฌ์ฉ์ ์ ์
๋ทฐ(View)์ ์ฅ์ ์ด ์๋ ๊ฒ์? |
๋ทฐ(View)
์ ๊ทผ์ด ํ์ฉ๋ ์๋ฃ๋ง์ ์ ํ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๊ธฐ๋ณธ ํ ์ด๋ธ๋ก๋ถํฐ ์ ๋๋ ๊ฐ์ ํ ์ด๋ธ
• ๋ทฐ (View)์ ํน์ง
- ์ ๋๋ ํ ์ด๋ธ์ด๋ผ์ ๊ธฐ๋ณธ ํ ์ด๋ธ๊ณผ ๊ฐ์ ํํ์ ๊ตฌ์กฐ
- ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ์ง ์์
- ๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ ์ ๊ณต
- ํ์ํ ๋ฐ์ดํฐ๋ง ๋ทฐ๋ก ์ ์ํด ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ๊ฐ ์ฉ์ด, ๋ช ๋ น๋ฌธ ๊ฐ๋จ
- ๋ทฐ๋ฅผ ํตํด์๋ง ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ฒ ํ๋ฉด ๋ทฐ์ ๋ํ๋์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ณดํธ
- ๋ทฐ๊ฐ ์ ์๋ ๊ธฐ๋ณธ ํ ์ด๋ธ์ด๋ ๋ทฐ๋ฅผ ์ญ์ ํ๋ฉด ๊ทธ ํ ์ด๋ธ์ด๋ ๋ทฐ๋ฅผ ๊ธฐ์ด๋ก ์ ์๋ ๋ค๋ฅธ ๋ทฐ๋ ์๋์ผ๋ก ์ญ์ ๋จ(์ฐ์)
- ๊ธฐ๋ณธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ํฌํจํ ์์ฑ(์ด) ์งํฉ์ผ๋ก ๋ทฐ๋ฅผ ๊ตฌ์ฑํด์ผ๋ง ์ฝ์ , ์ญ์ , ๊ฐฑ์ ์ฐ์ฐ์ด ๊ฐ๋ฅ
• ๋ทฐ(View)์ ์ฅ๋จ์
์ฅ์ |
๋จ์ |
- ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ์ ๊ณต - ๋์ผ ๋ฐ์ดํฐ์ ๋ํด ๋์์ ์ฌ๋ฌ ์ฌ์ฉ์์ ์์ดํ ์์ฉ์ด๋ ์๊ตฌ๋ฅผ ์ง์ํด ์ค - ์ฌ์ฉ์์ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ๊ฐ๋จํ๊ฒ ํด ์ค - ์ ๊ทผ ์ ์ด๋ฅผ ํตํ ์๋ ๋ณด์์ด ์ ๊ณต๋จ |
- ๋ ๋ฆฝ์ ์ธ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ์ ์์ - ๋ทฐ์ ์ ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ - ๋ทฐ๋ก ๊ตฌ์ฑ๋ ๋ด์ฉ์ ๋ํ ์ฝ์ , ์ญ์ , ๊ฐฑ์ ์ฐ์ฐ์ ์ ์ฝ์ด ๋ฐ๋ฆ |
• ๋ทฐ ์ค๊ณ ์์
โ ๋์ ํ ์ด๋ธ ์ ์
โก ๋์ ์นผ๋ผ ์ ์
โข ์ ์์ ์์ฑ
๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํฌ๋ช ์ฑ(Transparency)์ ํด๋น ํ์ง ์๋ ๊ฒ์? |
๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋คํธ์ํฌ๋ฅผ ํตํด ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ๋ฌ ๊ณณ์ ๋ถ์ฐ๋์ด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ๋์ ๊ฐ์ ์์คํ ์ผ๋ก ์ฌ์ฉ
์์น(Location) : ์ค์ ์์น ๋ชฐ๋ผ
์ค๋ณต(Replication) : ๋์ผ ๋ฐ์ดํฐ ์ฌ๋ฌ ๊ณณ์ ์์ง๋ง, ํ๋๋ก ๋ณด์
์ฅ์ (Failure) : ํ๋๊ฐ ์ฅ์ ๋ฐ์ํด๋ ๋ฌธ์ ์์
๋ณํ(Concurrency) : ๋ค์ ํธ๋์ญ์ ๋์ ์คํ ๋ฌธ์ ์์
์ ๊ทํ์ ๋ชฉ์ ์ผ๋ก ์ณ์ง ์์ ๊ฒ์? |
๋ชฉ์ : ์ค๋ณต ๋ฐฐ์ → ์ฝ์ , ์ญ์ , ๊ฐฑ์ ์ด์ ์ ๊ฑฐ
๋๋ถ์ด๊ฒฐ๋ค์กฐ
1NF : ๋๋ฉ์ธ ์์๊ฐ๋ง์ผ๋ก ๊ตฌ์ฑ (์์ธ, ๋ถ์ฐ → ์์ธ ๋ฐ๋ก ๋ถ์ฐ)
2NF : ์์ ํจ์์ ์ข ์ (๋ถ๋ถ ํจ์์ ์ข ์ ์ ๊ฑฐ)
3NF : ์ดํ์ ์ข ์ ์ ๊ฑฐ
BCNF : ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณด ํค
4NF : ๋ค์น ์ ๊ฑฐ
5NF : ์กฐ์ธ ์ข ์ ์ ๊ฑฐ
๊ด๊ณ๋์์ ์์๊ด๊ณ ์ฐ์ฐ์๊ฐ ์๋ ๊ฒ์? |
์์ ๊ด๊ณ ์ฐ์ฐ์ : select / project / join / division (์ ํ์กฐ๋)
๋ค์ ์ค SQL์ ์ง๊ณ ํจ์(aggregation function)๊ฐ ์๋ ๊ฒ์? |
AVG: ํ๊ท
SUM: ํฉ
COUNT: ์ง๊ณํ์ ์