์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- ์ปดํจํฐ๊ณผํ
- ๋ง์ผ๋ด๊ฐ์ธ์์๋ค์์ฐ๋ค๋ฉด
- ๊น๋ฏธ๊ฒฝ
- K๋ฐฐํฐ๋ฆฌ
- html
- css
- ์๋ฐ
- ์ค๋ผํด
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์นํผ๋ธ๋ฆฌ์ฑ
- ComputerScience
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊นํ๋จ
- ์ฑ
- ํ๋ก๊ทธ๋๋ฐ
- ์ํ
- Java
- Python
- database
- ํ์ด์ฌ
- ๋ผํ๋ผ์ค์๋ง๋
- ์ฅํธ์์ค
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- ๊ฐ๋ฐ
- ์นํ์ด์ง๋ง๋ค๊ธฐ
- ๋ ์
- JavaScript
- ๋ฐ์ํ
- ์ฝ๋ฉ
- Today
- Total
JiYoung Dev ๐ฅ
[Oracle Database] DDL - CREATE, ALTER (2023.03.24) ๋ณธ๋ฌธ
๐ DDL(Data Definition Language)
ํ ์ด๋ธ๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์์ฑ/์์ /์ญ์ ํ ์ ์์
๐ DDL๋ฌธ๋ฒ
๐ CREATE
์๋ก์ด ๊ฐ์ฒด(OBJECT)๋ฅผ ์์ฑํ ๋ ์ฌ์ฉํ๋ ๋ช ๋ น์ด
ํ ์ด๋ธ ์์ฑ ์ ์ ํ์ํ ์๋ฃํ
VARCHAR2(n)
๋ฌธ์ํ ๋ฐ์ดํฐ๋ฅผ n๋ฐ์ดํธ๊น์ง ์ ๋ ฅ๋ฐ๊ฒ ๋ค๋ ์๋ฏธ (๊ฐ๋ณํ ๋ฌธ์์ด)
CF. CHAR(n)
๋ฌธ์ํ ๊ฐ์ n๋ฐ์ดํธ๊น์ง ์ ๋ ฅ ๋ฐ์ ์ ์๋ ๊ณ ์ ํ ๋ฌธ์์ด → ๊ผญ n byte๋ฅผ ์ฑ์์ผ ํจ
NUMBER(n, m)
์ซ์ํ ์ ๋ ฅ(์ ์, ์ค์ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ)
n์ ์๋ฆฟ์๋ฅผ ์๋ฏธํจ (์์์ ์๋ฆฟ์ ํฌํจ)
m์ ์์ซ์ ๊ฐ์๋ฅผ ์๋ฏธํจ
NUMBER ๋ค์ n, m์ ์๋ต ๊ฐ๋ฅ
DATE
๋ ์งํ ๊ฐ ์ ๋ ฅ
ํ ์ด๋ธ ์์ฑ ๋ฌธ๋ฒ(CREATE)
CREATE TABLE ํ ์ด๋ธ๋ช ( ์ปฌ๋ผ๋ช ์๋ฃํ [DEFAULT] [NULL์ฌ๋ถ]) ;
- DEFAULT์ ๊ธฐ๋ณธ์ NULL
- NULL ์ฌ๋ถ์ ๊ธฐ๋ถ์ NULL
ํ ์ด๋ธ ์์ฑ์ ์ด๋ฆ ๊ท์น
1. ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๋๋ค.
2. ์ค๋ณต๋๋ ํ ์ด๋ธ๋ช ์ ์ฐ๋ฉด ์๋๋ค.
3. ํ ์ด๋ธ ๋ด์์ ์ปฌ๋ผ๋ช ์ด ์ค๋ณต๋๋ฉด ์๋๋ค.
4. ๋ฌธ์๋ก ์์, ์์ฝ์ด๋ ์ฌ์ฉ ๋ถ๊ฐํจ
โ ์ ์ฝ์กฐ๊ฑด
์ ์ฝ์กฐ๊ฑด์ด๋ ํ ์ด๋ธ์ ์ ๋ ฅ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ์กฐ๊ฑด์ผ๋ก ์ ์ฝํ๋ ๊ฒ
PRIMARY KEY(PK) : NOT NULL + UNIQUE
์๋ณ์ ๊ท์น์ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง ํ ๊ฒ. ์๋ณ์๋ ํ ์ด๋ธ์์ ๊ฐ๊ฐ์ ํํ(ํ)์ ์ ์ผํ๊ฒ ์๋ณํ๋ ์ปฌ๋ผ ์งํฉ
→ ํน์ ์ปฌ๋ผ์ ์๋ณ์๋ก ๋ง๋ค๋ฉด ์๋์ผ๋ก NOT NULL + UNIQUE ์ฑ์ง๋ก ๋ฐ๋
์ค๋ณต์ด ์์ผ๋ฉด ์๋จ
NULL ๊ฐ์ด ์์ผ๋ฉด ์๋จ
์ ์ฝ์กฐ๊ฑด ์ด๋ฆ ์์ฑ์ PK๋ฅผ ์ ๋์ด๋ก ๋ถ์ (์ค๋ฌด์์)
PK๋ ํ ์ด๋ธ๋ง๋ค 1๊ฐ ๋ฌด์กฐ๊ฑด ์์ด์ผ ํจ. ์ค๋ก์ง 1๊ฐ๋ง ์กด์ฌ
ALTER TABLE ํ ์ด๋ธ๋ช ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช PRIMARY KEY(์ปฌ๋ผ) ;
UNIQUE KEY(UK) : UNIQUE
์ค๋ณต์ด ์์ผ๋ฉด ์๋จ
NULL๊ฐ์ ๊ฐ๋ฅ
ํ์ ์์ ๋ง์ด ์ฌ์ฉํ์ง๋ ์์
๋ณดํต ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ ๊ฐ์๋ฐ ์ค์ ํ ์๋ ์์
ALTER TALBE ํ ์ด๋ธ๋ช ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช UNIQUE (์ปฌ๋ผ) ;
NOT NULL
NULL๊ฐ์ด ๋ค์ด์ค์ง ์๊ฒ ํจ
CHECK
ํน์ ์ปฌ๋ผ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ ๋ ์ง์ ํ ๋ฐ์ดํฐ๋ง ์ ๋ ฅํ ์ ์์
ํ์ฅ์ฑ์ด ๋จ์ด์ง๋ฏ๋ก ์ค๋ฌด์์๋ ์ ์ฌ์ฉํ์ง ์์
FOREIGN KEY(FK)
ํ ์ด๋ธ๋ผ๋ฆฌ ์ฐ๊ฒฐ๋์ด ์๋ ๊ด๊ณ๋ฅผ ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋งํ ๊ฒ
๋ฌด๊ฒฐ์ฑ์ ์ง์ํด์ค
ALTER TABLE ํ ์ด๋ธ๋ช ADD CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช
FOREIGN KEY (์ฐธ์กฐ๋ฐ์์ปฌ๋ผ) REFERENCES ์ฐธ์กฐํ ํ ์ด๋ธ(์ฐธ์กฐํ ์ปฌ๋ผ) ;
ํ๋ก์ ํธ ์งํ ์์
์๊ตฌ์ฌํญ ์์ง >> ERD ๊ทธ๋ฆฌ๊ธฐ >> ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง >> DDL (์ค์ ํ ์ด๋ธ ์์ฑ)
๐ ALTER
ํ ์ด๋ธ ์์ ์๋ ์ปฌ๋ผ์ ๋ํ ์์ฑ์ ์ถ๊ฐ/์ญ์ /๋ณ๊ฒฝ/์ด๋ฆ๋ณ๊ฒฝ
๊ฐ๊ธ์ ์ด๋ฉด ์ฌ์ฉํ์ง ์๋๊ฑธ ์ถ์ฒํจ (์ํฅ๋๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค)
→ ์ค๊ณํ ๋ ์ ๋๋ก ํด์ผํจ
โ ADD
ํ ์ด๋ธ์ ์ปฌ๋ผ์ ์ถ๊ฐ
โ DROP COLUMN
ํ ์ด๋ธ์์ ์ปฌ๋ผ์ ์ญ์
โ MODIFY
ํ ์ด๋ธ์์ ์ปฌ๋ผ ์์ฑ ๋ณ๊ฒฝ
โ RENAME
์ปฌ๋ผ์ด๋ฆ ๋ณ๊ฒฝ
'full stack > database' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Oracle Database] DDL - DROP, ์ํ์ค์ ๋ทฐ (2023.03.27) (0) | 2023.03.27 |
---|---|
[Oracle Database] ๋ถ์ ์ฐ์ฐ, NULL, IN, BETWEEN, LIKE (2023.03.21) (0) | 2023.03.24 |
[Oracle Database] JOIN, GROUP BY, ์ง๊ณ ํจ์, HAVING (2023.03.22~23) (0) | 2023.03.24 |
[Oracle Database] DML(Data Manipulation Language) (2023.03.23~24) (0) | 2023.03.24 |
[Oracle Database] ์ค๋ผํด ํจ์ (0) | 2023.03.22 |