๊ด€๋ฆฌ ๋ฉ”๋‰ด

IT’s Portfolio

[Lecture] DataBase - Finals Summary ๋ณธ๋ฌธ

Development Study

[Lecture] DataBase - Finals Summary

f1r3_r41n 2023. 6. 17. 15:24
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ป 2023๋…„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ๋ง๊ณ ์‚ฌ ๋Œ€๋น„ ์š”์  ์ •๋ฆฌ

๐Ÿ‘€ [07] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์–ธ์–ด SQL

๋ทฐ์˜ ๊ฐœ๋…

  • ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“  ๊ฐ€์ƒ ํ…Œ์ด๋ธ”(virtual table)
  • ๋ทฐ๋ฅผ ํ†ตํ•œ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ ๊ฒ€์ƒ‰์€ ์ˆ˜์›”ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ ๋ณ€๊ฒฝ ์ž‘์—…์€ ์ œํ•œ์ ์ž„
    • ๋ทฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ…Œ์ด๋ธ”์„ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”(base table) ์ด๋ผ๊ณ  ํ•จ
  • ๋‹ค๋ฅธ ๋ทฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ๋ทฐ ์ƒ์„ฑ ๊ฐ€๋Šฅ

๋ทฐ ์ƒ์„ฑ - create view

create view view_name(attribute_list)
as select ...
[with check option];
  • ๋ทฐ ์ƒ์„ฑ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๋ทฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ๋žต ์‹œ select ์ ˆ์— ๋‚˜์—ด๋œ ์†์„ฑ์˜ ์ด๋ฆ„์„ ๋ทฐ์—์„œ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
    • order by ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์  ์ œ์™ธํ•˜๊ณ  ์ผ๋ฐ˜ select ๋ฌธ๊ณผ ๋™์ผ
  • with check option : ๋ทฐ์˜ ์ •์˜ ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•˜๋Š” ์‚ฝ์ž… ๋ฐ ์ˆ˜์ •, ์‚ญ์ œ ์—ฐ์‚ฐ ์‹œ๋„ ์‹œ ์‹คํ–‰ ๊ฑฐ๋ถ€
create view Vip_customer
as select id, name, age, class
from Customer
where class='vip'
with check option;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์—์„œ ๋“ฑ๊ธ‰์ด vip์ธ ๊ณ ๊ฐ์˜ ๊ณ ๊ฐ์•„์ด๋””, ๊ณ ๊ฐ์ด๋ฆ„, ๋‚˜์ด, ๋“ฑ๊ธ‰์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ทฐ๋ฅผ ์šฐ์ˆ˜๊ณ ๊ฐ์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑ
create view Product_count
as select manufacturer, count(*) as cnt
from Product
group by manufacturer
with check option;
  • ์ œํ’ˆ ํ…Œ์ด๋ธ”์—์„œ ์ œ์กฐ์—…์ฒด๋ณ„ ์ œํ’ˆ์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ทฐ๋ฅผ ์—…์ฒด๋ณ„์ œํ’ˆ์ˆ˜๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑ

๋ทฐ ํ™œ์šฉ

select * from Vip_customer
where age>=20;
  • ์šฐ์ˆ˜๊ณ ๊ฐ ๋ทฐ์—์„œ ๋‚˜์ด๊ฐ€ 20์„ธ ์ด์ƒ์ธ ๊ณ ๊ฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋‚ด์šฉ ๊ฒ€์ƒ‰
  • ๋ทฐ์— ๋Œ€ํ•œ select ๋ฌธ์ด ๋‚ด๋ถ€์ ์œผ๋กœ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ select ๋ฌธ์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ์ˆ˜ํ–‰๋จ
create view Product_1
as select id, inventory, manufacturer
from Product
with check option;
  • ์ œํ’ˆ์— ๋Œ€ํ•œ ์ œํ’ˆ1 ๋ทฐ ์ƒ์„ฑ
create view Product_2
as select name, inventory, manufacturer
from Product
with check option;
  • ์ œํ’ˆ์— ๋Œ€ํ•œ ์ œํ’ˆ2 ๋ทฐ ์ƒ์„ฑ
insert into Product_1
values ('p08', 1000, '์‹ ์„ ์‹ํ’ˆ');
  • ์ƒˆ๋กœ์šด ์ œํ’ˆ์˜ ์ •๋ณด๋ฅผ ์ œํ’ˆ1 ๋ทฐ์— ์‚ฝ์ž…
  • ๋ทฐ๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์ œ์‹œํ•˜์ง€ ์•Š์€ ์†์„ฑ์—๋Š” ๋„ ๊ฐ’์ด ์ €์žฅ๋จ
insert into Product_2
values ('์‹œ์›๋ƒ‰๋ฉด', 1000, '์‹ ์„ ์‹ํ’ˆ');
  • ์ œํ’ˆ2 ๋ทฐ์— ๋Œ€ํ•œ ์‚ฝ์ž… ์—ฐ์‚ฐ์ด ์‹คํŒจํ•จ
  • ์ œํ’ˆ2 ๋ทฐ๋Š” ์ œํ’ˆ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค์ธ ์ œํ’ˆ๋ฒˆํ˜ธ ์†์„ฑ์ด ์—†์Œ
  • ๋ทฐ์— ๋Œ€ํ•œ ์‚ฝ์ž…๏น’์ˆ˜์ •๏น’์‚ญ์ œ ์—ฐ์‚ฐ์€ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์˜ ๋‚ด์šฉ์„ ๋ฐ”๊พธ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉ

๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ํ•œ ๋ทฐ์˜ ์ฃผ์š” ํŠน์ง•

  • ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋ทฐ๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€
    • ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์—์„œ not null ์ง€์ • ์†์„ฑ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋ทฐ๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ
  • ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์— ์žˆ๋˜ ๋‚ด์šฉ์ด ์•„๋‹Œ ์ง‘๊ณ„ ํ•จ์ˆ˜๋กœ ์ƒˆ๋กœ ๊ณ„์‚ฐ๋œ ๋‚ด์šฉ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๋ทฐ๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€
  • distinct ํ‚ค์›Œ๋“œ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ •์˜ํ•œ ๋ทฐ๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€
  • group by ์ ˆ์„ ํฌํ•จํ•˜์—ฌ ์ •์˜ํ•œ ๋ทฐ๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•˜์—ฌ ์ •์˜ํ•œ ๋ทฐ๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ

๋ทฐ์˜ ๋Œ€ํ‘œ์ ์ธ ์žฅ์ 

  • ์งˆ์˜๋ฌธ์„ ์ข€ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑ ๊ฐ€๋Šฅ
  • ๋ฐ์ดํ„ฐ์˜ ๋ณด์•ˆ ์œ ์ง€์— ๋„์›€์ด ๋จ
  • ๋ฐ์ดํ„ฐ๋ฅผ ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ

๋ทฐ ์‚ญ์ œ - drop view

drop view view_name;
  • ๋ทฐ ์‚ญ์ œ์˜ ๊ธฐ๋ณธ ํ˜•์‹
drop view Vip_customer;
  • ์šฐ์ˆ˜๊ณ ๊ฐ ๋ทฐ ์‚ญ์ œ
  • ์‚ญ์ œํ•  ๋ทฐ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ œ์•ฝ์กฐ๊ฑด์ด ์กด์žฌํ•œ๋‹ค๋ฉด ์ œ์•ฝ์กฐ๊ฑด์„ ๋จผ์ € ์‚ญ์ œํ•ด์•ผ์ง€ ๋ทฐ ์‚ญ์ œ๊ฐ€ ๊ฐ€๋Šฅํ•จ

๐Ÿ‘€ [08] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ๋‹จ๊ณ„

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ : ์‚ฌ์šฉ์ž๋“ค์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •
  • E-R ๋ชจ๋ธ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๋ณ€ํ™˜ ๊ทœ์น™์„ ์ด์šฉํ•œ ์„ค๊ณ„
    • 1๋‹จ๊ณ„ : ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ๋„ ํŒŒ์•…
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ฃผ์š” ์‚ฌ์šฉ์ž์˜ ๋ฒ”์œ„ ๊ฒฐ์ •
        • ์‚ฌ์šฉ์ž๊ฐ€ ์กฐ์ง์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ์—…๋ฌด ๋ถ„์„
        • ๋ฉด๋‹ด, ์„ค๋ฌธ์ง€ ๋ฐฐํฌ, ์—…๋ฌด ๊ด€๋ จ ๋ฌธ์„œ์˜ ๋ถ„์„ ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด ์š”๊ตฌ ์‚ฌํ•ญ ์ˆ˜์ง‘
        • ์ˆ˜์ง‘๋œ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ์š”๊ตฌ ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋กœ ๋ฌธ์„œํ™”
      • ๊ฒฐ๊ณผ๋ฌผ : ์š”๊ตฌ ์‚ฌํ•ญ ๋ช…์„ธ์„œ
    • 2๋‹จ๊ณ„ : ๊ฐœ๋…์  ์„ค๊ณ„
      • DBMS์— ๋…๋ฆฝ์ ์ธ ๊ฐœ๋…์  ๊ตฌ์กฐ ์„ค๊ณ„
        • ์š”๊ตฌ ์‚ฌํ•ญ ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ค‘์š”ํ•œ ๊ฐœ์ฒด๋ฅผ ์ถ”์ถœํ•œ ํ›„์— ๊ฐœ์ฒด ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ฒฐ์ •ํ•˜์—ฌ ์ด๋ฅผ E-R ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ํ‘œํ˜„
      • ๊ฒฐ๊ณผ๋ฌผ : ๊ฐœ๋…์  ์Šคํ‚ค๋งˆ
    • 3๋‹จ๊ณ„ : ๋…ผ๋ฆฌ์  ์„ค๊ณ„
      • DBMS์— ์ ํ•ฉํ•œ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ ์„ค๊ณ„
        • ๊ฐœ๋…์  ์„ค๊ณ„ ๋‹จ๊ณ„์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ๋กœ ๋ณ€ํ™˜
          • ๋ณ€ํ™˜ ๊ทœ์น™
            • (1) ๋ชจ๋“  ๊ฐœ์ฒด ๋ฆด๋ ˆ์ด์…˜์œผ๋กœ ๋ณ€ํ™˜
            • (2) n:m ๊ด€๊ณ„ ๋ฆด๋ ˆ์ด์…˜์œผ๋กœ ๋ณ€ํ™˜
            • (3) 1:n ๊ด€๊ณ„ ์™ธ๋ž˜ํ‚ค ํ‘œํ˜„
              • ์ผ๋ฐ˜์ ์ธ ๊ด€๊ณ„ ์™ธ๋ž˜ํ‚ค ํ‘œํ˜„
              • ์•ฝํ•œ ๊ฐœ์ฒด๊ฐ€ ์ฐธ์—ฌํ•˜๋Š” ๊ด€๊ณ„๋Š” ์™ธ๋ž˜ํ‚ค ํฌํ•จ ๊ธฐ๋ณธํ‚ค ์ง€์ •
            • (4) 1:1 ๊ด€๊ณ„ ์™ธ๋ž˜ํ‚ค ํ‘œํ˜„
              • ์ผ๋ฐ˜์ ์ธ ๊ด€๊ณ„ ์™ธ๋ž˜ํ‚ค ์„œ๋กœ ์ฃผ๊ณ  ๋ฐ›์Œ
              • ๊ด€๊ณ„์— ํ•„์ˆ˜์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋Š” ๊ฐœ์ฒด์˜ ๋ฆด๋ ˆ์ด์…˜๋งŒ ์™ธ๋ž˜ํ‚ค๋ฅผ ๋ฐ›์Œ
              • ๋ชจ๋“  ๊ฐœ์ฒด๊ฐ€ ํ•„์ˆ˜์  ์ฐธ์—ฌ์ผ ์‹œ ๋ฆด๋ ˆ์ด์…˜ ํ•˜๋‚˜๋กœ ํ•ฉ์นจ
            • (5) ๋‹ค์ค‘ ๊ฐ’ ์†์„ฑ ๋ฆด๋ ˆ์ด์…˜ ๋ณ€ํ™˜
            • ์†์„ฑ์ด ๋งŽ์€ ๊ด€๊ณ„๋Š” ๊ด€๊ณ„ ์œ ํ˜•์— ์ƒ๊ด€์—†์ด ๋ฆด๋ ˆ์ด์…˜์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ ๊ณ ๋ ค ๊ฐ€๋Šฅ
        • ํ…Œ์ด๋ธ” ๋ช…์„ธ์„œ(๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ์— ๋Œ€ํ•œ ์„ค๊ณ„ ์ •๋ณด๋ฅผ ๊ธฐ์ˆ ํ•œ ๋ฌธ์„œ) ์ž‘์„ฑ
      • ๊ฒฐ๊ณผ๋ฌผ : ๋…ผ๋ฆฌ์  ์Šคํ‚ค๋งˆ
    • 4๋‹จ๊ณ„ : ๋ฌผ๋ฆฌ์  ์„ค๊ณ„
      • DBMS๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ ์„ค๊ณ„
      • ๊ฒฐ๊ณผ๋ฌผ : ๋ฌผ๋ฆฌ์  ์Šคํ‚ค๋งˆ
    • 5๋‹จ๊ณ„ : ๊ตฌํ˜„
      • SQL ๋ฌธ์„ ์ž‘์„ฑํ•œ ํ›„ ์ด๋ฅผ DBMS์—์„œ ์‹คํ–‰ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ
    • 1~3๋‹จ๊ณ„๊ฐ€ ํ•ต์‹ฌ ๋‹จ๊ณ„

๐Ÿ‘€ [09] ์ •๊ทœํ™”

์ •๊ทœํ™”์˜ ๊ฐœ๋…

  • ์ •๊ทœํ™”(normalization) : ํ•จ์ˆ˜์  ์ข…์†์„ฑ์„ ์ด์šฉํ•ด, ๋ฆด๋ ˆ์ด์…˜์„ ์—ฐ๊ด€์„ฑ์ด ์žˆ๋Š” ์†์„ฑ๋“ค๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋„๋ก ๋ถ„ํ•ดํ•˜์—ฌ ์ด์ƒ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฆด๋ ˆ์ด์…˜์œผ๋กœ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •
    • ํ•จ์ˆ˜์  ์ข…์†์„ฑ(FD; Functional Dependency) : ์†์„ฑ๋“ค ๊ฐ„์˜ ๊ด€๋ จ์„ฑ
    • ์ด์ƒ(anomaly) ํ˜„์ƒ : ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์ด ๋ฐœ์ƒํ•˜์—ฌ ๋ฆด๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€์ž‘์šฉ

์ด์ƒ ํ˜„์ƒ์˜ ์ข…๋ฅ˜

  • ์‚ฝ์ž… ์ด์ƒ(insertion anomaly) : ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•˜๊ธฐ ์œ„ํ•ด ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋„ ํ•จ๊ป˜ ์‚ฝ์ž…ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ
  • ๊ฐฑ์‹  ์ด์ƒ(update anomaly) : ์ค‘๋ณต ํŠœํ”Œ ์ค‘ ์ผ๋ถ€๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถˆ์ผ์น˜ํ•˜๊ฒŒ ๋˜๋Š” ๋ชจ์ˆœ์˜ ๋ฌธ์ œ
  • ์‚ญ์ œ ์ด์ƒ(deletion anomaly) : ํŠœํ”Œ์„ ์‚ญ์ œํ•˜๋ฉด ๊ผญ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ํ•จ๊ป˜ ์‚ญ์ œ๋˜๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค์˜ ๋ฌธ์ œ

์ •๊ทœํ™” ๊ณผ์ • ์ •๋ฆฌ


๐Ÿ‘€ [10] ํšŒ๋ณต๊ณผ ๋ณ‘ํ–‰ ์ œ์–ด

ํŠธ๋žœ์žญ์…˜์˜ ๊ฐœ๋…

  • ํŠธ๋žœ์žญ์…˜(transaction) : ์ž‘์—… ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์—ฐ์‚ฐ๋“ค์„ ๋ชจ์•„๋†“์€ ๊ฒƒ

ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ

  • ACID
    • ์›์ž์„ฑ(Atomicity) : ํŠธ๋žœ์žญ์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์—ฐ์‚ฐ๋“ค์ด ๋ชจ๋‘ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋„ ์‹คํ–‰๋˜์ง€ ์•Š์•„์•ผ ํ•จ
      • ํšŒ๋ณต ๊ธฐ๋Šฅ
    • ์ผ๊ด€์„ฑ(Consistency) : ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ ํ›„์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ผ๊ด€๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•จ
      • ๋ณ‘ํ–‰ ์ œ์–ด ๊ธฐ๋Šฅ
    • ๊ฒฉ๋ฆฌ์„ฑ(Isolation) : ์ˆ˜ํ–‰ ์ค‘์ธ ํŠธ๋žœ์žญ์…˜์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํŠธ๋žœ์žญ์…˜์ด ์ƒ์„ฑํ•œ ์ค‘๊ฐ„ ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜๋“ค์ด ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Œ
      • ๋ณ‘ํ–‰ ์ œ์–ด ๊ธฐ๋Šฅ
    • ์ง€์†์„ฑ(Durability) : ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•œ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๋Š” ์–ด๋– ํ•œ ๊ฒฝ์šฐ์—๋„ ์†์‹ค๋˜์ง€ ์•Š๊ณ  ์˜๊ตฌ์ ์ด์–ด์•ผ ํ•จ
      • ํšŒ๋ณต ๊ธฐ๋Šฅ

ํŠธ๋žœ์žญ์…˜์˜ ์—ฐ์‚ฐ

  • commit : ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์Œ์„ ์„ ์–ธ
    • ์ž‘์—… ์™„๋ฃŒ
  • rollback : ํŠธ๋žœ์žญ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ์Œ์„ ์„ ์–ธ
    • ์ž‘์—… ์ทจ์†Œ

ํŠธ๋žœ์žญ์…˜์˜ ์ƒํƒœ

  • ํ™œ๋™(active) : ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰๋˜๊ธฐ ์‹œ์ž‘๋˜์–ด ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ธ ์ƒํƒœ
  • ๋ถ€๋ถ„ ์™„๋ฃŒ(partially committed) : ํŠธ๋žœ์žญ์…˜์˜ ๋งˆ์ง€๋ง‰ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋œ ์งํ›„์˜ ์ƒํƒœ
  • ์™„๋ฃŒ(committed) : ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์–ด commit ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•œ ์ƒํƒœ
  • ์‹คํŒจ(failed) : ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰์ด ์ค‘๋‹จ๋œ ์ƒํƒœ
  • ์ฒ ํšŒ(aborted) : ํŠธ๋žœ์žญ์…˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ์‹คํŒจํ•˜์—ฌ rollback ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•œ ์ƒํƒœ

ํšŒ๋ณต

  • ํšŒ๋ณต(recovery) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์˜ ๋ชจ์ˆœ์ด ์—†๊ณ  ์ผ๊ด€๋œ ์ƒํƒœ๋กœ ๋ณต๊ตฌ์‹œํ‚ค๋Š” ๊ฒƒ
  • ํšŒ๋ณต์˜ ํ•ต์‹ฌ ์›๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์ค‘๋ณต
    • ๋คํ”„(dump) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์ฒด๋ฅผ ๋‹ค๋ฅธ ์ €์žฅ ์žฅ์น˜์— ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณต์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๋กœ๊ทธ(log) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ด ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ธฐ ์ด์ „ ๊ฐ’๊ณผ ๋ณ€๊ฒฝํ•œ ์ดํ›„์˜ ๊ฐ’์„ ๋ณ„๋„์˜ ํŒŒ์ผ์— ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•
      • redo : ์žฌ์‹คํ–‰
      • undo : ์ทจ์†Œ

ํšŒ๋ณต ๊ธฐ๋ฒ•์˜ ์œ ํ˜•

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

๋ณ‘ํ–‰ ์ˆ˜ํ–‰๊ณผ ๋ณ‘ํ–‰ ์ œ์–ด

  • ๋ณ‘ํ–‰ ์ˆ˜ํ–‰ : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ
    • ๊ฐฑ์‹  ๋ถ„์‹ค, ๋ชจ์ˆœ์„ฑ, ์—ฐ์‡„ ๋ณต๊ท€์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ
  • ๋ณ‘ํ–‰ ์ œ์–ด : ๋ณ‘ํ–‰ ์ˆ˜ํ–‰ ์‹œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ์ •ํ™•ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋„๋ก ํŠธ๋žœ์žญ์…˜์˜ ์ˆ˜ํ–‰์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ
    • ๋ชฉ์  : ์‹œ์Šคํ…œ ํ™œ์šฉ๋„ ์ตœ๋Œ€ํ™”, ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์‘๋‹ต์‹œ๊ฐ„ ์ตœ์†Œํ™”, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ผ๊ด€์„ฑ ์œ ์ง€
    • ๊ธฐ๋ฒ• : ๋กœํ‚น ๊ธฐ๋ฒ•, ํƒ€์ž„ ์Šคํƒฌํ”„ ๊ธฐ๋ฒ•, ๋‹ค์ค‘ ๋ฒ„์ „ ๊ธฐ๋ฒ•

๋กœํ‚น ๊ธฐ๋ฒ•

  • ๋กœํ‚น(locking) ๊ธฐ๋ฒ• : ํ•œ ํŠธ๋žœ์žญ์…˜์ด ๋จผ์ € ์ ‘๊ทผํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์—ฐ์‚ฐ์„ ๋ชจ๋‘ ๋งˆ์น  ๋•Œ๊นŒ์ง€, ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์ƒํ˜ธ ๋ฐฐ์ œ(mutual exclusion) ํ•˜์—ฌ ์ง๋ ฌ ๊ฐ€๋Šฅ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ
    • lock : ํŠธ๋žœ์žญ์…˜์ด ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋…์ ๊ถŒ์„ ๊ฐ€์ง€๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
    • unlock : ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋…์ ๊ถŒ์„ ๋ฐ˜๋‚ฉํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • ๋กœํ‚น ๋‹จ์œ„
    • lock ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋Š” ๋Œ€์ƒ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ
    • ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ถ€ํ„ฐ ์ž‘๊ฒŒ๋Š” ์†์„ฑ, ๋ฆด๋ ˆ์ด์…˜์ด๋‚˜ ํŠœํ”Œ๊นŒ์ง€๋„ ๊ฐ€๋Šฅํ•จ
    • ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋ณ‘ํ–‰์„ฑ์€ ๋‚ฎ์•„์ง€์ง€๋งŒ ์ œ์–ด๊ฐ€ ์‰ฌ์›€
    • ๋กœํ‚น ๋‹จ์œ„๊ฐ€ ์ž‘์•„์งˆ์ˆ˜๋ก ์ œ์–ด๊ฐ€ ์–ด๋ ต์ง€๋งŒ ๋ณ‘ํ–‰์„ฑ์€ ๋†’์•„์ง

๐Ÿ‘€ [11] ๋ณด์•ˆ๊ณผ ๊ถŒํ•œ ๊ด€๋ฆฌ

๋ณด์•ˆ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ์˜ ๋ชฉํ‘œ : ์กฐ์ง์—์„œ ํ—ˆ๊ฐ€ํ•œ ์‚ฌ์šฉ์ž๋งŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ†ต์ œํ•˜์—ฌ ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์•ˆ
    • ๋ฌผ๋ฆฌ์  ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๋ณด์•ˆ(์ž์—ฐ ์žฌํ•ด ๋“ฑ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ)
    • ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ๋ณด์•ˆ(๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ)
    • ์šด์˜ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•œ ๋ณด์•ˆ(๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ)

๊ถŒํ•œ์˜ ๋ถ€์—ฌ - grant

grant ๊ถŒํ•œ on ๊ฐ์ฒด to ์‚ฌ์šฉ์ž [with grant option];
  • ๊ถŒํ•œ ๋ถ€์—ฌ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๊ฐ์ฒด์˜ ์†Œ์œ ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ฐ์ฒด์— ๋Œ€ํ•œ ์‚ฌ์šฉ ๊ถŒํ•œ์„ ๋ถ€์—ฌ
  • ๋ถ€์—ฌ๋ฐ›์€ ๊ถŒํ•œ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌ ๋ถˆ๊ฐ€๋Šฅ
  • with grant option : ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์ด ๋ถ€์—ฌ๋ฐ›์€ ๊ถŒํ•œ์„ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ๋ถ€์—ฌ ๊ฐ€๋Šฅ
grant select on Customer to f1r3_r41n;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌ
grant insert, delete on Customer to public;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ๊ถŒํ•œ์„ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌ
  • public : ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์„ ๋˜‘๊ฐ™์ด ๋ถ€์—ฌ
grant update(class, reserves) on Customer to f1r3_r41n;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ ์ค‘ ๋“ฑ๊ธ‰๊ณผ ์ ๋ฆฝ๊ธˆ ์†์„ฑ์— ๋Œ€ํ•œ ์ˆ˜์ • ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌ
grant select on Customer to f1r3_r41n with grant option;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ๊ถŒํ•œ์„ with grant option ์„ ํฌํ•จํ•˜์—ฌ ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌ
grant create table to f1r3_r41n;
  • ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌ
grant create view to f1r3_r41n;
  • ๋ทฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ๊ถŒํ•œ์„ ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌ

๊ถŒํ•œ์˜ ์ทจ์†Œ - revoke

revoke ๊ถŒํ•œ on ๊ฐ์ฒด from ์‚ฌ์šฉ์ž cascade|restrict;
  • ๊ถŒํ•œ ์ทจ์†Œ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๊ฐ์ฒด ์†Œ์œ ์ž๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌ๋œ ๊ฐ์ฒด์˜ ์‚ฌ์šฉ ๊ถŒํ•œ์„ ์ทจ์†Œ
  • restrict : ๊ถŒํ•œ์„ ์ทจ์†Œํ•  ์‚ฌ์šฉ์ž๊ฐ€ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉ ๊ถŒํ•œ์€ ์ทจ์†Œํ•˜์ง€ ์•Š์Œ
  • cascade : ์—ฐ๊ด€๋œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์˜ ๊ถŒํ•œ๋„ ํ•จ๊ป˜ ์ทจ์†Œ
revoke select on Customer from lee cascade;
  • f1r3_r41n์ด lee์—๊ฒŒ ๋ถ€์—ฌํ•œ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ๊ถŒํ•œ์„ ์ทจ์†Œํ•˜๋ฉด์„œ lee๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌํ•œ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ๊ถŒํ•œ๋„ ํ•จ๊ป˜ ์ทจ์†Œํ•จ
revoke select on Customer from lee restrict;
  • lee๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•œ ์ ์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ f1r3_r41n์ด lee์—๊ฒŒ ๋ถ€์—ฌํ•œ ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰ ๊ถŒํ•œ์„ ์ทจ์†Œํ•จ
revoke create table from lee;
  • lee์—๊ฒŒ ๋ถ€์—ฌํ•œ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๊ถŒํ•œ ์ทจ์†Œ

์—ญํ•  ์ƒ์„ฑ - create role

create role role_name;
  • ์—ญํ•  ์ƒ์„ฑ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ์—ญํ• (role) : ์—ฌ๋Ÿฌ ๊ถŒํ•œ์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด๋†“์€ ๊ฒƒ
  • ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ถ€์—ฌํ•˜๊ณ  ์‹ถ์€ ์—ฌ๋Ÿฌ ๊ถŒํ•œ์„ ์—ญํ• ์— ๋ฏธ๋ฆฌ ๋„ฃ์–ด๋‘๊ณ  ํ•„์š”ํ•  ๋•Œ ์—ญํ• ์„ ๋ถ€์—ฌํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ถŒํ•œ์„ ํ•œ ๋ฒˆ์— ์‰ฝ๊ฒŒ ๋ถ€์—ฌ ๊ฐ€๋Šฅ
    • ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ถ€์—ฌํ•œ ์—ญํ• ์„ ์ทจ์†Œํ•˜๋ฉด ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ๊ถŒํ•œ ์ทจ์†Œ ๊ฐ€๋Šฅ
  • ๊ถŒํ•œ ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž ๋‹ด๋‹น
create role role_1;
  • role_1์ด๋ผ๋Š” ์ด๋ฆ„์˜ ์—ญํ•  ์ƒ์„ฑ

์—ญํ• ์— ๊ถŒํ•œ ์ถ”๊ฐ€ - grant

grant ๊ถŒํ•œ on ๊ฐ์ฒด to ๋กค์ด๋ฆ„;
  • ์—ญํ• ์— ๊ถŒํ•œ ์ถ”๊ฐ€์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๊ฐ์ฒด์˜ ์†Œ์œ ์ž ๋‹ด๋‹น
grant select, insert, delete on Customer to role_1;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰๏น’์‚ฝ์ž…๏น’์‚ญ์ œ ๊ถŒํ•œ์„ role_1 ์—ญํ• ์— ํ• ๋‹น

์—ญํ•  ๋ถ€์—ฌ - grant

grant ๋กค์ด๋ฆ„ to ์‚ฌ์šฉ์ž;
  • ์—ญํ•  ๋ถ€์—ฌ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž ๋‹ด๋‹น
grant role_1 to f1r3_r41n;
  • ๊ณ ๊ฐ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๊ฒ€์ƒ‰๏น’์‚ฝ์ž…๏น’์‚ญ์ œ ๊ถŒํ•œ์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” role_1 ์—ญํ• ์„ ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌ

์—ญํ•  ์ทจ์†Œ - revoke

revoke ๋กค์ด๋ฆ„ from ์‚ฌ์šฉ์ž;
  • ์—ญํ•  ์ทจ์†Œ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž ๋‹ด๋‹น
revoke role_1 from f1r3_r41n;
  • ์‚ฌ์šฉ์ž f1r3_r41n์—๊ฒŒ ๋ถ€์—ฌํ•œ role_1 ์—ญํ•  ์ทจ์†Œ

์—ญํ•  ์ œ๊ฑฐ - drop role

drop role ๋กค์ด๋ฆ„;
  • ์—ญํ•  ์ œ๊ฑฐ์˜ ๊ธฐ๋ณธ ํ˜•์‹
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž ๋‹ด๋‹น
drop role role_1;
  • role_1 ์—ญํ•  ์ œ๊ฑฐ
728x90
๋ฐ˜์‘ํ˜•

'Development Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Lecture] DataBase - Day 1  (1) 2023.12.29
[Lecture] Operating System - Finals Summary  (1) 2023.06.18
[Lecture] DataBase - Day 11  (0) 2023.06.12
[Lecture] Data Communication - Finals Summary  (0) 2023.06.11
[Lecture] DataBase - Day 10  (0) 2023.06.05
Comments