-- CHECK 제약조건이 있는 테이블 생성
CREATE TABLE dept_c1 (
deptno INT(2) CHECK (deptno >= 30),
dname VARCHAR(14),
loc VARCHAR(13)
);
-- 데이터 삽입 테스트
INSERT INTO dept_c1 VALUES (30, '개발부', '서울'); -- 성공
INSERT INTO dept_c1 VALUES (20, '영업부', '부산'); -- 실패 (CHECK 제약조건 위반)
고유성 보장
데이터 무결성 유지
-- 복합키를 가진 테이블 생성
CREATE TABLE order_u1 (
pcode INT(4),
ccode INT(4),
orderdate DATE,
etc VARCHAR(20),
CONSTRAINT UNIQUE (pcode, ccode)
);
-- 데이터 삽입 테스트
INSERT INTO order_u1 VALUES (1000, 1000, NOW(), 'order1'); -- 성공
INSERT INTO order_u1 VALUES (100, 1000, NOW(), 'order2'); -- 성공
INSERT INTO order_u1 VALUES (1000, 100, NOW(), 'order3'); -- 성공
INSERT INTO order_u1 VALUES (1000, 1000, NOW(), 'order4'); -- 실패 (중복)
CHECK 제약조건과 복합키는 데이터베이스의 무결성을 유지하는 중요한 기능을 제공합니다. CHECK는 데이터의 유효성을 검증하고, 복합키는 여러 열을 조합하여 고유한 식별자를 만들 수 있게 해줍니다.