SQL DBMS - accidentlywoo/sec GitHub Wiki

Oracle

Oracle EX ์‚ฌ์šฉ : ์—ฐ์Šต์šฉ, ์„ธ์…˜์ด 20๊ฐœ์ •๋„๋กœ๋งŒ ์ œ๊ณต๋œ๋‹ค.

์œˆ๋„์šฐ -> ์„œ๋น„์Šค -> OracleServiceXE / OracleXETNSListener ํ™•์ธ

  • OracleServiceXE : ์˜ค๋ผํด ๊ตฌ๋™
  • OracleXETNSListener : ์˜ค๋ผํด๊ณผ ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์—ฐ๋™

์˜ค๋ผํด์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์ž๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ €์žฅ๋œ๋‹ค.

์ž๋ฐ”๋Š” ๊ธ€์ž์ˆ˜ ๋ณ„๋กœ ๊ตฌ๋ถ„ํ•˜์ง€๋งŒ ์˜ค๋ผํด์€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.

VARCHAR(20)

์˜ค๋ผํด์€ ๊ณ„์ •๋งˆ๋‹ค ์Šคํ‚ค๋งˆ๊ฐ€ ํ•œ๊ฐœ๋‹ค

์Šคํ‚ค๋งˆ : ์—ฌ๊ธฐ์„œ ์Šคํ‚ค๋งˆ๋Š” ๋ฌผ๋ฆฌ์  ์Šคํ‚ค๋งˆ

MySQL์ด๋‚˜ ๋‹ค๋ฅธ DBMS๋Š” ๊ณ„์ •๋ณ„๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

  • ์Šคํ‚ค๋งˆ : ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ
  • ๊ฐ์ฒด์˜ ์ข…๋ฅ˜ : ํ…Œ์ด๋ธ”, ๋ทฐ, ์ธ๋ฑ์Šค, ์‹œํ€€์Šค, ์‹œ๋…ธ๋‹˜,...

-> ๊ฐ์ฒด๋“ค์ด ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์ธ ํ…์ŠคํŠธ๋ทฐ์–ด๋กœ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์—†๋‹ค.


์˜ค๋ผํด ์‹œ์ž‘ํ•˜๊ธฐ

์ตœ์ดˆ ๊ด€๋ฆฌ์ž ๊ณ„์ • system

  1. ๊ณ„์ •์„ ์ถ”๊ฐ€์ ์œผ๋กœ ๋งŒ๋“ ๋‹ค.
  • ๋ฐ”๋กœ ์ ‘์†์„ ์‹œ๋„ํ•˜๋ฉด lock ์ƒํƒœ์ด๋‹ค.
  1. system ๊ณ„์ •์œผ๋กœ ๋‹ค์‹œ ์ ‘์†ํ•ด์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ผํด(XE)์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ต์œก์šฉ ๊ณ„์ • 'hr/hr'์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ ‘๊ทผ๊ถŒํ•œ์„ ์ฃผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

alter user hr identified by hr;

๊ต์œก์šฉ ๊ณ„์ • hr ๋“ค์–ด๊ฐ€๋ณด๊ธฐ

SELECT * FROM TAB;

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋“ฑ๋ก๋œ ํ…Œ์ด๋ธ”๋“ค์„ ํ™•์ธํ•ด๋ณธ๋‹ค.

์˜ค๋ผํด์˜ ๋ช…๋ น์–ด๋Š” ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

DESC employees;

ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ปฌ๋Ÿผ์˜ ๊ฐฏ์ˆ˜ : Degree(์ฐจ์ˆ˜) : ์ปฌ๋Ÿผ๋“ค์€ ์ค‘๋ณต๋œ ์ž๋ฃŒ๋ฅผ ๊ฐ–๊ณ ์žˆ์œผ๋ฉด ์•ˆ๋œ๋‹ค.

(์ค‘๋ณต๋œ ์š”์†Œ๋ฅผ ๊ฐ–์œผ๋ฉด ์•ˆ๋œ๋‹ค. : ์›์ž์„ฑ์„ ๊ฐ–๋Š”๋‹ค.)

๋ฌด๋ฃŒ ํด๋ผ์ด์–ธํŠธ 'SqlDeveloper' ์‚ฌ์šฉ

ERD(Entity Relation Diagram) ์ดํ•ดํ•˜๊ธฐ

๊ฐ์ฒด์ง€ํ–ฅ์˜ ๋ถ€๋ชจ ์ž์‹๊ด€๊ณ„์™€ ์ „ํ˜€ ๋‹ค๋ฅด๋‹ค.

๋ถ€๋ชจ ์—”ํ„ฐํ‹ฐ๋ฅผ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

์—”ํ„ฐํ‹ฐ๋ฅผ ๊ตฌ๋ถ„ํ•ด์ฃผ๋Š” ์‹๋ณ„์ž ์—ญํ• ์„ ํ•ด์ฃผ๋Š” PK

๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ์ž…๋ ฅ๋˜์•ผํ•˜๋Š” ์—”ํ„ฐํ‹ฐ๊ฐ€ ๋ถ€๋ชจ ์—”ํ„ฐํ‹ฐ๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fk.kakaocdn.net%2Fdn%2FbVIIti%2FbtqEyJ58G5W%2F34XUyxKK6Ah20G1pGUubH0%2Fimg.png

๋น„์‹๋ฒฝ์ž ๊ด€๊ณ„ : [JOBS]-----[EMPLOYEES] ์ ์„ ์œผ๋กœ ํ‘œ์‹œ. JOBS(๋ถ€๋ชจ)์˜ PK๊ฐ€ EMPLOYEES(์ž์‹)์˜ ์ผ๋ฐ˜ ์ปฌ๋Ÿผ์œผ๋กœ ์ฐธ์กฐ๋ ๋•Œ

์ฃผ์‹๋ณ„์ž ๊ด€๊ณ„ : [JOB_HISTORY]ใ…ก[EMPLOYEES] ์‹ค์„ . EMPLOYEES(๋ถ€๋ชจ)์˜ PK๋ฅผ JOB_HISTORY(์ž์‹)์˜ PK๋กœ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ

์—”ํ„ฐํ‹ฐ ๋ณ„๋กœ ์นด๋””๋„๋Ÿฌํ‹ฐ ์ฐธ์—ฌ ์ˆ˜๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ/ ์ฐธ์—ฌ ์—ฌ๋ถ€๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fk.kakaocdn.net%2Fdn%2FdmrQzj%2FbtqEwSpQwSB%2FCTKYsDmyHKQJV5syaw2ISk%2Fimg.png -> ์นด๋””๋„๋ฆฌํ‹ฐ N ํ‘œํ˜„ : ์„ ํƒ ์ฐธ์—ฌ

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fk.kakaocdn.net%2Fdn%2FdsneyZ%2FbtqEv7uwi3n%2FFTdzCE5UhOh2Akkkdc9Fs1%2Fimg.png -> ์นด๋””๋„๋ฆฌํ‹ฐ 1 ํ‘œํ˜„ : ํ•„์ˆ˜ ์ฐธ์—ฌ

์—ฐ๊ด€(์ฐธ์กฐ) ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ

  • O : ์„ ํƒ์ฐธ์—ฌ : ์—ฐ๊ด€ ์ปฌ๋Ÿผ์ด NOT NULL์ด ์•„๋‹ˆ๋‹ค

  • Oํ‘œ๊ธฐ ์—†์œผ๋ฉด : ํ•„์ˆ˜ ์ฐธ์—ฌ : ์—ฐ๊ด€ ์ปฌ๋Ÿผ์€ ๋ฐ˜๋“œ์‹œ NOT NULL

DBMS์˜ ์žฅ์ 

  • DBMS๋กœ ๋ฐ์ดํ„ฐ ๋ณต๊ตฌ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—”ํ„ฐํ‹ฐ์˜ ๊ด€๊ณ„๋ฅผ ํ†ตํ•ด ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ƒ์„ฑ์„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ๋ชปํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.(Integrity Constraint : ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด)

SQL์ด๋ž€?

Structured Query Language

DML :

DCM :

DDL :

  • ์„ ํƒ : ํ…Œ์ด๋ธ”์˜ ํ–‰์„ ์„ ํƒํ•œ๋‹ค. : Where ์ ˆ

  • ํ”„๋กœ์ ์…˜ : ํ…Œ์ด๋ธ”์˜ ์—ด์„ ์„ ํƒํ•œ๋‹ค. : Select ์ ˆ

ํŒ : where ์ ˆ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ™์ง€ ์•Š๋‹ค ์˜ ํ‘œํ˜„

!= : Window OS์—์„œ๋Š” ์ •์ƒ ๋™์ž‘ํ•˜์ง€๋งŒ, Unix๊ณ„์—ด์—์„œ ์ž˜๋ชป๋œ ํ‘œํ˜„์ด ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ๋‹ค.

<> : ์ด ํ‘œํ˜„์ด ํ‘œ์ค€! ์ดํ‘œํ˜„์„ ์‚ฌ์šฉํ•˜์ž

ํŒ : SQL SELECT๊ตฌ๋ฌธ ์ฒ˜๋ฆฌ ์ˆœ์„œ์—์„œ ๋ณด๋Š” Column Alias ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ตฌ๋ฌธ ๊ตฌ๋ถ„

  1. FROM ์ ˆ : Column Alias ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ : Table Alias ์ง€์ • ์‹œ ์•„๋ž˜ ๋ชจ๋“  ๋‹จ๊ณ„์—์„œ Alias๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
  2. WHERE ์ ˆ : Column Alias ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ
  3. GROUP BY ์ ˆ : Column Alias ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ
  4. HAVING ์ ˆ : Column Alias ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ
  5. SELECT ์ ˆ : Column Alias ์ง€์ •
  6. ORDER BY ์ ˆ : Column Alias ์‚ฌ์šฉ ๊ฐ€๋Šฅ

NULL ์˜ ํŠน์ง•

NULL - ๊ณต์ง‘ํ•ฉ, ์•„๋ฌด๊ฒƒ๋„ ์—†๋‹ค. ๊ณต๋ฐฑ ํ‘œ์‹œ

NULL๊ณผ ์—ฐ์‚ฐ์ž๊ฐ€ ๋งŒ๋‚˜๋ฉด ๋ฌด์กฐ๊ฑด NULL์ด ๋‚˜์˜จ๋‹ค.

where A = null ์ด๋Ÿฐ ์‹์˜ ๋น„๊ต๊ฐ€ ๋งŽ์€๋ฐ, ์˜๋„ํ•œ ๊ฒฐ๊ณผ์™€ ๋‹ค๋ฅธ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

WHERE A IS NULL NULL๋น„๊ต๋Š” ์˜ˆ์•ฝ๋œ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

ํŒ : ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์—์„œ...

์—ฐ์‚ฐ์ž ๊ตฌ๋ฌธ์„ ์ตœ์ ํ™” ํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฐ์‚ฐ์‹์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.


์šฉ์–ด ์ •๋ฆฌ

  • ๊ฐœ๋… ๋ชจ๋ธ๋ง : ํ–‰, ํŠœํ”Œ, ์—”ํ„ฐํ‹ฐ, ์—”ํ„ฐํ‹ฐํƒ€์ž…, ์–ดํŠธ๋ฆฌ๋ทฐํŠธ
  • ๋…ผ๋ฆฌ ๋ชจ๋ธ๋ง : ํ…Œ์ด๋ธ”, ํ–‰, ์ปฌ๋Ÿผ

๋…ผ๋ฆฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋ฌผ๋ฆฌ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ณ€ํ™˜

https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fk.kakaocdn.net%2Fdn%2FcgrFf6%2FbtqEFW0oSEi%2FJKeEj5UEA1xHbi3N2v3qWK%2Fimg.png