๐ŸŒ 2-3-4. DCL

๊ณผ๋ชฉ2. SQL ๊ธฐ๋ณธ๊ณผ ํ™œ์šฉ

์ œ3์žฅ ๊ด€๋ฆฌ ๊ตฌ๋ฌธ

์ œ4์ ˆ DCL

1. DCL ๊ฐœ์š”

์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ SQL ๋ฌธ์žฅ์„ ๋ถ„๋ฅ˜ํ•˜๋ฉด ํ…Œ์ด๋ธ” ์ƒ์„ฑ๊ณผ ์กฐ์ž‘์— ๊ด€๋ จ๋œ ๋ช…๋ น์–ด(DDL)์™€, ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด(DML), ๊ทธ๋ฆฌ๊ณ  TRANSACTION์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด(TCL)์ด๋‹ค. ์ถ”๊ฐ€๋กœ, ์ด๋Ÿฐ ๋ช…๋ น์–ด๋“ค ์ด์™ธ์—๋„ ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ถŒํ•œ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” DCL(DATA CONTROL LANGUAGE) ๋ช…๋ น์–ด๊ฐ€ ์žˆ๋‹ค.

2. ์œ ์ €์™€ ๊ถŒํ•œ

๋‹ค๋ฅธ ๋ถ€์„œ ๊ฐ„์— ๋˜๋Š” ๋‹ค๋ฅธ ํšŒ์‚ฌ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์˜คํ”ˆํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ฐ€๋” ๋ฐœ์ƒํ•œ๋‹ค. ๋ฌผ๋ก  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์˜คํ”ˆํ•˜๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰ ์šด์˜ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•˜๋˜ ์œ ์ €๋ฅผ ์˜คํ”ˆํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์†์‹ค ์šฐ๋ ค๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์— ์ƒˆ๋กœ์šด ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ƒ์„ฑํ•œ ์œ ์ €์—๊ฒŒ ๊ณต์œ ํ•  ํ…Œ์ด๋ธ”์ด๋‚˜ ๊ธฐํƒ€ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ๋งŒ์„ ๋ถ€์—ฌํ•œ๋‹ค๋ฉด ๋ฌธ์ œ๋Š” ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํšŒ์›์ œ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋ฐฉ๋ฌธํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ ค๋ฉด ๋จผ์ € ํšŒ์› ๊ฐ€์ž…์„ ํ•ด์•ผ ํ•œ๋‹ค. ์œ ์ € ์•„์ด๋””, ํŒจ์Šค์›Œ๋“œ, ๊ธฐํƒ€ ๊ฐœ์ธ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์•ฝ๊ด€์— ๋™์˜ํ•˜๋ฉด ํšŒ์› ๊ฐ€์ž…์ด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์œ ์ € ์•„์ด๋””์™€ ํŒจ์Šค์›Œ๋“œ๋กœ ๋กœ๊ทธ์ธํ•˜๋ฉด ์›น์‚ฌ์ดํŠธ์˜ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ํ™”๋‚˜ ์œ ๋ฃŒ ๊ฒŒ์ž„๊ณผ ๊ฐ™์€ ํŠน์ • ์ปจํ…์ธ ๋ฅผ ์ด์šฉํ•˜๋ ค๋ฉด '๊ถŒํ•œ์ด ์—†๋‹ค'๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์œ ์ € ์•„์ด๋””์™€ ํŒจ์Šค์›Œ๋“œ๋ฅผ ์œ ์ €๋ผ ํ•  ์ˆ˜ ์žˆ๊ณ , ์œ ๋ฃŒ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ฒฐ์žฌ ์—ฌ๋ถ€๋ฅผ ๊ถŒํ•œ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ์™€ ๋ณด์•ˆ์„ ์œ„ํ•ด์„œ ์œ ์ €์™€ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด Oracle์„ ์„ค์น˜ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ์œ ์ €๋“ค์ธ SYS, SYSTEM, SCOTT ์œ ์ €์— ๋Œ€ํ•ด์„œ [ํ‘œ โ…ก-2-8]์„ ํ†ตํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์•Œ์•„๋ณธ๋‹ค.

Oracle๊ณผ SQL Server์˜ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์•„ํ‚คํ…์ฒ˜๋Š” ๋‹ค๋ฅธ ๋ฉด์ด ๋งŽ๋‹ค. Oracle์€ ์œ ์ €๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†์„ ํ•˜๋Š” ํ˜•ํƒœ์ด๋‹ค. ์ฆ‰ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ฐฉ์‹์œผ๋กœ ์ธ์Šคํ„ด์Šค์— ์ ‘์†์„ ํ•˜๊ณ  ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ์Šคํ‚ค๋งˆ์— ์˜ค๋ธŒ์ ํŠธ ์ƒ์„ฑ ๋“ฑ์˜ ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›๊ฒŒ ๋œ๋‹ค. SQL Server๋Š” ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ์ธ์ด๋ผ๋Š” ๊ฒƒ์„ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉฐ, ์ธ์Šคํ„ด์Šค ๋‚ด์— ์กด์žฌํ•˜๋Š” ๋‹ค์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜์—ฌ ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•ด ์œ ์ €๋ฅผ ์ƒ์„ฑํ•œ ํ›„ ๋กœ๊ทธ์ธ๊ณผ ์œ ์ €๋ฅผ ๋งคํ•‘ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋” ๋‚˜์•„๊ฐ€ ํŠน์ • ์œ ์ €๋Š” ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ํŠน์ • ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. SQL Server ๋กœ๊ทธ์ธ์€ ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ฒซ ๋ฒˆ์งธ, Windows ์ธ์ฆ ๋ฐฉ์‹์œผ๋กœ Windows์— ๋กœ๊ทธ์ธํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  SQL Server์— ์ ‘์†ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Microsoft Windows ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ํ†ตํ•ด ์—ฐ๊ฒฐ๋˜๋ฉด SQL Server๋Š” ์šด์˜ ์ฒด์ œ์˜ Windows ๋ณด์•ˆ ์ฃผ์ฒด ํ† ํฐ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์ • ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๊ฐ€ ์œ ํšจํ•œ์ง€ ํ™•์ธํ•œ๋‹ค. ์ฆ‰ Windows์—์„œ ์‚ฌ์šฉ์ž ID๋ฅผ ํ™•์ธํ•œ๋‹ค. SQL Server๋Š” ์•”ํ˜ธ๋ฅผ ์š”์ฒญํ•˜์ง€ ์•Š์œผ๋ฉฐ ID์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. Windows ์ธ์ฆ์€ ๊ธฐ๋ณธ ์ธ์ฆ ๋ชจ๋“œ์ด๋ฉฐ SQL Server ์ธ์ฆ๋ณด๋‹ค ํ›จ์”ฌ ๋” ์•ˆ์ „ํ•˜๋‹ค. Windows ์ธ์ฆ์€ Kerberos ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๊ณ , ์•”ํ˜ธ ์ •์ฑ…์„ ์ ์šฉํ•˜์—ฌ ๊ฐ•๋ ฅํ•œ ์•”ํ˜ธ์— ๋Œ€ํ•ด ์ ํ•ฉํ•œ ๋ณต์žก์„ฑ ์ˆ˜์ค€์„ ์œ ์ง€ํ•˜๋„๋ก ํ•˜๋ฉฐ, ๊ณ„์ • ์ž ๊ธˆ ๋ฐ ์•”ํ˜ธ ๋งŒ๋ฃŒ๋ฅผ ์ง€์›ํ•œ๋‹ค. SQL Server๊ฐ€ Windows์—์„œ ์ œ๊ณตํ•˜๋Š” ์ž๊ฒฉ ์ฆ๋ช…์„ ์‹ ๋ขฐํ•˜๋ฏ€๋กœ Windows ์ธ์ฆ์„ ์‚ฌ์šฉํ•œ ์—ฐ๊ฒฐ์„ ํŠธ๋Ÿฌ์ŠคํŠธ๋œ ์—ฐ๊ฒฐ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ, ํ˜ผํ•ฉ ๋ชจ๋“œ(Windows ์ธ์ฆ ๋˜๋Š” SQL ์ธ์ฆ) ๋ฐฉ์‹์œผ๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ Windows ์ธ์ฆ์œผ๋กœ๋„ SQL Server์— ์ ‘์† ๊ฐ€๋Šฅํ•˜๋ฉฐ, Oracle์˜ ์ธ์ฆ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ์ž ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ SQL Server์— ์ ‘์†ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. SQL ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ฐ•๋ ฅํ•œ ์•”ํ˜ธ(์ˆซ์ž+๋ฌธ์ž+ํŠน์ˆ˜๋ฌธ์ž ๋“ฑ์„ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ)๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„๋ž˜ [๊ทธ๋ฆผ โ…ก-1-16]์„ ๋ณด๋ฉด SCOTT์ด๋ผ๋Š” LOGIN ์ด๋ฆ„์œผ๋กœ ์ธ์Šคํ„ด์Šค INST1์— ์ ‘์†์„ ํ•˜์—ฌ ๋ฏธ๋ฆฌ ๋งคํ•‘๋˜์–ด ์žˆ๋Š” SCOTT์ด๋ผ๋Š” ์œ ์ €๋ฅผ ํ†ตํ•ด PRODUCT๋ผ๋Š” ์Šคํ‚ค๋งˆ์— ์†ํ•ด ์žˆ๋Š” ITEM์ด๋ผ๋Š” ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์•ก์„ธ์Šคํ•˜๊ณ  ์žˆ๋‹ค.

๊ฐ€. ์œ ์ € ์ƒ์„ฑ๊ณผ ์‹œ์Šคํ…œ ๊ถŒํ•œ ๋ถ€์—ฌ

์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ–ˆ๋‹ค๊ณ  ํ•ด์„œ ํ…Œ์ด๋ธ”, ๋ทฐ, ์ธ๋ฑ์Šค ๋“ฑ๊ณผ ๊ฐ™์€ ์˜ค๋ธŒ์ ํŠธ(OBJECT)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ๋ชจ๋“  DDL ๋ฌธ์žฅ(CREATE, ALTER, DROP, RENAME ๋“ฑ)์€ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ์ ์ ˆํ•œ ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ๋งŒ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ถŒํ•œ์„ ์‹œ์Šคํ…œ ๊ถŒํ•œ์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์•ฝ 100๊ฐœ ์ด์ƒ์˜ ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์‹œ์Šคํ…œ ๊ถŒํ•œ์€ ์ผ์ผ์ด ์œ ์ €์—๊ฒŒ ๋ถ€์—ฌ๋˜์ง€ ์•Š๋Š”๋‹ค. 100๊ฐœ ์ด์ƒ์˜ ์‹œ์Šคํ…œ ๊ถŒํ•œ์„ ์ผ์ผ์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ณ , ํŠนํžˆ ์œ ์ €๋กœ๋ถ€ํ„ฐ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋กค(ROLE)์„ ์ด์šฉํ•˜์—ฌ ๊ฐ„ํŽธํ•˜๊ณ  ์‰ฝ๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ฒŒ ๋œ๋‹ค. ๋กค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ ์ฐจํ›„์— ํ•˜๋„๋ก ํ•˜๊ณ  ๋จผ์ € ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค. ์ƒˆ๋กœ์šด ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์ผ๋‹จ ์œ ์ € ์ƒ์„ฑ ๊ถŒํ•œ(CREATE USER)์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค.

[์˜ˆ์ œ] SCOTT ์œ ์ €๋กœ ์ ‘์†ํ•œ ๋‹ค์Œ PJS ์œ ์ €(ํŒจ์Šค์›Œ๋“œ: KOREA7)๋ฅผ ์ƒ์„ฑํ•ด ๋ณธ๋‹ค.

[์˜ˆ์ œ] Oracle

CONN SCOTT/TIGER ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

* 1ํ–‰์— ์˜ค๋ฅ˜: ERROR: ๊ถŒํ•œ์ด ๋ถˆ์ถฉ๋ถ„ํ•˜๋‹ค

ํ˜„์žฌ SCOTT ์œ ์ €๋Š” ์œ ์ €๋ฅผ ์ƒ์„ฑํ•  ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ถŒํ•œ์ด ๋ถˆ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. Oracle์˜ DBA ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” SYSTEM ์œ ์ €๋กœ ์ ‘์†ํ•˜๋ฉด ์œ ์ € ์ƒ์„ฑ ๊ถŒํ•œ(CREATE USER)์„ ๋‹ค๋ฅธ ์œ ์ €์—๊ฒŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

[์˜ˆ์ œ] SCOTT ์œ ์ €์—๊ฒŒ ์œ ์ €์ƒ์„ฑ ๊ถŒํ•œ(CREATE USER)์„ ๋ถ€์—ฌํ•œ ํ›„ ๋‹ค์‹œ PJS ์œ ์ €๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

CONN SCOTT/TIGER ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

SQL Server๋Š” ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์ „ ๋จผ์ € ๋กœ๊ทธ์ธ์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๋กœ๊ทธ์ธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๊ฐ€์ง„ ๋กœ๊ทธ์ธ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ sa์ด๋‹ค.

[์˜ˆ์ œ] sa๋กœ ๋กœ๊ทธ์ธ์„ ํ•œ ํ›„ SQL ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” PJS๋ผ๋Š” ๋กœ๊ทธ์ธ(ํŒจ์Šค์›Œ๋“œ: KOREA7)์„ ์ƒ์„ฑํ•ด ๋ณธ๋‹ค. ๋กœ๊ทธ์ธ ํ›„ ์ตœ์ดˆ๋กœ ์ ‘์†ํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” AdventureWorks ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์„ค์ •ํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

SQL Server์—์„œ์˜ ์œ ์ €๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งˆ๋‹ค ์กด์žฌํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ƒ์„ฑํ•˜๊ณ ์ž ํ•˜๋Š” ์œ ์ €๊ฐ€ ์†ํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์ด๋™์„ ํ•œ ํ›„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

[์˜ˆ์ œ] ์ƒ์„ฑ๋œ PJS ์œ ์ €๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์˜ค๋ฅ˜: ERROR: ์‚ฌ์šฉ์ž PJS๋Š” CREATE SESSION ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ ์žˆ์ง€ ์•Š์Œ;

๋กœ๊ทธ์˜จ์ด ๊ฑฐ์ ˆ๋˜์—ˆ๋‹ค.

PJS ์œ ์ €๊ฐ€ ์ƒ์„ฑ๋์ง€๋งŒ ์•„๋ฌด๋Ÿฐ ๊ถŒํ•œ๋„ ๋ถ€์—ฌ๋ฐ›์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด CREATE SESSION ๊ถŒํ•œ์ด ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์œ ์ €๊ฐ€ ๋กœ๊ทธ์ธ์„ ํ•˜๋ ค๋ฉด CREATE SESSION ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์•„์•ผ ํ•œ๋‹ค.

[์˜ˆ์ œ] PJS ์œ ์ €๊ฐ€ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ๋„๋ก CREATE SESSION ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

[์˜ˆ์ œ] Oracle

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] PJS ์œ ์ €๋กœ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์„ ํƒ๋œ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†๋‹ค.

* 1 ํ–‰์—์˜ค๋ฅ˜: ERROR: ๊ถŒํ•œ์ด๋ถˆ์ถฉ๋ถ„ํ•˜๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 'AdventureWorks'์—์„œ CREATE TABLE ์‚ฌ์šฉ๊ถŒํ•œ์ด๊ฑฐ๋ถ€๋˜์—ˆ๋‹ค.

PJS ์œ ์ €๋Š” ๋กœ๊ทธ์ธ ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๊ถŒํ•œ(CREATE TABLE)์ด ๋ถˆ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.(Oracle, SQL Server)

[์˜ˆ์ œ] SYSTEM ์œ ์ €๋ฅผ ํ†ตํ•˜์—ฌ PJS ์œ ์ €์—๊ฒŒ CREATE TABLE ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ํ›„ ๋‹ค์‹œ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

CONN PJS/KOREA7 ์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

์Šคํ‚ค๋งˆ์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

[์˜ˆ์ œ] SQL Server

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

PJS๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

๋‚˜. OBJECT์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋ถ€์—ฌ

์•ž์—์„œ PJS ์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋กœ๊ทธ์ธํ•˜๊ณ  ํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์—์„œ ๋ช‡ ๊ฐ€์ง€์˜ ๊ถŒํ•œ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์•˜๋‹ค. ์ด์ œ๋Š” ํŠน์ • ์œ ์ €๊ฐ€ ์†Œ์œ ํ•œ ๊ฐ์ฒด(OBJECT) ๊ถŒํ•œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค. ์˜ค๋ธŒ์ ํŠธ ๊ถŒํ•œ์€ ํŠน์ • ์˜ค๋ธŒ์ ํŠธ์ธ ํ…Œ์ด๋ธ”, ๋ทฐ ๋“ฑ์— ๋Œ€ํ•œ SELECT, INSERT, DELETE, UPDATE ์ž‘์—… ๋ช…๋ น์–ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. [ํ‘œ โ…ก-2-9]๋Š” ์˜ค๋ธŒ์ ํŠธ ๊ถŒํ•œ๊ณผ ์˜ค๋ธŒ์ ํŠธ์™€์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ ์ฃผ๊ณ  ์žˆ๋‹ค.

์•ž์—์„œ PJS ์œ ์ €๊ฐ€ ์ƒ์„ฑํ•œ MENU ํ…Œ์ด๋ธ”์„ SCOTT ์œ ์ €๋ฅผ ํ†ตํ•ด์„œ ์กฐํšŒํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ? SCOTT, PJS ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์œ ์ €๋Š” ๊ฐ๊ฐ ์ž์‹ ์ด ์ƒ์„ฑํ•œ ํ…Œ์ด๋ธ” ์™ธ์— ๋‹ค๋ฅธ ์œ ์ €์˜ ํ…Œ์ด๋ธ”์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์˜ค๋ธŒ์ ํŠธ ๊ถŒํ•œ์„ ์†Œ์œ ์ž๋กœ๋ถ€ํ„ฐ ๋ถ€์—ฌ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋‚จ์˜ ์ง‘์— ๋ฐฉ๋ฌธํ–ˆ์„ ๋•Œ ์ง‘์ฃผ์ธ์˜ ํ—ˆ๋ฝ ์—†์ด๋Š” ์ง‘์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ด์น˜์ด๋‹ค. SQL Server๋„ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ํ•œ ๊ฐ€์ง€ ๋‹ค๋ฅธ ์ ์€ ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์œ ์ €๋Š” ๋‹จ์ง€ ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ ๊ถŒํ•œ๋งŒ์„ ๊ฐ€์ง„๋‹ค. ๋‹ค์‹œ ๋งํ•˜๋ฉด ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ์˜ค๋ธŒ์ ํŠธ๋Š” ์œ ์ €๊ฐ€ ์†Œ์œ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ์Šคํ‚ค๋งˆ๊ฐ€ ์†Œ์œ ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉฐ ์œ ์ €๋Š” ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•ด ํŠน์ •ํ•œ ๊ถŒํ•œ์„ ๊ฐ€์ง€๋Š” ๊ฒƒ์ด๋‹ค. ๋จผ์ € SCOTT ์œ ์ €๋กœ ์ ‘์†ํ•˜์—ฌ PJS.MENU ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•œ๋‹ค. ๋‹ค๋ฅธ ์œ ์ €๊ฐ€ ์†Œ์œ ํ•œ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ์ฒด ์•ž์— ๊ฐ์ฒด๋ฅผ ์†Œ์œ ํ•œ ์œ ์ €์˜ ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค. SQL Server๋Š” ๊ฐ์ฒด ์•ž์— ์†Œ์œ ํ•œ ์œ ์ €์˜ ์ด๋ฆ„์„ ๋ถ™์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๊ฐ์ฒด๊ฐ€ ์†ํ•œ ์Šคํ‚ค๋งˆ ์ด๋ฆ„์„ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

SELECT * FROM PJS.MENU

* 1 ํ–‰์—์˜ค๋ฅ˜: ERROR: ํ…Œ์ด๋ธ”๋˜๋Š”๋ทฐ๊ฐ€์กด์žฌํ•˜์ง€์•Š๋Š”๋‹ค.

SCOTT๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

๊ฐœ์ฒด์ด๋ฆ„ 'dbo.MENU'์ด(๊ฐ€) ์ž˜๋ชป๋˜์—ˆ๋‹ค.

SCOTT ์œ ์ €๋Š” PJS ์œ ์ €๋กœ๋ถ€ํ„ฐ MENU ํ…Œ์ด๋ธ”์„ SELECTํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌ๋ฐ›์ง€ ๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— MENU ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•  ์ˆ˜ ์—†๋‹ค.

[์˜ˆ์ œ] PJS ์œ ์ €๋กœ ์ ‘์†ํ•˜์—ฌ SCOTT ์œ ์ €์—๊ฒŒ MENU ํ…Œ์ด๋ธ”์„ SELECT ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

1๊ฐœ์˜ ํ–‰์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.

์ปค๋ฐ‹์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

PJS๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

1๊ฐœ์˜ ํ–‰์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ SCOTT ์œ ์ €๋กœ ์ ‘์†ํ•˜์—ฌ PJS.MENU ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•œ๋‹ค. ์ด์ œ PJS.MENU ํ…Œ์ด๋ธ”์„ SELECTํ•˜๋ฉด ํ…Œ์ด๋ธ” ์ž๋ฃŒ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. SCOTT ์œ ์ €๋Š” PJS.MENU ํ…Œ์ด๋ธ”์„ SELECTํ•˜๋Š” ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌ ๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์— UPDATE, INSERT, DELETE์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์—†๋‹ค. ์˜ค๋ธŒ์ ํŠธ ๊ถŒํ•œ์€ SELECT, INSERT, DELETE, UPDATE ๋“ฑ์˜ ๊ถŒํ•œ์„ ๋”ฐ๋กœ๋”ฐ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

[์˜ˆ์ œ] PJS.MENU ํ…Œ์ด๋ธ”์— UPDATE๋ฅผ ์‹œ๋„ํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

MENU_SEQ
TITLE

1

ํ™”์ดํŒ…

1 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

UPDATE PJS.MENU * 1 ํ–‰์—์˜ค๋ฅ˜

SCOTT์œผ๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

MENU_SEQ
TITLE

1

ํ™”์ดํŒ…

1 ๊ฐœ์˜ ํ–‰์ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐœ์ฒด'MENU', ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 'AdventureWorks', ์Šคํ‚ค๋งˆ 'dbo'์— ๋Œ€ํ•œ UPDATE ๊ถŒํ•œ์ด๊ฑฐ๋ถ€๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์กฑํ•˜์—ฌ UPDATE๋ฅผ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋‚˜ํƒ€๋‚œ๋‹ค. PJS ์œ ์ €์—๊ฒŒ UPDATE ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ํ›„ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋ฉด ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

3. Role์„ ์ด์šฉํ•œ ๊ถŒํ•œ ๋ถ€์—ฌ

์œ ์ €๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ CREATE SESSION, CREATE TABLE, CREATE PROCEDURE ๋“ฑ ๋งŽ์€ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์•ผ ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋Š” ์œ ์ €๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ๊ฐ๊ฐ์˜ ๊ถŒํ•œ๋“ค์„ ์œ ์ €์—๊ฒŒ ๋ถ€์—ฌํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฉฐ ๊ฐ„ํ˜น ๊ถŒํ•œ์„ ๋น ๋œจ๋ฆด ์ˆ˜๋„ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ ์œ ์ €๋ณ„๋กœ ์–ด๋–ค ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋Š”์ง€๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๊ด€๋ฆฌํ•ด์•ผ ํ•  ์œ ์ €๊ฐ€ ์ ์  ๋Š˜์–ด๋‚˜๊ณ  ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ์ƒํ™ฉ์—์„œ๋Š” ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—…์ด ๋  ๊ฒƒ์ด๋‹ค. ์ด์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•˜์—ฌ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์œ ์ €๋“ค๊ณผ ๊ถŒํ•œ๋“ค ์‚ฌ์ด์—์„œ ์ค‘๊ฐœ ์—ญํ• ์„ ํ•˜๋Š” ROLE์„ ์ œ๊ณตํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋Š” ROLE์„ ์ƒ์„ฑํ•˜๊ณ , ROLE์— ๊ฐ์ข… ๊ถŒํ•œ๋“ค์„ ๋ถ€์—ฌํ•œ ํ›„ ROLE์„ ๋‹ค๋ฅธ ROLE์ด๋‚˜ ์œ ์ €์—๊ฒŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ROLE์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ถŒํ•œ๋“ค์ด ํ•„์š”ํ•œ ์œ ์ €์—๊ฒŒ๋Š” ํ•ด๋‹น ROLE๋งŒ์„ ๋ถ€์—ฌํ•จ์œผ๋กœ์จ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํ•„์š”ํ•œ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. [๊ทธ๋ฆผ โ…ก-2-17]์—์„œ๋Š” ์œ ์ €๋“ค๊ณผ ๊ถŒํ•œ๋“ค ์‚ฌ์ด ๊ฐ„ ROLE์˜ ์—ญํ• ์„ ๋ณด์—ฌ ์ฃผ๊ณ  ์žˆ๋‹ค. ์™ผ์ชฝ ๊ทธ๋ฆผ์€ ๊ถŒํ•œ์„ ์ง์ ‘ ์œ ์ €์—๊ฒŒ ํ• ๋‹นํ•  ๋•Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋ฉฐ, ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์€ ROLE์— ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ํ›„ ROLE์„ ์œ ์ €๋“ค์—๊ฒŒ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์žˆ๋‹ค.

ROLE์—๋Š” ์‹œ์Šคํ…œ ๊ถŒํ•œ๊ณผ ์˜ค๋ธŒ์ ํŠธ ๊ถŒํ•œ์„ ๋ชจ๋‘ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ROLE์€ ์œ ์ €์—๊ฒŒ ์ง์ ‘ ๋ถ€์—ฌ๋  ์ˆ˜๋„ ์žˆ๊ณ , ๋‹ค๋ฅธ ROLE์— ํฌํ•จํ•˜์—ฌ ์œ ์ €์—๊ฒŒ ๋ถ€์—ฌ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

[์˜ˆ์ œ] JISUNG ์œ ์ €์—๊ฒŒ CREATE SESSION๊ณผ CREATE TABLE ๊ถŒํ•œ์„ ๊ฐ€์ง„ ROLE์„ ์ƒ์„ฑํ•œ ํ›„ ROLE์„ ์ด์šฉํ•˜์—ฌ ๋‹ค์‹œ ๊ถŒํ•œ์„ ํ• ๋‹นํ•œ๋‹ค. ๊ถŒํ•œ์„ ์ทจ์†Œํ•  ๋•Œ๋Š” REVOKE๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ์ทจ์†Œ๋˜์—ˆ๋‹ค.

CONN JISUNG/KOREA7 ERROR: ์‚ฌ์šฉ์ž JISUNG์€ CREATE SESSION ๊ถŒํ•œ์„๊ฐ€์ง€๊ณ ์žˆ์ง€์•Š์Œ.๋กœ๊ทธ์˜จ์ด๊ฑฐ์ ˆ๋˜์—ˆ๋‹ค.

sa๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

[์˜ˆ์ œ] SQL Server

๊ถŒํ•œ์ด ์ทจ์†Œ๋˜์—ˆ๋‹ค.

PJS๋กœ ๋กœ๊ทธ์ธํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ SQL Server]

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค 'AdventureWorks'์—์„œ CREATE TABLE ์‚ฌ์šฉ๊ถŒํ•œ์ด๊ฑฐ๋ถ€๋˜์—ˆ๋‹ค.

[์˜ˆ์ œ] ์ด์ œ LOGIN_TABLE์ด๋ผ๋Š” ROLE์„ ๋งŒ๋“ค๊ณ , ์ด ROLE์„ ์ด์šฉํ•˜์—ฌ JISUNG ์œ ์ €์—๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

๋กค์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

์ด์™€ ๊ฐ™์ด ROLE์„ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒํ•œ์„ ์ง์ ‘ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์œ ์ €๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. Oracle์—์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ROLE์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ROLE์€ CONNECT์™€ RESOURCE์ด๋‹ค. ์ฐธ์กฐ๋ฅผ ์œ„ํ•ด [ํ‘œ โ…ก-2-11]์€ CONNECT์™€ RESOURCE ROLE์— ๋ถ€์—ฌ๋œ ๊ถŒํ•œ ๋ชฉ๋ก์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ด๋‹ค. CONNECT๋Š” CREATE SESSION๊ณผ ๊ฐ™์€ ๋กœ๊ทธ์ธ ๊ถŒํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ณ , RESOURCE๋Š” CREATE TABLE๊ณผ ๊ฐ™์€ ์˜ค๋ธŒ์ ํŠธ์˜ ์ƒ์„ฑ ๊ถŒํ•œ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์œ ์ €๋ฅผ ์ƒ์„ฑํ•  ๋•Œ CONNECT์™€ RESOURCE ROLE์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ๋‹ค.

์œ ์ €๋ฅผ ์‚ญ์ œํ•˜๋Š” ๋ช…๋ น์–ด๋Š” DROP USER์ด๊ณ , CASCADE ์˜ต์…˜์„ ์ฃผ๋ฉด ํ•ด๋‹น ์œ ์ €๊ฐ€ ์ƒ์„ฑํ•œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๋จผ์ € ์‚ญ์ œํ•œ ํ›„ ์œ ์ €๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

[์˜ˆ์ œ] ์•ž์—์„œ MENU๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— CASCADE ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ JISUNG ์œ ์ €๋ฅผ ์‚ญ์ œํ•œ ํ›„, ์œ ์ € ์žฌ์ƒ์„ฑ ๋ฐ ๊ธฐ๋ณธ์ ์ธ ROLE์„ ๋ถ€์—ฌํ•œ๋‹ค.

[์˜ˆ์ œ ๋ฐ ์‹คํ–‰ ๊ฒฐ๊ณผ Oracle]

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์‚ญ์ œ๋˜์—ˆ๋‹ค.

* JISUNG ์œ ์ €๊ฐ€ ๋งŒ๋“  MENU ํ…Œ์ด๋ธ”๋„ ๊ฐ™์ด ์‚ญ์ œ๋˜์—ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์—ˆ๋‹ค.

์—ฐ๊ฒฐ๋˜์—ˆ๋‹ค.

ํ…Œ์ด๋ธ”์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค.

SQL Server์—์„œ๋Š” ์œ„์™€ ๊ฐ™์ด ROLE์„ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ROLE์— ๋ฉค๋ฒ„๋กœ ์ฐธ์—ฌํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ํŠน์ • ๋กœ๊ทธ์ธ์ด ๋ฉค๋ฒ„๋กœ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ์ˆ˜์ค€ ์—ญํ• (ROLE)์€ [ํ‘œ โ…ก-2-12]์™€ ๊ฐ™๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์กด์žฌํ•˜๋Š” ์œ ์ €์— ๋Œ€ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ญํ• ์˜ ๋ฉค๋ฒ„๋กœ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

SQL Server์—์„œ๋Š” Oracle๊ณผ ๊ฐ™์ด Role์„ ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹  ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์„œ๋ฒ„ ์ˆ˜์ค€ ์—ญํ•  ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€ ์—ญํ• ์„ ์ด์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ ๋ฐ ์‚ฌ์šฉ์ž ๊ถŒํ•œ์„ ์ œ์–ดํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค ์ˆ˜์ค€์˜ ์ž‘์—…์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์„œ๋ฒ„ ์ˆ˜์ค€ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๊ณ  ๊ทธ๋ณด๋‹ค ์ž‘์€ ๊ฐœ๋…์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์˜ ๊ถŒํ•œ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์˜ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ฉด ๋œ๋‹ค. ์ฆ‰ ์ธ์Šคํ„ด์Šค ์ˆ˜์ค€์„ ์š”๊ตฌํ•˜๋Š” ๋กœ๊ทธ์ธ์—๋Š” ์„œ๋ฒ„ ์ˆ˜์ค€ ์—ญํ• ์„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€์„ ์š”๊ตฌํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ˆ˜์ค€ ์—ญํ• ์„ ๋ถ€์—ฌํ•œ๋‹ค.

์ถœ์ฒ˜ : ๋ฐ์ดํ„ฐ์˜จ์—์–ด โ€“ ํ•œ๊ตญ๋ฐ์ดํ„ฐ์‚ฐ์—…์ง„ํฅ์›(https://dataonair.or.krarrow-up-right)

Last updated