๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ก - ๋ชฉ์ฐจ
Chapter2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
Chapter3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
Chapter5. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ
Chapter6. ๊ด๊ณ ๋ฐ์ดํฐ ์ฐ์ฐ
Chapter7. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด SQL
Chapter8. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ
Chapter10. ํ๋ณต๊ณผ ๋ณํ ์ ์ด
Chapter11. ๋ณด์๊ณผ ๊ถํ ๊ด๋ฆฌ
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค
1.1 ๋ฐ์ดํฐ์ ์ ๋ณด
- ๋ฐ์ดํฐ : ํ์ค ์ธ๊ณ์์ ๋จ์ํ ๊ด์ฐฐํ๊ฑฐ๋ ์ธก์ ํ์ฌ ์์งํ ์ฌ์ค์ด๋ ๊ฐ์ด๋ค.
- ์ ๋ณด : ์์ฌ ๊ฒฐ์ ์ ์ ์ฉํ๊ฒ ํ์ฉํ ์ ์๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฌผ์ด๋ค.
1.2 ์ ๋ณด ์ฒ๋ฆฌ, ์ ๋ณด ์์คํ , ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ ๋ณด ์ฒ๋ฆฌ : ๋ฐ์ดํฐ์์ ์ ๋ณด๋ฅผ ์ถ์ถํ๋ ๊ณผ์ ๋๋ ๋ฐฉ๋ฒ์ด๋ค.
- ์ ๋ณด ์์คํ : ์กฐ์ง์ ์ด์ํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ฌ ์ ์ฅํด๋์๋ค๊ฐ ํ์ํ ๋ ์ ์ฉํ ์ ๋ณด๋ฅผ ๋ง๋ค์ด์ฃผ๋ ์๋จ์ด๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค : ์ ๋ณด ์์คํ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์๋ค๊ฐ ํ์ํ ๋ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ค.
1.3 ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์
ํน์ ์กฐ์ง์ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ '๊ณต์ 'ํด์ ์ฌ์ฉํ ์ ์๋๋ก 'ํตํฉ'ํด์ '์ ์ฅ'ํ '์ด์' ๋ฐ์ดํฐ์ ์งํฉ์ด๋ค.
- ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ํจ๊ป ์์ ํ๊ณ ์ฌ์ฉํ ์ ์๋ '๊ณต์ ๋ฐ์ดํฐ'
- ์ค๋ณต์ ์ต์ํํ 'ํตํฉ ๋ฐ์ดํฐ'
- ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋ ๋งค์ฒด์ ๋ค์ด ์๋ '์ ์ฅ ๋ฐ์ดํฐ'
- ์กฐ์ง์ ์ฃผ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ๋ฐ๋์ ํ์ํ '์ด์ ๋ฐ์ดํฐ'
1.4 ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํน์ง
- '์ค์๊ฐ ์ ๊ทผ'์ด ๊ฐ๋ฅํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์๊ตฌ์ ์ค์๊ฐ์ผ๋ก ์๋ตํ ์ ์์ด์ผ ํ๋ค. - '๊ณ์ ๋ณํ'ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์ ์ธ ํน์ง์ด ์์ด ๋ฐ์ดํฐ๋ฅผ ๊ณ์ ์ฝ์ /์ญ์ /์์ ํ์ฌ ํ์ฌ์ ์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํ๋ค. - '๋์ ๊ณต์ '๊ฐ ๊ฐ๋ฅํ๋ค.
๋์ ๊ณต์ ๋ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ฌ์ฉํ๋ ๊ฒ๋ฟ ์๋๋ผ, ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์ฌ์ฉํ๋ ๊ฒ๋ ๋ชจ๋ ์ง์ํ๋ค๋ ์๋ฏธ๋ค. - '๋ด์ฉ์ผ๋ก ์ฐธ์กฐ'๊ฐ ๊ฐ๋ฅํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ์ฅ๋ ์ฃผ์๋ ์์น๊ฐ ์๋ ๋ฐ์ดํฐ์ ๋ด์ฉ, ์ฆ ๊ฐ์ผ๋ก ์ฐธ์กฐํ ์ ์๋ค.
1.5 ๋ฐ์ดํฐ์ ๋ถ๋ฅ
- ์ ํ ๋ฐ์ดํฐ
- ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ, ์ฆ ๋ฏธ๋ฆฌ ์ ํด์ง ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ค.
- ex) ์์ ์ ์คํ๋ ๋์ํธ
- ๋ฐ์ ํ ๋ฐ์ดํฐ
- ๊ตฌ์กฐ์ ๋ฐ๋ผ ์ ์ฅ๋ ๋ฐ์ดํฐ์ด์ง๋ง ์ ํ ๋ฐ์ดํฐ์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ ๋ด์ฉ ์์ ๊ตฌ์กฐ์ ๋ํ ์ค๋ช ์ด ํจ๊ป ์กด์ฌํ๋ค.
- ๋ฐ์ดํฐ ๋ด์ฉ์ ๋ํ ์ค๋ช , ์ฆ ๊ตฌ์กฐ๋ฅผ ํ์ ํ๋ ํ์ฑ ๊ณผ์ ์ด ํ์ํ๋ค.
- ex) HTML, XML, JSON ๋ฌธ์๋ ์น ๋ก๊ทธ, ์ผ์ ๋ฐ์ดํฐ
- ๋น์ ํ ๋ฐ์ดํฐ
- ์ ํด์ง ๊ตฌ์กฐ๊ฐ ์์ด ์ ์ฅ๋ ๋ฐ์ดํฐ๋ค.
- ex) ํ ์คํธ, ์์, ์ด๋ฏธ์ง, ์๋๋ PDF ๊ฐ์ ๋ฉํฐ๋ฏธ๋์ด ๋ฐ์ดํฐ
2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
2.1 ํ์ผ ์์คํ
- ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ผ์ ์์ฑ, ์ญ์ , ์์ , ๊ฒ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด๋ค.
- ์์ฉ ํ๋ก๊ทธ๋จ๋ง๋ค ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ณ๋ ํ์ผ๋ก ๊ด๋ฆฌํ๋ค.
- ๋ฐ์ดํฐ ์ค๋ณต์ฑ๊ณผ ๋ฐ์ดํฐ ์ข ์์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
2.2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)
- ํ์ผ ์์คํ ์ ๋ฐ์ดํฐ ์ค๋ณต๊ณผ ๋ฐ์ดํฐ ์ข ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ์๋ ์ํํธ์จ์ด๋ค.
- ์กฐ์ง์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํตํฉํ์ฌ ์ ์ฅํด๋๊ณ ์ด๋ฅผ ๊ด๋ฆฌํ๋ค.
2.3 ๋ฐ์ดํฐ ๊ด๋ฆฌ ์์คํ ์ ์ฃผ์ ๊ธฐ๋ฅ
- ์ ์ ๊ธฐ๋ฅ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ฑฐ๋ ์์ ํ๋ค.
- ์กฐ์ ๊ธฐ๋ฅ: ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ญ์ , ์์ , ๊ฒ์ํ๋ ์ฐ์ฐ์ ํ๋ค.
- ์ ์ด ๊ธฐ๋ฅ : ๋ฐ์ดํฐ๋ฅผ ํญ์ ์ ํํ๊ณ ์์ ํ๊ฒ ์ ์งํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ญ์ , ์์ ํ๋ ์ฐ์ฐ์ ํ ํ์๋ ๋ด์ฉ์ด ์ผ๊ด๋๋ฉด์ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ฒ ํ๋ค.
- ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ํ๋ณต์ด ๊ฐ๋ฅํ๋๋ก ์ ์ดํ๋ค.
- ๊ถํ์ด ์๋ ์ฌ์ฉ์์๊ฒ๋ง ๋ฐ์ดํฐ ์ ๊ทผ์ ํ์ฉํ์ฌ ๋ณด์์ด ์ ์ง๋๋๋ก ์ ์ดํ๋ค.
- ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋์์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ก ์ ์ดํ๋ค.
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
3.1 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ์ด๋ฅผ ๊ด๋ฆฌํ์ฌ ์กฐ์ง์ ํ์ํ ์ ๋ณด๋ฅผ ์์ฑํด์ฃผ๋ ์์คํ ์ด๋ค.
- ์ฌ์ฉ์, ๋ฐ์ดํฐ ์ธ์ด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ปดํจํฐ๋ก ๊ตฌ์ฑ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค : ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํด๋๋ ๊ณณ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๊ฐ ์ผ๊ด๋๊ณ ๋ฌด๊ฒฐํ ์ํ๋ก ์ ์ง๋๋๋ก ๊ด๋ฆฌํ๋ ์ญํ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ์ด์ฉํด ์กฐ์ง์ ํ์ํ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ ์ฒด ์์คํ
3.2 ์คํค๋ง์ ์ธ์คํด์ค
- ์คํค๋ง : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ ์ฝ์กฐ๊ฑด์ ์ ์ํ ๊ฒ์ด๋ค.
- ์ธ์คํด์ค : ์คํค๋ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ๋ก ์ ์ฅ๋ ๊ฐ์ด๋ค.
3.3 3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ์ด์ฉํ ์ ์๋๋ก ํ๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด์ ์ ๋ฐ๋ผ ์ธ ๋จ๊ณ๋ก ๋๋ ๊ฒ์ด๋ค.
- ์ธ๋ถ ๋จ๊ณ : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ๋ณ ์ฌ์ฉ์ ๊ด์ ์์ ์ดํดํ๊ณ ํํํ๋ค.
- ์ฌ์ฉ์์๊ฒ ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ํ ์ธ๋ถ ์คํค๋ง๊ฐ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ ์ ์๋ค.
- ์ธ๋ถ ์คํค๋ง๋ ๊ฐ ์ฌ์ฉ์๊ฐ ์๊ฐํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ์ต์ ํํํ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ก, ์ฌ์ฉ์๋ง๋ค ๋ค๋ฅด๋ค.
- ์ธ๋ถ ์คํค๋ง๋ ๊ฐ๋ ์คํค๋ง๋ฅผ ๊ธฐ์ด๋ก ํ์ฌ ์ฌ์ฉ์์ ์ด์ฉ ๋ชฉ์ ์ ๋ง๊ฒ ๋ง๋ค์ด์ง๋ค.
- ๊ฐ๋
๋จ๊ณ : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ง ์ ์ฒด์ ๊ด์ ์์ ์ดํดํ๊ณ ํํํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ ๊ฐ๋ ์คํค๋ง๊ฐ ํ๋๋ง ์กด์ฌํ๋ค.
- ๊ฐ๋ ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ด๋ ๊ด๋ฆฌ์์ ๊ด์ ์์ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ์ฌ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ ๊ฒ์ด๋ค.
- ๊ฐ๋ ์คํค๋ง๋ ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ ์ข ๋ฅ, ๋ฐ์ดํฐ๋ค ๊ฐ์ ๊ด๊ณ ๋ฐ ์ ์ฝ์กฐ๊ฑด, ๋ฐ์ดํฐ์ ๋ํ ๋ณด์ ์ ์ฑ , ์ ๊ทผ ๊ถํ์ ๋ํ ์ ์๊ฐ ํฌํจํ๋ค.
- ๋ด๋ถ ๋จ๊ณ : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ ์ฅ์น์ ๊ด์ ์์ ์ดํดํ๊ณ ํํํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ์ฅ์ฅ์น์ ์ค์ ๋ก ์ ์ฅ๋๋ ๋ฐฉ๋ฒ์ ์ ์ํ ๋ด๋ถ ์คํค๋ง๊ฐ ํ๋๋ง ์กด์ฌํ๋ค.
- ๋ด๋ถ ์คํค๋ง๋ ๋ฐ์ด๋ฒ ์ด์ค์ ๊ฐ๋ ์คํค๋ง์ ๋ํ ๋ฌผ๋ฆฌ์ ์ธ ์ ์ฅ ๊ตฌ์กฐ๋ฅผ ํํํ๋ฏ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋๋ง ์กด์ฌํ๋ค.
- ๋ด๋ถ ์คํค๋ง๋ ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ ์ฝ๋์ ๊ตฌ์กฐ, ๋ ์ฝ๋๋ฅผ ๊ตฌ์ฑํ๋ ํ๋์ ํฌ๊ธฐ, ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํ ๋ ์ฝ๋ ์ ๊ทผ ๊ฒฝ๋ก ๋ฑ์ ์ ์ํ๋ค.
3.4 ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ
3๋จ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ๋ชฉ์ ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ์คํํ๋ ๋ฐ ์๋ค. ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ํ์ ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ๋๋ผ๋ ์์ ์คํค๋ง๊ฐ ์ํฅ์ ๋ฐ์ง ์๋ ํน์ฑ์ด๋ค. ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์๋ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ๊ณผ ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ด ์กด์ฌํ๋ค.
- ๋
ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ : ๊ฐ๋
์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋์ด๋ ์ธ๋ถ ์คํค๋ง๋ ์ํฅ์ ๋ฐ์ง ์๋๋ค(์ธ๋ถ/๊ฐ๋
์ฌ์).
- ์ ์ฒด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ด๋ จ๋ ์ธ๋ถ/๊ฐ๋ ์ฌ์ ์ ๋ณด๋ง ์ ์ ํ ์์ ํด์ฃผ๋ฉด ์ง์ ๊ด๋ จ์ด ์๋ ์ฌ์ฉ์๋ฅผ ์ํ ์ธ๋ถ ์คํค๋ง๋ ๋ณ๊ฒฝํ ํ์๊ฐ ์๋ค.
- ์ธ๋ถ/๊ฐ๋ ์ฌ์์ ์์ฉ ์ธํฐํ์ด์ค๋ผ๊ณ ๋ ํ๋ค.
- ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ : ๋ด๋ถ ์คํค๋ง๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ฐ๋
์คํค๋ง๋ ์ํฅ์ ๋ฐ์ง ์๋๋ค(๊ฐ๋
/๋ด๋ถ ์ฌ์).
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด๋ ๊ด๋ จ๋ ๊ฐ๋ /๋ด๋ถ ์ฌ์ ์ ๋ณด๋ง ์ ์ ํ ์์ ํด์ฃผ๋ฉด ์ง์ ์ ์ผ๋ก ๊ด๋ จ์ด ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ ์ํฅ์ ๋ฐ์ง ์๋๋ค.
- ๊ฐ๋ /๋ด๋ถ ์ฌ์์ ์ ์ฅ ์ธํฐํ์ด์ค๋ผ๊ณ ๋ ํ๋ค.
๐ ์คํค๋ง ์ฌ์ด์ ๋์ ๊ด๊ณ๋ฅผ ์ฌ์ ๋๋ ๋งคํ์ด๋ผ ํ๋ค.
3.5 ๋ฐ์ดํฐ ์ฌ์ (์์คํ ์นดํ๋ก๊ทธ)
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๊ดํ ์ ๋ณด, ์ฆ ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์์คํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค.
- ๋ฐ์ดํฐ ์ฌ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ํจ์จ์ ์ผ๋ก ์ด์ฉํ๊ธฐ ์ํด ์ฐธ๊ณ ํด์ผ ๋๋ ์คํค๋ง, ์ฌ์ ์ ๋ณด, ๋ค์ํ ์ ์ฝ์กฐ๊ฑด ๋ฑ์ ์ ์ฅํ๊ณ ์๋ค.
- ๋ฐ์ดํฐ ์ฌ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ด ์ค์ค๋ก ์์ฑํ๊ณ ์ ์งํ๋ ๊ฒ์ผ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ์ถ๊ฐ, ์์ ํ ์ ์๋ ๋ฐ๋ฉด, ์ฌ์ฉ์๋ ์ ์ฅ ๋ด์ฉ์ ๊ฒ์๋ง ํ ์ ์๋ค.
- ๋ฐ์ดํฐ ์ฌ์ ์ ์๋ ๋ฐ์ดํฐ์ ์ค์ ๋ก ์ ๊ทผํ๋ ๋ฐ ํ์ํ ์์น ์ ๋ณด๋ ๋ฐ์ดํฐ ๋๋ ํ ๋ฆฌ์์ ๊ด๋ฆฌํ๊ณ , ์์คํ ๋ง ์ ๊ทผํ ์ ์๋ค.
3.6 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์
์ฌ์ฉ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ์ ๊ทผํ๋ ๋ชจ๋ ์ฌ๋์ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์, ์ต์ข ์ฌ์ฉ์, ์์ฉ ํ๋ก๊ทธ๋๋จธ๋ก ๋๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ด์, ๊ด๋ฆฌํ๋ค.
- ์ต์ข ์ฌ์ฉ์(์ผ๋ฐ ์ฌ์ฉ์) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์กฐ์(์ฝ์ , ์ญ์ , ์์ ,๊ฒ์)ํ๋ค.
- ์์ฉ ํ๋ก๊ทธ๋๋จธ : ๋ฐ์ดํฐ ์ธ์ด๋ฅผ ์ฝ์ ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค.
3.7 ๋ฐ์ดํฐ ์ธ์ด
๋ฐ์ดํฐ ์ธ์ด๋ ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ๊ฐ์ ํต์ ์๋จ์ด๋ค. ๋ฐ์ดํฐ ์ ์์ด, ๋ฐ์ดํฐ ์กฐ์์ด, ๋ฐ์ดํฐ ์ ์ด์ด๋ก ๋๋๋ค.
- ๋ฐ์ดํฐ ์ ์์ด(DDL) : ์คํค๋ง๋ฅผ ์ ์ํ๊ฑฐ๋, ์์ ๋๋ ์ญ์ ํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
- ์ ์๋ ์คํค๋ง๋ ๋ฐ์ดํฐ ์ฌ์ ์ ์ ์ฅ๋๊ณ , ์ญ์ ๋ ์์ ์ด ๋ฐ์ํ๋ฉด ์ด ๋ด์ฉ๋ ๋ฐ์ดํฐ ์ฌ์ ์ ๋ฐ์๋๋ค.
- ๋ฐ์ดํฐ ์กฐ์์ด(DML) : ๋ฐ์ดํฐ์ ์ฝ์
, ์ญ์ , ์์ , ๊ฒ์ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ์๊ตฌํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ ์ ์์ด๋ฅผ ์ด์ฉํด ์ ์๋ ์คํค๋ง์ ๋ฐ๋ผ ์กฐ์ง์ ํ์ํ ์ค์ ๋ฐ์ดํฐ ๊ฐ(์ธ์คํด์ค)์ด ์ ์ฅ๋๋๋ฐ, ์ฌ์ฉ์๊ฐ ์ค์ ๋ฐ์ดํฐ ๊ฐ(์ธ์คํด์ค)์ ํ์ฉํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธ์ด๋ค.
- ์ค๋ช
๋ฐฉ์์ ๋ฐ๋ผ ์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด์ ๋น์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด๋ก ๋๋๋ค.
- ์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด : ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๊ณ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋์ง๋ฅผ ์ค๋ช ํ๋ค.
- ๋น์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด(์ ์ธ์ ์ธ์ด) : ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๋์ง๋ง ์ค๋ช ํ๋ค. ์ฆ, ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๋งก๊ธด๋ค.
- ๋ฐ์ดํฐ ์ ์ด์ด(DCL) : ๋์ ๊ณต์ ๊ฐ ๊ฐ๋ฅํ๋ฉด์๋ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๋๋ก ๋ด๋ถ์ ์ผ๋ก ํ์ํ ๊ท์น์ด๋ ๊ธฐ๋ฒ๋ค์ ์ ์ํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค.
- ์ด ๊ท์น๊ณผ ๊ธฐ๋ฒ์ ์ ์ํ๋ ์ด์ ๋ ๋ฌด๊ฒฐ์ฑ, ๋ณด์, ํ๋ณต, ๋์์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด์๋ค.
3.8 ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
์ฃผ์ ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ์ ๋ํ ์ํ์ด๋ค. ์ง์ ์ฒ๋ฆฌ๊ธฐ์ ์ ์ฅ ๋ฐ์ดํฐ ๊ด๋ฆฌ์๋ก ๋๋๋ค.
- ์ง์ ์ฒ๋ฆฌ๊ธฐ : ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ํด์ํ์ฌ ์ฒ๋ฆฌํ๋ค.
- DDL ์ปดํ์ผ๋ฌ : ๋ฐ์ดํฐ ์ ์์ด๋ก ์์ฑ๋ ์คํค๋ง์ ์ ์๋ฅผ ํด์ํ๊ฑฐ๋ ๊ธฐ์กด ์คํค๋ง์ ์ญ์ ๋ ์์ ์์ฒญ๋ ์ฒ๋ฆฌํ์ฌ, ๋ณ๊ฒฝ๋ ๋ด์ฉ์ ๋ฐ์ดํฐ ์ฌ์ ์ ์ ์ฉํ๋ค.
- DML ํ๋ฆฌ ์ปดํ์ผ๋ฌ : ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ์ ๋ ๋ฐ์ดํฐ ์กฐ์์ด๋ฅผ ์ถ์ถํ์ฌ DML ์ปดํ์ผ๋ฌ์ ์ ๋ฌํ๋ค. ๋จ, ๋ฐ์ดํฐ ์กฐ์์ด์ ๊ด๋ จ ์๋ ๋๋จธ์ง ์ฝ๋๋ค์ ํด๋น ์ธ์ด์ ์ปดํ์ผ๋ฌ์ ๋ณด๋ด์ง๋ค.
- DML ์ปดํ์ผ๋ฌ : ๋ฐ์ดํฐ ์กฐ์์ด๋ก ์์ฑ๋ ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ๋ถ์ํ์ฌ ๋ฐํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ๊ธฐ๊ฐ ์ดํดํ ์ ์๋๋ก ํด์ํ๋ค.
- ๋ฐํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ๊ธฐ : ์ ์ฅ ๋ฐ์ดํฐ ๊ด๋ฆฌ์๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ์ฌ, DML ์ปดํ์ผ๋ฌ๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค์ ๋ก ์คํํ๋ค.
- ํธ๋์ญ์ ๊ด๋ฆฌ์ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๋ ๊ณผ์ ์์ ์ฌ์ฉ์์ ์ ๊ทผ ๊ถํ์ด ์ ํจํ์ง๋ฅผ ๊ฒ์ฌํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํ ์ ์ฝ์กฐ๊ฑด ์๋ฐ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ค. ํ๋ณต์ด๋ ๋ณํ ์ํ๊ณผ ๊ด๋ จ๋ ์์ ๋ ๋ด๋นํ๋ค.
- ์ ์ฅ ๋ฐ์ดํฐ ๊ด๋ฆฌ์ : ๋์คํฌ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ ์ฌ์ ์ ๊ด๋ฆฌํ๊ณ , ์ฌ๊ธฐ์ ์ค์ ๋ก ์ ๊ทผํ๋ค. ์ด์์ฒด์ ์ ๋์์ ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ๊ทผ์ ์ํํ๋ค.
4. ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
4.1 ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ํ์ค ์ธ๊ณ์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ์ปดํจํฐ ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฎ๊ธฐ๋ ๋ณํ ๊ณผ์ ์ด๋ค. ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง๊ณผ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด ์๋ค. ๋ณดํต ๊ฐ๋ ์ ๋ชจ๋ธ๋ง๊ณผ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง์ ํตํ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ผ๊ณ ํ๋ค.
- ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง : ํ์ค ์ธ๊ณ์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ์ฌ ๊ฐ๋ ์ธ๊ณ๋ก ์ฎ๊ธด๋ค.
- ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง : ๊ฐ๋ ์ธ๊ณ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ก ํํํ๋ค.
4.2 ๋ฐ์ดํฐ ๋ชจ๋ธ
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ๋ฌผ์ ํํํ๋ ๋๊ตฌ๋ก, ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์๋ค.
- ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ : ํ์ค ์ธ๊ณ๋ฅผ ์ฌ๋์ ๋จธ๋ฆฌ๋ก ์ดํดํ ์ ์๋๋ก ๊ฐ๋ ์ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ๋ฌผ์ธ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๋๊ตฌ๋ค. ๋ํ์ ์ผ๋ก ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ(E-R Model)์ด ์๋ค.
- ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ : ๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ๋ฌผ์ธ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๋๊ตฌ๋ค. ๋ํ์ ์ผ๋ก ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ์๋ค.
4.3 ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ
๊ฐ์ฒด์ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ด์ฉํด ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด๋ค.
๊ฐ์ฒด
ํ์ค ์ธ๊ณ์์ ์กฐ์ง์ ์ด์ํ๋ ๋ฐ ๊ผญ ํ์ํ ์ฌ๋์ด๋ ์ฌ๋ฌผ๊ณผ ๊ฐ์ด ๊ตฌ๋ณ๋๋ ๋ชจ๋ ๊ฒ์ ์๋ฏธํ๋ค.
- ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ๊ตฌ๋ณ๋๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ ๊ฐ์ฒด๋ง์ ๊ณ ์ ํ ํน์ฑ์ด๋ ์ํ, ์ฆ ์์ฑ์ ํ๋ ์ด์ ๊ฐ์ง๊ณ ์๋ค.
- ๊ฐ์ฒด๋ฅผ ๊ณ ์ ์ ์ด๋ฆ๊ณผ ์์ฑ๋ค๋ก ์ ์ํ ๊ฒ์ ๊ฐ์ฒด ํ์ (entity type)์ด๋ผ ํ๋ค.
- ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๊ณ ์๋ ์์ฑ์ด ์ค์ ๊ฐ์ ๊ฐ์ง์ผ๋ก์จ ์ค์ฒดํ๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์ฒด ์ธ์คํด์ค๋ผ ํ๋ค.
- ํน์ ๊ฐ์ฒด ํ์
์ ๋ํ ๊ฐ์ฒด ์ธ์คํด์ค๋ค์ ๋ชจ์ ๋์ ๊ฒ์ ๊ฐ์ฒด ์งํฉ์ด๋ผ ํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ค์ ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ด ๊ฐ์ฒด ์งํฉ์ด๋ค.
๐ ๊ฐ์ฒด์ ์์ฑ์ ํ์ผ ๊ตฌ์กฐ์์ ๋ ์ฝ๋์ ํ๋ ์ฉ์ด์ ๋์๋๋ค. ๊ฐ์ฒด ํ์ ์ ๋ ์ฝ๋ ํ์ ์, ๊ฐ์ฒด ์ธ์คํด์ค๋ ๋ ์ฝ๋ ์ธ์คํด์ค์ ๋์๋๋ค.
์์ฑ
๊ฐ์ฒด๋ ๊ด๊ณ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ณ ์ ์ ํน์ฑ์ด๋ค.
- ์์ฑ์ ์ ํ : ์์ฑ ๊ฐ์ ๊ฐ์, ์๋ฏธ์ ๋ถํด ๊ฐ๋ฅ์ฑ, ๊ธฐ์กด ์์ฑ ๊ฐ์์ ์ ๋์ ๋ฐ๋ผ ๋ถ๋ฅํ ์ ์๋ค.
- ์์ฑ ๊ฐ์ ๊ฐ์
- ๋จ์ผ ๊ฐ ์์ฑ : ํน์ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ ๊ฐ์ด ํ๋์ผ ๋
- ๋ค์ค ๊ฐ ์์ฑ : ํน์ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ด ๊ฐ์ ์ฌ๋ฌ ๊ฐ ๊ฐ์ง ์ ์์ ๋
- ์๋ฏธ์ ๋ถํด ๊ฐ๋ฅ์ฑ
- ๋จ์ ์์ฑ : ์๋ฏธ๋ฅผ ๋๋ ๋ถํดํ ์ ์๋ ์์ฑ, ์ฆ ์๋ฏธ๊ฐ ํ๋์ผ ๋
- ๋ณตํฉ ์์ฑ : ์๋ฏธ๋ฅผ ๋ถํดํ ์ ์์ด ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ ์๋ฏธ๋ฅผ ํฌํจํ ๋
- ์์ฑ ๊ฐ์ ๊ฐ์
- ๊ธฐ์กด ์์ฑ ๊ฐ์์ ์ ๋
- ์ ๋ ์์ฑ : ๊ฐ์ด ๋ณ๋๋ก ์ ์ฅ๋๋ ๊ฒ์ด ์๋ ๊ธฐ์กด์ ๋ค๋ฅธ ์์ฑ ๊ฐ์์ ์ ๋๋์ด ๊ฒฐ์ ๋๋ ์์ฑ
- ์ ์ฅ ์์ฑ์ ์ค์ ๋ก ๊ฐ์ ์ ์ฅํ๊ณ , ์ ๋ ์์ฑ์ ํ์ํ ๋๋ง๋ค ๊ณ์ฐ๋๋ฏ๋ก ๊ฐ์ ๋ฐ๋ก ์ ์ฅํ ํ์๊ฐ ์๋ค.
- ๋ ์์ฑ : ๋ ๊ฐ์ด ํ์ฉ๋๋ ์์ฑ
- ๋(null) ๊ฐ
- ์์ง ๊ฒฐ์ ๋์ง ์์๊ฑฐ๋ ๋ชจ๋ฅด๋ ๊ฐ์ ์๋ฏธํ๋ค.
- ๋๋ ํด๋น๋๋ ๊ฐ์ด ์๋, ์ฆ ์กด์ฌํ์ง ์๋ ๊ฐ์ ๊ฒฝ์ฐ
- ๊ฐ์ ์์ง ๊ฐ์ง ์์ ๊ฒ์ผ๋ก, ๊ณต๋ฐฑ์ด๋ 0๊ณผ๋ ๋ค๋ฅด๋ค.
- ๋(null) ๊ฐ
- ํค ์์ฑ : ๊ฐ์ฒด ์งํฉ์ ์กด์ฌํ๋ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ค์ ์๋ณํ๋ ๋ฐ ์ฌ์ฉํ๋ ์์ฑ (ํ๋ ์ด์์ผ๋ก ๊ตฌ์ฑ)
๊ด๊ณ
๊ฐ์ฒด์ ๊ฐ์ฒด๊ฐ ๋งบ๊ณ ์๋ ์๋ฏธ ์๋ ์ฐ๊ด์ฑ์ด๋ค. ๊ฐ์ฒด ์งํฉ๋ค ์ฌ์ด์ ๋์ ๊ด๊ณ, ์ฆ ๋งคํ์ ์๋ฏธํ๋ค.
- ๊ด๊ณ์ ์ ํ : ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด ํ์
์ ์, ๋งคํ ์์์ ์(๋งคํ ์นด๋๋๋ฆฌํฐ)์ ๋ฐ๋ผ ๋ถ๋ฅํ ์ ์๋ค.
- ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด ํ์
์ ์
- ์ดํญ ๊ด๊ณ : ๊ฐ์ฒด ํ์ ๋ ๊ฐ๊ฐ ๋งบ๋ ๊ด๊ณ
- ์ผํญ ๊ด๊ณ : ๊ฐ์ฒด ํ์ ์ธ ๊ฐ๊ฐ ๋งบ๋ ๊ด๊ณ
- ์ํ ๊ด๊ณ : ๊ฐ์ฒด ํ์ ํ๋๊ฐ ์๊ธฐ ์์ ๊ณผ ๋งบ๋ ๊ด๊ณ
- ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด ํ์
์ ์
- ๋งคํ ์นด๋๋๋ฆฌํฐ : ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ ๊ฐ์ฒด ์งํฉ์์, ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ์ฐ๊ด์ฑ์ ๋งบ๊ณ ์๋ ์๋ ๊ฐ์ฒด ์งํฉ์ ์ธ์คํด์ค ๊ฐ์
- ๊ด๊ณ๋ ๋งคํ ์นด๋๋๋ฆฌํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ๋์ผ(1:1), ์ผ๋๋ค(1:n), ๋ค๋๋ค(n:n) ์ ํ์ผ๋ก ๋ถ๋ฅํ ์ ์๋ค.
- ์ผ๋์ผ ๊ด๊ณ
๊ฐ์ฒด A์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ฐ์ฒด B์ ๊ฐ์ฒด ์ธ์คํด์ค ํ๋์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์๊ณ , ๊ฐ์ฒด B์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ ๊ฐ์ฒด A์ ๊ฐ์ฒด ์ธ์คํด์ค ํ๋์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์ ๋์ ๋ ๊ฐ์ฒด์ ๊ด๊ณ - ์ผ๋๋ค ๊ด๊ณ
๊ฐ์ฒด A์ ๊ฐ ๊ฐ์ฒด ์ธ์ฝ๋์ค๋ ๊ฐ์ฒด B์ ๊ฐ์ฒด ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์ง๋ง, ๊ฐ์ฒด B์ ๊ฐ ๊ฐ์ฒด A์ ๊ฐ์ฒด ์ธ์คํด์ค ํ๋์๋ง ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์ ๋์ ๋ ๊ฐ์ฒด์ ๊ด๊ณ - ๋ค๋๋ค ๊ด๊ณ
๊ฐ์ฒด A์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ฐ์ฒด B์ ๊ฐ์ฒด ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์๊ณ , ๊ฐ์ฒด B์ ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๋ ๊ฐ์ฒด A์ ๊ฐ์ฒด ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์์ ๋์ ๋ ๊ฐ์ฒด์ ๊ด๊ณ
- ๊ด๊ณ์ ์ฐธ์ฌ ํน์ฑ - ํ์์ ์ฐธ์ฌ(์ ์ฒด ์ฐธ์ฌ), ์ ํ์ ์ฐธ์ฌ(๋ถ๋ถ ์ฐธ์ฌ)
๊ฐ์ฒด A์ B ์ฌ์ด์ ๊ด๊ณ์์, ๊ฐ์ฒด A์ ๋ชจ๋ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ด๊ณ์ ๋ฐ๋์ ์ฐธ์ฌํด์ผ ๋ ๋ ๊ฐ์ฒด A๊ฐ ๊ด๊ณ์ 'ํ์์ ์ฐธ์ฌํ๋ค'๋ผ๊ณ ํ๋ค. - ๊ด๊ณ์ ์ข
์์ฑ - ๊ฐํ ๊ฐ์ฒด, ์ฝํ ๊ฐ์ฒด
- ์กด์ฌ ์ข ์ : ๋ ๊ฐ์ฒด๊ฐ ๊ด๊ณ์ ๋ํด ์ข ์์ ์ธ ํน์ฑ์ ๊ฐ์ง ๋, ๊ฐ์ฒด B๊ฐ ๋ ์์ ์ผ๋ก๋ ์กด์ฌํ ์ ์๊ณ ๋ค๋ฅธ ๊ฐ์ฒด A์ ์กด์ฌ ์ฌ๋ถ์ ์์กด์ ์ด๋ผ๋ฉด ๊ฐ์ฒด B๊ฐ ๊ฐ์ฒด A์ ์ข ์๋์ด ์๋ค๊ณ ํ๋ค.
- ๊ฐํ ๊ฐ์ฒด : ๋ค๋ฅธ ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ๊ฐ์ฒด (๊ฐ์ฒด A)
- ์ฝํ ๊ฐ์ฒด : ๋ค๋ฅธ ๊ฐ์ฒด์ ์กด์ฌ ์ฌ๋ถ์ ์์กด์ ์ธ ๊ฐ์ฒด (๊ฐ์ฒด B)
4.4 ๊ฐ์ฒด-๊ด๊ณ ๋ค์ด์ด๊ทธ๋จ
- ๊ฐ์ฒด-๊ด๊ณ ๋ชจ๋ธ์ ์ด์ฉํด ํ์ค ์ธ๊ณ๋ฅผ ๊ฐ๋ ์ ์ผ๋ก ๋ชจ๋ธ๋งํ ๊ฒฐ๊ณผ๋ฌผ์ ๊ทธ๋ฆผ์ผ๋ก ํํํ ๊ฒ์ด๋ค. E-R ๋ค์ด์ด๊ทธ๋จ์ด๋ผ๊ณ ๋ ํ๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฒด๋ฅผ ํํํ๋ ์ฌ๊ฐํ, ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ๋ง๋ฆ๋ชจ, ๊ฐ์ฒด๋ ๊ด๊ณ์ ์์ฑ์ ํํํ๋ ํ์๊ณผ ๊ฐ ์์๋ค์ ์ฐ๊ฒฐํ๋ ์ ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
4.5 ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๋ฐ๋ผ E-R ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํ๋ ๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ ํํ๋ก ํํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ค. ์ฝ๊ฒ ๋งํด, ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ฒฐ๊ณผ๋ฌผ์ด๊ณ , ์ฌ์ฉ์๊ฐ ์๊ฐํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ์ต ๋๋ ๊ตฌ์กฐ๋ค.
๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ค. ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ 2์ฐจ์ ํ ์ด๋ธ ํํ๋ค.
- ๊ณ์ธต ๋ฐ์ดํฐ ๋ชจ๋ธ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ ํธ๋ฆฌ ํํ๋ค.
- ๋คํธ์ํฌ ๋ฐ์ดํฐ ๋ชจ๋ธ : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๊ฐ ๊ทธ๋ํ ํํ๋ค.
5. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ
5.1 ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฐ๋ ๊ณผ ๊ธฐ๋ณธ ์ฉ์ด
๊ฐ๋ ์ ๊ตฌ์กฐ๋ฅผ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ก ํํํ๋ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค ํ๋๋ค. ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํ๋์ ๊ฐ์ฒด์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๋ฆด๋ ์ด์ ํ๋์ ๋ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ค. ์ด์ ๊ด๋ จํด ๋ฆด๋ ์ด์ , ์์ฑ๊ณผ ํฌํ, ๋๋ฉ์ธ, ๋, ์ฐจ์, ์นด๋๋๋ฆฌํฐ ๋ฑ์ ์ฉ์ด๊ฐ ์ฌ์ฉ๋๋ค.
- ๋ฆด๋ ์ด์ : ํ๋์ ๊ฐ์ฒด์ ๊ดํ ๋ฐ์ดํฐ๋ฅผ 2์ฐจ์ ํ ์ด๋ธ์ ๊ตฌ์กฐ๋ก ์ ์ฅํ ๊ฒ
- ์์ฑ(์ ํธ๋ฆฌ๋ทฐํธ)๊ณผ ํฌํ : ๋ฆด๋ ์ด์
์ ์ด๊ณผ ํ
- ๋ฆด๋ ์ด์ , ์์ฑ, ํฌํ์ ํ์ผ ๊ด๋ฆฌ ์์คํ ์์์ ํ์ผ, ํด๋น ํ์ผ์ ํ๋, ํด๋น ํ์ผ์ ๋ ์ฝ๋์ ๋์ํ๋ ๊ฐ๋ ์ด๋ค.
- ๋๋ฉ์ธ : ํ๋์ ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๋ชจ๋ ๊ฐ์ ์งํฉ
- ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ๋ฐ์ดํฐ ํ์ ์ ๋๋ฉ์ธ, ๋ณ์๋ฅผ ์์ฑ์ผ๋ก ์๊ฐํ๋ฉด ๋๋ค.
- ๋(null) : ์์ง ๋ชจ๋ฅด๊ฑฐ๋ ํด๋น๋๋ ์ฌํญ์ด ์์์ ํํํ๋ ํน๋ณํ ๊ฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ๋ง๋ค ๋ ๊ฐ์ ํ์ํ๋ ๊ธฐํธ๊ฐ ๋ฌ๋ผ ๋ณดํต ๊ณต๋ฐฑ์ ์ฌ์ฉํ๋ค.
- ์ฐจ์ : ํ๋์ ๋ฆด๋ ์ด์ ์์ ์์ฑ์ ์ ์ฒด ๊ฐ์
- ์นด๋๋๋ฆฌํฐ : ํ๋์ ๋ฆด๋ ์ด์
์์ ํฌํ์ ์ ์ฒด ๊ฐ์
5.2 ๋ฆด๋ ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์ฑ
๋ฆด๋ ์ด์ ์ ๋ฆด๋ ์ด์ ์คํค๋ง์ ๋ฆด๋ ์ด์ ์ธ์คํด์ค๋ก ๊ตฌ์ฑ๋๋ค.
- ๋ฆด๋ ์ด์ ์คํค๋ง : ๋ฆด๋ ์ด์ ์ ์ด๋ฆ๊ณผ ๋ฆด๋ ์ด์ ์ ํฌํจ๋ ๋ชจ๋ ์์ฑ์ ์ด๋ฆ์ผ๋ก ์ ์ํ๋ ๋ฆด๋ ์ด์ ์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ
- ๋ฆด๋ ์ด์ ์ธ์คํด์ค : ์ด๋ ํ ์์ ์ ๋ฆด๋ ์ด์ ์ ์กด์ฌํ๋ ํฌํ๋ค์ ์งํฉ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ ๋ฆด๋ ์ด์ ์คํค๋ง์ ๋ชจ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์คํด์ค : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ๋ฆด๋ ์ด์ ์ธ์คํด์ค์ ๋ชจ์
5.3 ๋ฆด๋ ์ด์ ์ ํน์ฑ
- ํฌํ์ ์ ์ผ์ฑ : ํ๋์ ๋ฆด๋ ์ด์
์๋ ๋์ผํ ํฌํ์ด ์กด์ฌํ ์ ์๋ค.
- ๋ชจ๋ ํฌํ์๋ ๋ค๋ฅธ ํฌํ๊ณผ ๊ตฌ๋ณ๋๋ ์ ์ผํ ํน์ฑ์ด ์์ด์ผ ํ๋ค.
- ํค(key) : ํฌํ์ ์ ์ผํ๊ฒ ๊ตฌ๋ณํ๊ธฐ ์ํด ์ ์ ๋๋ ์์ฑ(๋๋ ์์ฑ๋ค์ ๋ชจ์)
- ํฌํ์ ๋ฌด์์ : ํ๋์ ๋ฆด๋ ์ด์
์๋ ํฌํ ์ฌ์ด์ ์์๋ ๋ฌด์๋ฏธํ๋ค.
- ํฌํ ์์๊ฐ ๋ฐ๋๋ค๊ณ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ด ๋ ์ ์๊ณ , ์์์ ์๊ด์์ด ํฌํ ๋ด์ฉ์ด ๊ฐ์ผ๋ฉด ๋์ผํ ๋ฆด๋ ์ด์ ์ด๋ค.
- ์์ฑ์ ๋ฌด์์ : ํ๋์ ๋ฆด๋ ์ด์
์์ ์์ฑ ์ฌ์ด์ ์์๋ ๋ฌด์๋ฏธํ๋ค.
- ์์ฑ์ ์์๊ฐ ๋ฐ๋์ด๋ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ด ๋ ์ ์๊ณ , ์์์ ์๊ด์์ด ๊ฐ์ ์์ฑ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ด์ผ ๋์ผํ ๋ฆด๋ ์ด์ ์ด๋ค.
- ์์ฑ์ ์์์ฑ : ์์ฑ ๊ฐ์ผ๋ก ์์ ๊ฐ๋ง ์ฌ์ฉํ ์ ์๋ค.
5.4 ํค ๐
ํค๋ ๋ฆด๋ ์ด์ ์์ ํฌํ๋ค์ ๊ตฌ๋ณํ๋ ์ญํ ์ ํ๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ์ด๋ค.
ํน์ฑ
- ์ ์ผ์ฑ : ํ ๋ฆด๋ ์ด์ ์์ ๋ชจ๋ ํฌํ์ ์๋ก ๋ค๋ฅธ ํค ๊ฐ์ ๊ฐ์ ธ์ผ ํจ
- ์ต์์ฑ : ๊ผญ ํ์ํ ์ต์ํ์ ์์ฑ๋ค๋ก๋ง ํค๋ฅผ ๊ตฌ์ฑํจ
์ข ๋ฅ
- ์ํผํค : ์ ์ผ์ฑ์ ๋ง์กฑํ๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ
- ์ ์ผ์ฑ : ํค๊ฐ ๊ฐ์ถ์ด์ผ ํ๋ ๊ธฐ๋ณธ ํน์ฑ์ผ๋ก, ํ๋์ ๋ฆด๋ ์ด์ ์์ ํค๋ก ์ง์ ๋ ์์ฑ ๊ฐ์ ํฌํ๋ง๋ค ๋ฌ๋ผ์ผ ํ๋ค๋ ์๋ฏธ๋ค.
- ํ๋ณดํค : ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ง์กฑํ๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ
- ์ต์์ฑ : ๊ผญ ํ์ํ ์ต์ํ์ ์์ฑ๋ค๋ก๋ง ํค๋ฅผ ๊ตฌ์ฑํ๋ ํน์ฑ์ด๋ค.
- ์ํผํค ์ค์์ ์ต์์ฑ์ ๋ง์กฑํ๋ ๊ฒ์ด ํ๋ณดํค๊ฐ ๋๋ค.
- ๊ธฐ๋ณธํค : ํ๋ณดํค ์ค์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์ ํํ ํค
- ๊ธฐ๋ณธํค๋ฅผ ์ ํํ ๋ ๊ณ ๋ คํ ๊ธฐ์ค
- ๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ ์์ฑ์ด ํฌํจ๋ ํ๋ณดํค๋ ๊ธฐ๋ณธํค๋ก ๋ถ์ ํฉํ๋ค.
- ๊ฐ์ด ์์ฃผ ๋ณ๊ฒฝ๋ ์ ์๋ ์์ฑ์ด ํฌํจ๋ ํ๋ณดํค๋ ๊ธฐ๋ณธํค๋ก ๋ถ์ ํฉํ๋ค.
- ๋จ์ํ ํ๋ณดํค๋ฅผ ๊ธฐ๋ณธํค๋ก ์ ํํ๋ค.
- ๋จ์ํ ํ๋ณดํค : ์๋ฆฟ์๊ฐ ์ ์ ์ ์๋ ๋จ์ ๋ฌธ์์ด์ธ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋๊ฑฐ๋, ๊ตฌ์ฑํ๋ ์์ฑ์ ๊ฐ์๊ฐ ์ ์ ํ๋ณดํค
- ๊ธฐ๋ณธํค๋ฅผ ์ ํํ ๋ ๊ณ ๋ คํ ๊ธฐ์ค
- ๋์ฒดํค : ๊ธฐ๋ณธํค๋ก ์ ํ๋์ง ๋ชปํ ํ๋ณดํค
- ์ธ๋ํค : ๋ค๋ฅธ ๋ฆด๋ ์ด์
์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ์์ฑ ๋๋ ์์ฑ๋ค์ ์งํฉ
- ์ธ๋ํค๊ฐ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค ์ธ์ ๋์ฒดํค๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ๋ค๋ง ์ธ๋ํค๋ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ๊ธฐ๋ณธํค๊ฐ ์๋๋ฉด ์ ์ผํ ํฌํ์ ๊ตฌ๋ณํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ธ๋ํค๋ ๋ฐ๋์ ๋ค๋ฅธ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํด์ผ ํ๋ค.
- ์ธ๋ํค๋ฅผ ๊ฐ์ง ๋ฆด๋ ์ด์ ์ '์ฐธ์กฐํ๋ ๋ฆด๋ ์ด์ '์ด๋ผ ํ๊ณ , ๊ธฐ๋ณธํค๋ฅผ ๊ฐ์ง ๋ฆด๋ ์ด์ ์ '์ฐธ์กฐ๋๋ ๋ฆด๋ ์ด์ '์ด๋ผ ํ๋ค.
- ์ธ๋ํค๊ฐ ๋๋ ์์ฑ๊ณผ ๊ธฐ๋ณธํค๊ฐ ๋๋ ์์ฑ์ ์ด๋ฆ์ ๋ฌ๋ผ๋ ๋์ง๋ง, ์ธ๋ํค ์์ฑ์ ๋๋ฉ์ธ๊ณผ ์ฐธ์กฐ๋๋ ํค๋ณธํค ์์ฑ์ ๋๋ฉ์ธ์ ๋ฐ๋์ ๊ฐ์์ผ ํ๋ค.
- ํ๋์ ๋ฆด๋ ์ด์ ์๋ ์ธ๋ํค๊ฐ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ ์ ์๋ค.
- ์ธ๋ํค๋ฅผ ๊ธฐ๋ณธํค๋ก ์ฌ์ฉํ ์ฌ์ฉํ ์๋ ์๊ณ ์ธ๋ํค๋ฅผ ํฌํจํ์ฌ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ ์๋ ์๋ค.
- ์ฐธ์กฐํ๋ ๋ฆด๋ ์ด์ ๊ณผ ์ฐธ์กฐ๋๋ ๋ฆด๋ ์ด์ ์ด ๊ฐ์ ์ ์๋ค. ์ฆ, ์ธ๋ํค ์์ ์ด ์ํ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋๋ก ์ธ๋ํค๋ฅผ ์ ์ํ ์๋ ์๋ค.
- ์ธ๋ํค๋ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ์ง๋ง ๊ธฐ๋ณธํค๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
5.5 ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์ฝ์กฐ๊ฑด
๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์์ ์ ์ํ๊ณ ์๋ ๊ธฐ๋ณธ ์ ์ฝ ์ฌํญ์ ํค์ ๊ด๋ จํ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ์ ํํ๊ณ ์ ํจํ๊ฒ ์ ์งํ๋ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํด์ผ ๋๋ค๋ ๊ท์น์ด๋ค. ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด๊ณผ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ด ์๋ค.
๐ ๋ฌด๊ฒฐ์ฑ : ๋ฐ์ดํฐ์ ๊ฒฐํจ์ด ์๋ ์ํ, ์ฆ ๋ฐ์ดํฐ๊ฐ ์ ํํ๊ณ ์ ํจํ๊ฒ ์ ์ง๋ ์ํ
- ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด : ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ์์ฑ์ ๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
- ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์ ์ฒด๋ ์ผ๋ถ๊ฐ ๋ ๊ฐ์ด ๋๋ฉด ํฌํ์ ์ ์ผ์ฑ์ ํ๋จํ ์ ์์ด ๊ธฐ๋ณธํค์ ๋ณธ๋ ๋ชฉ์ ์ ์์คํ๊ฒ ๋๋ค.
- ๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ด ์๋์ผ๋ก ์ํํ๋ฏ๋ก ์๋ก์ด ๋ฆด๋ ์ด์ ์ ์์ฑํ ๋๋ง๋ค ๊ธฐ๋ณธํค๋ฅผ ์ด๋ค ์์ฑ๋ค๋ก ๊ตฌ์ฑํ ๊ฒ์ธ์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ์๋ ค์ฃผ๋ฉด ๋๋ค.
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด : ์ธ๋ํค๋ ์ฐธ์กฐํ ์ ์๋ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.
- ์ธ๋ํค๊ฐ ์์ ์ด ์ฐธ์กฐํ๋ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค์ ์๊ด์ด ์๋ ๊ฐ์ ๊ฐ์ง๊ฒ ๋๋ฉด ๋ ๋ฆด๋ ์ด์ ์ ์ฐ๊ด์ํฌ ์ ์์ผ๋ฏ๋ก ์ธ๋ํค ๋ณธ๋์ ์๋ฏธ๊ฐ ์์ด์ง๋ค.
- ์ธ๋ํค๊ฐ ์ฐธ์กฐ ๊ฐ๋ฅํ ๊ฐ๋ง ๊ฐ์ ธ์ผ ํ์ง๋ง, ๋ ๊ฐ์ ๊ฐ์ง๋ค๊ณ ํด์ ์๋ฐํ ๊ฒ์ผ๋ก ํ๋จํด์๋ ์ ๋๋ค.
- ์ด ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ด ์๋์ผ๋ก ์ํํ๋ฏ๋ก ์๋ก์ด ๋ฆด๋ ์ด์ ์ ์์ฑํ ๋๋ง๋ค ์ด๋ค ์์ฑ๋ค์ด ์ธ๋ํค์ธ์ง, ์ด๋ค ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ์ฐธ์กฐํ๋ฉด ๋๋์ง, ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์๋ฐํ๊ฒ ๋๋ ๊ฒฝ์ฐ์ ์ํ๋ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ์๋ ค์ฃผ๋ฉด ๋๋ค.
6. ๊ด๊ณ ๋ฐ์ดํฐ ์ฐ์ฐ
6.1 ๋ฐ์ดํฐ ๋ชจ๋ธ
๋ฐ์ดํฐ ๋ชจ๋ธ = ๋ฐ์ดํฐ ๊ตฌ์กฐ + ์ ์ฝ์กฐ๊ฑด + ์ฐ์ฐ
6.2 ๊ด๊ณ ๋ฐ์ดํฐ ์ฐ์ฐ
๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์์์ ์ฐ์ฐ์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํด ๋ฆด๋ ์ด์ ์ ํ์ํ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ์ํํ๋ ๊ฒ์ผ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๊ตฌ์ฑ ์์ ์ค ๋ฐ์ดํฐ ์ธ์ด์ ์ญํ ์ ํ๋ค. ๋ํ์ ์ธ ๊ด๊ณ ๋ฐ์ดํฐ ์ฐ์ฐ์ผ๋ก ๊ด๊ณ ๋์์ ๊ด๊ณ ํด์์ด ์๋๋ฐ, ์ด ๋์ ๊ธฐ๋ฅ๊ณผ ํํ๋ ฅ ๋ชจ๋์์ ๋ฅ๋ ฅ์ด ๋๋ฑํ๋ค.
- ๊ด๊ณ ๋์ : ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์์๋๋ก ๊ธฐ์ ํ๋ ์ ์ฐจ ์ธ์ด๋ค.
- ๊ด๊ณ ํด์ : ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฒ๋ฆฌ๋ฅผ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง๋ง ๊ธฐ์ ํ๋ ๋น์ ์ฐจ ์ธ์ด๋ค.
๐ ๋ฐ์ดํฐ์ ๋ํ ์ฒ๋ฆฌ ์๊ตฌ๋ฅผ ์ผ๋ฐ์ ์ผ๋ก ์ง์(query)๋ผ ํ๋ค.
6.3 ๊ด๊ณ ๋์
๊ด๊ณ ๋์๋ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ๋ฐ์ดํฐ์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์์๋๋ก ๊ธฐ์ ํ ์ธ์ด๋ก, ๊ฐ๋จํ ๋งํด ๋ฆด๋ ์ด์ ์ ์ฒ๋ฆฌํ๋ ์ฐ์ฐ์๋ค์ ๋ชจ์์ด๋ค.
- ์ํ์ ์งํฉ ๊ด๋ จ ์ฐ์ฐ์๋ฅผ ์ฐจ์ฉํ๋ค.
- ๊ด๊ณ ๋์์ ํผ์ฐ์ฐ์์ธ ๋ฆด๋ ์ด์ ์ ์ฐ์ฐ์๋ฅผ ์ ์ฉํ ๊ฒฐ๊ณผ๋ ๋ฆด๋ ์ด์ ์ด๋ผ๋ ํ์ ํน์ฑ์ด ์๋ค.
- ๊ด๊ณ ๋์์ ์ํ๋ ๋ํ์ ์ธ ์ฐ์ฐ์ 8๊ฐ๋ ํน์ฑ์ ๋ฐ๋ผ ์ผ๋ฐ ์งํฉ ์ฐ์ฐ์์ ์์ ๊ด๊ณ ์ฐ์ฐ์๋ก ๋ถ๋ฅํ ์ ์๋ค.
6.4 ์ผ๋ฐ ์งํฉ ์ฐ์ฐ์
๋ฆด๋ ์ด์ ์ด ํฌํ์ ์งํฉ์ด๋ผ๋ ๊ฐ๋ ์ ์ด์ฉํ๋ ์ฐ์ฐ์๋ก, ๋ ๋ฆด๋ ์ด์ ์ ๋์์ผ๋ก ์ฐ์ฐ์ ์ํํ๋ค. ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ, ์นดํฐ์ ํ๋ก๋ํธ๊ฐ ์๋๋ฐ, ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ์ ํผ์ฐ์ฐ์์ธ ๋ ๋ฆด๋ ์ด์ ์ด ํฉ๋ณ ๊ฐ๋ฅํด์ผ ์ฐ์ฐ์ ์ํํ ์ ์๋ค.
- ํฉ์งํฉ(∪) : ๋ ๋ฆด๋ ์ด์ ์ ํฉ์งํฉ ํฌํ์ ๊ตฌํ๋ค.
- ๊ต์งํฉ(∩) : ๋ ๋ฆด๋ ์ด์ ์ ๊ต์งํฉ ํฌํ์ ๊ตฌํ๋ค.
- ์ฐจ์งํฉ(-) : ๋ ๋ฆด๋ ์ด์ ์ ์ฐจ์งํฉ ํฌํ์ ๊ตฌํ๋ค.
- ์นดํฐ์ ํ๋ก๋ํธ(x) : ๋ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํฌํ์ ๊ฐ๊ฐ ์ฐ๊ฒฐํ์ฌ ์์ฑ๋ ํฌํ์ ๊ตฌํ๋ค.
- ๋ ๋ฆด๋ ์ด์ ์ ์ฐจ์๊ฐ ๊ฐ๋ค. ์ฆ, ๋ ๋ฆด๋ ์ด์ ์ ์์ฑ ๊ฐ์๊ฐ ๊ฐ๋ค.
- 2๊ฐ์ ๋ฆด๋ ์ด์ ์์ ์๋ก ๋์๋๋ ์์ฑ์ ๋๋ฉ์ธ์ด ๊ฐ๋ค. ๋จ, ๋๋ฉ์ธ์ด ๊ฐ์ผ๋ฉด ์์ฑ์ ์ด๋ฆ์ ๋ฌ๋ผ๋ ๋๋ค.
6.5 ์์ ๊ด๊ณ ์ฐ์ฐ์
๋ฆด๋ ์ด์ ์ ๊ตฌ์กฐ์ ํน์ฑ์ ์ด์ฉํ๋ ์ฐ์ฐ์๋ค. ์ ๋ ํธ, ํ๋ก์ ํธ, ์กฐ์ธ, ๋๋น์ ์ด ์๋ค.
- ์ ๋ ํธ(σ) : ๋ฆด๋ ์ด์ ์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํฌํ์ ๊ตฌํ๋ค.
- ํ๋ก์ ํธ(π) : ๋ฆด๋ ์ด์ ์์ ์ฃผ์ด์ง ์์ฑ๋ค์ ๊ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋ ํฌํ์ ๊ตฌํ๋ค.
- ์กฐ์ธ(โ) : ๊ณตํต ์์ฑ์ ์ด์ฉํด ๋ ๋ฆด๋ ์ด์ ์ ํฌํ๋ค์ ์ฐ๊ฒฐํ์ฌ ์์ฑ๋ ํฌํ์ ๊ตฌํ๋ค.
- ์์ฐ ์กฐ์ธ(โ) : ๋ ๋ฆด๋ ์ด์ ์์ ์กฐ์ธ ์์ฑ ๊ฐ์ด ๊ฐ์ ํฌํ๋ผ๋ฆฌ๋ง ์ฐ๊ฒฐํ์ฌ ์์ฑ๋ ์๋ก์ด ํฌํ๋ก ๊ตฌ์ฑ๋๋ค.
- ์ธํ ์กฐ์ธ(θ-join) : ์ฃผ์ด์ง ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํฌํ์ ์ฐ๊ฒฐํ ์๋ก์ด ํฌํ๋ก ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ค.
- ๋๋น์ (÷) : ๋๋์ด์ง๋ ๋ฆด๋ ์ด์ ์์ ๋๋๋ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํฌํ๊ณผ ๊ด๋ จ์ด ์๋ ํฌํ์ ๊ตฌํ๋ค.
6.6 ํ์ฅ๋ ๊ด๊ณ ๋์ ์ฐ์ฐ์
- ์ธ๋ฏธ ์กฐ์ธ(โ) : ์กฐ์ธ ์์ฑ์ผ๋ก ํ๋ก์ ํธํ ๋ฆด๋ ์ด์ ์ ์ด์ฉํด ์กฐ์ธ(์์ฐ ์กฐ์ธ)ํ๋ค.
- ์ธ๋ถ ์กฐ์ธ(โ+) : ๊ฒฐ๊ณผ ๋ฆด๋ ์ด์ ์ ์์ฐ ์กฐ์ธ ์ฐ์ฐ์์ ์ ์ธ๋์๋ ๋ชจ๋ ํฌํ์ ํฌํจ์ํจ๋ค.
6.7 ๊ด๊ณ ํด์
์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด ์ฒ๋ฆฌ๋ฅผ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง๋ง ๊ธฐ์ ํ๋ ์ธ์ด๋ค.
- ์ํ์ ํ๋ ๋ํท ํด์์ ๊ธฐ๋ฐ์ ๋๋ค.
- ํฌํ ๊ด๊ณ ํด์๊ณผ ๋๋ฉ์ธ ๊ด๊ณ ํด์์ผ๋ก ๋ถ๋ฅ๋๋ค.
7. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด SQL
7.1 SQL
๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ ํ์ค ์ง์์ด๋ค.
- ์ฌ์ฉ์๊ฐ ์ฒ๋ฆฌ๋ฅผ ์ํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง๋ง ์ ์ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋์ง๋ฅผ ์ธ๊ธํ ํ์๊ฐ ์์ด ๋น์ ์ฐจ์ ๋ฐ์ดํฐ ์ธ์ด์ ํน์ง์ ๋ค๋ค.
- ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ์ ์์ด, ๋ฐ์ดํฐ ์กฐ์์ด, ๋ฐ์ดํฐ ์ ์ด์ด๋ก ๋๋๋ค.
- ๋ฐ์ดํฐ ์ ์์ด(DML) : ํ ์ด๋ธ์ ์์ฑํ๊ณ ๋ณ๊ฒฝ, ์ ๊ฑฐํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ๋ฐ์ดํฐ ์กฐ์์ด(DDL) : ํ ์ด๋ธ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฑฐ๋, ํ ์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์์ , ์์ , ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ๋ฐ์ดํฐ ์ ์ด์ด(DCL) : ๋ณด์์ ์ํด ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ ๋ฐ ์ฌ์ฉ ๊ถํ์ ์ฌ์ฉ์๋ณ๋ก ๋ถ์ฌํ๊ฑฐ๋ ์ทจ์ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ธ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
โจ๋ฐ์ดํฐ ์กฐ์์ด
- ์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด(procedural DML) : ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๊ณ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ป์ผ๋ ค๋ฉด ์ด๋ป๊ฒ ์ ๊ทผํด์ผ ํ๋์ง ๋ช
์ธํจ
- ๋น์ ์ฐจ์ ๋ฐ์ดํฐ ์กฐ์์ด(nonprocedural DML) : ์ฌ์ฉ์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ๋์ง๋ง ๋ช
์ธํจ- ํธ์คํธ ํ๋ก๊ทธ๋จ ์์ ์ฝ์
๋์ด ์ฌ์ฉ๋๋ DML๋ช
๋ น์ด๋ค์ ๋ฐ์ดํฐ ๋ถ์์ด(Data Sub Language)๋ผ๊ณ ํ๋ค.
๋ช ๋ น์ด์ ์ข ๋ฅ | ๋ช ๋ น์ด | ์ค๋ช |
๋ฐ์ดํฐ ์กฐ์์ด (DML : Data Manipulation Language) |
SELECT | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ฑฐ๋ ๊ฒ์ํ๊ธฐ ์ํ ๋ช ๋ น์ด๋ฅผ ๋งํ๋ ๊ฒ์ผ๋ก RETRIEVE ๋ผ๊ณ ๋ ํ๋ค. |
INSERT UPDATE DELETE |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ค์ด ์๋ ๋ฐ์ดํฐ์ ๋ณํ์ ๊ฐํ๋ ์ข ๋ฅ์ ๋ช ๋ น์ด๋ค์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด ํ ์ด๋ธ์ ์๋ก์ด ํ์ ์ง์ด๋ฃ๊ฑฐ๋, ์ํ์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์์ ํ๋ ๊ฒ๋ค์ ๋ช ๋ น์ด๋ค์ DML์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. | |
๋ฐ์ดํฐ ์ ์์ด (DDL : Data Definition Language) |
CREATE ALTER DROP RENAME |
ํ ์ด๋ธ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋ช ๋ น์ด๋ค๋ก ๊ตฌ์กฐ๋ฅผ ์์ฑ, ๋ณ๊ฒฝ, ์ญ์ ๋ฐ ์ด๋ฆ์ ๋ฐ๊พธ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ด๋ จ๋ ๋ช ๋ น์ด๋ค์ DDL์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. |
๋ฐ์ดํฐ ์ ์ด์ด (DCL : Data Control |
GRANT REVOKE |
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ๊ณ ๊ฐ์ฒด๋ค์ ์ฌ์ฉํ๋๋ก ๊ถํ์ ์ฃผ๊ณ ํ์ํ๋ ๋ช ๋ น์ด๋ฅผ DCL์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. |
ํธ๋์ญ์
์ ์ด์ด (TCL : Transaction Control Language |
COMMIT ROLLBACK |
๋ ผ๋ฆฌ์ ์ธ ์์ ์ ๋จ์๋ฅผ ๋ฌถ์ด์ DML์ ์ํด ์กฐ์๋ ๊ฒฐ๊ณผ๋ฅผ ์์ ๋จ์(ํธ๋์ญ์ ) ๋ณ๋ก ์ ์ดํ๋ ๋ช ๋ น์ด๋ฅผ ๋งํ๋ค. |
7.2 SQL์ ๋ฐ์ดํฐ ์ ์ ๊ธฐ๋ฅ
- SQL ๋ฌธ์ ์ผ๋ฐ์ ์ธ ํน์ง
- ๋ชจ๋ SQL ๋ฌธ์ ์ธ๋ฏธ์ฝ๋ก (;)์ผ๋ก ๋ฌธ์ฅ ๋์ ํ์ํ๋ค.
- SQL ๋ฌธ์ ์ฌ์ฉ๋๋
CREATE TABLE
,NOT NULL
๊ณผ ๊ฐ์ ํค์๋๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
- SQL์ ๋ฐ์ดํฐ ์ ์ ๊ธฐ๋ฅ
- ํ
์ด๋ธ ์์ฑ :
CREATE TABLE
- ํ
์ด๋ธ ๋ณ๊ฒฝ :
ALTER TABLE
- ํ
์ด๋ธ ์ญ์ :
DROP TABLE
- ํ
์ด๋ธ ์์ฑ :
1. ํ ์ด๋ธ ์์ฑ
CREATE TABLE ํ
์ด๋ธ์ด๋ฆ (
์์ฑ์ด๋ฆ ๋ฐ์ดํฐํ์
[NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ]
[PRIMARY KEY (์์ฑ ๋๋ ์์ฑ๋ฆฌ์คํธ)]
[UNIQUE KEY (์์ฑ ๋๋ ์์ฑ๋ฆฌ์คํธ)]
[FOREIGN KEY (์์ฑ ๋๋ ์์ฑ๋ฆฌ์คํธ) REFERENCES ํ
์ด๋ธ์ด๋ฆ(์์ฑ ๋๋ ์์ฑ๋ฆฌ์คํธ)
[ON DELETE ์ต์
] [ON UPDATE ์ต์
]]
[CONSTRAINT ์ด๋ฆ] [CHECK(์กฐ๊ฑด)]
);
- 1 : ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ ์์ฑ์ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ํ์ , ๊ธฐ๋ณธ์ ์ธ ์ ์ฝ ์ฌํญ์ ์ ์ํ๋ค.
- 2 : ๊ธฐ๋ณธํค๋ก ํ ์ด๋ธ์ ํ๋๋ง ์กด์ฌํ ์ ์๋ค.
- 3 : ๋์ฒดํค๋ก ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ ์ ์๋ค.
- 4 : ์ธ๋ํค๋ก ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ ์ ์๋ค.
- 5 : ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํ ์ ์ฝ์กฐ๊ฑด์ผ๋ก ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ ์กด์ฌํ ์ ์๋ค.
- []๋ก ํ์ํ ํญ๋ชฉ์ ์๋ต์ด ๊ฐ๋ฅํ๋ค.
1.1 ์์ฑ์ ์ ์
- ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ ์์ฑ์ ๋ฐ์ดํฐ ํ์ ์ ์ ํํ ํ์๋ ์์ฑ์ ๋ ๊ฐ ํ์ฉ ์ฌ๋ถ์ ๊ธฐ๋ณธ๊ฐ ํ์ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋ค.
- ํค์๋
NOT NULL
- ๋ ๊ฐ์ ํ์ฉํ์ง ์์ผ๋ ค๋ฉด ์์ฑ์ ์ ์ํ ๋ ์์ฑ์ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ํ์
๋ค์์
NOT NULL
ํค์๋๋ฅผ ํฌํจํด์ผ ํ๋ค. - ๊ธฐ๋ณธํค๋ก ์ง์ ํ ์์ฑ์ ๊ตณ์ด
NOT NULL
์ ํ๊ธฐํ์ง ์์๋ ์๋์ผ๋กNOT NULL
ํน์ฑ์ ๊ฐ๋๋ค. - ex)
๊ณ ๊ฐ์์ด๋ VARCHAR(20) NOT NULL
- ๋ ๊ฐ์ ํ์ฉํ์ง ์์ผ๋ ค๋ฉด ์์ฑ์ ์ ์ํ ๋ ์์ฑ์ ์ด๋ฆ๊ณผ ๋ฐ์ดํฐ ํ์
๋ค์์
DEFAULT
- ์์ฑ์ ๊ธฐ๋ณธ ๊ฐ์ ์ง์ ํด๋์ง ์์ผ๋ฉด ํด๋น ์์ฑ์ ๋ ๊ฐ์ด ๊ธฐ๋ณธ์ผ๋ก ์ ์ฅ๋๋ค.
DEFAULT
ํค์๋๋ฅผ ์ฌ์ฉํด ๊ธฐ๋ณธ ๊ฐ์ ๋ช ํํ ์ง์ ํด๋๋ฉด ์ด ๊ธฐ๋ณธ ๊ฐ์ด ์ ์ฅ๋๋ค.- ์ซ์ ๋ฐ์ดํฐ๋ ๊ทธ๋๋ก ํํ, ๋ฌธ์์ด์ด๋ ๋ ์ง ๋ฐ์ดํฐ๋ ์์ ๋ฐ์ดํ๋ก ๋ฌถ์ด์ฃผ์ด์ผ ํ๋ค.
์์ ๋ฐ์ดํ๋ก ๋ฌถ์ธ ๋ฌธ์์ด์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ค. - ex)
์ ๋ฆฝ๊ธ INT DEFAULT 0, ๋ด๋น์ VARCHAR(10) DEFAULT '๋ฐฉ๊ฒฝ์'
1.2 ํค์ ์ ์
CREATE TABLE
๋ฌธ์ผ๋ก ํ ์ด๋ธ์ ์ ์ํ ๋๋ ๊ธฐ๋ณธํค, ๋์ฒดํค, ์ธ๋ํค๋ฅผ ์ง์ ํ ์ ์๋ค.- ๊ธฐ๋ณธํค :
PRIMARY KEY
ํค์๋- ๋ชจ๋ ํ ์ด๋ธ์์ ๊ธฐ๋ณธํค๋ ๋ฐ๋์ ํ๋๋ง ์ง์ ํ ์ ์๊ณ , ์ฌ๋ฌ ๊ฐ์ ์์ฑ์ผ๋ก ๊ตฌ์ฑํ ์๋ ์๋ค.
- ex)
PRIMARY KEY(๊ณ ๊ฐ์์ด๋), PRIMARY KEY(์ฃผ๋ฌธ๊ณ ๊ฐ, ์ฃผ๋ฌธ์ ํ)
- ๋์ฒดํค :
UNIQUE
ํค์๋- ๋์ฒดํค๋ก ์ง์ ๋ ์์ฑ์ ๊ฐ์ ํ ์ด๋ธ์์ ์ค๋ณต๋๋ฉด ์ ๋๊ณ ์ ์ผ์ฑ์ ๊ฐ์ ธ์ผ ํ๋ค.
- ๋ ๊ฐ์ ๊ฐ์ง ์ ์๊ณ , ํ ํ ์ด๋ธ์์ ์ฌ๋ฌ ๊ฐ ์ง์ ํ ์ ์๋ค.
- ex)
UNIQUE(๊ณ ๊ฐ์ด๋ฆ)
- ์ธ๋ํค :
FOREIGN KEY
ํค์๋- ์ธ๋ํค๊ฐ ์ด๋ค ํ
์ด๋ธ์ ๋ฌด์จ ์์ฑ์ ์ฐธ์กฐํ๋์ง
REFERENCES
ํค์๋ ๋ค์์ ๋ช ํํ ์ ์ํด์ผ ํ๋ค. - ์ฐธ์กฐ๋๋ ํ
์ด๋ธ์์ ํฌํ์ ์ญ์ ํ๊ฑฐ๋ ๋ณ๊ฒฝํ ๋ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ํํ ์ ์๋ค.
CREATE TABLE
๋ฌธ์ ์์ฑํ ๋ ์ง์ ํ๋ฉด ๋๊ณ , ๊ธฐ๋ณธ ๊ฐ์ON DELETE NO ACTION
์ด๋ค.ON DELETE NO ACTION
: ํฌํ์ ์ญ์ ํ์ง ๋ชปํ๊ฒ ํ๋ค.ON DELETE CASCADE
: ๊ด๋ จ ํฌํ์ ํจ๊ป ์ญ์ ํ๋ค.ON DELETE SET NULL
: ๊ด๋ จ ํฌํ์ ์ธ๋ํค ๊ฐ์ NULL๋ก ๋ณ๊ฒฝํ๋ค.ON DELETE SET DEFAULT
: ๊ด๋ จ ํฌํ์ ์ธ๋ํค ๊ฐ์ ๋ฏธ๋ฆฌ ์ง์ ํ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ๋ค.
- ์ฐธ์กฐ๋๋ ํ
์ด๋ธ์์ ํฌํ์ด ๋ณ๊ฒฝ๋ ๋๋ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ ํํ ์ ์๋ค.
CREATE TABLE
๋ฌธ์ ์์ฑํ ๋ ์ง์ ํ๋ฉด ๋๊ณ , ๊ธฐ๋ณธ ๊ฐ์ON UPDATE NO ACTION
์ด๋ค.ON UPDATE NO ACTION
: ํฌํ์ ๋ณ๊ฒฝํ์ง ๋ชปํ๋๋ก ํ๋ค.ON UPDATE CASCADE
: ๊ด๋ จ ํฌํ์์ ์ธ๋ํค ๊ฐ์ ํจ๊ป ๋ณ๊ฒฝํ๋ค.ON UPDATE SET NULL
: ๊ด๋ จ ํฌํ์ ์ธ๋ํค ๊ฐ์NULL
๋ก ๋ณ๊ฒฝํ๋ค.ON UPDATE SET DEFAULT
: ๊ด๋ จ ํฌํ์ ์ธ๋ํค ๊ฐ์ ๋ฏธ๋ฆฌ ์ง์ ํ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ๋ค.
- ex)
FOREIGN KEY(์์๋ถ์) REFERENCES ๋ถ์(๋ถ์๋ฒํธ) ON DELETE CASCADE ON UPDATE CASCADE
- ์ธ๋ํค๊ฐ ์ด๋ค ํ
์ด๋ธ์ ๋ฌด์จ ์์ฑ์ ์ฐธ์กฐํ๋์ง
1.3 ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด์ ์ ์
CREATE TABLE
๋ฌธ์ผ๋ก ํ ์ด๋ธ์ ์ ์ํ ๋CHECK
ํค์๋๋ฅผ ์ฌ์ฉํด ํน์ ์์ฑ์ ๋ํ ์ ์ฝ์กฐ๊ฑด์ ์ง์ ํ ์ ์๋ค.- ํ ์ด๋ธ์ ์๋ก์ด ํฌํ์ ์ฝ์ ํ๊ฑฐ๋ ๊ธฐ์กด ํฌํ์ ์์ ํ ๋๋ ์ด ์ ์ฝ์กฐ๊ฑด์ ๋ฐ๋์ ์ง์ผ์ผ ํ๋ค.
CHECK
ํค์๋๋ฅผ ์ฌ์ฉํด ์ง์ ํ ์ ์ฝ์กฐ๊ฑด์CONSTRAINT
ํค์๋์ ํจ๊ป ๊ณ ์ ์ ์ด๋ฆ์ ๋ถ์ฌํ ์๋ ์๋ค.- ex)
CHECK(์ฌ๊ณ ๋>=0 AND ์ฌ๊ณ ๋<=10000), CONSTRAINT CHK_CPY CHECK(์ ์กฐ์ ์ฒด = 'ํ๋น์ ๊ณผ')
2. ํ ์ด๋ธ ๋ณ๊ฒฝ
ALTER TABLE ํ
์ด๋ธ์ด๋ฆ ADD ์์ฑ์ด๋ฆ ๋ฐ์ดํฐํ์
[NOT NULL] [DEFAULT ๊ธฐ๋ณธ๊ฐ];
ALTER TABLE ํ
์ด๋ธ์ด๋ฆ DROP COULMN ์์ฑ์ด๋ฆ;
ALTER TABLE ํ
์ด๋ธ์ด๋ฆ ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด์ด๋ฆ ์ ์ฝ์กฐ๊ฑด๋ด์ฉ;
ALTER TABLE ํ
์ด๋ธ์ด๋ฆ DROP CONSTRAINT ์ ์ฝ์กฐ๊ฑด์ด๋ฆ;
3. ํ ์ด๋ธ ์ญ์
DROP TABLE ํ
์ด๋ธ์ด๋ฆ;
7.3 SQL์ ๋ฐ์ดํฐ ์กฐ์ ๊ธฐ๋ฅ
- SQL์ ๋ฐ์ดํฐ ์กฐ์ ๊ธฐ๋ฅ
- ๋ฐ์ดํฐ ๊ฒ์ :
SELECT
- ๋ฐ์ดํฐ ์ฝ์
:
INSERT
- ๋ฐ์ดํฐ ์์ :
UPDATE
- ๋ฐ์ดํฐ ์ญ์ :
DELETE
- ๋ฐ์ดํฐ ๊ฒ์ :
1. ๋ฐ์ดํฐ ๊ฒ์
1.1 ๊ธฐ๋ณธ ๊ฒ์
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ
FROM ํ
์ด๋ธ_๋ฆฌ์คํธ;
- ๊ฒ์ ์์ฑ์ ์ด๋ฆ๊ณผ ๊ฒ์ ํ ์ด๋ธ์ ์ด๋ฆ์ ์ฝค๋ง(,)๋ก ๊ตฌ๋ถํ์ฌ ์ฐจ๋ก๋ก ๋์ดํ๋ค.
- ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ชจ๋ ์์ฑ์ ๊ฒ์ํ๋ ค๋ฉด *๋ฅผ ์ฌ์ฉํ๋ค.
SELECT
๋ฌธ์ ์ํ ๊ฒฐ๊ณผ๋ก ๋ฐํ๋๋ ๊ฒฐ๊ณผ ํ ์ด๋ธ์์๋ ๋์ผํ ํฌํ์ด ์ค๋ณต๋ ์ ์๋ค.ALL
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ์ค๋ณต ํ์ฉ,DISTINCT
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์์ ํฌํ์ ์ค๋ณต ์ ๊ฑฐAS
: ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ์ถ๋ ฅ๋๋ ์์ฑ์ ์ด๋ฆ์ ๋ณ๊ฒฝํ ๋, ์๋ต ๊ฐ๋ฅ- ex)
SELECT ์ ํ๋ช , ๋จ๊ฐ AS ๊ฐ๊ฒฉ FROM ์ ํ;
- ์ฐ์ ์์ ์ด์ฉํ ๊ฒ์
SELECT
ํค์๋์ ํจ๊ป ์ฐ์ ์์ ์ ์ํ ์ ์๋ค. ์ฐ์ ์์ ์์ฑ์ ์ด๋ฆ๊ณผ+
,-
,*
,/
๋ฑ์ ์ฐ์ ์ฐ์ฐ์, ์์๋ก ๊ตฌ์ฑํ๋ค.- ex)
SELECT ๋จ๊ฐ+500 AS "์กฐ์ ๋จ๊ฐ" FROM ์ ํ;
1.2 ์กฐ๊ฑด ๊ฒ์ - WHERE
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ
FROM ํ
์ด๋ธ_๋ฆฌ์คํธ
[ WHERE ์กฐ๊ฑด ];
WHERE ํค์๋
์ ํจ๊ป ๋น๊ต ์ฐ์ฐ์์ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๊ฒ์ ์กฐ๊ฑด์ ์ ์ํ๋ค.- ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ด์ฉํด ์ซ์๋ฟ ์๋๋ผ ๋ฌธ์๋ ๋ ์ง ๊ฐ๋ ๋น๊ต ๊ฐ๋ฅํ๋ค. (์์ ๋ฐ์ดํ๋ก ๋ฌถ์ด์ผ ํ๋ค.)
NULL
๊ฒ์IS NULL
: ๊ฒ์ ์กฐ๊ฑด์์ ํน์ ์์ฑ์ ๊ฐ์ด ๋ ๊ฐ์ธ์ง๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉํ๋ค.IS NOT NULL
: ํน์ ์์ฑ์ ๊ฐ์ด ๋ ๊ฐ์ด ์๋์ง๋ฅผ ๋น๊ตํ ๋ ์ฌ์ฉํ๋ค.
- ๋ฌธ์์ด ๋ถ๋ถ ๊ฒ์ :
LIKE
- ๊ฒ์ ์กฐ๊ฑด์ ๋ถ๋ถ์ ์ผ๋ก๋ง ์๊ณ ์๋ค๋ฉด
=
๋์LIKE
ํค์๋๋ฅผ ์ฌ์ฉํ๋ค. LIKE
ํค์๋์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ ๊ธฐํธ%
: 0๊ฐ ์ด์์ ๋ฌธ์ (๋ฌธ์์ ๋ด์ฉ๊ณผ ๊ฐ์๋ ์๊ด ์์)_
: 1๊ฐ์ ๋ฌธ์ (๋ฌธ์์ ๋ด์ฉ์ ์๊ด ์์)
- ๊ฒ์ ์กฐ๊ฑด์ ๋ถ๋ถ์ ์ผ๋ก๋ง ์๊ณ ์๋ค๋ฉด
1.3 ์ ๋ ฌ ๊ฒ์ - ASC
, DESC
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ
FROM ํ
์ด๋ธ_๋ฆฌ์คํธ
[ WHERE ์กฐ๊ฑด ]
[ ORDER BY ์์ฑ_๋ฆฌ์คํธ [ ASC | DESC ] ];
- ORDER BY ํค์๋์ ํจ๊ป ์ ๋ ฌ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ ์ง์ ํ๋ค.
- ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด๋ฉด ASC, ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ด๋ฉด DESC๋ก ํํํ๋ค. ๊ธฐ๋ณธ ๊ฐ์ ์ค๋ฆ์ฐจ์์ด๋ค.
1.4 ์ง๊ณ ํจ์๋ฅผ ์ด์ฉํ ๊ฒ์
- ํน์ ์์ฑ ๊ฐ์ ํต๊ณ์ ์ผ๋ก ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด ์ง๊ณ ํจ์๋ฅผ ์ด์ฉํ ์ ์๋ค.
- ์ง๊ณ ํจ์ ์ข
๋ฅ : ๊ฐ์(
COUNT
), ์ต๋๊ฐ(MAX
), ์ต์๊ฐ(MIN
), ํฉ๊ณ(SUM
), ํ๊ท (AVG
)SUM
,AVG
ํจ์๋ ์ซ์ ๋ฐ์ดํฐ ํ์ ์ ์์ฑ์๋ง ์ ์ฉํ ์ ์๋ค.
- ์ง๊ณ ํจ์ ์ฃผ์ ์ฌํญ
- ๋์ธ ์์ฑ ๊ฐ์ ์ ์ธํ๊ณ ๊ณ์ฐํ๋ค.
WHERE
์ ์์๋ ์ฌ์ฉํ ์ ์๊ณ ,SELECT
์ ์ด๋HAVING
์ ์์๋ง ์ฌ์ฉํ ์ ์๋ค.
- ์ง๊ณ ํจ์๋ฅผ ์ด์ฉํด ๊ณ์ฐ๋ ๊ฒฐ๊ณผ ๊ฐ์ ์ถ๋ ฅํ ๋๋
AS
ํค์๋๋ฅผ ์ฌ์ฉํด ์ ์ด๋ฆ์ ๋ถ์ฌํด์ฃผ๋ ๊ฒ์ด ์ข๋ค.
1.5 ๊ทธ๋ฃน๋ณ ๊ฒ์ - GROUP BY
, HAVING
SELECT [ ALL | DISTINCT ] ์์ฑ_๋ฆฌ์คํธ
FROM ํ
์ด๋ธ_๋ฆฌ์คํธ
[ WHERE ์กฐ๊ฑด ]
[ GROUP BY ์์ฑ_๋ฆฌ์คํธ [ HAVING ์กฐ๊ฑด ] ]
[ ORDER BY ์์ฑ_๋ฆฌ์คํธ [ ASC | DESC ] ];
- ํ ์ด๋ธ์์ ํน์ ์์ฑ์ ๊ฐ์ด ๊ฐ์ ํฌํ์ ๋ชจ์ ๊ทธ๋ฃน์ ๋ง๋ค๊ณ , ๊ทธ๋ฃน๋ณ๋ก ๊ฒ์์ ํ๊ธฐ ์ํด GROUP BY ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
GROUP BY
ํค์๋์ ํจ๊ป ๊ทธ๋ฃน์ ๋๋๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ ์ง์ ํ๋ค.- ๊ทธ๋ฃน์ ๋ํ ์กฐ๊ฑด์ ์ถ๊ฐํ๋ ค๋ฉด
HAVING
ํค์๋์ ํจ๊ป ์์ฑํ๋ค. - ๊ทธ๋ฃน๋ณ๋ก ๊ฒ์ํ ๋๋ ๊ทธ๋ฃน์ ๋๋๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ์
SELECT
์ ์๋ ์์ฑํ๋ ๊ฒ์ด ์ข๋ค. - ๊ทธ๋ฃน๋ณ๋ก ๊ฒ์ํ ๋๋ ์ง๊ณ ํจ์๋
GROUP BY
์ ์ ์๋ ์์ฑ ์ธ์ ์์ฑ์SELECT
์ ์ ์ฌ์ฉํ ์ ์๋ค.
1.6 ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ํ ์กฐ์ธ ๊ฒ์
- ์กฐ์ธ ๊ฒ์์ ํ๋ ค๋ฉด ํ ์ด๋ธ์ ์ฐ๊ฒฐํด์ฃผ๋ ์์ฑ์ด ํ์ํ๊ณ ์ด ์์ฑ์ ์กฐ์ธ ์์ฑ์ด๋ผ ํ๋ค.
- ํ ์ด๋ธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด, ์กฐ์ธ ์์ฑ์ ์ด๋ฆ์ ๋ฌ๋ผ๋ ๋๋ฉ์ธ์ ๋ฐ๋์ ๊ฐ์์ผ ํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ํ ์ด๋ธ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ธ๋ํค๋ฅผ ์กฐ์ธ ์์ฑ์ผ๋ก ์ด์ฉํ๋ค.
- ์กฐ์ธ ๊ฒ์์ ์ํ SQL ๋ฌธ์
FROM
์ ์ ๊ฒ์์ ํ์ํ ๋ชจ๋ ํ ์ด๋ธ์ ๋์ดํ๊ณ ,WHERE
์ ์๋ ์กฐ์ธ ์์ฑ์ ๊ฐ์ด ๊ฐ์์ผ ํจ์ ์๋ฏธํ๋ ์กฐ์ธ ์กฐ๊ฑด์ ์ ์ํ๋ค. - ์ฌ๋ฌ ํ ์ด๋ธ์ ์ด์ฉํ๋ ์กฐ์ธ ๊ฒ์์์ ํ ์ด๋ธ์ ์ด๋ฆ๊ณผ ์์ฑ์ ์ด๋ฆ์ . ๊ธฐํธ๋ก ์ฐ๊ฒฐํ๋ค.
- ํ
์ด๋ธ ์ด๋ฆ์ด ๊ธธ๋ฉด
AS
ํค์๋๋ฅผ ์ด์ฉํด ๋ณ๋ช ์ ๋ถ์ฌํ ์ ์๋ค. ํ ์ด๋ธ์ ๋ณ๋ช ์ ๋ถ์ฌํ๊ธฐ ์ํAS
ํค์๋๋ ์๋ตํ ์ ์๋ค.
1.7 ๋ถ์ ์ง์๋ฌธ์ ์ด์ฉํ ๊ฒ์
- ๋ค๋ฅธ
SELECT
๋ฌธ ์์ ๋ค์ด ์๋SELECT
๋ฌธ์ ๋ถ์ ์ง์๋ฌธ ๋๋ ์๋ธ ์ง์๋ฌธ์ด๋ผ ํ๊ณ , ๋ค๋ฅธSELECT
๋ฌธ์ ํฌํจํ๋SELECT
๋ฌธ์ ์์ ์ง์๋ฌธ ๋๋ ์ฃผ ์ง์๋ฌธ์ด๋ผ ํ๋ค. - ๋ถ์ ์ง์๋ฌธ์ ๊ดํธ๋ก ๋ฌถ์ด ์์ฑํ๊ณ
ORDER BY
์ ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์์ ์ง์๋ฌธ๋ณด๋ค ๋จผ์ ์ํ๋๋ค. - ๋ถ์ ์ง์๋ฌธ ์ข
๋ฅ
- ๋จ์ผ ํ ๋ถ์ ์ง์๋ฌธ : ํ๋์ ํ์ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋ ์ง์๋ฌธ
- ์ผ๋ฐ ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ๋ค์ค ํ ๋ถ์ ์ง์๋ฌธ : ํ๋ ์ด์์ ํ์ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋ ์ง์๋ฌธ
IN
,NOT IN
: ๋ถ์ ์ง์๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ ์ค ์ผ์นํ๋ ๊ฒ์ด ์์ผ๋ฉด ๊ฒ์ ์กฐ๊ฑด์ด ์ฐธ, ์์ผ๋ฉด ์ฐธEXISTS
,NOT EXISTS
: ๋ถ์ ์ง์๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ ์ค ํ๋๋ผ๋ ์กด์ฌํ๋ฉด ๊ฒ์ ์กฐ๊ฑด์ด ์ฐธ, ์กด์ฌํ์ง ์์ผ๋ฉด ์ฐธALL
: ๋ถ์ ์ง์๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ ๋ชจ๋์ ๋น๊ตํ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ด๋ฉด ๊ฒ์ ์กฐ๊ฑด์ ๋ง์กฑ
(๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ)ANY
๋๋SOME
: ๋ถ์ ์ง์๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ ์ค ํ๋๋ผ๋ ๋น๊ตํ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ด๋ฉด ๊ฒ์ ์กฐ๊ฑด์ ๋ง์กฑ (๋น๊ต ์ฐ์ฐ์์ ํจ๊ป ์ฌ์ฉ)
- ๋จ์ผ ํ ๋ถ์ ์ง์๋ฌธ : ํ๋์ ํ์ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋ ์ง์๋ฌธ
2. ๋ฐ์ดํฐ์ ์ฝ์
INSERT
๋ฌธ์ ์ด์ฉํด ํฌํ์ ์ฝ์ ํ๋ ๋ฐฉ๋ฒ- ํ ์ด๋ธ์ ํฌํ์ ์ง์ ์ฝ์ ํ๋ค.
- ๋ถ์ ์ง์๋ฌธ์ ์ด์ฉํด ํฌํ์ ์ฝ์ ํ๋ค.
2.1 ๋ฐ์ดํฐ ์ง์ ์ฝ์
INSERT
INTO ํ
์ด๋ธ_์ด๋ฆ[(์์ฑ_๋ฆฌ์คํธ)]
VALUES (์์ฑ๊ฐ_๋ฆฌ์คํธ);
INTO
์ ์์ ์์ฑ ์ด๋ฆ์ ๋ฆฌ์คํธ๋ ์๋ตํ ์ ์๋๋ฐ, ์๋ตํ ๊ฒฝ์ฐ์๋ ํ ์ด๋ธ์ ์ ์ํ ๋ ์ง์ ํ ์์ฑ์ ์์๋๋กVALUES
์ ์ ์์ฑ ๊ฐ์ด ์ฝ์ ๋๋ค.VALUES
์ ์ ๋์ด๋๋ ์์ฑ ๊ฐ์ ๋ฌธ์๋ ๋ ์ง ํ์ ์ ๋ฐ์ดํฐ์ธ ๊ฒฝ์ฐ์๋ ์์๋ฐ์ดํ๋ก ๋ฌถ์ด์ผ ํ๋ค.
2.2 ๋ถ์ ์ง์๋ฌธ์ ์ด์ฉํ ๋ฐ์ดํฐ ์ฝ์
INSERT
INTO ํ
์ด๋ธ_์ด๋ฆ[(์์ฑ_๋ฆฌ์คํธ)]
SELECT ๋ฌธ;
3. ๋ฐ์ดํฐ์ ์์
UPDATE ํ
์ด๋ธ_์ด๋ฆ
SET ์์ฑ_์ด๋ฆ1 = ๊ฐ1, ์์ฑ_์ด๋ฆ2 = ๊ฐ2, ...
[WHERE ์กฐ๊ฑด];
UPDATE
๋ฌธ์ ํ ์ด๋ธ์ ์ ์ฅ๋ ํฌํ์์ ํน์ ์์ฑ์ ๊ฐ์ ์์ ํ๋ค.SET
์ ์์ ์ง์ ํ ๋๋ก ์์ฑ ๊ฐ์ ์์ ํ๋ค.WHERE
์ ์ ์๋ตํ๋ฉด ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ชจ๋ ํฌํ์ ๋์์ผ๋ก ํ๋ค.
4. ๋ฐ์ดํฐ์ ์ญ์
DELETE
FROM ํ
์ด๋ธ_์ด๋ฆ
[WHERE ์กฐ๊ฑด];
DELETE
๋ฌธ์ WHERE ์ ์ ์ ์ํ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํฌํ๋ง ์ญ์ ํ๋ค.WHERE
์ ์ ์๋ตํ๋ฉด ํ ์ด๋ธ์ ์กด์ฌํ๋ ๋ชจ๋ ํฌํ์ ์ญ์ ํ์ฌ ๋น ํ ์ด๋ธ์ด ๋๋ค.
7.4 SQL์ ๋ฐ์ดํฐ ์ ์ด ๊ธฐ๋ฅ (DCL)
๋ณด์์ ์ํด ์ฌ์ฉ์๋ณ๋ก ๋ฐ์ดํฐ์ ๋ํ ์ ๊ทผ ๋ฐ ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ์ทจ์ํ๋ ๊ธฐ๋ฅ์ผ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
7.5 ๋ทฐ (VIEW)
๋ค๋ฅธ ํ ์ด๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ ๊ฐ์ ํ ์ด๋ธ์ด๋ค. ์ผ๋ฐ ํ ์ด๋ธ๊ณผ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ค์ ๋ก ์ ์ฅํ๊ณ ์์ง ์๋ค. ๋ฌผ๋ฆฌ์ ์ผ๋ก ์กด์ฌํ๋ฉด์ ์ค์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ผ๋ฐ ํ ์ด๋ธ๊ณผ ๋ฌ๋ฆฌ, ๋ทฐ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก๋ง ์กด์ฌํ๋ค. ๋ทฐ๋ฅผ ๋ง๋๋ ๋ฐ ๊ธฐ๋ฐ์ด ๋๋ ๋ฌผ๋ฆฌ์ ์ธ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํ ์ด๋ธ์ด๋ผ ํ๋ค.
- ๋ทฐ ์์ฑ :
CREATE VIEW
- ๋ทฐ ์ญ์ :
DROP VIEW
1. ๋ทฐ์ ์์ฑ
CREATE VIEW ๋ทฐ_์ด๋ฆ[(์์ฑ_๋ฆฌ์คํธ)]
AS SELECT ๋ฌธ
[WITH CHECK OPTION];
CREATE VIEW
๋ช ๋ น์ด์ ํจ๊ป ์๋ก ์์ฑํ ๋ทฐ์ ์ด๋ฆ์ ์ ์ํ ํ, ๋ทฐ๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ ์ด๋ฆ์ ๊ดํธ ์์ ๋์ดํ๋ค.- ์์ฑ์ ์ด๋ฆ ๋ฆฌ์คํธ๋ฅผ ์๋ตํ๋ฉด
SELECT
์ ์ ๋์ด๋ ์์ฑ์ ์ด๋ฆ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.
- ์์ฑ์ ์ด๋ฆ ๋ฆฌ์คํธ๋ฅผ ์๋ตํ๋ฉด
AS
ํค์๋์ ํจ๊ป ๊ธฐ๋ณธ ํ ์ด๋ธ์ ๋ํSELECT
๋ฌธ์ ์ ์ํ๋ค.SELECT
๋ฌธ์ ์์ฑํ๊ณ ์ ํ๋ ๋ทฐ์ ์ ์๋ฅผ ๋ด๊ณ ์์ผ๋ฉฐ,ORDER BY
๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
WITH CHECK OPTION
์ ์์ฑํ ๋ทฐ์ ์ฝ์ ์ด๋ ์์ ์ฐ์ฐ์ ํ ๋SELECT
๋ฌธ์์ ์ ์ํ ๋ทฐ์ ์ ์ ์กฐ๊ฑด์ ์๋ฐํ๋ฉด ์ํ๋์ง ์๋๋ก ํ๋ ์ ์ฝ์กฐ๊ฑด์ ์๋ฏธํ๋ค.
2. ๋ทฐ์ ํ์ฉ
INSERT
,SELECT
,UPDATE
,DELETE
๋ฌธ๋ ๋ทฐ๋ฅผ ๋์์ผ๋ก ์ํํ ์ ์๋ค. ๋ฌผ๋ก ๋ทฐ์ ๋ํ ์ฐ์ฐ๋ ๊ธฐ๋ณธ ํ ์ด๋ธ์ ์ํ๋๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ์ ์ผ๋ก๋ ๊ธฐ๋ณธ ํ ์ด๋ธ์ด ๋ณํ๋ค.- ๊ฒ์ ์ฐ์ฐ์ ๋ชจ๋ ๋ทฐ์ ์ํํ ์ ์์ง๋ง ์ฝ์ , ์์ , ์ญ์ ์ฐ์ฐ์ ํ์ฉ๋์ง ์๋ ๋ทฐ๊ฐ ์๋ค.
- ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ๋ทฐ์ ์ค์ํ ํน์ง
- ๊ณตํต์ : ๊ธฐ๋ณธ ํ ์ด๋ธ์์ ์ด๋ค ํฌํ์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํด์ผ ํ ์ง ๋ช ํํ ์ ์ํ์ง ๋ชปํ๋ ๋ทฐ๋ ๋ณ๊ฒฝ์ด ํ์ฉ๋์ง ์๋๋ค.
- ๊ธฐ๋ณธ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ด ํฌํจ๋์ด ์์ง ์์ ๋ทฐ
- ๊ธฐ๋ณธ ํ ์ด๋ธ์ ์๋ ์ ์ฉ์ด ์๋๋ผ ์ง๊ณ ํจ์๋ก ์๋ก ๊ณ์ฐ๋ ๋ด์ฉ์ ํฌํจํ๊ณ ์๋ ๋ทฐ
DISTINCT
ํค์๋๋ฅผ ํฌํจํ์ฌ ์ ์ํ ๋ทฐGROUP BY
์ ์ ํฌํจํ์ฌ ์ ์ํ ๋ทฐ- ์ฌ๋ฌ ๊ฐ์ ํ ์ด๋ธ์ ์กฐ์ธํ์ฌ ์ ์ํ ๋ทฐ
- ๋ทฐ์ ์ฅ์
- ์ง์๋ฌธ์ ์ข ๋ ์ฝ๊ฒ ์์ฑํ ์ ์๋ค.
- ๋ฐ์ดํฐ์ ๋ณด์ ์ ์ง์ ๋์์ด ๋๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ข ๋ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค.
3. ๋ทฐ์ ์ญ์
DROP VIEW ๋ทฐ_์ด๋ฆ;
- ๋ทฐ๋ฅผ ์ญ์ ํ๋๋ผ๋ ๊ธฐ๋ณธ ํ ์ด๋ธ์ ์ํฅ์ ๋ฐ์ง ์๋๋ค.
- ๋ง์ฝ ์ญ์ ํ ๋ทฐ๋ฅผ ์ฐธ์กฐํ๋ ์ ์ฝ์กฐ๊ฑด์ด ์กด์ฌํ๋ค๋ฉด ์ญ์ ๊ฐ ์ํ๋์ง ์๋๋ค.
7.6 ์ฝ์ SQL
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ์ ํ์ฌ ์ฌ์ฉํ๋ SQL๋ฌธ์ผ๋ก, ์ปค์๋ผ๋ ๋๊ตฌ๊ฐ ํ์ํ๋ค.
- ์ปค์ : ์ํ ๊ฒฐ๊ณผ๋ก ๋ฐํ๋ ํ๋ค์ ํ ๋ฒ์ ํ๋์ฉ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ
- ์ปค์๊ฐ ํ์ ์๋ ์ฝ์
SQL :
CREATE TABLE
/INSERT
/DELETE
/UPDATE
/ ํ ํ๋๋ฅผ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋SELECT
- ์ปค์๊ฐ ํ์ํ ์ฝ์
SQL : ์ฌ๋ฌ ํ์ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋
SELECT
8. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ
8.1 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ๊ณผ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ๋ ์ฌ์ฉ์์ ๋ค์ํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๋ ๊ณผ์ ์ด๋ค.
- ํ์ง ์ข์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ๊ฐํ๋ ๊ธฐ์ค
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ ๋ก ์ฌ์ฉํ๋ ๊ตฌ์ฑ์๋ค์ ์๊ตฌ ์ฌํญ์ ๋ง์กฑํ๋์ง
- ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ฉด์ ์ฌ์ฉ์๊ฐ ์ดํดํ๊ธฐ ์ฝ๊ณ ์ ๊ทผํ๊ธฐ ํธํ์ง
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๊ณํ ๋๋ E-R ๋ชจ๋ธ๊ณผ ๋ณํ ๊ท์น์ ์ด์ฉํ ์ค๊ณ์ ์ ๊ทํ๋ฅผ ์ด์ฉํ ์ค๊ณ๊ฐ ์๋ค. ๋ ๋ฐฉ๋ฒ์ ์ค๊ณ ๊ฒฐ๊ณผ๋ฌผ์ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ฐ๋ผ ์ ํํ๋ฉด ๋๋ค.
- E-R ๋ชจ๋ธ๊ณผ ๋ฆด๋ ์ด์
๋ณํ ๊ท์น์ ์ด์ฉํ ์ค๊ณ : ๋ค์ 5๋จ๊ณ๋ก ์งํ๋๋ค.
- ์ ๊ทํ๋ฅผ ์ด์ฉํ ์ค๊ณ : ์ด์ ํ์์ ์ ๊ฑฐํ๋ฉด์ ์ฌ๋ฐ๋ฅด๊ฒ ์ค๊ณํด๋๊ฐ๋ ๋ฐฉ๋ฒ์ด๋ค.
- E-R ๋ชจ๋ธ๊ณผ ๋ฆด๋ ์ด์
๋ณํ ๊ท์น์ ์ด์ฉํ ์ค๊ณ : ๋ค์ 5๋จ๊ณ๋ก ์งํ๋๋ค.
8.2 ์๊ตฌ ์ฌํญ ๋ถ์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ฌ์ฉ์์ ๋ค์ํ ์๊ตฌ ์ฌํญ์ ์์งํ๊ณ ๋ถ์ํ์ฌ, ๊ฐ๋ฐํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฉ๋๋ฅผ ํ์ ํด ์๊ตฌ ์ฌํญ ๋ช ์ธ์๋ฅผ ์์ฑํ๋ค.
๊ณผ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ฃผ์ ์ฌ์ฉ์์ ๋ฒ์๋ฅผ ๊ฒฐ์ ํ๋ค.
- ํด๋น ์ฌ์ฉ์๊ฐ ์กฐ์ง์์ ์ํํ๋ ์
๋ฌด๋ฅผ ๋ถ์ํ๋ค.
- ์ฌ์ฉ์์ ์ ๋ฌด์ ๊ด๋ จํด ํ์ํ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ด๊ณ , ๊ทธ ๋ฐ์ดํฐ์ ์ด๋ค ์ฒ๋ฆฌ๊ฐ ํ์ํ์ง ๋ฑ์ ์ด์ ์ ๋ง์ถฐ ์๊ตฌ ์ฌํญ๋ค์ ์์งํ๊ณ ๋ถ์ํด์ผ ํ๋ค.
- ์๊ตฌ ์ฌํญ์ ์์งํ๊ธฐ ์ํด ์ฌ์ฉ์๋ค๊ณผ์ ๋ฉด๋ด, ์ค๋ฌธ์ง ๋ฐฐํฌ, ์ ๋ฌด ๊ด๋ จ ๋ฌธ์์ ๋ถ์ ๋ฑ๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
- ์์ง๋ ์๊ตฌ ์ฌํญ์ ๋ค๊ฐ๋๋ก ๋ถ์ํ ๋ค ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์๊ตฌ ์ฌํญ ๋ช ์ธ์๋ก ์์ฑํ๋ค.
์)
8.3 ๊ฐ๋ ์ ์ค๊ณ
์๊ตฌ ์ฌํญ ๋ช ์ธ์๋ฅผ ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ(๊ฐ๋ ์ ์คํค๋ง)๋ก ํํํ๋ค.
โจ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ
๊ฐ๋ฐ์ ์ฌ์ฉํ DBMS์ ์ข ๋ฅ์ ๋ ๋ฆฝ์ ์ด๋ฉด์, ์ค์ํ ๋ฐ์ดํฐ ์์์ ๋ฐ์ดํฐ ์์ ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ๋ ์ฌ์ฉํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก E-R ๋ชจ๋ธ์ ๋ง์ด ์ฌ์ฉํ๋ค.
- E-R ๋ชจ๋ธ์ ์ค์ํ ๋ฐ์ดํฐ ์์์ ๋ฐ์ดํฐ ์์ ๊ฐ์ ๊ด๊ณ๋ฅผ E-R ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํํ๋ค.
- E-R ๋ชจ๋ธ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ฌ์ฉํ๋ค๋ฉด ์ฌ์ฉ์์ ์๊ตฌ ์ฌํญ์ ๋ถ์ํ ๊ฒฐ๊ณผ๋ฅผ E-R ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํํ๋ ๊ฒ์ด ๊ฐ๋ ์ ์ค๊ณ ๋จ๊ณ์์ ์ํํ๋ ์ฃผ์ ์์ ์ด๋ค.
- ๊ฐ๋ ์ ์ค๊ณ ๋จ๊ณ์์ ์๊ตฌ ์ฌํญ ๋ถ์ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์ธ ์๊ตฌ ์ฌํญ ๋ช ์ธ์๋ฅผ ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ๋ณํํ๋ ์ผ์ ๊ฐ๋ ์ ๋ชจ๋ธ๋ง์ด๋ผ ํ๋ค.
- E-R ๋ค์ด์ด๊ทธ๋จ๊ณผ ๊ฐ์ด ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ํํํ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฐ๋ ์ ๊ตฌ์กฐ ๋๋ ๊ฐ๋ ์ ์คํค๋ง๋ผ๊ณ ํ๋ค.
๊ณผ์
์๊ตฌ ์ฌํญ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ E-R ๋ชจ๋ธ์ ์ด์ฉํด ๊ฐ๋
์ ๋ชจ๋ธ๋ง์ ํ๊ธฐ ์ํด์
1. ์๊ตฌ ์ฌํญ ๋ถ์ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์์ ๊ฐ์ฒด๋ฅผ ์ถ์ถํ๊ณ , ๊ฐ ๊ฐ์ฒด์ ์ฃผ์ ์์ฑ๊ณผ ํค ์์ฑ์ ์ ๋ณํ๋ค.
- ๊ฐ์ฒด๋ ์ ์ฅํ ๋งํ ๊ฐ์น๊ฐ ์๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ง๋ ์ฌ๋์ด๋ ์ฌ๋ฌผ ๋ฑ์ด๋จ, ๊ฐ๋ ์ ๋ชจ๋ธ๋ง์ ํ๋ ๋ฐ ๊ฐ์ฅ ์ค์ํ ์์๋ค.
- ๊ฐ์ฒด์ ์์ฑ์ ์ถ์ถํ๊ณ ๋๋ฉด ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ๊ฒฐ์ ํ๋ค.
- ๊ด๊ณ๋ฅผ ์ถ์ถํ ํ์๋ ์ถ์ถํ ๊ด๊ณ์ ๋ํ ๋งคํ ์นด๋๋๋ฆฌํฐ์ ์ฐธ์ฌ ํน์ฑ์ ๊ฒฐ์ ํ๋ค.
- ๋งคํ ์นด๋๋๋ฆฌํฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ถ์ถํ ๊ด๊ณ๋ฅผ ์ผ๋์ผ(1:1), ์ผ๋๋ค(1:n), ๋ค๋๋ค(n:m) ์ค ํ๋๋ก ๋ถ๋ฅํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด๊ฐ ๊ด๊ณ์ ํ์์ ์ผ๋ก ์ฐธ์ฌํ๊ณ ์๋ ์ง ์ ํ์ ์ผ๋ก ์ฐธ์ฌํ๊ณ ์๋์ง๋ฅผ ์๋ฏธํ๋ ์ฐธ์ฌ ํน์ฑ์ ๊ฒฐ์ ํ๋ค.
- ๐ ๋งคํ ์นด๋๋๋ฆฌํฐ
๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ ๋ ๊ฐ์ฒด์์, ๊ฐ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ๊ณ ๋๊ณ๋ฅผ ๋งบ๊ณ ์๋ ์๋ ๊ฐ์ฒด์ ๊ฐ์ฒด ์ธ์คํด์ค ๊ฐ์๋ฅผ ์๋ฏธํ๋ค. - ๊ฐ์ฒด, ์์ฑ, ๊ด๊ณ๋ฅผ ์ ๋ณํ๋ ์์ ์ด ๋ชจ๋ ์๋ฃ๋๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋ฅผ E-R ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํํ๋ค.
์)
8.4 ๋ ผ๋ฆฌ์ ์ค๊ณ์ ๋ฆด๋ ์ด์ ์คํค๋ง ๋ณํ ๊ท์น
DBMS์ ๋ ๋ฆฝ์ ์ธ ๊ฐ๋ ์ ์คํค๋ง๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๊ฐ๋ฐ์ ์ฌ์ฉํ DBMS๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ง์ด ์ฌ์ฉํ๋ค.
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ค๋ฉด ๊ฐ๋ ์ ์ค๊ณ ๋จ๊ณ์์ ์์ฑํ E-R ๋ค์ด์ด๊ทธ๋จ์ ๋ฆด๋ ์ด์ (ํ ์ด๋ธ) ์คํค๋ง๋ก ๋ณํํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ์ํํ๋ ์ฃผ์ ์์ ์ด๋ค.
- ๋ ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ E-R ๋ค์ด์ด๊ทธ๋จ์ ๋ฆด๋ ์ด์ ์คํค๋ง๋ก ๋ณํํ๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง ๋๋ ๋จ์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด๋ผ ํ๋ค.
- ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ํํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ ๋๋ ๋ ผ๋ฆฌ์ ์คํค๋ง๋ผ๊ณ ํ๋ค.
๊ณผ์
๋ค์ ๋ค์ฏ ๊ฐ์ง ๋ฆด๋ ์ด์ ๋ณํ ๊ท์น์ ๋ฐ๋ผ ๊ฐ๋ ์ ์ค๊ณ๋ฅผ ๋ฆด๋ ์ด์ ์คํค๋ง(๋ ผ๋ฆฌ์ ์คํค๋ง)๋ก ๋ณํํ๋ค.
- ๊ท์น 1 : ๋ชจ๋ ๊ฐ์ฒด๋ ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ๋ค.
- ๊ฐ์ฒด์ ์ด๋ฆ์ ๋ฆด๋ ์ด์ ์ ์ด๋ฆ์ผ๋ก, ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ์ ๋ฆด๋ ์ด์ ์ ์์ฑ์ผ๋ก, ๊ฐ์ฒด์ ํค ์์ฑ์ ๋ฆด๋ ์ด์ ์ ํค๋ณธํค๋ก ๋ณํํ๋ค.
- ๋ณตํฉ ์์ฑ์ธ ๊ฒฝ์ฐ์๋ ๋ณตํฉ ์์ฑ์ ๊ตฌ์ฑํ๊ณ ์๋ ๋จ์ ์์ฑ๋ง ๋ฆด๋ ์ด์ ์ ์์ฑ์ผ๋ก ๋ณํํ๋ค.
- ๊ท์น 2 : ๋ค๋๋ค(n:m) ๊ด๊ณ๋ ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ๋ค.
- ๊ด๊ณ์ ์ด๋ฆ์ ๋ฆด๋ ์ด์ ์ ์ด๋ฆ์ผ๋ก, ๊ด๊ณ์ ์์ฑ๋ ๋ฆด๋ ์ด์ ์ ์์ฑ์ผ๋ก ๋ณํํ๋ค.
- ๋ฆด๋ ์ด์ ๋ค์ ๊ธฐ๋ณธํค๋ฅผ ๊ด๊ณ ๋ฆด๋ ์ด์ ์ ํฌํจ์ํค๊ณ ์ธ๋ํค๋ก ์ง์ ํ๊ณ , ์ด ์ธ๋ํค๋ค์ ์กฐํฉํ์ฌ ๊ด๊ณ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋ค. ํ์ํ๋ค๋ฉด ๋ณ๋์ ๊ธฐ๋ณธํค๋ฅผ ์ง์ ํ ์๋ ์๋ค.
- ๊ท์น 3 : ์ผ๋๋ค(1:n) ๊ด๊ณ๋ ์ธ๋ํค๋ก ํํํ๋ค.
- ๊ท์น 3-1 : ์ผ๋ฐ์ ์ธ ์ผ๋๋ค ๊ด๊ณ๋ ์ธ๋ํค๋ก ํํํ๋ค.
- ์ผ๋๋ค(1:n) ๊ด๊ณ์์ 1์ธก ๊ฐ์ฒด ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ๊ฐ์ ธ์ n์ธก ๊ฐ์ฒด ๋ฆด๋ ์ด์ ์ ํฌํจ์ํค๊ณ ์ธ๋ํค๋ก ์ง์ ํ๋ค.
- ๊ด๊ณ์ ์์ฑ๋ค๋ n์ธก ๊ฐ์ฒด ๋ฆด๋ ์ด์ ์ ํฌํจ์ํจ๋ค.
- ๊ท์น 3-2 : ์ฝํ ๊ฐ์ฒด๊ฐ ์ฐธ์ฌํ๋ ์ผ๋๋ค ๊ด๊ณ๋ ์ธ๋ํค๋ฅผ ํฌํจํด์ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋ค.
- ์ผ๋ฐ ๊ฐ์ฒด๋ค์ด ์ฐธ์ฌํ๋ ์ผ๋๋ค ๊ด๊ณ์ ๋ค๋ฅธ ์ ์, n์ธก ๊ฐ์ฒด ๋ฆด๋ ์ด์ ์ด ๊ฐ์ง๊ณ ์๋ ํค ์์ฑ๊ณผ ์ธ๋ํค ์์ฑ์ ์กฐํฉํ์ฌ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋ค.
- ๊ท์น 3-1 : ์ผ๋ฐ์ ์ธ ์ผ๋๋ค ๊ด๊ณ๋ ์ธ๋ํค๋ก ํํํ๋ค.
- ๊ท์น 4 : ์ผ๋์ผ(1:1) ๊ด๊ณ๋ ์ธ๋ํค๋ก ํํํ๋ค.
- ๊ท์น 4-1 : ์ผ๋ฐ์ ์ธ ์ผ๋์ผ ๊ด๊ณ๋ ์ธ๋ํค๋ฅผ ์๋ก ์ฃผ๊ณ ๋ฐ๋๋ค.
- ๋ฆด๋ ์ด์ ๋ค์ด ์๋ก์ ๊ธฐ๋ณธํค๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ด๋ฅผ ์ธ๋ํค๋ก ์ง์ ํ๋ค.
- ์ด๋, ๊ด๊ณ๊ฐ ๊ฐ์ง๋ ์์ฑ๋ค์ ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ฐ์ฒด๋ฅผ ๋ณํํ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํฌํจ์ํจ๋ค.
- ๊ท์น 4-2 : ์ผ๋์ผ ๊ด๊ณ์ ํ์์ ์ผ๋ก ์ฐธ์ฌํ๋ ๊ฐ์ฒด์ ๋ฆด๋ ์ด์
๋ง ์ธ๋ํค๋ฅผ ๋ฐ๋๋ค.
- ๊ด๊ณ์ ํ์์ ์ผ๋ก ์ฐธ์ฌํ๋ ๊ฐ์ฒด์ ํด๋นํ๋ ๋ฆด๋ ์ด์ ์ด ์ ํ์ ์ผ๋ก ์ฐธ์ฌํ๋ ๊ฐ์ฒด์ ํด๋นํ๋ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ๋ฐ์ ์ธ๋ํค๋ก ์ง์ ํ๋ค.
- ๊ด๊ณ๊ฐ ๊ฐ์ง๊ณ ์๋ ์์ฑ๋ค๋ ๊ด๊ณ์ ํ์์ ์ผ๋ก ์ฐธ์ฌํ๋ ๊ฐ์ฒด์ ํด๋นํ๋ ๋ฆด๋ ์ด์ ์ ํจ๊ป ํฌํจ์ํจ๋ค.
- ์ผ๋์ผ ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ ๊ฐ์ฒด๊ฐ ๋ชจ๋ ์ ํ์ ์ผ๋ก ์ฐธ์ฌํ๋ ๊ฒฝ์ฐ์๋ ์ธ๋ํค๋ฅผ ํฌํจ์ํฌ ๋ฆด๋ ์ด์ ์ ์์ ๋กญ๊ฒ ์ ํํ๋ฉด ๋๋ค.
- ๊ท์น 4-3 : ๋ชจ๋ ๊ฐ์ฒด๊ฐ ์ผ๋์ผ ๊ด๊ณ์ ํ์์ ์ผ๋ก ์ฐธ์ฌํ๋ฉด ๋ฆด๋ ์ด์
ํ๋๋ก ํฉ์น๋ค.
- ๊ด๊ณ์ ์ด๋ฆ์ ๋ฆด๋ ์ด์ ์ ์ด๋ฆ์ผ๋ก, ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๋ ๊ฐ์ฒด์ ์์ฑ๋ค๋ ๊ด๊ณ ๋ฆด๋ ์ด์ ์ ๋ชจ๋ ํฌํจ์ํจ๋ค.
- ๋ ๊ฐ์ฒด ๋ฆด๋ ์ด์ ์ ํค ์์ฑ์ ์กฐํฉํ์ฌ ๊ด๊ณ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ก ์ง์ ํ๋ค.
- ๊ท์น 4-1 : ์ผ๋ฐ์ ์ธ ์ผ๋์ผ ๊ด๊ณ๋ ์ธ๋ํค๋ฅผ ์๋ก ์ฃผ๊ณ ๋ฐ๋๋ค.
- ๊ท์น 5 : ๋ค์ค ๊ฐ ์์ฑ์ ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ๋ค.
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ฆด๋ ์ด์ ์์๋ ๋ค์ค ๊ฐ์ ๊ฐ์ง๋ ์์ฑ์ ํ์ฉํ์ง ์๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ค์ค ๊ฐ ์์ฑ์ ๊ทธ ์์ฑ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด์ ํด๋นํ๋ ๋ฆด๋ ์ด์ ์ด ์๋ ๋ณ๋์ ๋ฆด๋ ์ด์ ์ ๋ง๋ค์ด ํฌํจ์ํจ๋ค.
- ์๋ก ๋ง๋ค์ด์ง ๋ฆด๋ ์ด์ ์๋ ๋ค์ค ๊ฐ ์์ฑ์ผ๋ก ํํ๋ ์์ฑ๋ฟ ์๋๋ผ ๊ทธ ์์ฑ์ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ฒด์ ํด๋นํ๋ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค๋ฅผ ๊ฐ์ ธ์ ํฌํจ์ํค๊ณ ์ด๋ฅผ ์ธ๋ํค๋ก ์ง์ ํ๋ค.
- ์๋ก ๋ง๋ค์ด์ง ๋ฆด๋ ์ด์ ์ ์ด๋ฆ์ ์์ ๋กญ๊ฒ ์ ํ๊ณ , ๊ธฐ๋ณธํค๋ ๋ค์ค ๊ฐ ์์ฑ๊ณผ ์ธ๋ํค๋ฅผ ์กฐํฉํ์ฌ ์ง์ ํ๋ค.
- ๊ธฐํ ๊ณ ๋ ค์ฌํญ
- ์ผ๋์ผ, ์ผ๋๋ค ๊ด๊ณ๋ ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ ์ ์๋ค. ํนํ, ์์ฑ์ด ๋ง์ ๊ด๊ณ๋ ๊ด๊ณ ์ ํ์ ์๊ด์์ด ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์๋ค. ํ์ง๋ง ์ต๋ํ ์ง์ํด์ผ ํ๋ค.
- ํ์ง๋ง ๊ทธ๋ด ๊ฒฝ์ฐ ์์ฑ๋๋ ๋ฆด๋ ์ด์ ์ ๊ฐ์๊ฐ ๋ง์์ ธ DBMS์ ๋ถ๋ด์ด ์ปค์ง๊ฒ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ฆด๋ ์ด์ ์ ๊ฐ์๊ฐ ๋ถํ์ํ๊ฒ ๋์ด๋์ง ์๋๋ก ์ผ๋์ผ์ด๋ ์ผ๋๋ค ๊ด๊ณ๋ ๋ฆด๋ ์ด์ ์ผ๋ก ๋ณํํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
- ๊ฐ์ฒด๊ฐ ์๊ธฐ ์์ ๊ณผ ๊ด๊ณ๋ฅผ ๋งบ๋ ์ํ ๊ด๊ณ๋ ๊ธฐ๋ณธ ๊ท์น์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด ๋๋ค.
- ์ผ๋์ผ, ์ผ๋๋ค ๊ด๊ณ๋ ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ ์ ์๋ค. ํนํ, ์์ฑ์ด ๋ง์ ๊ด๊ณ๋ ๊ด๊ณ ์ ํ์ ์๊ด์์ด ๋ฆด๋ ์ด์
์ผ๋ก ๋ณํํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์๋ค. ํ์ง๋ง ์ต๋ํ ์ง์ํด์ผ ํ๋ค.
์)
8.5 ๋ฌผ๋ฆฌ์ ์ค๊ณ์ ๊ตฌํ
๋ฌผ๋ฆฌ์ ์ค๊ณ
ํ๋์จ์ด๋ ์ด์์ฒด์ ์ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ํ์ํ ์ธ๋ฑ์ค ๊ตฌ์กฐ๋ ๋ด๋ถ ์ ์ฅ ๊ตฌ์กฐ ๋ฑ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ค.
- ๋
ผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ์์ฑ๋ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์ฅ ์ฅ์น์ ์ค์ ๋ก ์ ์ฅํ๊ธฐ ์ํ ๋ด๋ถ ์ ์ฅ ๊ตฌ์กฐ์ ์ ๊ทผ ๊ฒฝ๋ก ๋ฑ์ ์๋ฏธํ๋ค.
- ๋ฌผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์๋ ์ ์ฅ ์ฅ์น์ ์ ํฉํ ์ ์ฅ ๋ ์ฝ๋์ ์ธ๋ฑ์ค์ ๊ตฌ์กฐ ๋ฑ์ ์ค๊ณํ๊ณ , ์ ์ฅ๋ ๋ฐ์ดํฐ ์ธ๋ฑ์ค์ ๋น ๋ฅด๊ฒ ์ ๊ทผํ๊ฒ ํ ์ ์๋ ํ์ ๊ธฐ๋ฒ ๋ฑ์ ์ ์ํ๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ ๋ก ๊ตฌ์ถํ ์ปดํจํฐ ์์คํ ์ ์ ์ฅ ์ฅ์น์ ์ด์์ฒด์ ์ ํน์ฑ์ ๊ณ ๋ คํ์ฌ, ํจ์จ์ ์ธ ์ฑ๋ฅ์ ์ง์ํ๋ฉด์๋ ์ฌ์ฉํ DBMS๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๊ฒ์ด ๋ฌผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์ ์ํํ๋ ์ฃผ์ ์์ ์ด๋ค.
- ๋ฌผ๋ฆฌ์ ์ค๊ณ ๋จ๊ณ์์๋ ์๋ต ์๊ฐ์ ์ต์ํํ๊ณ ์ ์ฅ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ํ์ฉํ๋ฉด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํฅ์์ํฌ ์ ์๋๋ก ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํด์ผ ํ๋ค.
- ๋ฌผ๋ฆฌ์ ์ค๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์ธ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ด๋ถ ์คํค๋ง ๋๋ ๋ฌผ๋ฆฌ์ ์คํค๋ง๋ผ๊ณ ํ๋ค.
๊ตฌํ
SQL ๋ฌธ์ ์์ฑํญ ํ ์ด๋ฅผ DBMS์์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๋ค.
- ์ด์ ์ค๊ณ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์ ๊ธฐ๋ฐ์ผ๋ก DBMS์์ SQL๋ก ์์ฑํ ๋ช
๋ น๋ฌธ์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ ๋ก ์์ฑํ๋ค.
- ์ด๋ ์ฌ์ฉ๋๋ SQL ๋ฌธ์ ํ ์ด๋ธ์ด๋ ์ธ๋ฑ์ค ๋ฑ์ ์์ฑํ ๋ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ์ ์์ด(DDL)์ด๋ค.
์)
9. ์ ๊ทํ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๋ชป ์ค๊ณํ๋ฉด ๋ถํ์ํ ๋ฐ์ดํฐ ์ค๋ณต์ด ๋ฐ์ํ์ฌ ๋ฆด๋ ์ด์ ์ ๋ํ ๋ฐ์ดํฐ์ ์ฝ์ , ์์ , ์ญ์ ์ฐ์ฐ์ ์ํํ ๋ ๋ถ์์ฉ์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋ฌํ ๋ถ์์ฉ์ ์ด์ ํ์์ด๋ผ ํ๋๋ฐ, ์ด์ ํ์์ด๋ผ ํ๋ค.
9.1 ์ด์ ํ์์ ๊ฐ๋
- ๋ถํ์ํ ๋ฐ์ดํฐ ์ค๋ณต์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ถ์์ฉ๋ค์ด๋ค.
- ํจ์ ์ข ์ ๊ด๊ณ ์ฌ๋ฌ ๊ฐ๋ฅผ ํ๋์ ๋ฆด๋ ์ด์ ์ ํํํ๋ ๊ฒฝ์ฐ์ ์ฃผ๋ก ๋ฐ์ํ๋ค.
9.2 ์ด์ ํ์์ ์ข ๋ฅ
- ์ฝ์ ์ด์ : ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ธฐ ์ํด ๋ถํ์ํ ๋ฐ์ดํฐ๋ ํจ๊ป ์ฝ์ ํด์ผ ํ๋ ๋ฌธ์ ๋ค.
- ๊ฐฑ์ ์ด์ : ์ค๋ณต๋ ํฌํ ์ค ์ผ๋ถ ํฌํ๋ง ๋ณ๊ฒฝํ์ฌ ๋ฐ์ดํฐ๊ฐ ๋ถ์ผ์นํ๊ฒ ๋๋ ๋ชจ์์ ๋ฌธ์ ๋ค.
- ์ญ์ ์ด์ : ํฌํ ์ญ์ ์ ๊ผญ ํ์ํ ๋ฐ์ดํฐ๊น์ง ํจ๊ป ์ญ์ ๋๋ ๋ฐ์ดํฐ ์์ค์ ๋ฌธ์ ๋ค.
โจ์ ๊ทํ์ ํ์์ฑ
์ ๊ทํ๋ ์ด์ ํ์์ด ๋ฐ์ํ์ง ์๋๋ก, ๋ฆด๋ ์ด์ ์ ๊ด๋ จ์ด ์๋ ์์ฑ๋ค๋ก๋ง ๊ตฌ์ฑํ๊ธฐ ์ํด ๋ฆด๋ ์ด์ ์ ๋ถํดํ๋ ๊ณผ์ ์ด๋ค. ์ ๊ทํ ๊ณผ์ ์์ ๊ณ ๋ คํด์ผ ํ๋ ์์ฑ๋ค ๊ฐ์ ๊ด๋ จ์ฑ์ ํจ์์ ์ข ์์ฑ์ด๋ผ๊ณ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ฆด๋ ์ด์ ์ ํจ์์ ์ข ์์ฑ์ด ํ๋ ์กด์ฌํ๋๋ก ์ ๊ทํ๋ฅผ ํตํด ๋ฆด๋ ์ด์ ์ ๋ถํดํ๋ค.
9.3 ํจ์ ์ข ์
- ํ๋์ ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ฑ๋ค์ ๋ถ๋ถ ์งํฉ์ X์ Y๋ผ ํ ๋, ์ด๋ ์์ ์์๋ ๋ฆด๋ ์ด์ ๋ด์ ๋ชจ๋ ํฌํ์์ ํ๋์ X ๊ฐ์ ๋ํ Y ๊ฐ์ด ํญ์ ํ๋๋ฉด "X๊ฐ Y๋ฅผ ํจ์์ ์ผ๋ก ๊ฒฐ์ ํ๋ค." ๋๋ "Y๊ฐ X์ ํจ์์ ์ผ๋ก ์ข ์๋์ด ์๋ค."๋ผ๊ณ ํ๋ค.
- ํจ์ ์ข ์ ๊ด๊ณ๋ X -> Y๋ก ํํํ๋ค.(X๋ ๊ฒฐ์ ์, Y๋ ์ข ์์)
9.4 ํจ์ ์ข ์ ๋ค์ด์ด๊ทธ๋จ
๋ฆด๋ ์ด์ ํ๋๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ๊ฐ์ ํจ์ ์ข ์ ๊ด๊ณ๋ฅผ ๋์ํํ์ฌ ํํํ ๊ฒ์ด๋ค.
ํจ์ ์ข ์์ ํน์ง
- ํจ์ ์ข ์ ๊ด๊ณ๋ฅผ ํ๋จํ ๋, ๋ฆด๋ ์ด์ ์์ ์์ฑ ๊ฐ์ ๊ณ์ ๋ณํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ฑ ์์ฒด๊ฐ ๊ฐ์ง๊ณ ์๋ ํน์ฑ๊ณผ ์๋ฏธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋จํด์ผ ํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ํฌํ์ ์ ์ผํ๊ฒ ๊ตฌ๋ณํ๋ ๊ธฐ๋ณธํค์ ํ๋ณดํค๋ ๊ทธ ํน์ฑ ๋๋ฌธ์ ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ๋ค๋ฅธ ๋ชจ๋ ์์ฑ๋ค์ ํจ์์ ์ผ๋ก ๊ฒฐ์ ํ๋ค. ํ์ง๋ง ๊ธฐ๋ณธํค๋ ํ๋ณดํค๊ฐ ์๋๋๋ผ๋ ํจ์ ์ข ์ ๊ด๊ณ์์ ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ๋ ์ ์๋ค.
- ์ข
์์ ์ข
๋ฅ
- ์์ ํจ์ ์ข ์ : ๋ฆด๋ ์ด์ ์์ ์์ฑ ์งํฉ Y๊ฐ ์์ฑ ์งํฉ X์ ํจ์์ ์ผ๋ก ์ข ์๋์ด ์์ง๋ง, ์์ฑ ์งํฉ X ์ ์ฒด์ ์ข ์๋ ๊ฒ์ด์ง ์ผ๋ถ๋ถ์ ์ข ์๋ ๊ฒ์ด ์๋์ ์๋ฏธํ๋ค.
- ๋ถ๋ถ ํจ์ ์ข ์ : ์์ฑ ์งํฉ Y๊ฐ ์์ฑ ์งํฉ X์ ์ ์ฒด๊ฐ ์๋ ์ผ๋ถ๋ถ์๋ ํจ์์ ์ผ๋ก ์ข ์๋จ์ ์๋ฏธํ๋ฏ๋ก, ๋ถ๋ถ ํจ์ ์ข ์ ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๋ ค๋ฉด ๊ฒฐ์ ์๊ฐ ์ฌ๋ฌ ๊ฐ์ ์์ฑ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ด์ผ ํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ํจ์ ์ข ์์ด๋ผ๊ณ ํ๋ฉด ์์ ํจ์ ์ข ์์ ์๋ฏธํ๋ค.
9.5 ์ ๊ทํ
์ ๊ทํ๋ ํจ์ ์ข ์์ฑ์ ์ด์ฉํ์ฌ ๋ฆด๋ ์ด์ ์ ์ฐ๊ด์ฑ์ด ์๋ ์์ฑ๋ค๋ก๋ง ๊ตฌ์ฑ๋๋๋ก ๋ถํดํด์, ์ด์ ํ์์ด ๋ฐ์ํ์ง ์๋ ์ฌ๋ฐ๋ฅธ ๋ฆด๋ ์ด์ ์ผ๋ก ๋ง๋ค์ด๋๊ฐ๋ ๊ณผ์ ์ด๋ค.
9.6 ์ ๊ทํ
์ ๊ทํ์ ๋ฆด๋ ์ด์ ์ด ์ ๊ทํ๋ ์ ๋๋ฅผ ๋ํ๋ด๋ ๊ธฐ์ค์ด๋ค.
- ์ ๊ทํ์ ์ข
๋ฅ
๋ค์๊ณผ ๊ฐ์ 4๊ฐ์ง ๊ธฐ๋ณธ ์ ๊ทํ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
- ์ 1์ ๊ทํ : ๋ฆด๋ ์ด์ ์ ์ํ ๋ชจ๋ ์์ฑ์ ๋๋ฉ์ธ์ด ์์ ๊ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ 2์ ๊ทํ : ๋ฆด๋ ์ด์
์ด ์ 1์ ๊ทํ์ ์ํ๊ณ , ๊ธฐ๋ณธํค๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ์์ ํจ์ ์ข
์๋์ด ์๋ค.
- ์ ๊ทํ ๊ณผ์ ์์ ์ํ๋๋ ๋ฆด๋ ์ด์ ์ ๋ถํด๋ ๋ฌด์์ค ๋ถํด์ฌ์ผ ํ๋ค.
- ์์ฐ ์กฐ์ธ์ ํ๋ฉด ์๋์ ๋ฆด๋ ์ด์ ์ผ๋ก ๋ค์ ๋ณต์ํ ์ ์๋๋ก, ์ ๋ณด์ ์์ค ์์ด ๋ฆด๋ ์ด์ ์ ๋ถํดํ๋ ๊ฒ์ ๋ฌด์์ค ๋ถํด๋ผ๊ณ ํ๋ค.
- ์ 3์ ๊ทํ : ๋ฆด๋ ์ด์
์ด ์ 2์ ๊ทํ์ ์ํ๊ณ , ๊ธฐ๋ณธํค๊ฐ ์๋ ๋ชจ๋ ์์ฑ์ด ๊ธฐ๋ณธํค์ ์ดํ์ ์ผ๋ก ํจ์ ์ข
์๋์ง ์์๋ค.
- ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ 3๊ฐ์ ์์ฑ ์งํฉ X, Y, Z์ ๋ํด ํจ์ ์ข ์ ๊ด๊ณ X -> Y์ Y -> Z๊ฐ ์กด์ฌํ๋ฉด ๋ ผ๋ฆฌ์ ์ผ๋ก X -> Z๊ฐ ์ฑ๋ฆฝํ๋ค. ์ด๋ ์์ฑ ์งํฉ Z๊ฐ ์์ฑ ์งํฉ X์ ์ดํ์ ์ผ๋ก ํจ์ ์ข ์๋์๋ค๊ณ ํ๋ค.
- ๋ณด์ด์ค/์ฝ๋ ์ ๊ทํ : ๋ฆด๋ ์ด์ ์ ํจ์ ์ข ์ ๊ด๊ณ์์ ๋ชจ๋ ๊ฒฐ์ ์๊ฐ ํ๋ณดํค๋ค.
- ์ 4์ ๊ทํ : ๋ฆด๋ ์ด์ ์ด ๋ณด์ด์ค/์ฝ๋ ์ ๊ทํ์ ๋ง์กฑํ๋ฉด์, ํจ์ ์ข ์์ด ์๋ ๋ค์น ์ข ์์ ์ ๊ฑฐํด์ผ ํ๋ค.
- ์ 5์ ๊ทํ : ๋ฆด๋ ์ด์ ์ด ์ 4์ ๊ทํ์ ๋ง์กฑํ๋ฉด์ ํ๋ณดํค๋ฅผ ํตํ์ง ์๋ ์กฐ์ธ ์ข ์์ ์ ๊ฑฐํด์ผ ํ๋ค.
10. ํ๋ณต๊ณผ ๋ณํ ์ ์ด
10.1 ํธ๋์ญ์ ์ ๊ฐ๋
ํธ๋์ญ์
์ ํ๋์ ์์
์ ์ํํ๊ธฐ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ์ฐ๋ค์ ๋ชจ์๋์ ๊ฒ์ผ๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ๋
ผ๋ฆฌ์ ์ธ ์์
์ ๋จ์๋ค.
ํธ๋์ญ์
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต๊ตฌํ๋ ์์
์ ๋จ์๋ ๋๋ค.
10.2 ํธ๋์ญ์ ์ ํน์ฑ
ํธ๋์ญ์ ์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋๋ ค๋ฉด ๋ค ๊ฐ์ง ํน์ฑ์ ๊ผญ ๋ง์กฑํด์ผ ํ๋ค.
- ์์์ฑ(Actomicity) : ํธ๋์ญ์ ์ ์ฐ์ฐ์ด ๋ชจ๋ ์ ์์ ์ผ๋ก ์ํ๋๊ฑฐ๋ ํ๋๋ ์ํ๋์ง ์์์ผ ํ๋ค.
- ์ผ๊ด์ฑ(Consistency) : ํธ๋์ญ์ ์ด ์ํ๋ ํ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ผ๊ด๋ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ค.
- ๊ฒฉ๋ฆฌ์ฑ(Isolation) : ์ํ ์ค์ธ ํธ๋์ญ์ ์ด ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ํธ๋์ญ์ ๋ค์ด ์ค๊ฐ ์ฐ์ฐ ๊ฒฐ๊ณผ์ ์ ๊ทผํ ์ ์๋ค.
- ์ง์์ฑ(Durability) : ํธ๋์ญ์ ์ ์ํ์ด ์๋ฃ๋ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ ๊ฒฐ๊ณผ๋ ์๊ตฌ์ ์ด์ด์ผ ํ๋ค.
ํธ๋์ญ์ ์ ํน์ฑ์ ์ง์ํ๋ DBMS์ ๊ธฐ๋ฅ
10.3 ํธ๋์ญ์ ์ ์ฐ์ฐ
- commit ์ฐ์ฐ : ํธ๋์ญ์
์ด ์ฑ๊ณต์ ์ผ๋ก ์ํ๋์์์ ์ ์ธ(์์
์๋ฃ)
- ํธ๋์ญ์ ์ ๊ตฌ์ฑํ๋ ๋ชจ๋ ์ฐ์ฐ์ด ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉด commit ์ฐ์ฐ์ ์คํ์ ํตํด ํธ๋์ญ์ ์ ์ํ์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์์์ ์ ์ธํ๊ณ ํธ๋์ญ์ ์ด ์ํํ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ๋ค.
- commit ์ฐ์ฐ์ด ์คํ๋ ํ์ ํธ๋์ญ์ ์ ์ํ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ผ๊ด๋ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ์ ์งํ๊ฒ ๋๋ค.
- rollback ์ฐ์ฐ : ํธ๋์ญ์
์ ์ํํ๋ ๋ฐ ์คํจํ์์ ์ ์ธ(์์
์ทจ์)
- ํธ๋์ญ์ ์ด ์ํ๋๋ ๋์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํ์ฌ ์ผ๋ถ ์ฐ์ฐ์ด ์ฒ๋ฆฌ๋์ง ๋ชปํ ์ํฉ์์๋ rollback ์ฐ์ฐ์ ์คํํ์ฌ ํธ๋์ญ์ ์ ์ํ์ด ์คํจํ์์ ์ ์ธํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํธ๋์ญ์ ์ํ ์ ์ ์ผ๊ด๋ ์ํ๋ก ๋๋๋ฆฐ๋ค.
- rollback ์ฐ์ฐ์ด ์คํ๋๋ฉด ํธ๋์ญ์ ์ด ์ง๊ธ๊น์ง ์คํํ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๊ฐ ์ทจ์๋๊ณ ํธ๋์ญ์ ์ด ์ํ๋๊ธฐ ์ ์ ์ํ๋ก ๋์๊ฐ๋ค.
10.4 ํธ๋์ญ์ ์ ์ํ
- ํ๋ ์ํ : ํธ๋์ญ์
์ด ์ํ์ ์์ํ์ฌ ํ์ฌ ์ํ ์ค์ธ ์ํ๋ค.
- ํ๋ ์ํ์ธ ํธ๋์ญ์ ์ ์ํฉ์ ๋ฐ๋ผ ๋ถ๋ถ ์๋ฃ ์ํ๋ ์คํจ ์ํ๊ฐ ๋๋ค.
- ๋ถ๋ถ ์๋ฃ ์ํ : ํธ๋์ญ์
์ ๋ง์ง๋ง ์ฐ์ฐ์ด ์คํ์ ๋๋ธ ์งํ์ ์ํ๋ค.
- ํธ๋์ญ์ ์ ๋ชจ๋ ์ฐ์ฐ์ ์ฒ๋ฆฌ๊ฐ ๋๋ฌ์ง๋ง ํธ๋์ญ์ ์ด ์ํ๋ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์ง ๋ฐ์ํ์ง ์์ ์ํ๋ค.
- ๋ถ๋ถ ์๋ฃ ์ํ์ ํธ๋์ญ์ ์ ์ํฉ์ ๋ฐ๋ผ ์ค๋๋ฃ ์ํ๋ ์คํจ ์ํ๊ฐ ๋ ์ ์๋ค.
- ์๋ฃ ์ํ : ํธ๋์ญ์
์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋์ด commit ์ฐ์ฐ์ ์คํํ ์ํ๋ค.
- ํธ๋์ญ์ ์ด ์๋ฃ ์ํ๊ฐ ๋๋ฉด ํธ๋์ญ์ ์ด ์ํํ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋ก์ด ์ผ๊ด๋ ์ํ๊ฐ ๋๋ฉด์ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋๋ค.
- ์คํจ ์ํ : ์ฅ์ ๊ฐ ๋ฐ์ํ์ฌ ํธ๋์ญ์ ์ ์ํ์ด ์ค๋จ๋ ์ํ๋ค.
- ์ฒ ํ ์ํ : ํธ๋์ญ์
์ ์ํ ์คํจ๋ก rollback ์ฐ์ฐ์ ์คํํ ์ํ๋ค.
- ํธ๋์ญ์ ์ด ์ฒ ํ ์ํ๊ฐ ๋๋ฉด ์ง๊ธ๊น์ง ์คํํ ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ชจ๋ ์ทจ์ํ๊ณ ํธ๋์ญ์ ์ด ์ํ๋๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋๋๋ฆฌ๋ฉด์ ํธ๋์ญ์ ์ด ์ข ๋ฃ๋๋ค.
- ์ฒ ํ ์ํ๋ก ์ข
๋ฃ๋ ํธ๋์ญ์
์ ์ํฉ์ ๋ฐ๋ผ ๋ค์ ์ํ๋๊ฑฐ๋ ํ๊ธฐ๋๋ค.
- ๋ค์ ์ํ : ํธ๋์ญ์ ์ ๋ด๋ถ ๋ฌธ์ ๊ฐ ์๋, ํ๋์จ์ด ์ด์์ด๋ ์ํํธ์จ์ด์ ์ค๋ฅ๋ก ํธ๋์ญ์ ์ ์ํ์ด ์ค๋จ๋๊ณ ์ฒ ํ ์ํ๊ฐ ๋ ๊ฒฝ์ฐ
- ํ๊ธฐ : ํธ๋์ญ์ ์ด ์ฒ๋ฆฌํ๋ ค๋ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ์ง ์๊ฑฐ๋ ํธ๋์ญ์ ์ ๋ ผ๋ฆฌ์ ์ธ ์ค๋ฅ๊ฐ ์์ธ์ธ ๊ฒฝ์ฐ
์ ์ฒด ๊ณผ์
- ํธ๋์ญ์ ์ด ์ํ๋๊ธฐ ์์ํ๋ฉด ํ๋ ์ํ๊ฐ ๋๋ค.
- ํ๋ ์ํ์ ํธ๋์ญ์ ์ด ๋ง์ง๋ง ์ฐ์ฐ์ ์ฒ๋ฆฌํ๊ณ ๋๋ฉด ๋ถ๋ถ ์๋ฃ ์ํ๊ฐ ๋๋ค.
- ๋ถ๋ถ ์๋ฃ ์ํ์ ํธ๋์ญ์ ์ด commit ์ฐ์ฐ์ ์คํํ๋ฉด ์๋ฃ ์ํ๊ฐ ๋๋ค.
- ํ๋ ์ํ๋ ๋ถ๋ถ ์๋ฃ ์ํ์์ ์ฌ๋ฌ ์์ธ์ผ๋ก ์ธํด ๋๋ ์ ์์ ์ธ ์ํ์ด ๋ถ๊ฐ๋ฅํ๊ฒ ๋๋ฉด ํธ๋์ญ์ ์ ์คํจ ์ํ๊ฐ ๋๋ค.
- ์คํจ ์ํ์ ํธ๋์ญ์ ์ rollback ์ฐ์ฐ์ ์คํ์ผ๋ก ์ฒ ํ ์ํ๊ฐ ๋๋ค.
- ํธ๋์ญ์ ์ด ์๋ฃ ์ํ์ด๊ฑฐ๋ ์ฒ ํ ์ํ๊ฐ ๋๋ฉด ํธ๋์ญ์ ์ด ์ข ๋ฃ๋ ๊ฒ์ผ๋ก ํ๋จํ๋ค.
11. ๋ณด์๊ณผ ๊ถํ ๊ด๋ฆฌ
11.1 ๋ณด์
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ์กฐ์ง์ ์ด์ํ๋ ๋ฐ ๊ผญ ํ์ํ ๊ฒ์ผ๋ก, ์กฐ์ง ๋ด ์ฌ์ฉ์๋ค์ด ๊ณต์ ํ์ฌ ์ฌ์ฉํ๋ค. ๋ง์ฝ ์ฌ์ฉ์ด ํ๋ฝ๋์ง ์์ ์ธ๋ถ์ธ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์นจ์ ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ถํ๊ฑฐ๋ ์์ํ๋ค๋ฉด ์กฐ์ง์ ์น๋ช ์ ์ธ ์์ค์ด ๋ฐ์ํ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์กฐ์ง์์ ํ๊ฐํ ์ฌ์ฉ์๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ์ ์๋๋ก ํต์ ํ์ฌ ์ ์งํ๋ ์ผ์ด ์ค์ํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณด์์ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
- ๋ฌผ๋ฆฌ์ ํ๊ฒฝ์ ๋ํ ๋ณด์ : ์์ฐ ์ฌํด ๋ฑ์ผ๋ก ๋ถํฐ ๋ณดํธ
- ๊ถํ ๊ด๋ฆฌ๋ฅผ ํตํ ๋ณด์ : ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ณดํธ
- ์ด์ ๊ด๋ฆฌ๋ฅผ ํตํ ๋ณด์ : ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ณดํธ, ํ๊ฐ๋ ์ฌ์ฉ์์ ์ค์๋ก ๋ถํฐ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง ๋ฐ ์ ์ฝ์กฐ๊ฑด ์ ์
11.2 ๊ถํ ๊ด๋ฆฌ
1. ๊ถํ ๊ด๋ฆฌ์ ๊ฐ๋
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณด์์ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ ๋๋ง ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ์ ๊ทผ ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์๋ก์ด ์ฌ์ฉ์์ ๊ณ์ ๊ณผ ์ํธ๋ฅผ ์์ฑํ๊ณ , ๊ธฐ์กด ์ฌ์ฉ์์ ๊ณ์ ์ ๋ณ๊ฒฝ ๋ฐ ์ ๊ฑฐํ๋ ์ฌ์ฉ์ ๊ณ์ ๊ด๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ด๋นํ๋ฉฐ ๋ฐ์ด์ด๋ฒ ์ด์ค ๊ด๋ฆฌ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด์ ๋ณด์์ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ค. ๋ก๊ทธ์ธ์ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ์ ์๋๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ์๋๋ฉฐ ๋ณด์์ ์ํ ๋ฐ์ดํฐ ๋จ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๋ถํฐ ํน์ ํ ์ด๋ธ์ ํน์ ํ๊ณผ ์ด ์์น์ ์๋ ํน์ ๋ฐ์ดํฐ ๊ฐ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ์์ ์๋ ํ์์ ๋ฐ๋ผ ์์ ์ด ์์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ๋ํ ์ฌ์ฉ ๊ถํ์ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ SQL ๋ฌธ์ ์ด์ฉํ์ฌ ๋ถ์ฌํ ์ ์๋ค.
2. ๊ถํ์ ๋ถ์ฌ
GRANT ๊ถํ ON ๊ฐ์ฒด TO ์ฌ์ฉ์ [WITH GRANT OPTION];
๊ฐ์ฒด์ ์์ ์๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๊ฐ์ฒด์ ๋ํ ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํด ํ์ํ SQL ๋ช ๋ น์ด๋ GRANT์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ๋ชจ๋ ์ ํ์ ๊ฐ์ฒด์ ์ฌ์ฉ ๊ถํ์ ๋ถ์ฌํ ์ ์์ง๋ง ๋๋ถ๋ถ ํ ์ด๋ธ์ ๊ถํ ๋ถ์ฌํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. GRANT ๋ช ๋ น์ด๋ก ๋ถ์ฌ๋ฐ์ ๊ถํ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ ์ ์์ง๋ง WITH GRANT OPTION์ ํฌํจํ๋ฉด ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์ฌ์ฉ์๊ฐ ์์ ์ด ๋ถ์ฌ๋ฐ์ ๊ถํ์ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ๋ ๋ถ์ฌํ ์ ์๋ค.
๊ฐ์ฒด์ ๋ํ ๊ถํ์ ํด๋น ๊ฐ์ฒด์ ์์ ์๊ฐ ๋ถ์ฌํ์ง๋ง ์์คํ ๊ถํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ถ์ฌํ ์ ์๋ค. ์์คํ ๊ถํ์ ํน์ ๊ฐ์ฒด์ ๋ํ ์์ ์ด ์๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ๊ด๋ จ๋ ์์ ์ ๋ํ ๊ถํ์ด๋ค. DDL๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ์ ์์ด์ ๊ด๋ จ๋ ์์ ์ ๋ํ ๊ถํ๋ค์ด ์์คํ ๊ถํ์ ์ํ๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ถํ์ ๋ถ์ฌํ ๋๋ GRANT ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ๋ค. ๋จ, ํน์ ๊ฐ์ฒด์ ๋ํ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ์ด ์๋๋ฏ๋ก ์์คํ ๊ถํ์ ๋ถ์ฌํ ๋๋ ๊ฐ์ฒด๋ฅผ ์ง์ ํ ํ์๊ฐ ์๋ค.
3. ๊ถํ์ ์ทจ์
REVOKE ๊ถํ ON ๊ฐ์ฒด FROM ์ฌ์ฉ์ CASCADE|RESTRICT;
๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ ๊ฐ์ฒด์ ๊ถํ์ ์ทจ์ํ๊ธฐ ์ํด ํ์ํ SQL ๋ช ๋ น์ด๋ REVOKE์ด๋ค. ์์ WITH GRANT OPTION์ ํฌํจํ์ฌ GRANT ๋ฌธ์ ์ํํ๊ณ ๊ถํ์ ๋ถ์ฌ๋ฐ์ ์ฌ์ฉ์๊ฐ ์์ ์ด ๋ถ์ฌ๋ฐ์ ๊ถํ์ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ๋ ๋ถ์ฌํ ์ ๊ฐ ์๋ค. ์ด๋ฅผ ์ํด ๋งจ๋ค์ ์ต์ ์ด ์ฌ์ฉ๋๋๋ฐ, CASCADE ์ต์ ์ ํฌํจํ์ฌ ๊ถํ์ ์ทจ์ํ๋ฉด ์ฐ๊ด๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ค์ ๊ถํ๋ ํจ๊ป ์ทจ์๊ฐ ๋๊ณ , RESTRICT ์ต์ ์ ํฌํจํ์ฌ ๊ถํ์ ์ทจ์ํ๋ฉด ๋ง์ผ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ทจ์์ ์ํฅ์ด ๊ฐ๋ฉด REVOKE ๋ช ๋ น์ด ์คํจํ๊ฒ ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ ์์คํ ์ ์ทจ์ํ ๋๋ REVOKE ๋ฌธ์ ์ด์ฉํ๋ค. ๋จ ํน์ ๊ฐ์ฒด์ ๋ํ ๊ถํ์ ์ทจ์ํ๋ ๊ฒ์ด ์๋๋ฏ๋ก ์์คํ ๊ถํ์ ์ทจ์ํ๊ณ ์ ํ ๋๋ REVOKE ๋ฌธ์์ ๊ฐ์ฒด๋ฅผ ์ง์ ํ ํ์๊ฐ ์๋ค.
4. ์ญํ ์ ๋ถ์ฌ์ ์ทจ์
์ฌ๋ฌ ์ฌ์ฉ์์๊ฒ ๋์ผํ ๊ถํ๋ค์ ๋ถ์ฌํ๊ณ ์ทจ์ํ๋ ๋ฒ๊ฑฐ๋ก์ด ์์ ์ธ ํธ๋ฆฌํ๊ฒ ์ํํ ์ ์๋๋ก ๋์์ ์ฃผ๋ ๊ฒ์ด ์ญํ ์ด๋ค.
CREATE ROLE ๋กค์ด๋ฆ;
์๋ก์ด ์ญํ ์ ์์ฑํ๋ ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ด๋นํ๋ฉฐ, ์ญํ ์ ์์ฑํ๋๋ฐ ํ์ํ SQL ๋ช ๋ น์ด๋ CREATE ROLE์ด๋ค.
GRANT ๊ถํ ON ๊ฐ์ฒด TO ๋กค์ด๋ฆ;
๊ทธ ํ ์ญํ ์ ํ์ํ ๊ถํ์ ๋ฃ์ ๋๋ GRANT ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ๋ค.
GRANT ๋กค์ด๋ฆ TO ์ฌ์ฉ์;
ํ์ํ ๊ถํ์ด ๋ค์ด๊ฐ ์๋ ์ญํ ์ ์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ๋ ๊ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ด๋นํ๋ฉฐ GRANT ๋ฌธ์ ์ด์ฉํ๋ค. ์๋ก์ด ๊ถํ์ ์ถ๊ฐ, ๊ธฐ์กด ๊ถํ์ ์ทจ์ ๋ฑ ์ญํ ์ ๋ณํ๊ฐ ์๊ธฐ๋ฉด ํด๋น ์ญํ ์ ๋ถ์ฌ๋ฐ์ ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋ณํ๊ฐ ๊ทธ๋๋ก ์ ๋ฌ๋์ด ๊ด๋ฆฌ์ ์์ด ์ฉ์ดํ๋ค.
REVOKE ๋กค์ด๋ฆ FROM ์ฌ์ฉ์;
์ฌ์ฉ์์๊ฒ ๋ถ์ฌํ ์ญํ ์ ์ทจ์ํ๋ ์์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ด๋นํ๋ฉฐ, ๊ถํ ์ทจ์์ฒ๋ผ REVOKE ๋ฌธ์ ์ด์ฉํ๋ค.
DROP ROLE ๋กค์ด๋ฆ;
๋ง์ง๋ง์ผ๋ก ์ญํ ์ ๊ฑฐ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ด๋นํ๋ฉฐ DROP ROLE ๋ฌธ์ ์ด์ฉํ๋ค.
์ถ์ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ก 2ํ - ํ๋น์์นด๋ฐ๋ฏธ ์ถํ, ๊น์ฐํฌ ์
'DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] ๋ฐ์ดํฐ๋ฒ ์ด์ค ํํฐ์ ๋ - ๋ถํ ๊ธฐ๋ฒ (2) | 2022.06.24 |
---|