๐ ์ธ๋ฑ์ค
: ๋ฐ์ดํฐ ๋ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์ ๊ทผํ๊ธฐ ์ํด์ [ํค : ํฌ์ธํฐ ] ์์ผ๋ก ๊ตฌ์ฑ๋๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ
DB์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๋, ๊ฒ์ ์๋๋ฅผ ํฅ์ํด์ฃผ๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ฐ์ฒด
ํ์ง๋ง, ์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ค๊ณ ๋ฌด์กฐ๊ฑด ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์๋ ๊ฒ์ ์๋
์ธ๋ฑ์ค๋ฅผ ์์ฑํ๋ฉด ์ธ๋ฑ์ค๋ฅผ ์ํ ๋์คํฌ ๊ณต๊ฐ์ด ํ์ํ๊ณ ์ธ๋ฑ์ค๋ฅผ ํฌํจํ ํ ์ด๋ธ์ ์์ ์ ํ ๊ฒฝ์ฐ,
์ธ๋ฑ์ค ์ ๋ ฌ์ ์ํ ๋ ๋ง์ ๋น์ฉ๊ณผ ์๊ฐ์ด ํ์ํ๊ธฐ ๋๋ฌธ.
์ธ๋ฑ์ค ์์ฑ ์ ํด๋น ํ ์ด๋ธ์ ์๋๋ฅผ ํ์ ํ ํ์ ์ํฉ์ ๋ง๊ฒ ์ ์ ํ ์ธ๋ฑ์ค๋ก ๊ตฌ์ฑํด์ผ ํ๋ค
๐ก ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค (Clustered Index)
: ์ฑ ์์ ์๋ ๋ชฉ์ฐจ (ํ์ด์ง๋ก ๋ฐ๋ก ๊ทธ ํ์ด์ง๋ฅผ ํผ ์ ์์), ํญ์ ์์๋ฅผ ์ ์งํด์ผ ํ๋ ์ธ๋ฑ์ค
ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค ์์๋ก ๋ ์ฝ๋๋ค์ด ํ๋ ๋์คํฌ์ ์ ์ฅ์ด ๋จ
ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๋ฅผ ๋ฐ๋ก ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธํค๊ฐ ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๊ฐ ๋จ
ํ ์ด๋ธ ์์ฑ ์ ๊ธฐ๋ณธํค๋ฅผ ์ง์ ํ๋ฉด ๊ทธ ์นผ๋ผ์ ์๋์ผ๋ก ํด๋ฌ์คํฐ๋ ์ธ๋ฑ์ค๊ฐ ๋ง๋ค์ด์ง
๋ฐ์ดํฐ ์ ๋ ฅ, ์์ , ์ญ์ (INSERT, DELETE, UPDATE) ์ ํญ์ ์ ๋ ฌ ์ํ๋ฅผ ์ ์งํด์ผ ํ๋ค
๐ ๋ฐ์ดํฐ์ ์ ๋ ฅ, ์์ , ์ญ์ ์ ์๋๊ฐ ๋๋ฆผ
๋ฌผ๋ฆฌ์ ์ผ๋ก ํญ์ ์ ๋ ฌ๋์ด ์์ผ๋ฏ๋ก ์กฐํ(SELECT) ์๋๋ ๋น ๋ฆ
๐ NOTE
ํ ์ด๋ธ ๋ฐ์ดํฐ๊ฐ ์์ฃผ ์ ๋ฐ์ดํธ๋์ง ์๋ ๊ฒฝ์ฐ
ํญ์ ์ ๋ ฌ๋ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐํํด์ผ ํ๋ ๊ฒฝ์ฐ
์ฝ๊ธฐ ์์ ์ด ์๋ฑํ ๋ง์ ๊ฒฝ์ฐ , ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค๊ฐ ๋ ๋น ๋ฅด๋ค
๐ก ๋ ผ ํด๋ฌ์คํฐํ ์ธ๋ฑ์ค (Non Clustered Index)
: ์ฑ ๋ค์ ์๋ ์์ธ (์ฐพ๊ณ ์ ํ๋ ๋ด์ฉ์ ํ์ด์ง๋ฅผ ๋จผ์ ์ฐพ๊ณ ๊ทธ ํ์ด์ง๋ก ์ด๋)
๋ ์ฝ๋์ ์๋ณธ์ ์ ๋ ฌ๋์ง ์๊ณ , ์ธ๋ฑ์ค ํ์ด์ง๋ง ์ ๋ ฌ๋จ
๋ฐ์ดํฐ ํ์ด์ง๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๊ณ , ๋ณ๋์ ์ฅ์์ ์ธ๋ฑ์ค ํ์ด์ง๋ฅผ ์์ฑํจ
๐ ์ฉ๋์ ๋ ์ฐจ์งํจ
ํด๋ฌ์คํฐํ๋ณด๋ค ๊ฒ์ ์๋๋ ๋ ๋๋ฆฌ์ง๋ง ๋ฐ์ดํฐ์ ์ ๋ ฅ, ์์ , ์ญ์ ๋ ๋ ๋น ๋ฅด๋ค.
๐ NOTE
์กฐ๊ฑด๋ฌธ์ ํ์ฉํ์ฌ ํ ์ด๋ธ์ ํํฐ๋งํ๊ณ ์ ํ ๊ฒฝ์ฐ
๋ฐ์ดํฐ๊ฐ ์์ฃผ ์ ๋ฐ์ดํธ๋ ๊ฒฝ์ฐ
ํน์ ์นผ๋ผ์ด ์ฟผ๋ฆฌ์์ ์์ฃผ ์ฌ์ฉ๋ ๊ฒฝ์ฐ
๐ Key
: DB์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ์ ์ฐพ๊ฑฐ๋ ์์๋๋ก ์ ๋ ฌํ ๋ ๋ค๋ฅธ ํํ๋ค๊ณผ ๊ตฌ๋ณํ ์ ์๋ ์ ์ผํ ๊ธฐ์ค์ด ๋๋ ์์ฑ
๐ก ํํ (Tuple) : ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ํ, ์์ฑ์ ๋ชจ์์ผ๋ก ๊ตฌ์ฑ ( ๋ ์ฝ๋์ ๋น์ทํ ๊ฐ๋ )
1. ํ๋ณด ํค (Candidate Key)
: ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ์ค์์ ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์์ฑ๋ค์ ๋ถ๋ถ ์งํฉ์ ์๋ฏธ
๋ชจ๋ ๋ฆด๋ ์ด์ ์ ๋ฐ๋์ ํ๋ ์ด์์ ํ๋ณด ํค๋ฅผ ๊ฐ์ ธ์ผ ํจ
๋ฆด๋ ์ด์ ์ ์๋ ๋ชจ๋ ํํ์ ๋ํด์ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ ๋ง์กฑ์์ผ์ผ ํจ
2. ๊ธฐ๋ณธํค (Primary Key)
: ํ๋ณด ํค ์ค์์ ์ ํํ ์ฃผํค
ํ ๋ฆด๋ ์ด์ ์์ ํน์ ํํ์ ์ ์ผํ๊ฒ ๊ตฌ๋ณํ ์ ์๋ ์์ฑ
Null ๊ฐ์ ๊ฐ์ง ์ ์์ (๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ)
๊ธฐ๋ณธํค๋ก ์ ์๋ ์์ฑ์๋ ๋์ผํ ๊ฐ์ด ์ค๋ณต๋์ด ์ ์ฅ๋ ์ ์์ (๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ)
3. ๋์ฒดํค (Alternate Key)
: ํ๋ณด ํค๊ฐ ๋ ์ด์์ผ ๋, ๊ธฐ๋ณธํค๋ฅผ ์ ์ธํ ๋๋จธ์ง ํ๋ณดํค
4. ์ํผ ํค (Super Key)
: ํ ๋ฆด๋ ์ด์ ๋ด์ ์๋ ์์ฑ๋ค์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ ํค
์ ์ผ์ฑ์ ๋ง์กฑํ์ง๋ง, ์ต์์ฑ์ ๋ง์กฑ์ํค์ง ๋ชปํจ
5. ์ธ๋ ํค (Foreign Key)
: ๊ด๊ณ๋ฅผ ๋งบ๊ณ ์๋ ๋ฆด๋ ์ด์ R1, R2์์ R1์ด ์ฐธ์กฐํ๊ณ ์๋ R2์ ๊ธฐ๋ณธํค์ ๊ฐ์ R1์ ์์ฑ
์ธ๋ ํค๋ ์ฐธ์กฐ๋๋ ๋ฆด๋ ์ด์ ์ ๊ธฐ๋ณธํค์ ๋์๋์ด ๋ฆด๋ ์ด์ ๊ฐ์ ์ฐธ์กฐ ๊ด๊ณ๋ฅผ ํํํ๋๋ฐ ์ค์ํ ๋๊ตฌ๋ก ์ฌ์ฉ๋จ
์ธ๋ ํค๋ก ์ง์ ๋๋ฉด ์ฐธ์กฐ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค์ ์๋ ๊ฐ์ ์ ๋ ฅํ ์ ์์ (์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์กฐ๊ฑด)
๐ ์ ์ฝ์กฐ๊ฑด
: ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ์ดํฐ์ ์ ํ์ฑ์ ์ ์งํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ฉฐ ํ ์ด๋ธ์ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฝํ๋ ํน์ํ ๊ท์น
์ ์ฝ ์กฐ๊ฑด ์ข ๋ฅ | |
NOT NULL | ํด๋น ์ปฌ๋ผ์ ๋ฐ๋์ ๊ฐ์ด ์ ๋ ฅ๋์ด์ผํจ |
UNIQUE | ์ปฌ๋ผ์ ๋ค๋ฅธ ํ์ ์ด๋ฏธ ์ ๋ ฅ๋ ๊ฐ์ด ๋ ์ ๋ ฅ๋ ์ ์์ |
PRIMARY KEY | ํ ์ด๋ธ์์ ํ ํ์ ๋ํํ๋ ๋ฐ์ดํฐ ๊ฐ |
FOREIGN KEY | ๋ค๋ฅธ ํ ์ด๋ธ ์ปฌ๋ผ์ ์๋ ๊ฐ์ ์ ๋ ฅํ ์ ์์ |
CHECK | ์กฐ๊ฑด์ ์๋ฐํ๋ ๋ฐ์ดํฐ ์ ๋ ฅ ๊ธ์ง |
๐ ๋ฐ์ดํฐ ํ์
๐ก ๋ฌธ์ํ ๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐํ์ | ์ค๋ช |
CHAR(n) | ๊ณ ์ ๊ธธ์ด ๋ฌธ์, ์ต๋ 2000byte, default : 1byte |
VARCHAR(n) | ๊ฐ๋ณ ๊ธธ์ด ๋ฌธ์, ์ต๋ 4000byte, default : 1byte |
NCHAR(n) | ๊ณ ์ ๊ธธ์ด ์ ๋์ฝ๋ ๋ฌธ์, ์ต๋ 2000byte, default : 1byte |
NVARCHAR(n) | ๊ฐ๋ณ๊ธธ์ด ์ ๋์ฝ๋ ๋ฌธ์, ์ต๋ 2000byte, default : 1byte |
LONG | ์ต๋ 2GB ํฌ๊ธฐ์ ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์ํ |
CLOB | ๋์ฉ๋ ํ ์คํธ ๋ฐ์ดํฐ ํ์ (์ต๋ 4GB) |
NCLOB | ๋์ฉ๋ ํ ์คํธ ์ ๋์ฝ๋ ๋ฐ์ดํฐ ํ์ (์ต๋ 4GB) |
๐ก ์ซ์ํ ๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐ ํ์ | ์ค๋ช |
NUMBER (์ซ์ ์ด ๊ฐ์(P), ์์์ ์ดํ ์ด ๊ฐ์(S)) | ๊ฐ๋ณ์ซ์ P : 1~38, ๋ํดํธ : 38, S : -84~127, ๋ํดํธ : 0 , ์ต๋ 22byte |
FLOAT(P) | NUMBER์ ํ์ํ์ P l 1~128, ๋ํดํธ : 128, ์ต๋ 22byte |
BINARY_FLOAT | 32๋นํธ ๋ถ๋์์์ ์ / ์ต๋ 4byte |
BINARY_DOUBLE | 64๋นํธ ๋ถ๋์์์ ์ / ์ต๋ 8byte |
๐ก ๋ ์ง ๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐ ํ์ | ์ค๋ช |
DATE | BC 4712๋ 1์ 1์ผ ~ 9999๋ 12์ 31์ผ ์ฐ์์ผ์๋ถ์ด๊น์ง ์ ๋ ฅ๊ฐ๋ฅ |
TIMESTAMP | ์ฐ์์ผ์๋ถ์ด + ๋ฐ๋ฆฌ์ด๊น์ง ์ ๋ ฅ๊ฐ๋ฅ |
๐ก LOB ๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐ ํ์ | ์ค๋ช |
CLOB | ๋ฌธ์ํ ๋์ฉ๋ ๊ฐ์ฒด ๊ณ ์ ๊ธธ์ด์ ๊ฐ๋ณ๊ธธ์ด ๋ฌธ์์งํฉ ์ง์ |
NCLOB | ์ ๋์ฝ๋๋ฅผ ์ง์ํ๋ ๋ฌธ์ํ ๋์ฉ๋ ๊ฐ์ฒด |
BLOB | ์ด์งํ ๋์ฉ๋ ๊ฐ์ฒด, ์ด๋ฏธ์ง, ๋์์, MP3 |
BFILE | ๋์ฉ๋ ์ด์ง ํ์ผ์ ๋ํ ์์น, ์ด๋ฆ์ ์ฅ |
โ LOB (Large Object)
: ์ผ๋ฐ์ ์ผ๋ก ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉํจ
๐ COMMIT, ROLLBACK
๐ก COMMIT
: INSERT, UPDATE, DELETE ๋ฑ ์ํํ ๋ด์ฉ์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์ฅํ๋ค.
COMMIT์ ํ์ง ์์ผ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์์ด ๋์ง ์์
COMMIT;
๐ก ROLLBACK
: ๋ง์ง๋ง COMMIT ํ ์ํ๋ก ๋๋๋ฆฐ๋ค.
ROLLBACK;
๐ ์ ๊ทํ
: ์ด์ํ์์ด ์๋ ๋ฆด๋ ์ด์ ์ ๋ถํดํ์ฌ ์ด์ํ์์ ์์ ๋ ๊ณผ์
๐ก ์ฅ์
1. ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๋ณ๊ฒฝ ์ ์ด์ ํ์์ ์ ๊ฑฐํ ์ ์๋ค
2. ์ ๊ทํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ์์๋ ์๋ก์ด ๋ฐ์ดํฐ ํ์ ์ถ๊ฐ๋ก ์ธํ ํ์ฅ ์, ๊ตฌ์กฐ์ ๋ณ๊ฒฝ์ ์ต์ํํ ์ ์๋ค
3. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๋๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ต์ํ์ ์ํฅ๋ง์ ๋ฏธ์น๊ฒ ๋์ด ์์ฉํ๋ก๊ทธ๋จ์ ์๋ช ์ ์ฐ์ฅ์ํจ๋ค
๐ก ๋จ์
1. ๋ฆด๋ ์ด์ ์ ๋ถํด๋ก ์ธํด ๋ฆด๋ ์ด์ ๊ฐ์ JOIN ์ฐ์ฐ์ด ๋ง์์ง๋ค
2. ์ง์์ ๋ํ ์๋ต ์๊ฐ์ด ๋๋ ค์ง ์๋ ์๋ค.
3. ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์๋๊ฐ ๋นจ๋ผ์ง ์๋ ์๊ณ , ๋๋ ค์ง ์๋ ์๋ค.
4. ๋ง์ฝ ์กฐ์ธ์ด ๋ง์ด ๋ฐ์ํ์ฌ ์ฑ๋ฅ ์ ํ๊ฐ ๋ํ๋๋ฉด ๋ฐ ์ ๊ทํ๋ฅผ ์ ์ฉํ ์๋ ์๋ค.
'ORACLE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
#30 [ORACLE] Inner Join, Alias (0) | 2022.11.14 |
---|---|
#29 [ORACLE] ์๋ธ์ฟผ๋ฆฌ (0) | 2022.11.11 |
#28 [ORACLE] DDL, DML, DCL ๋ฌธ๋ฒ (2) | 2022.11.10 |
#26 [ORACLE] DDL, DML, DCL, DELETE, TRUNCATE, DROP (0) | 2022.11.08 |
#25 [ORACLE] (0) | 2022.11.08 |
๋๊ธ