์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Python
- ubuntu
- java
- ์ค๋ผํดDB
- ์๋ฐ ๊ฐ๋
- Python challenge
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- ๋ฐ์ดํฐ ํต์
- Rust
- OS
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- C
- ์๋ฐ ๊ธฐ์ด
- Database
- ๋ฌ์คํธ
- ๋ฌ์คํธ ์์
- Reversing
- ํ์ด์ฌ
- data communication
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค ๋ฌ์คํธ
- ์ด์์ฒด์
- ์ค๋ผํด
- Operating System
- ๋ฐฑ์ค
- ์๋ฐ
- ์ฐ๋ถํฌ
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
Archives
- Today
- Total
IT’s Portfolio
[Lecture] DataBase - Finals Summary ๋ณธ๋ฌธ
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 ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํ
- ๊ฒฐ๊ณผ๋ฌผ : ๊ฐ๋ ์ ์คํค๋ง
- DBMS์ ๋
๋ฆฝ์ ์ธ ๊ฐ๋
์ ๊ตฌ์กฐ ์ค๊ณ
- 3๋จ๊ณ : ๋
ผ๋ฆฌ์ ์ค๊ณ
- DBMS์ ์ ํฉํ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ ์ค๊ณ
- ๊ฐ๋
์ ์ค๊ณ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฆด๋ ์ด์
์คํค๋ง๋ก ๋ณํ
- ๋ณํ ๊ท์น
- (1) ๋ชจ๋ ๊ฐ์ฒด ๋ฆด๋ ์ด์ ์ผ๋ก ๋ณํ
- (2) n:m ๊ด๊ณ ๋ฆด๋ ์ด์ ์ผ๋ก ๋ณํ
- (3) 1:n ๊ด๊ณ ์ธ๋ํค ํํ
- ์ผ๋ฐ์ ์ธ ๊ด๊ณ ์ธ๋ํค ํํ
- ์ฝํ ๊ฐ์ฒด๊ฐ ์ฐธ์ฌํ๋ ๊ด๊ณ๋ ์ธ๋ํค ํฌํจ ๊ธฐ๋ณธํค ์ง์
- (4) 1:1 ๊ด๊ณ ์ธ๋ํค ํํ
- ์ผ๋ฐ์ ์ธ ๊ด๊ณ ์ธ๋ํค ์๋ก ์ฃผ๊ณ ๋ฐ์
- ๊ด๊ณ์ ํ์์ ์ผ๋ก ์ฐธ์ฌํ๋ ๊ฐ์ฒด์ ๋ฆด๋ ์ด์ ๋ง ์ธ๋ํค๋ฅผ ๋ฐ์
- ๋ชจ๋ ๊ฐ์ฒด๊ฐ ํ์์ ์ฐธ์ฌ์ผ ์ ๋ฆด๋ ์ด์ ํ๋๋ก ํฉ์นจ
- (5) ๋ค์ค ๊ฐ ์์ฑ ๋ฆด๋ ์ด์ ๋ณํ
- ์์ฑ์ด ๋ง์ ๊ด๊ณ๋ ๊ด๊ณ ์ ํ์ ์๊ด์์ด ๋ฆด๋ ์ด์ ์ผ๋ก ๋ณํํ๋ ๊ฒ ๊ณ ๋ ค ๊ฐ๋ฅ
- ๋ณํ ๊ท์น
- ํ ์ด๋ธ ๋ช ์ธ์(๋ฆด๋ ์ด์ ์คํค๋ง์ ๋ํ ์ค๊ณ ์ ๋ณด๋ฅผ ๊ธฐ์ ํ ๋ฌธ์) ์์ฑ
- ๊ฐ๋
์ ์ค๊ณ ๋จ๊ณ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฆด๋ ์ด์
์คํค๋ง๋ก ๋ณํ
- ๊ฒฐ๊ณผ๋ฌผ : ๋ ผ๋ฆฌ์ ์คํค๋ง
- DBMS์ ์ ํฉํ ๋
ผ๋ฆฌ์ ๊ตฌ์กฐ ์ค๊ณ
- 4๋จ๊ณ : ๋ฌผ๋ฆฌ์ ์ค๊ณ
- DBMS๋ก ๊ตฌํ ๊ฐ๋ฅํ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ ์ค๊ณ
- ๊ฒฐ๊ณผ๋ฌผ : ๋ฌผ๋ฆฌ์ ์คํค๋ง
- 5๋จ๊ณ : ๊ตฌํ
- SQL ๋ฌธ์ ์์ฑํ ํ ์ด๋ฅผ DBMS์์ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ
- 1~3๋จ๊ณ๊ฐ ํต์ฌ ๋จ๊ณ
- 1๋จ๊ณ : ์๊ตฌ ์ฌํญ ๋ถ์
๐ [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