1. 테이블 생성
기본구문
CREATE TALBE table_name
(column_name data_type [DEFAULT expr][ccolumn_constraint],,,[table_constraint,,,]);
구문설명
DEFAULT expr : 해당 컬럼에 적용될 자동 기본 값
CONSTRAINTS : column_constraint,table_constraint
각 레벨에서의 제약조건
2.Naming Rule
- 테이블,컬럼명 : 특수문자사용가능,한글을 사용하지않는다.
- 중목되는 이름은 사용할 수 없다.
- 예약어는 사용 불가능.
3.제약 조건
- NOT NULL : 해당 컬럼에 NULL을 포함하지 않아야 함.
- UNIQUE : 해당 컬럼 또는 컬럼 조합 값이 유일하도록 함
- PRIMARY KEY : 각 행을 유일하게 식별 할 수 있도록함
== notnull + unique
- REFERENCES table(column_name) : 해당 컬럼이 참조하고 있는 테이블 (주테이블 == 부모테이블)의 특정 컬럼값들과 일치 하거나 또는 NULL이 되도록 보장함
- CHERCK : 해당 컬럼에 특정 조건을 항상 만족시키도록함.
4.제약조건의 특징
- 이름으로 관리된다 : 문자로 시작, 길이는 30자, 이름을 지정하지 않으면 자동 생성
- 생성시기 : 테이블 생성과 동시에, 테이블을 생성한 후(추가된다)
- 컬럼 레벨 또는 테이블 레벨에서의 정의 (단, NOT NULL은 컬럼레벨에서만)
- 컬럼 여러 개를 조합하는 경우에는 테이블레벨에서만 가능하다.
5.FOREIGN KEY
참조 테이블의 컬럼값과 일치하거나 NULL 상태를 유지하도록 하는 제약조건
- TABLE_FK(종) 테이블생성을하면서 주 테이블을 참조하려한다.
- 주테이블의 구조를 확인
- 주테이블의 제약 조건을 확인
- 주테이블의 참조컬럼의 제약조건이 PK이어야한다.
참조키를 생성할 때 주의할 옵션
- [CONSTRAINT CONSTRAINT_NAME] CONSTRAINT_TYPE ON ELETE SET NULL
참조 컬럼 값이 삭제 될때