본문 바로가기
Spring

Spring Day 14 : SQL 제약조건

by 우 석 2024. 2. 7.

PRIMARY KEY 

기본 키는 테이블 내에서 '유일하게 존재하는 값의 조합'을 설정해서 중복된 데이터가 테이블에 삽입되는 것을 방지하는 제약조건입니다.

 

기본 키를 사용하므로 데이터의 중복을 방지하고,  DBMS는 인덱스를 생성하여 데이터를 빠르게 찾을 수 있습니다.

 

 

제약조건

1. AUTO_INCREMENT : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가하여 고유번호를 생성

CREATE TABLE 테이블이름
(
    필드이름 필드타입 AUTO_INCREMENT,
    // id bigint AUTO_INCREMENT,
    ...
);

 

 

2. NOT NULL : 해당 필드는 NULL 값을 저장할 수 없다.

CREATE TABLE 테이블이름
(
    필드이름 필드타입 NOT NULL,
    ...
);

 

 

3. UNIQUE : 해당 필드는 서로 다른 값을 가져야 한다.

CREATE TABLE 테이블이름
(
    필드이름 필드타입 UNIQUE,
    ...
);

 

 

4. PRIMARY KEY : 해당 필드가 NOT NULL과 UNIQUE 제약 조건의 특징을 모두 가진다.

CREATE TABLE 테이블이름
(
    필드이름 필드타입 PRIMARY KEY,
    ...
);

 

 

 

5. FOREIGN KEY : 하나의 테이블을 다른 테이블에 의존하게 만들며 데이터의 무결성을 보장한다.

  • FK 를 가지는 테이블이 참조하는 기준 테이블의 열은 반드시 PK, UNIQUE 제약조건이 설정되어 있어 한다.
CREATE TABLE 테이블이름
(
    필드이름 필드타입,
    ...
		FOREIGN KEY(필드이름)
    REFERENCES 테이블이름(필드이름)
);

 

 

6. CASCADE : FOREIGN KEY 로 연관된 데이터를 삭제, 변경할 수 있다.

CREATE TABLE 테이블이름
(
    필드이름 필드타입,
    ...
		FOREIGN KEY(필드이름)
    REFERENCES 테이블이름(필드이름) ON DELETE CASCADE 
														 //ON UPDATE CASCADE
);