Object ์ฉ์ด์ ์ข ๋ฅ์ ๊ธฐ๋ฅ
ํ ์ด๋ธ | ํ&์ด์ ์กฐํฉ. ๊ธฐ๋ณธ์ ์ฅ๋จ์. 2์ฐจ๋ฐฐ์ด. |
๋ทฐ | ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ๋ถ๋ถ์งํฉ. ReadOnly. ๊ฐ์ํ ์ด๋ธ |
์ํ์ค | ์๋์ผ๋ก ๊ณ ์ ํ ์ซ์๊ฐ์ ์์ฑ ์์) ๊ฒ์ํ์์ ๋ฒํธ ์๋์ผ๋ก ์ฌ๋ผ๊ฐ |
์ธ๋ฑ์ค | ์ฟผ๋ฆฌ ์๋๋ฅผ ํฅ์. ๋นจ๋ฆฌ ๊ฒ์ํ๊ธฐ ์ํจ. โ ์ ๋ ฌ๋์ด์๊ณ โก์์น๋ฅผ ์๋ ค์ค ํธ๋ฆฌ๋ก ๊ตฌ์ฑ. ๋ง๋ค์๋ค๊ณ ๊ผญ ์ฌ์ฉ๋๋๊ฒ์ ์๋. |
์๋ ธ๋ | Object์ ๋๋ค๋ฅธ ์ด๋ฆ. Alias์ญํ ๋ณ๋ช ์ ์ฌ์ฉํ๋ฉด ์คํ๋ฐฉ์ง์ ์ ์ฉํ๋ค |
ํ๋ก๊ทธ๋จ ์ ๋ |
SQL, PL/SQL๋ฌธ์ผ๋ก ์์ฑํ Procedure, Function, Trigger, Pakage |
SEQUENCE ์ํ์ค
- ์๋์ผ๋ก ์ ๋ํฌํ number์ ์์ฑํจ.(์ค๊ฐ์ GAP๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์์)
- ๊ณต์ ๊ฐ๋ฅํ ์ค๋ธ์ ํธ.
- ์ผ๋ฐ์ ์ผ๋ก PK์์ฑ์ ์ํด์ ์ฌ์ฉํจ.
- ์ํ์ค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด. ์์ฐจ์ ์ผ๋ก ์ฆ๊ฐํ๋ ๊ฐ์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํจ.
- ‘์ํ์ค์๊ฐญ’=๊ฐ๋ค ์ฌ์ด์ ๋น ์๋ฒ์ด ๋ฐ์ํ๋ ๊ฒ.
์ํ์ค ์์ฑ์ ์ฌ์ฉํ๋ ์ต์
์ต์ | ์ค๋ช | ์๋ต ์ ๊ธฐ๋ณธ๊ฐ |
INCREMENT BY + ์ซ์ | ๋ฒํธ ๊ฐ๊ฒฉ | 1 |
START WITH + ์ซ์ | ์์ฑ๋๋ ์ฒซ ๋ฒ์งธ ๋ฒํธ |
1 |
MAXVALUE + ์ซ์ | ์์ฑ ๊ฐ๋ฅํ ์ํ์ค ์ต๋๊ฐ, |
|
NOMAXVALUE | ๊ธฐ๋ณธ ์ต์
์ ์ต๋๊ฐ 10^27 |
|
MINVALUE + ์ซ์ | ์์ฑ ๊ฐ๋ฅํ ์ํ์ค ์ต์๊ฐ |
|
NOMINVALUE | ์ต์๊ฐ์ 1๋ก ์ง์ | |
CYCLE | ์ํ์ค๊ฐ ์ต๋๊ฐ, ์ต์๊ฐ์ด ์์ฑ๋ ๊ฒฝ์ฐ์๋ ๊ฐ์ ์์ฑ | CYCLE์ด ์ ์ฉ๋์ง ์์ ์ํ์ค |
NOCYCLE | CYCLE์ด ์ ์ฉ๋์ง ์์ ์ํ์ค | (PK๋ง๋ค ๋) |
CACHE+ ์ซ์ | ๋ฉ๋ชจ๋ฆฌ์ ์ ์งํ ๊ฐ์ ์ |
20 |
NOCACHE | (์ซ์ ์ฐ๋ฉด X) | 20 |
์ต์ ์์ด ์์ฑํ ์ํ์ค
NOMAXVALUE ์ NOMINVALUE
์ํ์ค์ ์ฌ์ฉ๋ฒ
- ์์ฌ ์นผ๋ผ NextVal, CurrVal์ ์ฌ์ฉ
NextVal, CurrVal๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ
- ์๋ธ์ฟผ๋ฆฌ๊ฐ ์๋ SELECT๋ฌธ
- INSERT๋ฌธ์ SELECT์
- INSERT๋ฌธ์ VALUE์
- UPDATE๋ฌธ์ SET์
์ธ๋ฑ์ค(INDEX)์ ๊ฐ๋
- ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ข ๋ ๋น ๋ฅด๊ฒ ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ธ์ ํธ์.
- ์ค๋ผํด์๋ฒ๊ฐ ์ต์ ํ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ด๋ค ์ธ๋ฑ์ค๋ฅผ ์ข ๋ฅ๋ ์ธ๋ฑ์ค ์ฌ์ฉ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํจ.
- B*Tree์ ๋ฐฉ๋ฒ์ผ๋ก ๋์คํฌ I/Oํ์๋ฅผ ์ค์.
- ์ค๋ผํด์๋ฒ๊ฐ ์ธ๋ฑ์ค๋ฅผ ์๋์ ์ผ๋ก ์ฌ์ฉ&์ ์ง๋ณด์
- ์ธ๋ฑ์ค๋ ๋ ผ๋ฆฌ์ &๋ฌผ๋ฆฌ์ ์ผ๋ก ํ ์ด๋ธ๊ณผ ๋ ๋ฆฝ์ .
- ์ธ๋ฑ์ค๋ ์ฌ์ฉ์๊ฐ ๋ง๋ค๊ฑฐ๋ ์๋์ผ๋ก ์์ฑ๋จ. (์ธ๋ฑ์ค ์๋ ์์ฑ: UNIQUE, PK, FK ์์ฑ ๋ฑ)
์ธ๋ฑ์ค์ ์ข ๋ฅ
์์ฑ ๋ฐฉ๋ฒ | ํน์ง |
์ ์ฝ์กฐ๊ฑด์ ์ํด ์๋์์ฑ |
๊ฐ ์ธ๋ฑ์ค(ํ ์ด๋ธ)๊ฐ์ด ์ ์ผํจ์ ๋ณด์ฅ. |
์ฌ์ฉ์๊ฐ ์์ฑ | ๊ฐ ์ธ๋ฑ์ค(ํ ์ด๋ธ)๊ฐ์ด ์ ์ผํ์ง ์์ ์ ์์. |
์ธ๋ฑ์ค์ ๊ตฌ์กฐ
- ์ธ๋ฑ์ค๋ ํ ์ด๋ธ์ ๊ฐ ํ์ ๋์ํ๋ ์ฃผ์(๋ก์ฐ ์์ด๋)์ ์ธ๋ฑ์ค ์ปฌ๋ผ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋จ.
- ์ค๋ผํด์๋ฒ๋ B*Tree๊ตฌ์กฐ๋ก ์ธ๋ฑ์ค๋ฅผ ์ด์ฉํจ.
- ์ค๋ผํด์๋ฒ๋ ํด๋น RowId๋ฅผ ๊ฐ๋ ์นผ๋ผ๊ฐ์ด ์๋ ๋ ธ๋์ ๋์ฐฉํ ๋๊น์ง ํธ๋ฆฌ๋ฅผ ํ์ํจ.
B-Tree (Balanced Tree์ ์ผ์ข )
- ๊ท ํ ํ์๊ตฌ์กฐ.
- ํ์ ์ด๋์ ์์ด๋ ๊ฐ์ ํ์๋ก ์ง์ ๋ ๊ฐ์ ์์ธ์คํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ.
- ์ค๋ผํด์๋ฒ๊ฐ ๋ง๋๋ ์ธ๋ฑ์ค๋ ํธ๋ฆฌ์ ์ ๋ ฌ๋ ์ฌ๋ฌ ๊ฐ์ ์ ์ฅ์ฅ์ ํ์ด์ง๋ก ๊ตฌ์ฑ๋จ.
- ๊ฐ ํ์ด์ง๋ ํค๊ฐ์ด ๋ฐ์ดํฐ์ ์์น๋ฅผ ๊ฐ๋ฆฌํฌ ๋๊น์ง ๊ตฌ์กฐ์ ์๋์ชฝ์ผ๋ก ํฅํ๋ ํ์ด์ง์ ๋ํ ํฌ์ธํฐ์ ์ผ๋ จ์ ํค๊ฐ์ ๊ฐ๊ณ ์์.
์ค๋ผํด์์ ์ ๊ณตํ๋ ์ต์ ํ ๋ฐฉ๋ฒ
- ๊ท์น๊ธฐ์ค ์ต์ ํ: ํ๊ธฐ๋จ.
- ๋น์ฉ๊ธฐ์ค ์ต์ ํ: SQL๋ฌธ์ฅ์ ์คํํ๊ธฐ ์ํ ๊ณํ์ ์ ํํ ๋ ์ธ๋ฑ์ค๊ฐ ์๋ ํต๊ณ์ ๋ณด๋ฅผ ๋ถ์ํ์ฌ ๊ฐ์ฅ ๋น์ฉ์ด ์ ๊ฒ๋๋ ๋ฐฉ์์ผ๋ก ์์ธ์ค ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํจ. (์์=T๋งต์ ์ถ์ฒ๊ฒฝ๋ก)
- ๋น์ฉ์ ๊ณ ๋ คํ ์ต์ ์ ์คํ๊ณํ์ ์ ํํ๋ ๊ฒ.
INDEX์ ์์ฑ๊ณผ ์ญ์
์ธ๋ฑ์ค ์์ฑ ์ ๊ณ ๋ คํ ์
์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด์ผ ํ ๋ | ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ง ์์์ผ ํ ๋ |
Where์ (์กฐ๊ฑด์ )์ด๋ Join์กฐ๊ฑด์์ ์ปฌ๋ผ์ ์์ฃผ ์ด์ฉํ ๋ |
์กฐํ์ ์กฐ๊ฑด์ผ๋ก ์ปฌ๋ผ์ด ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ณ๋ก ์์ ๋ |
์ปฌ๋ผ์ด ๋์ ๋ฒ์๋ฅผ ๊ฐ์ง ๋ (์ 1 ~ 1,000,000,000) |
|
๋ง์ NULL๊ฐ์ ๊ฐ๋ ์นผ๋ผ | |
ํ
์ด๋ธ์ด ์์ ๋ (๋ฐ์ดํฐ๊ฐ ์กฐ๊ธ) |
|
ํ
์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋ง๊ณ ์กฐํ๋๋ ๋ก์ฐ์ ์๊ฐ ์ ์ฒด์ 10-25%์ ๋ ์ผ ๋ (์๋ ๊ฒ์) |
ํ
์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง ๊ฒ์๋์ด ๋ง์ ๋ (์- 70% ๊ฒ์) |
ํ
์ด๋ธ์ด ์์ฃผ ๋ณ๊ฒฝ๋ ๋ (Insert, Update, Delete๊ฐ ๋น๋ฒํ ๋ → ๋ฐ์ดํฐ ๋ณ๋์ด ์์ ๋๋ง๋ค ์ค๋ผํด์๋ฒ๊ฐ ์ ์ง๋ณด์ํด์ผํด์ ํ๋ค๋ค) |
- ์ธ๋ฑ์ค๊ฐ ๊ฒ์ ์๋๋ฅผ ์ฆ๊ฐ์ํค์ง๋ง ํญ์ ๋น ๋ฅธ ๊ฒ์ ์๋. ์ธ๋ฑ์ค๋ฅผ ๋ง์ด ๋ง๋ ๋ค๊ณ ํด์ ํญ์ ์ข์ ๊ฒ๋ ์๋.
- ์ธ๋ฑ์ค๊ฐ ์ ์ง๋๊ธฐ ์ํด์๋ ๊ทธ๋งํผ์ ์ ์ฅ๊ณต๊ฐ์ด ํ์ํ๋ฉฐ, ํ ์ด๋ธ์ ์์ ์ ์ธ๋ฑ์ค๋ ๋ณ๊ฒฝ๋์ด์ผ ํ๋ฏ๋ก ์๋ฒ์ ์ฑ๋ฅ์ ์ ํ์ํฌ ์ ์์.
- Index๋ ๊ธฐ๋ณธ์ ์ผ๋ก Select๋ฌธ์ ์ํ ๊ฒ์.
View
- ํ ์ด๋ธ/๋ค๋ฅธ ๋ทฐ๋ฅผ ๊ธฐ์ด๋ก ํ ๊ฐ์์ ํ ์ด๋ธ.
- ์ค์ ์ ์ผ๋ก SQL๋ฌธ์ผ๋ก ์ ์ฅ๋จ.(text) (ํ๋์ SELECT๋ฌธ์ผ๋ก ์ ์๋๋ ๊ฐ์ํ ์ด๋ธ)
- ReadOnly. ์ ์ฅ๋ฐ์ดํฐ๋ ์์. ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์๋ ์ฐฝ๊ณผ ๊ฐ์.
View์ ์ฅ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํ์ ์ธ ๋ด์ฉ์ ๋ณด์ฌ์ค = ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ๊ทผ์ ์ ํํจ.(๋ณด์์)
- ๋ณต์กํ SQL๋ฌธ์ ํตํด ์ป์ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ๋จํ SQL๋ฌธ์ ์จ์ ๊ตฌํ ์ ์๊ฒ๋จ.
- ํ ๊ฐ์ ๋ทฐ๋ก ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์.(JOIN)
View์ ์์ฑ
OR REPLACE | ์ด๋ฏธ ๋์ผํ ์ด๋ฆ์ ๋ทฐ๊ฐ ์กด์ฌํ ๊ฒฝ์ฐ, ํด๋น ๋ทฐ๋ฅผ ๋ฎ์ด์ฐ๊ธฐ ์ํด ์ฌ์ฉ. |
FORCE ๋๋ NOFORCE | ๋ทฐ ์์ฑ ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด FORCE ์ต์
์ ์ฌ์ฉํ๋ฉด ๋ทฐ๊ฐ ์์ฑ๋์ง ์์. NOFORCE ์ต์ ์ ์ฌ์ฉํ๋ฉด ๋ทฐ๊ฐ ์์ฑ๋๊ณ ์ค๋ฅ๊ฐ ๋ก๊ทธ์ ๊ธฐ๋ก๋จ. |
WITH CHECK OPTION | ๋ทฐ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ ๋, ์ง์ ํ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ง ๋ณ๊ฒฝํ ์ ์๋๋ก ์ ํํ๋ ์ต์ . |
CONSTRAINT constraint_name |
WITH CHECK OPTION ์ต์ ๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ฉฐ, ๋ทฐ๋ฅผ ํตํด ๋ณ๊ฒฝํ ์ ์๋ ๋ฐ์ดํฐ์ ๋ํ ์ ์ฝ์กฐ๊ฑด์ ์ด๋ฆ์ ์ง์ ํ ์ ์์. |
View์ ์์ฑ
๋ทฐ๋ฅผ ์ ์ํ๋ SQL๋ฌธ |
Join, Group By, SubQuery๋ฅผ ํฌํจํ๋ ๋ณต์กํ SELECT๋ฌธ์ฅ์ผ๋ก ๊ตฌ์ฑ |
Order By์ ์ ์ธ ์ ์์. | |
์ ์ฝ์กฐ๊ฑด | ์ด๋ฆ์ ๋ช
์ํ์ง ์์ผ๋ฉด ์์คํ ์ด SYS_Cn ํํ์ ์ด๋ฆ์ ์ง์ ํจ. |
๋ทฐ์ ์ ์ ๋ณ๊ฒฝ |
๋ทฐ๋ฅผ ์ญ์ ํ๊ฑฐ๋ ์ฌ์์ฑํ์ง ์๊ณ , ๋ทฐ์ ์ ์๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด OR REPLACE ์ต์ ์ ์ธ ์ ์์. |
View์ ๋ํ DML๋ฌธ ์ฌ์ฉ๊ท์น
- ํ ์ด๋ธ 1๊ฐ๊ฐ์ ๊ฐ๋จํ ๋ทฐ์๋ DML์ฐ์ฐ ์ํO
- ๋ทฐ์ ์กฐ์ธ์กฐ๊ฑด,๊ทธ๋ฃนํจ์,๊ทธ๋ฃนby์ ,์ค๋ณต์ ๊ฑฐ ๋ช ๋ น ์์ ๊ฒฝ์ฐ DML๋ช ๋ น์ดX
- ๋ทฐ์ ์์ผ๋ก ์ ์๋ ์ปฌ๋ผ์ด ์์ ๊ฒฝ์ฐ ์์ X
- ๋ทฐ์ ์ ํ๋์ง ์์ NOT NULL ์ปฌ๋ผ์ด ์์ ์ ๋ฐ์ดํฐ ์ถ๊ฐX
View์์ฑ์ ์ฌ์ฉ๋๋ ์ต์
- WITH CHECK OPTION: ๋ทฐ ์ฐ์ฐ์ด CHECK์กฐ๊ฑด ๋ง์กฑํ ๋๋ง ์ํ๋๋๋ก ํจ.
- WIith Read Only: ๋ทฐ ์ ์์ WIith Read Only์ต์ ์ ์ถ๊ฐํด์ DML์ฐ์ฐ์ด ๋ฐ์ํ์ง ์๊ฒํจ.
View ์ญ์
SYNONYM ์๋ ธ๋
- ํน์ ์ค๋ธ์ ํธ์ ๋ถ์ฌํ๋ ๋ ๋ค๋ฅธ ์ด๋ฆ. ๋ณ์นญ.
- ์ฌ์ฉ์์ ํธ์๋ ์ฐธ์กฐ๋ฅผ ๋น ๋ฅด๊ฒ ํ๋ ค๊ณ ์ฌ์ฉํจ.
- PUBLIC์ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ ๋์์ด๋ฅผ ์์ฑํ๋ ํค์๋(DBA๊ด๋ฆฌ์๋ง ์์ฑ ๊ฐ๋ฅ)
'๐ฅ๏ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MyBatis] Mapper ์ค์ ๊ณผ ๋ฌธ๋ฒ, ์์ฃผํ๋ ์ค์ (0) | 2024.01.24 |
---|---|
[Oracle] SQL ํจ์ (0) | 2024.01.06 |
[Oracle] DCL ๋ฐ์ดํฐ ์ ์ด์ด (0) | 2024.01.05 |
[Oracle] DDL ๋ฐ์ดํฐ ์ ์์ด (1) | 2024.01.05 |
[Oracle] DICTIONARY ๋ฐ์ดํฐ ์ฌ์ (0) | 2024.01.05 |