코딩 연습장/데이터베이스(DB)

데이터베이스 - 제약조건

Do아 2021. 3. 17. 00:51
728x90

2021/03/03(수)

6번째 수업

제약조건

NOT NULL/UNIQUE/PRIMARY KEY/FOREIGH KEY/CHECK

***데이터 무결성 : 데이터베이스에 저장되는 데이터의 정확성과 일관성을 보장한다는 의미

무결성을 지키기 위해 항상 유지해야하는 기본 규칙 존재

제약 조건은 이런 무결성을 위한 안전장치

1) NOT NULL

CREATE TABLE 테이블명(

필드명 자료형 NOT NULL,

.

.

.

);

--> NOT NULL을 지정한 필드는 NULL값을 넣을 수 없다

제약조건에 이름 주기

**

CREATE TABLE 테이블명(

필드명 자료형 CONSTRAINT 제약조건명 NOT NULL

.

.

.

);

--> CONSTRAINT 후에 제약조건의 이름을 정해 줄 수 있음

ALTER TABLE 테이블명

MODIFY 필드명 CONSTRAINT 제약조건명 제약조건;

--> CONSTRAINT는 생략 가능

--> 이미 설정된 제약조건을 수정할 수 있음

ALTER TABLE 테이블명

RENAME CONSTRAINT 기존제약조건명 TO 새로바꿀제약조건명;

--> ALTER 안에 RENAME을 사용해서 제약조건명 변경 가능

ALTER TABLE 테이블명

DROP CONSTRAINT 제약조건명;

--> ALTER 안에 DROP을 사용해서 제약 조건 삭제 가능

2) UNIQUE

중복을 허용하지 않고자 할 때 사용 NULL값은 제외

지정 방법은 NOT NULL과 동일

3)PRIMARY KEY

유일하게 하나만 있는 값 , 데이터 중복을 허용하지 않고 NULL도 허용하지 않는다.

지정방법은 NOT NULL과 동일

CONSTRAINT 제약조건명 KEY(필드1,필드2); 2개 KEY 가능

4) FOREIGN KEY

외래키, 서로 다른 테이블 간 관계를 정의하는 데 사용하는 제약 조건

특정 테이블에서 PRIMARY KEY 제약 조건을 지정한 열을 다른 테이블의 특정 열에서 참조

외래키 생성

CREATE TABLE 테이블명 (

... 다른 열 정의 ,

열 자료 형 CONSTRAINT 제약조건 이름 REFERENCES 참조 테이블(참조할 열 ));

외래키 삭제

CONSTRAINT 제약조건명 REFERENCES 참조테이블(참조 열) ON DELETE CASCADE;

-->열데이터 삭제할 때 데이터를 참조하고 있는 데이터도 함께 삭제

외래키 삭제시 참조 데이터 NULL로 수정

CONSTRAINT 제약조건명 REFERENCES 참조테이블(참조 열) ON DELETE SET NULL;

-->참조하는 테이블의 열값을 삭제하면 참조하는 테이블의 열값이 NULL로 수정

5) CHECK

열에 저장할 수 있는 값의 범위 또는 패턴을 정의할 때 사용

예) 0~ 23까지의 숫자만 허용

체크 삽입

CREATE TABLE 테이블명 (

... 다른 열 정의 ,

열 자료 형 CONSTRAINT 제약조건 이름 CHECK (조건)

);

--> 데이터 삽입시 조건에 맞는 값만 들어갈 수 있음

6) DEFAULT

제약 조건과는 별개로 특정 열에 저장할 값이 지정되지 않았을 경우 기본값을 지정할 수 있음

CREATE TABLE 테이블명 (

... 다른 열 정의 ,

열 자료 형 DEFAULT 기본값

);

728x90