#1 BCNF
: Boyce-Codd Normal From
: ๋ณต์์ ํ๋ณดํค๊ฐ ์๊ณ , ํ๋ณดํค๋ค์ด ๋ณตํฉ ์์ฑ์ด์ด์ผ ํ๋ฉฐ ์๋ก ์ค์ฒฉ๋์ด์ผ ํจ
: ์ 3์ ๊ทํ๋ณด๋ค ์ข ๋ ๊ฐํ๊ฒ ์ ์ฝ์กฐ๊ฑด์ ๊ฑฐ๋ ๊ฒ (์ 3์ ๊ทํ <= BCNF)
#2 ์ ๊ทํ ์ถ๊ฐ์ค๋ช
โด๏ธ ์ 1์ ๊ทํ
: ์์ฑ์ ๋ณด๊ณ ํ๊ฐ์ ์์ฑ์ผ๋ก ์ ์ผ์ฑ์ ๋ง์กฑํ ์ ์๋์ง ํ์ธ
: ์๋ณ์๋ฅผ ์ฐพ๋ ๊ณผ์
โด๏ธ์ 2์ ๊ทํ
: ๊ธฐ๋ณธํค๊ฐ ๋๊ฐ ์ด์์ธ ๊ฒฝ์ฐ ๋์
: ๋ชจ๋ ์์ฑ์ด ์๋ณ์์ ์ข ์ํด์ผ ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ๋ถํด
: ์ 1์ ๊ทํ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค๋ณต ํ์ธ
#3 ์ ๊ทํ์ ๋ฌธ์ ์
์ ๊ทํ : ํ ์ด๋ธ์ ๋ถํดํด์ ๋ฐ์ดํฐ ์ค๋ณต์ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์ฐ์ฑ์ ๋ํ
→ ํ์ง๋ง, ๋ฐ์ดํฐ ์กฐํ(SELECT)์ ์กฐ์ธ(JOIN)์ ์ ๋ฐํ๊ธฐ ๋๋ฌธ์ CPU์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฌ์ฉํจ
#4 ์ตํฐ๋ง์ด์ Optimizer
: ๊ฐ์ฅ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก SQL์ ์ํํ ์ต์ ์ ์ฒ๋ฆฌ ๊ฒฝ๋ก๋ฅผ ์์ฑํด์ฃผ๋ DBMS์ ํต์ฌ ์์ง
: ์ปดํจํฐ์ ๋๋ = CPU / DBMS์ ๋๋ = OPTIMIZER
#5. ์ธ๋ฑ์ค Index
: TABLE์ ์ปฌ๋ผ์ ์์ธํ(๋ฐ๋ก ํ์ผ๋ก ์ ์ฅ)ํ์ฌ ๊ฒ์ ์ ํด๋น TABLE์ ๋ ์ฝ๋๋ฅผ Full Scanํ๋ ๊ฒ์ด ์๋, ์์ธํ ๋์ด์๋ INDEX ํ์ผ์ ๊ฒ์ํ์ฌ ๊ฒ์ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํจ
#6 ๋ฐ์ ๊ทํ
: ์กฐ์ธ์ด ๋ถํ๋ฅผ ์ ๋ฐํ๋ ๊ฒ์ ๋ถ๋ช
: ๋ฐ์ ๊ทํ๋ฅผ ํ์ฌ ํ๋์ ํ ์ด๋ธ์ ์ ์ฅํ๋ค๋ฉด ์กฐ์ธ์ ํตํ ์ฑ๋ฅ ์ ํ๋ ํด๊ฒฐ → ์ฑ๋ฅ ์ ํ ํด๊ฒฐ์ ์ํด ๋ฐ์ ๊ทํ๊ฐ ์กด์ฌ
: ์์คํ ์ ์ฑ๋ฅ์ ํฅ์ ์ํค๋ ํตํฉ ํ๋ก์ธ์ค
: ์ ๊ทํ์ ๋ฐ์ ๊ทํ๋ฅผ ๋ฐ๊พธ๋ฉด ์๋๊ณ ์์ด์ ์ฌ์ฉํด์ผํจ
: ์์์ฑ, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ ์ ์์ง๋ง ์ฑ๋ฅ ํฅ์์ ์ํด ์๋์ ์ผ๋ก ์ค๋ณต์ ๋ง๋ฌ
#7 ์ ๊ทํ๋ฅผ ์ฌ์ฉํ ์ฑ๋ฅ ํ๋ → ์ฑ๋ฅ ์ต์ ํ
: ๋ฐ์ ๊ทํ๋ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์ํค๊ธฐ ๋๋ฌธ์ ๋ ๋ค๋ฅธ ๋ฌธ์ ์ ์ ๋ฐ์
: ๋ฐ์ ๊ทํ๋ฅผ ํ์ฌ ํ ํ์ ์ฝ๊ธฐ ์ํด ์ฌ๋ฌ๊ฐ์ ๋ธ๋ก์ ์ฝ๊ฒ ๋๋ฉด ๋์คํฌ ์ •์ถ๋ ฅ์ด ์ฆ๊ฐ → ์ฑ๋ฅ์ด ์ ํ
: ์ ๊ทํ๋ ์ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ์์ ์ค์ฌ์ ์ฑ๋ฅ์ ํฅ์ ์ํฌ ์ ์์
'๐พ SQL_' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQLD] ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค (0) | 2025.02.23 |
---|---|
[SQLD] ๋ฐ์ ๊ทํ ๊ธฐ๋ฒ (0) | 2025.02.23 |
[SQLD] ์ ๊ทํ์ ๊ฐ๋ ๊ณผ ์ค๋ช ๊ทธ๋ฆฌ๊ณ ๋จ๊ณ(์ 1,2,3 ์ ๊ทํ) (0) | 2025.02.16 |
[SQLD] ์ค๋ต๋ ธํธ #1 (0) | 2025.02.16 |
[SQL] MySQL - Foreign Key & Join (0) | 2025.02.14 |