🍷DataBase

[SQL] SQL생성제약조건지정, NOT NULL, UNIQUE,PRIMARY KEY, FOREIGN KEY, CHECK, DEFAULT, CREATE INDEX, DROP INDEX

김말자 2022. 10. 6. 18:14
728x90
728x90
BIG

제약조건지정(ALTER TABLE)

예를들어 테이블생성시 제약조건을 지정할 수 있음

 

제약조건

규칙지정, 데이터유형제한, 정확성과 신뢰성 보장, 데이터 작업사이에 안맞으면 중단

제약 조건은 열 수준 또는 테이블 수준일 수 있습니다. 열 수준 제약 조건은 열에 적용되고 테이블 수준 제약 조건은 전체 테이블에 적용됩니다.

다음 제약 조건은 SQL에서 일반적으로 사용됩니다.

  • NOT NULL- 컬럼이 NULL 값을 가질 수 없도록 보장
  • UNIQUE- 열의 모든 값이 서로 다른지 확인
  • PRIMARY KEY- NOT NULL와 의 조합 UNIQUE. 테이블의 각 행을 고유하게 식별
  • FOREIGN KEY - 테이블 간의 링크를 파괴하는 작업 방지
  • CHECK- 컬럼의 값이 특정 조건을 만족하는지 확인
  • DEFAULT- 값이 지정되지 않은 경우 열의 기본값을 설정합니다.
  • CREATE INDEX- 데이터베이스에서 데이터를 매우 빠르게 생성하고 검색하는 데 사용

 

NOT NULL

  • 기본값은 NULL
  • NOT NULL인경우 NULL값을 허용하지 않음
  • 그래서 필드에 항상 값이 포함되는데, 값을 추가하지 않으면 새 레코드를 삽입하거나 업데이트를 할 수 없음
  • 조건 뒤에 NOT NULL을 붙여주면 됨

 

UNIQUE

열의 모든값이 서로 다른지 확인

프라이머리 키와, 유니크 둘다 열, 열집합에 대한 고유성을 보장

프라이머리키의 제약조건에는 UNIQUE가 기본조건임

많은 UNIQUE는 가질 수 있지만 프라이머리키는 테이블당 하나다

조건 삭제

 

PRIMARY KEY

각 레코드를 고유하게 식별

UNIQUE값 반드시 포함해야하며, NOT NULL임

테이블에는 하나의 PRIMARY KEY만 존재

W3스쿨

삭제

 

FOREIGN KEY

테이블 간 링크를 파괴하는 작업을 방지하는데 사용

외래키가 있는 테이블을 자식 테이블이라하고 프라이머리키가 있는 테이블을 부모테이블이라고함

 

CHECK

열에 배치할 수 있는 값 범위 제한

열에 대해 특정 값만 허용

 

DEFAULT

열의 기본값을 설정하는데 사용

다른값 설정하지 않을 경우 이 값이 새 레코드에 추가

 

CREATE INDEX

테이블에 인덱스를 생성하는데 사용

데이터베이스를 빠르게 검색할때 좋음

사용자는 볼 수 없음

근데 이걸하게 되면 업데이트하는데 시간이 오래걸려서 자주 검색하는 것만 하는게 좋음

 

DROP INDEX

인덱스 삭제

728x90
반응형
BIG