๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Welcome.
:: DBMS ๐Ÿšฉ

[DBMS] SQL ๊ฐœ๋… -1- ์„ค์น˜, ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

by EunBird 2021. 3. 13.

day01.txt
0.01MB

2. ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๋ฐ DBMS ๊ฐœ์š”
- Oracle, Dbeaver 


2-1) ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์น˜ ๊ณผ์ •
 1. oracle.com ์ ‘์† -> 2. ๊ฒ€์ƒ‰์ฐฝ์— 11g ๊ฒ€์ƒ‰ -> 
3. Oracle Database Express Edition (XE) Downloads -> 
-> 4. ์Šคํฌ๋กค ๋‚ด๋ฆฐ ๋’ค Prior Release Archive ํด๋ฆญ -> ์ž์‹ ์˜ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ์„ค์น˜ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
- ์˜ค๋ผํด ์•„์ด๋”” : tedhan1204@gmail.com

- ์˜ค๋ผํด ๋น„๋ฐ€๋ฒˆํ˜ธ : Asdf1234!
-> ๋‹ค์šด๋กœ๋“œ ํ›„, ์••์ถ• ํ•ด์žฌ ํ›„ DISK1 ํด๋” ๋“ค์–ด๊ฐ€์„œ setup ์‹คํ–‰ 
-> ์„ค์น˜ ํ™•์ธ -> win+r - cmd - sqlplus - sys as sysdba // 1234

2-2 ) Dbeaver ์„ค์น˜
  Dbeaver ์ž…๋ ฅ > ๊ณต์‹ ์‚ฌ์ดํŠธ ( ๋งจ ์œ„ ์‚ฌ์ดํŠธ ์ ‘์† ) 
> ์ƒ๋‹จ Download ํด๋ฆญ( ํšŒ์ƒ‰ )
> ์Šคํฌ๋กค ๋‚ด๋ฆฐ ํ›„ Previous versions archive ํด๋ฆญ
> ๋ฒ„์ „ ์„ ํƒ ( 5.3.5 )
> Zip ํ˜น์€ setup exe ๋ณธ์ธ ์šด์˜์ฒด์ œ์— ๋งž๋Š” ํŒŒ์ผ ์„ค์น˜
> ๋‹ค์šด๋กœ๋“œ ํ›„ Deaver ์‹คํ–‰
> ์ƒ๋‹จ ๋ฉ”๋‰ด๋ฐ” DataBase ํด๋ฆญ > New Database Connection
> Oracle ์„ ํƒ ํ›„ Next > 
- Host : localhost
- Database : xe
- User name : scott
- Password : 1234;
> Test Connection > ์—๋Ÿฌ๊ฐ€ ๋œธ. > JarํŒŒ์ผ ์ถ”๊ฐ€ > 11g ์„ ํƒ
> C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib > ojdbc6.jar

> Test Connection

 

2-3 ) DBMS๋ž€ ๋ฌด์—‡์ธ๊ฐ€?
- DB ( DataBase )
- MS ( Management System )
- DataBase Management System : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
- RDBMS ( Relational DBMS ) : ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
- ํ…Œ์ด๋ธ”๋ผ๋ฆฌ ์„œ๋กœ ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
=> DBMS๋ฅผ ์™œ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?
- ๋ฐ์ดํ„ฐ๋ฅผ ์šฉ๋„์— ๋”ฐ๋ผ ์ €์žฅํ•ด ๋†“๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด

 

2-4 ) ํ…Œ์ด๋ธ”
- ์˜ˆ) ์‡ผํ•‘๋ชฐ
- ์‡ผํ•‘๋ชฐ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„  ์‚ฌ์šฉ์ž, ์ƒํ’ˆ, ์ฃผ๋ฌธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•จ.

---------------------------------------------------------
์‚ฌ์šฉ์ž
---------------------------------------------------------
โ†•    โ†•
์œ ์ € ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ (Ex)์–ดํ”Œ) ์ฃผ๋ฌธ ๊ด€๋ฆฌ ํ”„๋กœ๊ทธ๋žจ
โ†•    โ†•
---------------------------------------------------------
ํšŒ์› ํ…Œ์ด๋ธ”[ ID, ์ฃผ์†Œ, ์ด๋ฆ„, ์—ฐ๋ฝ์ฒ˜ ]
์ƒํ’ˆ ํ…Œ์ด๋ธ”[ ์ƒํ’ˆ์ด๋ฆ„, ์ƒํ’ˆ๊ฐ€๊ฒฉ, ์ƒํ’ˆ์žฌ๊ณ  ]
์ฃผ๋ฌธ ํ…Œ์ด๋ธ”[ ID, ์ƒํ’ˆ์ด๋ฆ„, ์ƒํ’ˆ๊ฐ€๊ฒฉ, ์ƒํ’ˆ์žฌ๊ณ  ]
---------------------------------------------------------

- ํ…Œ์ด๋ธ”
- ๋ฐ์ดํ„ฐ๋“ค์ด ์ €์žฅ๋˜๋Š” ๊ณต๊ฐ„
- ํ–‰ ( Row )
- ๋ ˆ์ฝ”๋“œ, ํŠœํ”Œ : ํ•˜๋‚˜์˜ ์ •๋ณด
- ์—ด ( column )
- ์†์„ฑ, ํ•„๋“œ
- ๊ณตํ†ต๋œ ๊ฐ’๋“ค์˜ ์ฃผ์ œ

 

2-5 ) SCOTT ๊ณ„์ • ์ถ”๊ฐ€
CMD > SQLPLUS๋กœ ์ ‘์† > @์ž…๋ ฅ ํ›„ SQLํŒŒ์ผ ์ถ”๊ฐ€ ( ๋“œ๋ž˜๊ทธ ํ•˜๋ฉด ๋จ )
C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin
๊ฒฝ๋กœ์— ์žˆ๋Š” SCOTT..SQL > ์—”ํ„ฐ

 

 

3. SQL ( Structed Query Language )
- ์ธํ„ฐํ”„๋ฆฌํ„ฐ ์–ธ์–ด์˜ ํ•œ ์ข…๋ฅ˜ ( ํ•œ์ค„ ํ•œ์ค„ ๋ฐ”๋กœ ํ•ด์„๊ณผ ๋™์‹œ์— ์‹คํ–‰ ๋จ )
- ๋ฐ์ดํ„ฐ๋“ค์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด์ด๋‹ค.
- CRUD ( Create Read Update Delete )
- SQL์˜ ์ข…๋ฅ˜๋กœ๋Š” DDL, DML, DCL, TCL

3-1 ) DDL ( Data Definition Language )
- ๋ฐ์ดํ„ฐ ์ •์˜์–ด ( Auto commit )
- ๋ฐ์ดํ„ฐ๋“ค์ด ์ €์žฅ๋˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

- CREATE  : ํ…Œ์ด๋ธ” ์ƒ์„ฑ
- ALTER : ํ…Œ์ด๋ธ” ์ˆ˜์ •
- DROP : ํ…Œ์ด๋ธ” ์‚ญ์ œ
- TRUNCATE : ํ…Œ์ด๋ธ” ์ดˆ๊ธฐํ™” ( ํ…Œ์ด๋ธ” ๋‚ด๋ถ€์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ชจ๋‘ ์‚ญ์ œ )

3-1-1) CREATE
- ๋ฌธ๋ฒ•
CREATE TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > (
์ปฌ๋Ÿผ๋ช…1 ์ž๋ฃŒํ˜• ์ œ์•ฝ์กฐ๊ฑด(์ƒ๋žต๊ฐ€๋Šฅ),
์ปฌ๋Ÿผ๋ช…2 ์ž๋ฃŒํ˜• ์ œ์•ฝ์กฐ๊ฑด(์ƒ๋žต๊ฐ€๋Šฅ)
...
CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ์ œ์•ฝ์กฐ๊ฑด ( ์ปฌ๋Ÿผ๋ช… ) 
);

* ์ž๋ฃŒํ˜•( TYPE ) 
- ํ…Œ์ด๋ธ”์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ๋“ค์˜ ํ˜•ํƒœ ( ์ˆซ์ž, ๋ฌธ์ž, ๋‚ ์งœ ๋“ฑ )
- ๋ฌธ์ž์—ด
- CHAR(๊ธธ์ด)
- ๊ณ ์ •๋œ ๊ธธ์ด์— ์“ฐ์ž„ 
- CHAR(13)  
A___ ( A๋ฌธ์ž ํ•˜๋‚˜ + ๊ณต๋ฐฑ 3๊ฐœ )
JUMIN CHAR(13)
1______________________
- VARCHAR(๊ธธ์ด)
- ์ž„์‹œ ์ž๋ฃŒํ˜• ( ๊ธฐ๋Šฅ์€ VARCHAR2์™€ ๊ฐ™์Œ )
- ์ถ”ํ›„์— ๋”ฐ๋ฅธ ์šฉ๋„๋กœ ๋ณ€๋™๋ ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•จ.

- VARCHAR2(๊ธธ์ด)
- ๊ฐ€๋ณ€ ๊ธธ์ด์— ์“ฐ์ž„
- VARCHAR2(4) -> A___(x) A
- ์ˆซ์ž
- NUMBER(์ž๋ฆฟ์ˆ˜)
- NUMBER(3)  ~ 999
- NUMBER(์ž๋ฆฟ์ˆ˜, ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜)
- ๋‚ ์งœ
- DATE : ์„œ์‹์— ๋งž๊ฒŒ ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๋Š” ํƒ€์ž…
- ์ž๋ฆฟ์ˆ˜ ์ง€์ •์„ ํ•˜์ง€ ์•Š๋Š”๋‹ค.

CREATE TABLE STUDENT(
NAME CHAR(3), -- LEE ์„ฑ๋งŒ ๋ฐ›๋Š”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ
AGE NUMBER(2) --  ~ 99
);

 

 

* ์ œ์•ฝ์กฐ๊ฑด
- ์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์†์„ฑ์„ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
- ์‰ฝ๊ฒŒ ๋งํ•ด, ํ…Œ์ž…๋ฅด์— ๋ถ€์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์˜ค๋Š” ๊ฒƒ์„ ์‚ฌ์ „์— ์ฐจ๋‹จํ•˜๋„๋ก ๊ทœ์น™์„ ์ •ํ•˜๋Š” ๊ฒƒ
- PK, UNIQUE, FK, NOT NULL, DEFAULT

- PK ( PRIMARY KEY )
- ํ…Œ์ด๋ธ”์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค๋ฅผ ์ •์˜ํ•œ๋‹ค.
- ์ค‘๋ณต๋œ ๊ฐ’์ด ์˜ฌ ์ˆ˜ ์—†์œผ๋ฉฐ NULL๊ฐ’์ด ์˜ฌ ์ˆ˜ ์—†๋‹ค.
- ์˜ˆ) ์•„์ด๋”” ์ž…๋ ฅ > ์ค‘๋ณต๊ฒ€์‚ฌ
- UNIQUE
- PK์™€ ๊ฐ™์ด ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ.
- PK์™€ ๋‹ค๋ฅธ์ ์€ NULL๊ฐ’์„ ํ—ˆ์šฉํ•จ
- NOT NULL
- NULL๊ฐ’์˜ ์ž…๋ ฅ์„ ๊ธˆ์ง€ํ•œ๋‹ค.
- FK ( FOREIGN KEY )
- ํ…Œ์ด๋ธ”๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด PK๋ฅผ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์™ธ๋ž˜ํ‚ค๋กœ ๋ณต์‚ฌํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์˜๋ฏธ
์˜ˆ) ํ•™์ƒ ํ…Œ์ด๋ธ” // ์ˆ˜๊ฐ•๊ณผ๋ชฉ ํ…Œ์ด๋ธ”


ํ•™์ƒ ํ…Œ์ด๋ธ” : ํ•™์ƒ๋“ค์˜ ํ•™๋ฒˆ ( ํ•™๋ฒˆ PK )
์ˆ˜๊ฐ•๊ณผ๋ชฉ ํ…Œ์ด๋ธ” : ํ•™์ƒ๋“ค์˜ ํ•™๋ฒˆ ( ํ•™๋ฒˆ FK )
 => ์ˆ˜๊ฐ•๊ณผ๋ชฉ ํ…Œ์ด๋ธ”์— ํ•™์ƒ ํ…Œ์ด๋ธ”์— ์—†๋Š” ํ•™๋ฒˆ์ด ์˜ฌ ์ˆ˜ ์žˆ์„๊นŒ?

 

 

 

- DEFAULT
- ์•„๋ฌด ๊ฐ’๋„ ์ž…๋ ฅ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ DEFAULT๋กœ ์ •์˜๋œ ๊ฐ’์ด ์ž๋™์œผ๋กœ ์ž…๋ ฅ๋œ๋‹ค.

-- ํ•™๋ฒˆ์€ 10์ž๋ฆฌ๋ผ๊ณ  ๊ฐ€์ •
CREATE TABLE STUDENT(
STUNO CHAR(10) CONSTRAINT STU_PK PRIMARY KEY
);
CREATE TABLE SUBJECT(
S_STUNO CHAR(10),
CONSTRAINT STU_FK FOREIGN KEY(S_STUNO) REFERENCES STUDENT(STUNO)
-- ์–ด๋Š ํ…Œ์ด๋ธ”์˜ ์–ด๋Š ์ปฌ๋Ÿผ์„ ์ฐธ์กฐํ•  ๊ฒƒ์ด๋ƒ
);

์˜ˆ) 111 ํ•™๋ฒˆ์„ ๊ฐ€์ง„ ํ•™์ƒ์ด ์žˆ๋‹ค.

ํ•™์ƒ ํ…Œ์ด๋ธ” ์ˆ˜๊ฐ•๊ณผ๋ชฉ ํ…Œ์ด๋ธ”
111 ์ด์šฉํ˜„ ํ•™๋ฒˆ ์ˆ˜๊ฐ•๊ณผ๋ชฉ
222 ๋ฐ•์ˆ˜๊ฒฝ 111` ์ˆ˜ํ•™
333     ํ™๊ธธ๋™ 111 ๊ณผํ•™
222 ์˜์–ด
333 ๋ฌผ๋ฆฌ(o)

3-1-2) ALTER
- ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
- ํ…Œ์ด๋ธ” ์ด๋ฆ„, ์ปฌ๋Ÿผ์ด๋ฆ„, ์ปฌ๋Ÿผ ์ œ์•ฝ ์ถ”๊ฐ€ ํ˜น์€ ์‚ญ์ œ, ์ปฌ๋Ÿผ ์ œ๊ฑฐ, ์ปฌ๋Ÿผ ์ถ”๊ฐ€

- ๋ฌธ๋ฒ•
- ํ…Œ์ด๋ธ” ์ด๋ฆ„ ๋ณ€๊ฒฝ
ALTER TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > RENAME TO < ๋ณ€๊ฒฝํ•  ํ…Œ์ด๋ธ” ์ด๋ฆ„ >;

- ์ปฌ๋Ÿผ๋ช… ๋ณ€๊ฒฝ
ALTER TALBE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > RENAME COLUMN < ์ปฌ๋Ÿผ ์ด๋ฆ„ > TO < ๋ณ€๊ฒฝํ•  ์ปฌ๋Ÿผ ์ด๋ฆ„ >;

- ์ปฌ๋Ÿผ ์ถ”๊ฐ€
ALTER TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > ADD ( < ์ปฌ๋Ÿผ ์ด๋ฆ„ > < ์ œ์•ฝ ์กฐ๊ฑด > );

- ์ปฌ๋Ÿผ ์ œ๊ฑฐ
- ์•ˆ์— ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์–ด์•ผ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
ALTER TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > DROP COLUMN < ์‚ญ์ œํ•  ์ปฌ๋Ÿผ ์ด๋ฆ„ >;

- ์ปฌ๋Ÿผ ์ˆ˜์ •
- ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๋ณ€๊ฒฝํ•  ์ œ์•ฝ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•ด์•ผ ์ˆ˜์ •์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
CHAR(10) 10๊ธ€์ž์งœ๋ฆฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค๊ณ  ๊ฐ€์ • -> VARCHAR2(5)
ALTER TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > MODIFY ( < ์ปฌ๋Ÿผ ์ด๋ฆ„ > < ๋ณ€๊ฒฝํ•  ์ž๋ฃŒํ˜• > [ ์ œ์•ฝ์กฐ๊ฑด ] );

- ์ œ์•ฝ์กฐ๊ฑด ์‚ญ์ œ
- ALTER TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > DROP CONTRAINT < ์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„ >;

- ์ œ์•ฝ์กฐ๊ฑด ์ถ”๊ฐ€
- ALTER TABLE < ํ…Œ์ด๋ธ” ์ด๋ฆ„ > ADD CONSTRAINT < ์ œ์•ฝ์กฐ๊ฑด ์ด๋ฆ„ > < ์ œ์•ฝ์กฐ๊ฑด ํƒ€์ž… ( NOT NULL, PK ... ) > ( < ์ปฌ๋Ÿผ ์ด๋ฆ„ > );







 

728x90

๋Œ“๊ธ€