2023. 2. 16. 10:36ใDB
ํ ์ด๋ธ ์์ฑ ๊ธฐ๋ณธ ๋ฌธ๋ฒ :
CREATE TABLE ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ๋ช
์๋ฃํ ์ ์ฝ์กฐ๊ฑด-ํ์ ์์ผ๋ฉด ์๋ต ๊ฐ๋ฅ
MEM_NUM NUMBER PRIMARY KEY - ๊ธฐ๋ณธํค ? (๋ฐ์ดํฐ๋ฅผ ํน์ ์ง์ ์ ์์) ์ค๋ณต๊ฐ, NULL๊ฐ ํ์ฉ X
, MEM_NAME VARCHAR2(50) - 50์ ๊ธ์๋ฅผ ์ ์ฅํ ๊ณต๊ฐ์ ๋ง๋ค์ด์ฃผ๋๋ฐ ๋ฐ์ดํธ ์๋ฅผ ์ ํด์ฃผ๋ ๊ฒ.
, MEM_AGE NUMBER
);
ํ ์ด๋ธ์ ๊ฐ๋จํ ์ ๋ณด ์กฐํ :
DESC(๋ฌ์ฌ) MEMBER์ ๊ฐ๋จํ ์ ๋ณด(์ปฌ๋ผ๋ช ๋ฑ)๋ฅผ ๋ณผ ์ ์๋ค.
DESC ํ ์ด๋ธ๋ช ;
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ ์ฉํ๊ฒ ์ฐ์ด๋ KEY :
1.์ํผํค(SUPER KEY)
ํ
์ด๋ธ์์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํ๋ ๋๋ ๊ทธ ์ด์์ ์์ฑ๋ค์ ์งํฉ
์ปฌ๋ผ ์์ฑ์ด ํ๋๋ ์ฌ๋ฌ๊ฐ๋ ํน์ ํ ํ ํ๋๋ฅผ ์ง์ด๋ผ ์ ์์ผ๋ฉด ์ํผํค๋ค.
2.ํ๋ณดํค(CANDIDATE KEY) :
ํ ์ด๋ธ์์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ต์ํ์ ์์ฑ๋ค์ ์งํฉ
EX) ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ํด๋ํฐ ๋ฒํธ
โ 3.๊ธฐ๋ณธํค(PRIMART KEY) :
ํ๋ณดํค๋ค ์ค์์ ์ ํํ ๋ํ
ํ๋ณดํค ์ค์์ ํน๋ณํ ์ ์ ๋ ํค๋ก ์ค๋ณต๋ ๊ฐ X, NULL๊ฐ X, ํ๋ณดํค์ ์ฑ์ง O
4.๋์ฒดํค(ALTERNATE KEY) :
ํ๋ณดํค๋ค ์ค์์ ๊ธฐ๋ณธํค๋ก ์ ํ ๋ฐ์ง ๋ชป ํ ๊ธฐ๋ณธํค๊ฐ ๋ ์ ์๋ ์์ฑ
โ 5.์ธ๋ํค(FOREIGN KEY) :
ํ ์ด๋ธ์ด ๋ค๋ฅธ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ์ฌ ๊ด๊ณ๋ฅผ ๋งบ์.
๋ค๋ฅธ ํ ์ด๋ธ์ ์ฐธ์กฐํ ์ ์๋ ๊ฐ์ ์ฐธ์กฐํ ์ ์๋๋ก ์ ์ฝ์ ์ค.
๋ฐ์ดํฐ ์ฝ์ ๋ฌธ๋ฒ :
INSERT INTO ํ ์ด๋ธ๋ช (์ปฌ๋ผ๋ช ๋ค) VALUES (๊ฐ๋ค); *๊ฐ ๋ฃ์ ๋ ์ปฌ๋ผ๋ช ์์์ ๋ง๊ฒ ๋ฃ์ด์ผ ํจ.
*INSERT๋ ๋ฐ์ดํฐ ๋ฃ์ ์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ์ธ์. ์ง์ง ๋ฐ์ดํฐ ์ฝ์ X
ํ์ธ ํ ๋ณ๋์ ์ฝ์ ๋ช ๋ น์ด ํ์.
ํ์ ๋ช ๋ น์ด : COMMIT;
* ํ
์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ณํ๊ฐ ์๊ธฐ๋ ์ถ๊ฐ, ์ญ์ , ์์ ๋ฑ์ ์ฟผ๋ฆฌ๋ ์ฟผ๋ฆฌ ์คํ ํ
์์ ๋ด์ฉ์ ํ์ ํ ์ง ์ทจ์ํ ์ง ๊ฒฐ์ ์ง์ด ์ค์ผ ํ๋ค.
๋ณ๊ฒฝ ํ์ : COMMIT, ๋ณ๊ฒฝ ์ทจ์ : ROLLBACK
๋จ, ํ๋ฒ COMMITํ ๋ฐ์ดํฐ๋ ROLLBACK ๋ถ๊ฐ.
--๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ๋๋ ํค
--1.์ํผํค(SUPER KEY)
--ํ
์ด๋ธ์์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํ๋ ๋๋ ๊ทธ ์ด์์ ์์ฑ๋ค์ ์งํฉ
--2.ํ๋ณดํค(CANDIDATE KEY)
--ํ
์ด๋ธ์์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ต์ํ์ ์์ฑ๋ค์ ์งํฉ
--3.๊ธฐ๋ณธํค(PRIMART KEY)
--ํ๋ณดํค๋ค ์ค์์ ์ ํํ ๋ํ
--4.๋์ฒดํค(ALTERNATE KEY)
--ํ๋ณดํค๋ค ์ค์์ ๊ธฐ๋ณธํค๋ก ์ ํ ๋ฐ์ง ๋ชป ํ ๊ธฐ๋ณธํค๊ฐ ๋ ์ ์๋ ์์ฑ
--5.์ธ๋ํค(FOREIGN KEY)
--ํ
์ด๋ธ์ด ๋ค๋ฅธ ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ์ฌ ๊ด๊ณ๋ฅผ ๋งบ์.
--๋ค๋ฅธ ํ
์ด๋ธ์ ์ฐธ์กฐํ ์ ์๋ ๊ฐ์ ์ฐธ์กฐํ ์ ์๋๋ก ์ ์ฝ์ ์ค.
--ํ
์ด๋ธ ์์ฑ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
CREATE TABLE MEMBER (
--์ปฌ๋ผ๋ช
์๋ฃํ ์ ์ฝ์กฐ๊ฑด-ํ์ ์์ผ๋ฉด ์๋ต ๊ฐ๋ฅ
MEM_NUM NUMBER PRIMARY KEY --์ ์ฝ์กฐ๊ฑด ๊ธฐ๋ณธํค
, MEM_NAME VARCHAR2(50)
, MEM_AGE NUMBER
);
SELECT * FROM MEMBER;
DESC MEMBER; --DESC(๋ฌ์ฌ) MEMBER์ ๊ฐ๋จํ ์ ๋ณด(์ปฌ๋ผ๋ช
๋ฑ)๋ฅผ ๋ณผ ์ ์๋ค.
--ํ
์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ณํ๊ฐ ์๊ธฐ๋ ์ถ๊ฐ, ์ญ์ , ์์ ๋ฑ์ ์ฟผ๋ฆฌ๋ ์ฟผ๋ฆฌ ์คํ ํ
--์์ ๋ด์ฉ์ ํ์ ํ ์ง ์ทจ์ํ ์ง ๊ฒฐ์ ์ง์ด ์ค์ผ ํ๋ค.
--๋ณ๊ฒฝ ํ์ : COMMIT, ๋ณ๊ฒฝ ์ทจ์ : ROLLBACK
--๋จ, ํ๋ฒ COMMITํ ๋ฐ์ดํฐ๋ ROLLBACK ๋ถ๊ฐ.
--๋ฐ์ดํฐ ์ฝ์
(INSERT)
--INSERT INTO ํ
์ด๋ธ๋ช
(์ปฌ๋ผ๋ช
๋ค) VALUES (๊ฐ๋ค);
INSERT INTO MEMBER (MEM_NUM, MEM_NAME, MEM_AGE) VALUES (1, 'KIMJAVA', 20);
COMMIT;
INSERT INTO MEMBER (MEM_NUM, MEM_NAME, MEM_AGE) VALUES (2, 'KIMJAVA', 20);
ROLLBACK;
INSERT INTO MEMBER VALUES(2, 'kimJava', 30); --์ปฌ๋ผ๋ช
์ ๋ฃ์ด๋ ๊ฐ๋ฅ
INSERT INTO MEMBER VALUES(3, 'kimjaVa', 30);
INSERT INTO MEMBER VALUES(4, 'kimJAVA', 30);
COMMIT;
SELECT * FROM MEMBER;
'DB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ฒ์ํ ๋ง๋ค๊ณ db ์ฐ๊ฒฐ ์ค์ต (0) | 2023.02.17 |
---|---|
DB3 (0) | 2023.02.17 |
DB-java ์ฐ๊ฒฐ (0) | 2023.02.16 |
๋ฐ์ดํฐ๋ฒ ์ด์ค2 (0) | 2023.02.16 |
๋ฐ์ดํฐ๋ฒ ์ด์ค(DB) (0) | 2023.02.15 |