์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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
- ์ด์์ฒด์
- C
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- ์ค๋ผํดDB
- OS
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ฐ๋ถํฌ
- data communication
- ์ค๋ผํด
- ๋ฌ์คํธ ์์
- java
- ๋ฐฑ์ค
- Reversing
- Python challenge
- Operating System
- ํ์ด์ฌ
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- ๋ฐ์ดํฐ ํต์
- Rust
- ๋ฐฑ์ค ๋ฌ์คํธ
- ์๋ฐ ๊ธฐ์ด
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
- Database
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ
Archives
- Today
- Total
IT’s Portfolio
[Lecture] DataBase - Day 9 ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๐ฅ DataBase - Day 9
๐๐ป [Chapter 12] ๋ฐ์ดํฐ ์ ์์ด
[01] ๋ฐ์ดํฐ ์ ์์ด
- DDL(Data Definition Language)
- ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ ๊ณต๋๋ ์ฌ๋ฌ ๊ฐ์ฒด์ ์์ฑ, ๋ณ๊ฒฝ, ์ญ์ ๊ด๋ จ ๊ธฐ๋ฅ ์ํ
- ๋ฐ์ดํฐ ์ ์์ด๋ฅผ ์ฌ์ฉํ ๋ ์ ์์
- auto commit : DDL ๋ช ๋ น์ด๋ ๋ฐ๋ก ์ปค๋ฐํ์ง ์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฆ๊ฐ ๋ฐ์๋๋ฉฐ ๋ฐ์ดํฐ ์ฌ์ (data dictionary)์ ๊ธฐ๋ก๋จ
[02] create
create table ์์ ๊ณ์ .ํ
์ด๋ธ ์ด๋ฆ(
์ด1 ์ด๋ฆ ์ด1 ์๋ฃํ,
...
์ดn ์ด๋ฆ ์ดn ์๋ฃํ
);
- create ์ ๊ธฐ๋ณธ ํ์
- ํ
์ด๋ธ ์ด๋ฆ ์์ฑ ๊ท์น
- ๋ฌธ์๋ก ์์
- ์๋ฌธ์, ํ๊ธ, ์ซ์, ํน์๋ฌธ์($, #, _) ์ฌ์ฉ ๊ฐ๋ฅ
- 30๋ฐ์ดํธ ์ดํ
- ๊ฐ์ ์ฌ์ฉ์ ์์ ์ ํ ์ด๋ธ ์ด๋ฆ์ ์ค๋ณต ๋ถ๊ฐ๋ฅ
- SQL ํค์๋๋ ํ ์ด๋ธ ์ด๋ฆ์ผ๋ก ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
- ๋ฌธ์๋ก ์์
- ์ด ์ด๋ฆ ์์ฑ ๊ท์น
- ๋ฌธ์๋ก ์์
- ์๋ฌธ์, ํ๊ธ, ์ซ์, ํน์๋ฌธ์($, #, _) ์ฌ์ฉ ๊ฐ๋ฅ
- 30๋ฐ์ดํธ ์ดํ
- ํ ํ ์ด๋ธ์ ์ด ์ด๋ฆ์ ์ค๋ณต ๋ถ๊ฐ๋ฅ
- SQL ํค์๋๋ ์ด ์ด๋ฆ์ผ๋ก ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
- ๋ฌธ์๋ก ์์
create table DEPT_0(
DEPTNO number(2, 0),
DNAME varchar2(14),
LOC varchar2(13)
);
- ํ
์ด๋ธ ์์ฑ๋ฐฉ๋ฒ 1
- ์๋ฃํ์ ๊ฐ๊ฐ ์ ์
create table DEPT_1
as select * from DEPT;
- ํ
์ด๋ธ ์์ฑ๋ฐฉ๋ฒ 2
- ๊ธฐ์กด ํ ์ด๋ธ์ ์ด ๊ตฌ์กฐ์ ๋ฐ์ดํฐ ๋ณต์ฌ
create table DEPT_2
as select *
from DEPT
where DEPTNO >= 30;
- ํ
์ด๋ธ ์์ฑ๋ฐฉ๋ฒ 3
- ๊ธฐ์กด ํ ์ด๋ธ์ ์ด ๊ตฌ์กฐ์ ์ผ๋ถ ๋ฐ์ดํฐ ๋ณต์ฌ
create table DEPT_3
as select *
from DEPT
where 1<>1;
- ํ
์ด๋ธ ์์ฑ๋ฐฉ๋ฒ 4
- ๊ธฐ์กด ํ
์ด๋ธ์ ์ด ๊ตฌ์กฐ๋ง ๋ณต์ฌ
- ์กฐ๊ฑด์์ด ํญ์ false์ธ where ์ ์ฌ์ฉ
- ๊ธฐ์กด ํ
์ด๋ธ์ ์ด ๊ตฌ์กฐ๋ง ๋ณต์ฌ
[03] alter
alter table ํ
์ด๋ธ๋ช
add ์ปฌ๋ผ ์๋ฃํ;
- add : ํ ์ด๋ธ์ ์ด ์ถ๊ฐ
alter table ํ
์ด๋ธ๋ช
rename column ์ปฌ๋ผ1 to ์ปฌ๋ผ2;
- rename column : ํ ์ด๋ธ์ ์ด ์ด๋ฆ ๋ณ๊ฒฝ
alter table ํ
์ด๋ธ๋ช
modify ์ปฌ๋ผ ์๋ฃํ;
- modify : ํ ์ด๋ธ์ ์ด ์๋ฃํ ๋ณ๊ฒฝ
alter table ํ
์ด๋ธ๋ช
drop column ์ปฌ๋ผ;
- drop column : ํ ์ด๋ธ์ ํน์ ์ด ์ญ์
[05] truncate
truncate table ํ
์ด๋ธ๋ช
;
- where ์ ์ ์ฌ์ฉํ์ง ์์ delete ๋ฌธ
- ํ ์ด๋ธ์ ์ ์ฒด ๋ฐ์ดํฐ ์ญ์
- DDL๋ฌธ์ด๋ฏ๋ก rollback ๋ถ๊ฐ
[06] drop
drop table ํ
์ด๋ธ๋ช
;
- ํ ์ด๋ธ๊ณผ ์ ์ฅ๋ ๋ฐ์ดํฐ ๋ชจ๋ ์ญ์
๐๐ป [Chapter 14] ์ ์ฝ ์กฐ๊ฑด
[01] ์ ์ฝ ์กฐ๊ฑด ์ข ๋ฅ
- ์ ์ฝ ์กฐ๊ฑด์ด๋?
- ํ ์ด๋ธ ์ด์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ํน์ฑ, ์กฐ๊ฑด ์ง์
- not null
- ์ง์ ํ ์ด์ null์ ํ์ฉํ์ง ์์
- null์ ์ ์ธํ ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉ๋จ
- unique
- ์ง์ ํ ์ด์ด ์ ์ผํ ๊ฐ์ ๊ฐ์ ธ์ผ ํจ
- ์ค๋ณต๋ ์ ์์
- ๋จ null์ ๊ฐ์ ์ค๋ณต์์ ์ ์ธ๋จ
- primary key
- ์ง์ ํ ์ด์ด ์ ์ผํ ๊ฐ์ด๋ฉด์ null์ ํ์ฉํ์ง ์์
- ํ ์ด๋ธ์ ํ๋๋ง ์ง์ ๊ฐ๋ฅ
- foreign key
- ๋ค๋ฅธ ํ ์ด๋ธ์ ์ด์ ์ฐธ์กฐํ์ฌ ์กด์ฌํ๋ ๊ฐ๋ง ์ ๋ ฅํ ์ ์์
- check
- ์ค์ ํ ์กฐ๊ฑด์์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ๋ง ์ ๋ ฅ ๊ฐ๋ฅ
- ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด(Data Integrity Constraint Rule)
- ํ ์ด๋ธ์ ๋ถ์ ์ ํ ์๋ฃ์ ์ ๋ ฅ ๋ฐฉ์ง๋ฅผ ์ํด ํ ์ด๋ธ์ ์์ฑํ ๋ ๊ฐ ์ปฌ๋ผ์ ๋ํด์ ์ ์ํ๋ ์ฌ๋ฌ ๊ฐ์ง ๊ท์น
- ๋ฌด๊ฒฐ์ฑ : ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ๋ฐ์ดํฐ ์ ํ์ฑ์ ์ ์งํ๋ ๊ฒ
- ์ ์ฝ ์กฐ๊ฑด : ๋ฐ๋์งํ์ง ์์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ง ๋ชปํ๊ฒ ํ๋ ๊ฒ
- ๋ฌด์(what)์ ์ง์ผ์ฃผ๋๊ฐ
- ์์ญ ๋ฌด๊ฒฐ์ฑ(domain integrity)
- ์ด์ ์ ์ฅ๋๋ ๊ฐ์ ์ ์ ์ฌ๋ถ๋ฅผ ํ์ธ
- ์๋ฃํ, ์ ์ ํ ํ์์ ๋ฐ์ดํฐ, null ์ฌ๋ถ๊ฐ์ ์ ํด ๋์ ๋ฒ์๋ฅผ ๋ง์กฑํ๋ ๋ฐ์ดํฐ์์ ๊ท์
- check, rule, default
- ๊ฐ์ฒด ๋ฌด๊ฒฐ์ฑ(entity integrity)
- ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ๊ธฐ๋ณธํค๋ ๋ฐ๋์ ๊ฐ์ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ฉฐ null์ด ๋ ์ ์๊ณ ์ค๋ณต๋ ์๋ ์์์ ๊ท์
- primary key, unique
- ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ(referential integrity)
- ์ฐธ์กฐ ํ ์ด๋ธ์ ์ธ๋ํค ๊ฐ์ ์ฐธ์กฐ ํ ์ด๋ธ์ ๊ธฐ๋ณธํค๋ก์ ์กด์ฌํด์ผ ํ๋ฉฐ null์ด ๊ฐ๋ฅ
- foreign key
- ์์ญ ๋ฌด๊ฒฐ์ฑ(domain integrity)
select *
from all_constraints
where table_name='ํ
์ด๋ธ'
=========================
select owner, constraint_name, constraint_type
from user_constraints
where table_name='ํ
์ด๋ธ'
- ์ ์ฝ ์กฐ๊ฑด ํ์ธ SQL
- constraint_type
- p : primary key
- r : foreign key
- u : unique
- c : check, not null
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์๋ฃํ constraint ์ ์ฝ์กฐ๊ฑด๋ช
์ ์ฝ์กฐ๊ฑด,
...
);
- ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ ์ ์ฝ ์กฐ๊ฑด ์ง์
- ์ ์ฝ ์กฐ๊ฑด ์ด๋ฆ ์ง์ ์ง์
alter table ํ
์ด๋ธ๋ช
modify (์ปฌ๋ผ ์ ์ฝ์กฐ๊ฑด)
=========================
alter table ํ
์ด๋ธ๋ช
modify (์ปฌ๋ผ constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ ์ ์ฝ์กฐ๊ฑด)
- ์ด๋ฏธ ์์ฑํ ํ ์ด๋ธ์ ์ ์ฝ ์กฐ๊ฑด ์ง์
alter table ํ
์ด๋ธ๋ช
rename constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ to ์๋ก์ด์ ์ฝ์กฐ๊ฑด์ด๋ฆ
- ์ด๋ฏธ ๋ง๋ค์ด์ ธ ์๋ ์ ์ฝ ์กฐ๊ฑด ์ด๋ฆ ์์ ํ๊ธฐ
alter table ํ
์ด๋ธ๋ช
drop constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ
- ์ ์ฝ ์กฐ๊ฑด ์ญ์
[02] not null
- ์ง์ ๋ ์ด์ null ์ ์ฅ ๋ถ๊ฐ
- ์ ์ฝ ์กฐ๊ฑด๊ณผ ๋ง์ง ์๋ ๋ฐ์ดํฐ๊ฐ ์ด๋ฏธ ์๋ค๋ฉด ์ ์ฝ ์กฐ๊ฑด ์ง์ ์ ์คํจํจ
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์๋ฃํ constraint ์ ์ฝ์กฐ๊ฑด๋ช
not null,
...
);
- ํ ์ด๋ธ ์์ฑ ์ not null ์ค์
alter table ํ
์ด๋ธ๋ช
modify(์ปฌ๋ผ not null);
- ์์ฑํ ํ ์ด๋ธ์ ์ ์ฝ ์กฐ๊ฑด ์ถ๊ฐ
alter table ํ
์ด๋ธ๋ช
modify(์ปฌ๋ผ constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ not null)
- ์์ฑํ ํ ์ด๋ธ์ ์ ์ฝ ์กฐ๊ฑด ์ด๋ฆ ์ง์ ํด์ ์ถ๊ฐ
alter table ํ
์ด๋ธ๋ช
rename constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ to ์๋ก์ด์ ์ฝ์กฐ๊ฑด์ด๋ฆ
- ์ด๋ฏธ ์์ฑํ ์ ์ฝ ์กฐ๊ฑด ์ด๋ฆ ๋ณ๊ฒฝ
alter table ํ
์ด๋ธ๋ช
drop constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ
- ์ ์ฝ ์กฐ๊ฑด ์ญ์
[03] unique
- ์ง์ ๋ ์ด์ ์ค๋ณต ๋ฐ์ดํฐ ์ ์ฅ ๋ถ๊ฐ, null ์ ์ฅ ๊ฐ๋ฅ
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์๋ฃํ constraint ์ ์ฝ์กฐ๊ฑด๋ช
unique,
...
);
- ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ ์ ์ฝ ์กฐ๊ฑด ์ง์
[04] primary key
- ์ง์ ๋ ์ด์ ์ค๋ณต ๋ฐ์ดํฐ ์ ์ฅ ๋ถ๊ฐ
- null ์ ์ฅ ๋ถ๊ฐ
- ์๋ ์ธ๋ฑ์ค ์์ฑ
- ์ค์ ๋ฐฉ๋ฒ
- create table๋ก ์ ์
- ํ ์ด๋ธ ์์ฑ ํ alter table๋ก ์ถ๊ฐ
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์๋ฃํ constraint ์ ์ฝ์กฐ๊ฑด๋ช
primary key
);
- ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ ์ ์ฝ ์กฐ๊ฑด ์ง์
alter table ํ
์ด๋ธ๋ช
modify(์ปฌ๋ผ constraint ์ ์ฝ์กฐ๊ฑด์ด๋ฆ primary key)
- ์์ฑํ ํ ์ด๋ธ์ ์ ์ฝ ์กฐ๊ฑด ์ด๋ฆ ์ง์ ํด์ ์ถ๊ฐ
[05] foreign key
- ์ผ๋ฐ์ ์ผ๋ก ์
๋ฌด ๊ท์น์์ ์ฃผ์ข
๊ด๊ณ๊ฐ ์๋ ๋ ํ
์ด๋ธ ๊ฐ์ ์ฌ์ฉ
- ์ฃผ์ฒด๊ฐ ๋๋ ํ ์ด๋ธ์ ๋ถ๋ชจ ํ ์ด๋ธ, ์ข ์์ด ๋๋ ํ ์ด๋ธ์ ์์ ํ ์ด๋ธ
- ์ฃผ์ฒด ๊ด๊ณ๊ฐ ์ ๋งคํ๋ฉด ๋จผ์ ์ ์๋๋ ํ
์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ํจ
- ๋จผ์ ์ ์๋๋ ํ ์ด๋ธ์ด ๋ถ๋ชจ ํ ์ด๋ธ, ๋์ค์ ์ ์๋๋ ํ ์ด๋ธ์ด ์์ ํ ์ด๋ธ
- ์ข ์๋๋ ํ ์ด๋ธ์ ํค ์ปฌ๋ผ์ด ์ฃผ๊ฐ ๋๋ ํ ์ด๋ธ์ primary key ๋๋ unique ์ปฌ๋ผ์ ์ฐธ์กฐํจ
- ์ฐธ์กฐํ๊ณ ์๋ ํค์ ๋ฐ์ดํฐ์ null๋ง ์ ์ฅ ๊ฐ๋ฅ
- ์์ ํ
์ด๋ธ์ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ํด ํน์ ์ปฌ๋ผ์ ์ธ๋ํค๋ฅผ ์ค์ ํ์๋ค๋ฉด
- ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ๋๋ง๋ค ๋ถ๋ชจ ํ ์ด๋ธ์ ๋ถ๋ชจ ํค๋ก ์ค์ ๋ ์ปฌ๋ผ์ ์ดํ
- ์์ ํ ์ด๋ธ์ด ๋ถ๋ชจ ํ ์ด๋ธ์ ์ฐธ์กฐํ๋๋ฐ ๋ฌธ์ ๊ฐ ์๋๋ก ํจ
create table ํ
์ด๋ธ๋ช
(
...(๋ค๋ฅธ ์ด ์ ์),
์ปฌ๋ผ ์๋ฃํ constraint ์ ์ฝ์กฐ๊ฑด๋ช
references ์ฐธ์กฐํ
์ด๋ธ(์ฐธ์กฐ์ด)
- ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ ์ ์ฝ ์กฐ๊ฑด ์ง์
constraint ์ ์ฝ์กฐ๊ฑด๋ช
references ์ฐธ์กฐํ
์ด๋ธ(์ฐธ์กฐ์ด) [on delete cascade||on delete set null]
- ์ธ๋ํค๋ก ์ฐธ์กฐ ํ ๋ฐ์ดํฐ ์ญ์
- on delete cascade : ์ฐธ์กฐํ๊ณ ์๋ ๋ฐ์ดํฐ๋ ์ญ์
- on delete set null : ์ฐธ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ null๋ก ์์
[06] check
- ์ด์ ์ ์ฅํ ์ ์๋ ๊ฐ์ ๋ฒ์ ๋๋ ํจํด ์ ์
- ์กฐ๊ฑด์ ์ง์ : ๋ฐ์ดํฐ์ ๊ฐ ๋ฒ์, ํน์ ํจํด์ ์ซ์, ๋ฌธ์ ๊ฐ ์ค์
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์๋ฃํ constraint ์ ์ฝ์กฐ๊ฑด๋ช
check(์กฐ๊ฑด์)
);
- ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ ์ ์ฝ ์กฐ๊ฑด ์ง์
[07] default
- ์ ์ฅ ๊ฐ์ด ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๊ฐ ์ง์
select column_name, data_default
from user_tab_columns
where table_name='ํ
์ด๋ธ๋ช
';
- default ์กฐํ ๋ฐฉ๋ฒ
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์๋ฃํ default ๊ธฐ๋ณธ๊ฐ
);
- ํ ์ด๋ธ์ ์์ฑํ๋ฉฐ ์ ์ฝ ์กฐ๊ฑด ์ง์
728x90
๋ฐ์ํ
'Development Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Lecture] DataBase - Day 10~11 (1) | 2023.12.29 |
---|---|
[Lecture] DataBase - Day 6~8 (1) | 2023.12.29 |
[Lecture] DataBase - Day 5 (0) | 2023.12.29 |
[Lecture] DataBase - Day 4 (0) | 2023.12.29 |
[Lecture] DataBase - Day 3 (1) | 2023.12.29 |
Comments