구분 | 설명 |
---|---|
PRIMARY KEY(기본키) | 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 기본키 하나의 테이블에 하나의 기본키 제약만 정의 가능 기본키 제약을 정의시 DBMS는 자동으로 UNIQUE 인덱스를 생성하며 기본키를 구성하는 칼럼에는 NULL 입력 불가능 기본키 제약 = 고유키 제약 & NOT NULL 제약 |
UNIQUE KEY(고유키) | 테이블에 저장된 행 데이터를 고유하게 식별하기 위한 고유키를 정의 NULL은 고유키 제약의 대상이 아니므로 NULL 값을 가진 행이 여러 개 있더라도 고유키 제약 위반이 되지 않음 |
NOT NULL | NULL 값의 입력을 금지 디폴트 상태에서 모든 칼럼에서 NULL을 허가하고 있지만 이 제약을 지정함으로써 해당 칼럼은 입력 필수 |
CHECK | 입력할 수 있는 값의 범위 제한 CHECK 제약으로는 TRUE or FALSE로 평가할 수 있는 논리식으로 지정 |
FOREIGN KEY(외래키) | 관계형 DB에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있음 |
테이블명 : TEAM
테이블 설명 : K-리그 선수들의 소속팀에 대한 정보를 가지고 있는 테이블
칼럼명 : TEAM_ID (팀 고유 ID) 문자 고정 자릿수 3자리,
REGION_NAME (연고지 명) 문자 가변 자릿수 8자리,
TEAM_NAME (한글 팀 명) 문자 가변 자릿수 40자리,
E-TEAM_NAME (영문 팀 명) 문자 가변 자릿수 50자리 ,
ORIG_YYYY (창단년도) 문자 고정 자릿수 4자리,
STADIUM_ID (구장 고유 ID) 문자 고정 자릿수 3자리,
ZIP_CODE1 (우편번호 앞 3자리) 문자 고정 자릿수 3자리,
ZIP_CODE2 (우편번호 뒷 3자리) 문자 고정 자릿수 3자리,
ADDRESS (주소) 문자 가변 자릿수 80자리,
DDD (지역번호) 문자 가변 자릿수 3자리,
TEL (전화번호) 문자 가변 자릿수 10자리,
FAX (팩스번호) 문자 가변 자릿수 10자리,
HOMEPAGE (홈페이지) 문자 가변 자릿수 50자리,
OWNER (구단주) 문자 가변 자릿수 10자리,
제약조건 : 기본 키(PRIMARY KEY) → TEAM_ID
(제약조건명은 TEAM_ID_PK) NOT NULL → REGION_NAME, TEAM_NAME, STADIUM_ID
(제약조건명은 미적용)
CREATE TABLE TEAM (
TEAM_ID CHAR(3) NOT NULL,
REGION_NAME VARCHAR2(8) NOT NULL,
TEAM_NAME VARCHAR2(40) NOT NULL,
E-TEAM_NAME VARCHAR2(50),
ORIG_YYYY CHAR(4),
STADIUM_ID CHAR(3),
ZIP_CODE1 CHAR(3),
ZIP_CODE2 CHAR(3),
ADDRESS VARCHAR2(80),
DDD VARCHAR2(3),
TEL VARCHAR2(10),
FAX VARCHAR2(10),
HOMEPAGE VARCHAR2(50),
OWNER VARCHAR2(10),
CONSTRAINT TEAM_PK PRIMARY KEY (TEAM_ID),
CONSTRAINT TEAM_FK FOREIGN KEY (STADIUM_ID) REFERENCES STADIUM(STADIUM_ID)
);
CREATE TABLE TEAM (
TEAM_ID CHAR(3) NOT NULL,
REGION_NAME VARCHAR(8) NOT NULL,
TEAM_NAME VARCHAR(40) NOT NULL,
E_TEAM_NAME VARCHAR(50),
ORIG_YYYY CHAR(4),
STADIUM_ID CHAR(3) NOT NULL,
ZIP_CODE1 CHAR(3),
ZIP_CODE2 CHAR(3),
ADDRESS VARCHAR(80),
DDD VARCHAR(3),
TEL VARCHAR(10),
FAX VARCHAR(10),
HOMEPAGE VARCHAR(50),
OWNER VARCHAR(10),
CONSTRAINT TEAM_PK PRIMARY KEY (TEAM_ID),
CONSTRAINT TEAM_FK FOREIGN KEY (STADIUM_ID) REFERENCES STADIUM(STADIUM_ID)
);