728x90
PRIMARY KEY
1. primary key의 특징
- 테이블의 무결성을 갖도록 하기 위한 방법중 하나이다.(제약조건)
- NULL 값이 올수 없다.(NOT NULL)
- 유일한 값을 갖는다.(UNIQUE)
2. primary key 생성 방법
테이블을 생성할때 primary key로 설정할 컬럼명에서 "PRIMARY KEY"를 명시한다.
|
3. 제약조건 확인 방법
사용자가 테이블에 제약조건을 걸면 "user_constraints" 테이블에 저장되기 때문에 이 테이블의 내용을 조회함으로 제약 조건을 확인할 수 있다.
먼저 user_constraints의 테이블 구조를 살펴보자.
SQL> DESC user_constraints
TEST 테이블의 제약 조건을 확인해 보자.
SQL>select * from USER_CONSTRAINTS where table_name='test'; |
* constraint_type 의 의미
CONSTRATIN_TYPE | 의미 |
P | PRIMARY KEY |
R | FOREIGN KEY |
U | UNIQUE |
C | CHECK, NOT NULL |
O | Read Only on a View |
V | Check option on a View |
4. 기존 테이블에 PRIMARY KEY 추가하기
아랭의 두가지를 사용하여 추가할 수 있으며 사용하기는 두번째가 편리하나 복잡한 제약조건들이 많아지면 어떤 테이블에 어떤 제약조건이 걸렸는지 직관적으로 알아보기 힘들기 때문에 첫번째 사용방법이 권장 사항이다.
TEST 테이블의 NO 컬럼에 PRIMARY KEY를 지정해 보자.
alter table test ADD constraints test_no_pk primary key(no); | 테이블명_컬러명_제약조건유형 과 같이 정형화된 CONSTRAINTS의 이름을 사용하여 지정 |
alter table test ADD primary key (no); | CONSTRAINTS명은 시스템이 정해준다. |
제약조건이 추가되었으면 다시금 "user_constraints" 테이블을 조회해 보자.
SQL>select * from USER_CONSTRAINTS where table_name='test'; |
5. PRIMARY KEY 제거 방법
alter table test DROP PRIMARY KEY; |
alter table test DROP CONSTRATINT test_no_pk; |
728x90
댓글