NULL ->NOT NULL

유일 해야하는 고유 키를 지정: UNIQUE (UK)

칼럼값은 반드시 존재, 유일: PRIMARY KEY (PK) //NULL 허용X, 중복 허용X, 기본키

해당 칼럼값은 참조되는 테이블의 칼럼에 하나 이상과 일치하도록 하려면 FOREIGN KEY (FK)

1) 무결성 제약 조건의 개념과 종류

데이터 무결성: 데이터베이스 내의 데이터에 대한 정확성, 일돤성, 유효성, 신뢰성을 보장하기 위해 데이터 변경 혹은 수정시 여러가지 제한을 두어 데이터의 정확성을 보증하는 것

 

NOT NULL NULL을 허용하지 않는다.
UNIQUE 중복된 값을 허용하지 않는다. 항상 유일한 값을 갖도록 한다.
PRIMARY KEY NULL을 허용하지 않고 중복된 값을 허용하지 않는다.
NOT NULL 조건과 UNIQUE 조건을 결합한 형태
FOREIGN KEY 참조되는 테이블의 칼럼의 값이 존재하면 허용
CHECK 저장가능한 데이터 값의 범위나 조건을 지정하여 설정한 값만을 허용한다.
DEFAULT 기본값을 설정

 

1)NOT NULL 제약조건

2)UNIQUE 제약조건

UNIQUE: 특정 칼럼에 대해 자료가 중복되지 않게 하는 것, 유일값

--NULL은 값에서 제외되므로 유일한 조건인지를 체크 하는 값에서 제외 //중복해서 들어갈 수 있다.
INSERT INTO EMP02(EMPNO, ENAME, JOB, DEPTNO)
VALUES(NULL, 'JONES', 'MANAGER', 20);

 

3)데이터 딕셔너리(시스템 테이블)

데이터 베이스 자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블.

DBA_XXXX 데이터 베이스 관리자만 접근 가능한 객체 등의 정보 조회
ALL_XXXX 자신 계정 소유 또는 권한을 부여받은 객체 등에 관한 정보 조회
USER_XXXX 자신의 계정이 소유한 객체 등에 관한 정보 조회

4)제약조건 확인하기

제약조건(CONSTRAINTS)의 에러 메시지에 대한 정확한 원인을 알기 위해 

P PRIMARY KEY
R FOREIGN KEY
U UNIQUE
C CHECK, NOT NULL //구분하기 위해  SEARCH_CONDITION

5)데이터의 구분을 위한 PRIMARY KEY 제약 조건

식별 기능을 갖는 칼럼은 유일하면서도 NULL 값을 허용하지 말아야 한다.

UNIQUE 제약 조건과 NOT NULL 제약 조건을 모두 갖고 있어야 하는데 두가지 제약을 모두 갖는 것이 PRIMARY KEY.

 

6)참조 무결성을 위한 FOREIGN KEY 제약 조건

참조의 무결성은 두 테이블 사이의 주종 관계에서 설정

먼저 존재해야하는 테이블이 주체가 되는 테이블: 부모 테이블, 참조하는 테이블: 자식 테이블

=부모 키가 되기 위한 칼럼은 반드시 부모 테이블의 기본 키유일 키로 설정되어 있어야 한다.

 

7)CHECK 제약 조건

입력되는 값을 체크하여 설정된 값 이외의 값이 들어오면 오류 메시지와 함께 명령이 수행되지 못하게 하는 것

GENDER VARCHAR2(1) CHECK (GENDER IN('M', 'F')),

2>제약 조건명 지정하기

사용자가 의미 있게 제약 조건명을 명시하여 제약 조건명을 명시하여 제약 조건명만으로도 어떤 제약 조건을 위배 했는지 알 수 있제 지정하는 방법

 

[테이블명]_[칼럼명]_[제약 조건 유형]

 

3>테이블 레벨 방식으로 제약 조건 지정하기

복합키로 기본키를 지정

ALTER TABLE로 제약 조건을 추가

 

4>제약조건 변경하기

1)제약조건 추가하기

테이블 생성이 끝난 후에 제약 조건을 추가하기 위해서는 ALTER TABLE로 추가

2)제약조건 제거하기

 

5>외래키가 설정된 데이터 삭제

ON DELETE CASCADE 부모 테이블의 데이터가 삭제하면 자식 테이블의 데이터도 함께 삭제
ON DELETE SET NULL 부모 테이블의 데이터가 삭제되면 자식 테이블의 값 NULL

+ Recent posts