제약조건
1. 데이터 무결성
1) NOT NULL
- NULL 값 허용 불가
예) 학생 테이블에서 학생의 이름은 NULL값일 수 없음 예
2) UNIQUE
- 하나의 테이블 내에서 한번만 나옴
- 주로 대체키 설정 시 사용됨
3) PRIMARY KEY
- 기본키
- 의미 : UNIQUE + NOT NULL
4) FOREIGN KEY
- 외래키
5) CHECK
- 도메인 무결성
2. 제약조건의 설정
1) 테이블을 만들 때 속성에 제약조건 지정하기
CREATE TABLE 테이블명
( 속성명 속성타입 [ [제약조건명] 제약조건],
속성명 속성타입, … )
예 ) name varchar(20) NOT NULL
id int CONSTRAINT PK_01 PRIMARY KEY
2) 제약조건 설정 테이블 예제
3) 제약조건 위반 튜플 삽입 예
4) 참조 무결성 제약조건
- 외래키 값은 다른 테이블의 기본키 값들 중에 하나이어야 함
예) 사원 테이블의 부서번호는 부서 테이블의 기본키 값들 중 하나이어야 함
속성명 [CONSTRAINTS 제약조건명]
REFERENCE 참조테이블명(속성명)
5) 참조 무결성 설정 및 삽입 오류의 예
6) Check 제약조건
- 도메인 무결성 제약조건 : 입력 값의 제한
예 ) birthYear int CHECK(birthYear >= 1900)
Age int CHECK(Age between 1 and 150)
7) 테이블 수준 제약조건
- 속성 단위로 제약조건 설정은 표현에 있어서 제약이 따름 :
복합키의 경우(여러 개의 속성이 합쳐져서 키가 됨) 등
- 구문
CREATE TABLE 테이블명(
속성명 속성타입
…
[CONSTRAINT 제약조건명] 제약조건(속성명)
)
8) 테이블 수준 제약조건 설정의 예
제약조건 변경
1. 제약조건의 추가 및 제거
1) 테이블을 생성한 후에 제약조건을 추가하거나 제거할 필요성이 있음
- 제약조건도 테이블의 구조 정보에 속함으로 ALTER TABLE을 이용함
- 추가
ADD CONSTRAINT
- 제거
DROP CONSTRAINT
2) 제약조건 이름을 지정해 두어야 추가나 제거가 쉬움
ALTER TABLE 테이블명
ADD [CONSTRAINT 제약조건명] 제약조건 (속성명)
ALTER TABLE 테이블명
DROP CONSTRAINT 제약조건명
3) 제약조건 변경 예
'컴퓨터 > SQL' 카테고리의 다른 글
데이터 삽입과 변경 (0) | 2020.01.22 |
---|---|
데이터 검색 (0) | 2020.01.21 |
데이터 구조 생성과 변경 (0) | 2020.01.20 |
SQL의 개념과 T-SQL (0) | 2020.01.20 |
초간단 Oracle 오라클 XE 11g 설치 (0) | 2020.01.16 |