์ฑ๋ฅ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฐ์
- ์ฑ๋ฅ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง : DB ์ฑ๋ฅํฅ์์ ์ํ ์ฌํญ๋ค์ด ๋ชจ๋ธ๋ง์ ๋ฐฉ์๋๋๋ก ํ๋ ๊ฒ
- ์ํ ์์ : ๋ถ์/์ค๊ณ ๋จ๊ณ (๋ฆ๊ฒ ํ ์๋ก ๋น์ฉ ์ฆ๊ฐ)
- ๊ณ ๋ ค ์ฌํญ
- ์ ๊ทํ๋ฅผ ์ ํํ๊ฒ ์ํ
- DB ์ฉ๋ ์ฐ์
- DB์ ๋ฐ์๋๋ ํธ๋์ญ์ ์ ํ ํ์
- ์ฉ๋๊ณผ ํธ๋์ญ์ ์ ์ ํ์ ๋ฐ๋ผ ๋ฐ์ ๊ทํ ์ํ
- ์ด๋ ฅ๋ชจ๋ธ์ ์กฐ์ , PK/FK์กฐ์ , ์ํผํ์ /์๋ธํ์ ์กฐ์
- ์ฑ๋ฅ๊ด์ ์์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ฒ์ฆ
- DB์์์ ์ฑ๋ฅ
- ์กฐํ
- ์ ๋ ฅ / ์์ / ์ญ์
์ ๊ทํ์ ์ฑ๋ฅ
- ์ ๊ทํ : ๋ฐ์ดํฐ์ ์ค๋ณต์์ฑ์ ์ ๊ฑฐํ๊ณ ๊ฒฐ์ ์์ ์ํด ๋์ผํ ์๋ฏธ(ํจ์์ ์ข ์์ฑ)์ ์ผ๋ฐ์์ฑ์ ํ๋์ ํ ์ด๋ธ๋ก ์ง์ฝ์ํค๋ ๊ฒ (ํ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฉ๋์ด ์ต์ํ)
- 1์ฐจ ์ ๊ทํ : ์ค๋ณต ์์ฑ์ ๋ํ ๋ถ๋ฆฌ (๋ก์ฐ๋จ์, ์นผ๋ผ๋จ์)
- 2์ฐจ ์ ๊ทํ : ๋ถ๋ถ ํจ์ ์ข ์์ฑ์ ์ ๊ฑฐํ์ฌ ๋๊ฐ์ ํ ์ด๋ธ๋ก ๋ถ๋ฆฌ
- 3์ฐจ ์ ๊ทํ : ์ดํ ํจ์ ์ข ์์ฑ ์ ๊ฑฐ, ์๋ก ์ข ์๊ด๊ณ๊ฐ ์๋ ์ผ๋ฐ์์ฑ์ ๋ถ๋ฆฌ
- ํน์ง
- ์ ๊ทํ๋ ํ ์ด๋ธ์ ์๋๊ฐ ๋นจ๋ผ์ง ์๋ ์๊ณ ๋๋ ค์ง ์๋ ์๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ ๊ทํํ๋ฉด ์ ๋ ฅ/์์ /์ญ์ ์ฑ๋ฅ์ด ํฅ์๋๊ณ , ๋ฐ์ ๊ทํํ๋ฉด ์กฐํ์ฑ๋ฅ์ด ํฅ์๋จ
- ์ ๊ทํํด์ ์กฐํ ์ฑ๋ฅ์ด ํฅ์๋๋ ์ฌ๋ก๋ ๋ง์
- ํจ์์ ์ข ์์ฑ : ๋ฐ์ดํฐ๋ค์ด ์ด๋ค ๊ธฐ์ค๊ฐ์ ์ํด ์ข ์๋๋ ํ์ ex) ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ(๊ฒฐ์ ์) --- ์ถ์์ผ, ์ถ์์ง(์ข ์์)
๋ฐ์ ๊ทํ์ ์ฑ๋ฅ
- ๋ฐ์ ๊ทํ : ๋ฐ์ดํฐ ์ค๋ณต์ ํ์ฉํ์ฌ ์กฐ์ธ์ ์ค์ด๋ DB ์ฑ๋ฅ ํฅ์ ๋ฐฉ๋ฒ (๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ํฌ์)
- ์ ์ฐจ
- ๋ฐ์ ๊ทํ ๋์ ์กฐ์ฌ : ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฒ์, ํต๊ณ์ฑ, ํ ์ด๋ธ ์กฐ์ธ ๊ฐ์
- ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋ ๊ฒํ : ๋ทฐ / ํด๋ฌ์คํฐ๋ง / ์ธ๋ฑ์ค ์กฐ์ / ์์ฉ์ ํ๋ฆฌ์ผ์ด์
- ๋ฐ์ ๊ทํ ์ ์ฉ : ํ ์ด๋ธ ๋ฐ์ ๊ทํ / ์์ฑ(์นผ๋ผ)์ ๋ฐ์ ๊ทํ / ๊ด๊ณ์ ๋ฐ์ ๊ทํ
- ๊ธฐ๋ฒ
<ํ ์ด๋ธ ๋ฐ์ ๊ทํ>
- ํ ์ด๋ธ ๋ณํฉ : 1:1 ๊ด๊ณ ํ ์ด๋ธ ๋ณํฉ / 1:N ๊ด๊ณ ํ ์ด๋ธ ๋ณํฉ / ์ํผใ์๋ธ ํ์ ํ ์ด๋ธ ๋ณํฉ
- ํ ์ด๋ธ ๋ถํ : ์์ง๋ถํ / ์ํ๋ถํ
- ํ ์ด๋ธ ์ถ๊ฐ : ์ค๋ณตํ ์ด๋ธ / ํต๊ณ ํ ์ด๋ธ / ์ด๋ ฅ ํ ์ด๋ธ / ๋ถ๋ถ ํ ์ด๋ธ
<์นผ๋ผ ๋ฐ์ ๊ทํ>
- ์ค๋ณต ์นผ๋ผ ์ถ๊ฐ (์กฐ์ธ ๊ฐ์ ์ํจ)
- ํ์ ์นผ๋ผ ์ถ๊ฐ (ํ์ํ ๊ฐ ๋ฏธ๋ฆฌ ๊ณ์ฐํ ์นผ๋ผ ์ถ๊ฐ)
- ์ด๋ ฅ ํ ์ด๋ธ ์นผ๋ผ ์ถ๊ฐ (์ต๊ทผ๊ฐ ์ฌ๋ถ, ์์๊ณผ ์ข ๋ฃ์ผ ๋ฑ)
- PK ์ ์ํ ์นผ๋ผ ์ถ๊ฐ (PK ์ข ์์๋ฅผ ์ผ๋ฐ์์ฑ์ผ๋ก ์์ฑ)
- ์์ฉ ์์คํ ์ ์ค์๋์ ์ํ ์นผ๋ผ ์ถ๊ฐ (์ด์ ๋ฐ์ดํฐ๋ฅผ ์์์ ์ค๋ณต ๋ณด๊ด - ๋ณต๊ตฌ ์ฉ๋)
<๊ด๊ณ ๋ฐ์ ๊ทํ>
- ์ค๋ณต ๊ด๊ณ ์ถ๊ฐ (๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ํฌ์ X)
๋๋ ๋ฐ์ดํฐ์ ๋ฐ๋ฅธ ์ฑ๋ฅ
- ๋๋์ ๋ฐ์ดํฐ๊ฐ ์๋ ํ ์ด๋ธ์ ๋ง์ ํธ๋์ญ์ ์ด ๋ฐ์ํ์ฌ ์ฑ๋ฅ์ด ์ ํ๋๋ ํ ์ด๋ธ ๊ตฌ์กฐ์ ๋ํด ํ ์ด๋ธ ๋ฐ์ ๊ทํ์ ํ ์ด๋ธ ์์งใ์ํ ๋ถํ ์ค๊ณ๋ฅผ ํตํด ์ฑ๋ฅ ์ ํ ์๋ฐฉ
ex) ํ ํ ์ด๋ธ์ ๋ง์ ์์ ์นผ๋ผ์ด ์กด์ฌํ๋ ๊ฒฝ์ฐ / ํ ํ ์ด๋ธ์ ๋๋์ ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ (I/O์ ์ฆ๊ฐ)
- ๋ฐ์
- ๋ก์ฐ ์ฒด์ด๋ : ํ ๊ธธ์ด๊ฐ ๋๋ฌด ๊ธธ์ด์ ํ๋๊ฐ ์๋ ์ฌ๋ฌ ๋ธ๋ก์ ๊ฑธ์ณ ๋ก์ฐ๊ฐ ์ ์ฅ ๋๋ ํ์
- ๋ก์ฐ ๋ง์ด๊ทธ๋ ์ด์ : ์์ ๋ ๋ฐ์ดํฐ๊ฐ ํด๋น ๋ธ๋ก์ด ์๋ ๋ค๋ฅธ ๋ธ๋ก์ ๋น ๊ณต๊ฐ์ ์ ์ฅ ๋๋ ํ์
- ํด๊ฒฐ๋ฐฉ์
- ํ ์ด๋ธ ์์ง ๋ถํ : ์นผ๋ผ ์๊ฐ ๋ง์ ๊ฒฝ์ฐ ์นผ๋ผ ๋จ์๋ก ํ ์ด๋ธ์ ๋ถํ ํ์ฌ I/O ๊ฐ์ (1:1 ํํ)
- ํ ์ด๋ธ ์ํ ๋ถํ : ๋ฐ์ดํฐ์์ด ๋ง์ ๊ฒฝ์ฐ ํ ๋จ์๋ก ํ ์ด๋ธ์ ๋ถํ ํ์ฌ I/O ๊ฐ์ (ํํฐ์ ๋)
- ํํฐ์ ๋ : ๋ ผ๋ฆฌ์ ์ผ๋ก ํ๋์ ํ ์ด๋ธ์ด์ง๋ง ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ผ์ ๋ถ์ฐ ์ ์ฅ
- Range Partition : ๋ฐ์ดํฐ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ถํ ex) ๋ ์ง
- List Partition : ํน์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ถํ (ํต์ฌ์ ์ธ ์ฝ๋๊ฐ์ผ๋ก PK๊ฐ ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ) ex) ์ง์ ์ฝ๋
- Hash Partition : ํด์ ํจ์๋ฅผ ์ ์ฉํ์ฌ ๋ถํ (DBMS๊ฐ ์์์ ๋ถํ ๊ด๋ฆฌ)
- ์ ์ฐจ
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ฑ
- DB ์ฉ๋ ์ฐ์
- ๋๋ต ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋๋ ํ ์ด๋ธ์ ๋ํด์ ํธ๋์ญ์ ์ฒ๋ฆฌ ํจํด ๋ถ์
- ์ง์คํ๋ ๋จ์(์นผ๋ผ or ๋ก์ฐ)๋ก ํ ์ด๋ธ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๊ฒํ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์ ์ฑ๋ฅ
100p
'๐์๊ฒฉ์ฆ ๊ณต๋ถ > ๐ SQLD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SQLD] SQL ๊ธฐ๋ณธ - ์กฐ์ธ JOIN (0) | 2022.11.05 |
---|---|
[SQLD] SQL ๊ธฐ๋ณธ - ํจ์, GROUP BY, HAVING, ORDER BY (0) | 2022.11.05 |
[SQLD] SQL ๊ธฐ๋ณธ (0) | 2022.11.04 |
[SQLD] ์ํฐํฐ, ์์ฑ, ๊ด๊ณ, ์๋ณ์ (0) | 2022.10.20 |
[SQLD] ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ดํด (0) | 2022.10.13 |