AUTO_INCREMENT : ์ปฌ๋ผ์ ๊ณ ์ ๋ฒํธ๋ฅผ 1์ฉ ์ฆ๊ฐ์์ผ ๋ถ์ฌํ์ฌ ์์ฑํด์ค๋๋ค.
(์ด์ฉํ๋ ค๋ฉด ํด๋น ์ปฌ๋ผ์ value๋ฅผ ์ฃผ์ง ์์ผ๋ฉด ๋๋ค)
CREATE TABLE ํ
์ด๋ธ์ด๋ฆ
(
ํ๋์ด๋ฆ ํ๋ํ์
AUTO_INCREMENT,
// id bigint AUTO_INCREMENT,
...
);
NOT NULL : NULL ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
UNIQUE : ํด๋น ํ๋๋ ์๋ก ๋ค๋ฅธ ๊ฐ์ ๊ฐ์ ธ์ผํ๋ค.
PRIMARY KEY(๊ธฐ๋ณธ ํค) : ๋ฐ์ดํฐ์ ์ค๋ณต์ ๋ฐฉ์งํ๊ธฐ ์ํด / ๊ธฐ๋ณธ ํค ~ ์ธ๋ฑ์ค๋ฅผ ๋ง๋ค์ด ๋ฐ์ดํฐ ๋ฐํ ์๋๋ฅผ ํฅ์ํ๊ธฐ ์ํด
๊ธฐ๋ณธ ํค ํ๋๊ฐ NOT NULL๊ณผ UNIQUE ์ ์ฝ์กฐ๊ฑด์ ํน์ง์ ๋ชจ๋ ๊ฐ์ง๊ฒ ๋๋ค.
ex)
create table member
( mem_id char(8) not null primary key,
mem_name varchar(10) not null,
height tinyint unsigned null
);
FOREIGN KEY : ํ๋์ ํ ์ด๋ธ์ ๋ค๋ฅธ ํ ์ด๋ธ์ ์์กดํ๊ฒ ๋ง๋ค๋ฉฐ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅ
CREATE TABLE ํ
์ด๋ธ์ด๋ฆ
(
ํ๋์ด๋ฆ ํ๋ํ์
,
...
FOREIGN KEY(ํ๋์ด๋ฆ)
REFERENCES ํ
์ด๋ธ์ด๋ฆ(ํ๋์ด๋ฆ)
);
FK์ ๊ธฐ์ค ํ ์ด๋ธ์ ์ด์ ๋ฐ๋์ PK,UNIQUE ์ ์ฝ์กฐ๊ฑด์ด ์ค์ ๋์ด ์์ด์ผํ๋ค.
ex)
create table buy
( num int auto_increment not null primary key,
mem_id char(8) not null,
prod_name char(6) not null,
foreign key(mem_id) references member(mem_id)
);
CASCADE : FOREIGN KEY๋ก ์ฐ๊ด๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ , ๋ณ๊ฒฝํ ์ ์๋ค.
CREATE TABLE ํ
์ด๋ธ์ด๋ฆ
(
ํ๋์ด๋ฆ ํ๋ํ์
,
...
FOREIGN KEY(ํ๋์ด๋ฆ)
REFERENCES ํ
์ด๋ธ์ด๋ฆ(ํ๋์ด๋ฆ) ON DELETE CASCADE
//ON UPDATE CASCADE
);
ex)
create table buy
( num int auto_increment not null primary key,
mem_id char(8) not null,
prod_name char(6) not null,
foreign key(mem_id) references member(mem_id)
on update cascade
on delete cascade
);
์์์ ๊ฒฝ์ฐ member ํ ์ด๋ธ์ ์ฐธ์กฐํ๊ณ ์๊ธฐ ๋๋ฌธ์ member ํ ์ด๋ธ์ ์์ ํ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒฝ์ฐ ๊ทธ ๋ด์ฉ์ด buy ํ ์ด๋ธ์๋ ํจ๊ป ๋ฐ์๋์ด ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ด ์ ์ง๋๋ค.
๊ธฐํ ์ ์ฝ์กฐ๊ฑด
์ฒดํฌ ์ ์ฝ์กฐ๊ฑด : ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ๋ง ์ ๋ ฅ ๊ฐ๋ฅ (CHECK)
๊ธฐ๋ณธ ๊ฐ ์ ์ : ๊ฐ์ ์ ๋ ฅํ์ง ์์์ ๋ ์๋์ผ๋ก ์ ๋ ฅ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ์ง์ ํ ์ ์๋ค (DEFAULT)
Null ํ์ฉ : NULL or NOT NULL