1. 기본키 설정
CREATE TABLE userTBL
( userID CHAR(8) NOT NULL PRIMARY KEY, --userTBL의 기본키
userName NVARCHAR2(10) NOT NULL,
birthYear NUMBER(4) NOT NULL
);
CREATE TABLE buyTBL
( idNum NUMBER(8) NOT NULL PRIMARY KEY, --buyTBL 의 기본키
userID CHAR(8) NOT NULL,
prodName NCHAR(6) NOT NULL
);
2. 외래키 설정
CREATE TABLE buyTBL
( idNum NUMBER(8) NOT NULL PRIMARY KEY,
userID CHAR(8) NOT NULL,
, FOREIGN KEY(userID) REFERENCES userTBL(userID) --buyTBL 의 외래키 지정
);
또는
ALTER TABLE buyTBL
ADD CONSTRAINT FK_userTBL_buyTBL --외래키 이름 지정
FOREIGN KEY (userID) --현재 테이블 외래키
REFERENCES userTBL (userID) -- 연결할 기본 테이블 기본키
ON DELETE CASCADE ; --기본 테이블 삭제시 현재 테이블도 삭제
3. UNIQUE 제약 조건 -중복되지 않은 유일한 값이지만 NULL 허용
CREATE TABLE userTBL
( userID CHAR(8) NOT NULL ,
userName NVARCHAR2(10) NOT NULL,
birthYear NUMBER(4) NOT NULL,
, CONSTRAINT AK_email UNIQUE (email) --이메일은 유일해야 하지만 null일 수도 있다
);
또는
ALTER TABLE USERTBL
ADD CONSTRAINT AK_EMAIL UNIQUE (EMAIL);
4. CHECK 제약 조건 - 입력되는 데이터 점검 기능
ALTER TABLE userTbl
ADD CONSTRAINT CK_height
CHECK (height >= 0) ; -- 키는 0이상이어야 함.
ALTER TABLE userTbl
ADD CONSTRAINT CK_mobile1
CHECK (mobile1 IN ('010','011','016','017','018','019')); -- 휴대폰 국번 체크
5. DEFAULT 정의 - 값 입력이 없으면 기본으로 입력되는 기본 값
CREATE TABLE userTBL
( userID CHAR(8) NOT NULL PRIMARY KEY ,
userName NVARCHAR2(10) NOT NULL ,
birthYear NUMBER(4) DEFAULT -1 NOT NULL , --기본 -1 입력
addr NCHAR(2) DEFAULT '서울' NOT NULL , --기본 서울 입력
mobile1 CHAR(3) NULL,
mobile2 CHAR(8) NULL,
height NUMBER(3) DEFAULT 170 NULL, --기본 170 입력
mDate DATE NULL
);
또는
ALTER TABLE userTBL
MODIFY birthYear DEFAULT -1; --기본 -1 입력
ALTER TABLE userTBL
MODIFY addr DEFAULT '서울'; --기본 서울 입력
ALTER TABLE userTBL
MODIFY height DEFAULT 170; --기본 170 입력
댓글 없음:
댓글 쓰기