1. primary key ์ ์ฝ์กฐ๊ฑด
PK๋ ํ ํ์์๋ณํ๊ธฐ ์ํ ๊ฒ!
primary key๋ null๊ฐ์ ๊ฐ์ง ์ ์์ผ๋ฏ๋ก not null์ ๋ฃ์ด์ผ ํ๋ค.
๊ทธ๋์ ์ด๋ค db๋ not null์ ์์ ์ด๋ ๋น์ฐํ null๊ฐ์ด ๋ค์ด๊ฐ ์ ์์ผ๋ not null๋ก ์ธ์ํ๋ ๊ฒ ์๊ณ , ๋ฌธ๋ฒ์ ์ค๋ฅ๋ผ๊ณ ์ธ์ํ๋ ๊ฒ๋ ์์ผ๋ ์ฐ๋ ๊ฑธ ์ต๊ดํํ๋ ๊ฒ ์ข๋ค.
์ค์ ๋ฐฉ๋ฒ 1
CREATE TABLE member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR(10) NOT NULL,
.
.
.
);
์ค์ ๋ฐฉ๋ฒ 2
ALTER TABLE member
ADD CONSTRAINT
PRIMARY KEY (mem_id);
2. foreign key ์ ์ฝ์กฐ๊ฑด
FK๋ ๋ค๋ฅธ ํ ์ด๋ธ์ PK๋ฅผ ์ฐธ์กฐํด์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ(๋ฐ์ดํฐ๊ฐ ์ ํํ๊ณ ์ผ๊ด์ฑ ์๋ ์ํ๋ฅผ ์ ์ง)์ ์ ์งํจ!
๋ง๋ ํ
์ด๋ธ์ ์ด์ด PK ๋๋ Unique๊ฐ ์๋๋ฉด ์ค์ ์ด ์ ๋๋ค. ๊ผญ PK ๋๋ Unique์ธ ์ด์ FK๋ก ์ง์ ํด์ผ ํ๋ค.
์ค์ ๋ฐฉ๋ฒ 1
CREATE TABLE buy
( num INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
mem_id CHAR(8) NOT NULL,
.
.
.
FOREIGN KEY (mem_id) REFERENCES member(mem_id)
);
์ค์ ๋ฐฉ๋ฒ 2
ALTER TABLE member
ADD CONSTRAINT
FOREIGN KEY (mem_id)
REFERENCES member(mem_id);
3. unique ์ ์ฝ์กฐ๊ฑด
primary ํค์ ๋น์ทํ์ง๋ง null๊ฐ์ ํ์ฉํ๋ค. PK์ ๋์ผํ๊ฒ ์ค๋ณต๋ ์๋๊ณ null๊ณผ not null์ ์ค์ ํด์ ๊ฐ๋ฅํ๋ค.
์ค์ ๋ฐฉ๋ฒ
CREATE TABLE member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR(10) NOT NULL,
.
.
email CHAR(30) UNIQUE
);
4. check ์ ์ฝ์กฐ๊ฑด
์ ๋ ฅ๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฒํ๋ ๊ธฐ๋ฅ์ด๋ค.
์ค์ ๋ฐฉ๋ฒ 1
CREATE TABLE member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,
.
.
.
height TINYINT UNSIGNED CHECK (height >= 100)
);
์ค์ ๋ฐฉ๋ฒ 2
ALTER TABLE member
ADD CONSTRAINT
CHECK (height >= 100);
5. default
๊ฐ์ด ์ ๋ ฅ๋์ง ์์ ๋ ์๋์ผ๋ก ์ ๋ ฅ๋ ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํด ๋๋ ๊ธฐ๋ฅ์ด๋ค.
์ค์ ๋ฐฉ๋ฒ 1
CREATE TABLE member
( mem_id CHAR(8) NOT NULL PRIMARY KEY,
.
.
.
country CHAR(30) DEFAULT "KOREA"
);
์ค์ ๋ฐฉ๋ฒ 2
ALTER TABLE member
ALTER COLUMN country SET DEFAULT 'KOREA';
'๐ฅ๏ธ > DBMS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
DB์ค๊ณ) ๋ฐฅ์ง ์ฐพ๋ ํ ์ด๋ธ ์ค๊ณ (0) | 2023.04.10 |
---|---|
SQL Select ํ์ฉ(์๋ธ์ฟผ๋ฆฌ, group by, join) (0) | 2023.04.10 |
[MySQL] ํ ์ด๋ธ ๋ง๋ค๊ธฐ (0) | 2023.04.10 |
DB์ค๊ณ) ํ์ ํ ์ด๋ธ๊ณผ ์ฑ์ ํ ์ด๋ธ ์ค๊ณํ๊ธฐ (0) | 2023.04.09 |
[SQL Server] ํ ์ด๋ธ ๋ง๋ค๊ธฐ (0) | 2023.04.07 |