Constraint(제약 조건)이란??????
> 테이블을 올바른 데이터만 입력받고 잘못된 데이터는 들어오지 못하도록 칼럼마다 정하는 규칙이다.
Constraint(제약 조건)의 특징은??????
>데이터 무결성을 보장하기 위한 용도
> 칼럼에 대한 속성 정의
> 테이블이나 속성에 적절치 않은 데이터가 들어오는 것을 방지하기 위한 규칙을 정하는 것
> 데이터베이스의 객체, 고유의 이름(제약 조건 명)을 지정
> 사용자가 지정하지 않는 경우 , oracle이 자동으로 부여
Constraint(제약 조건) 종류??????
NOT NULL | 조건 설정된 컬럼에 NULL 값이 입력되지 못하도록 설정 |
UNIQUE | 조건 설정된 컬럼에 중복된 값이 입력되지 못하도록 설정 |
PRIMARY KEY | NOT NULL+UNIQUE의 특징을 가지며, 테이블 내에서 데이터들끼리의 유일성을 보장하는 컬럼에 설정, 그리고 테이블당 1개만 설정 가능 |
FOREIGN KEY | 다른 테이블의 컬럼을 참조해서 검사 |
CHECK | 조건에서 설정된 값만 입력을 허용하고 나머지는 거절 |
NOT NULL
>NOT NULL의 경우 칼럼에만 적용 가능, 테이블은 불가능
> NOT NULL 제약 조건을 명시하면 해당 칼럼에는 반드시 데이터를 입력
> 데이터가 들어있어야만 하는 칼럼에 명시
NULL값을 받을 수 없어서 오류 발생
UNIQE
>해당 칼럼에 들어가는 값 , 테이블 전체에서 유일(중복 X)
>NOT NULL 과 함께 사용 가능
값이 중복되기 때문에 오류
PRIMARY KEY
>기본키 제약조건
>UNIQUE + NOT NULL의 형태
>테이블 당 1개의 기본키만 생성 가능
>여러 칼럼을 묶어 하나의 기본키로 만드는 것 가능(최대 32개 까지 가능)
>기본키는 데이터 무결성을 지켜주는 역할
FOREIGN KEY
>외래키 제약조건
>테이블 간 참조 무결성 보장
>참조 관계가 있는 테이블의 데이터 추가, 삭제, 수정을 통제
>참조하는 테이블이 먼저 생성되어 있어야 함
>여러 개의 칼럼을 외래키 지정시,참조당한 테이블의 기본키와 칼럼 개수 및 순서가 같아야 함
>외래 키가 참조하는 칼럼은 참조하는 테이블의 PRIMARY KEY이어야 함
>32개의 칼럼만 가능
CHECK
> 칼럼에 입력되는 데이터를 CHECK, 미리 지정된 조건에 맞을 경우에만 입력을 허락하고, 아니면 오류 발생
1부터 9까지 사이에 숫자를 벗어난 10을 넣었기 때문에 오류 발생!
정상적으로 값이 들어감
따라 해 보면 금방 늘 겁니다!
'데이터베이스' 카테고리의 다른 글
Oracle - DDL 명령어 (0) | 2020.09.14 |
---|---|
Oracle - Database(데이터 베이스) 개념 (0) | 2020.09.14 |
oracle-제약 조건 관리해보자! (0) | 2020.09.04 |
oracle- Constraint(제약 조건) 사용해보자! (0) | 2020.09.04 |
oracle 데이터베이스 - 계층형 쿼리 (0) | 2020.09.03 |