Database Constraint란

SQL / / 2022. 3. 10. 23:04
728x90

CONSTRAINT 제약조건

테이블의 해당 칼럼에 원치 않은 데이터가 입력, 변경, 삭제 되는 것을 방지하기 위해

테이블 생성 시에  제약조건을 사용해서 입력하는 자료에 대해 제약을 정해줄 수 있다.

제약조건에 부합하지 않는 데이터는 저장 불가



무결성 제약조건
데이터 무결성은 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것을 말한다.
일관성과 정확성을 잃어버린 데이터베이스는 정보로서의 가치에 심각한 문제가 있다

    (1) 영역 무결성 (Domain Integrity)
        도메인 제약, 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만 가져야한다.
 
    (2) 개체 무결성 (Entity Integrity)
        기본키(PK)제약, 릴레이션에 기본키를 지정하고, 그에 따른 무결성 원칙
        기본키는 NULL을 가져서는 안되고, 릴레이션 내에 오직 하나의 값만 존재(중복X)
    
    (3) 참조 무결성 (Referential Integrity)
        외래키(FK) 제약, 릴레이션간의 참조 관계를 선언하는 제약조건
        일반적으로 참조되는 릴레이션을 부모 릴레이션, 참조하는 릴레이션을 자식 릴레이션이라고 한다.
       

제약조건의 종류
NOT NULL NULL(비어있음)을 허용하지않는다.
(값이 없어서는 안되는부분)
UNIQUE 고유한 값만 허용
중복 데이터를 허용하지 않는다
PK와 비슷하지만 PK는 절대로 null값을 허용하지 않고
unique는 null 값 허용

PRIMARY KEY 하나의 테이블에서 레코드를 구분 지을 수 있는
특정 컬럼의 유일값 
(테이블당 1개만 가능)
FOREIGN KEY 참조하는 테이블에서 존재하는 값만 사용가능을 의미
REFERENCES 부모테이블(칼럼명)
CHECK 컬럼에 특정 조건을 부여한다
(주어진 조건에 해당하는 값만 입력가능)

 

    [1] PRIMARY KEY(PK) 
        하나의 테이블에서 레코드를 구분 지을 수 있는 특정 컬럼의 유일값
        : NOT NULL +UNIQUE
        ex) 주민번호, 학생번호, 핸드폰 번호 , ID(후보키 중에 가장 적절한 것을 PK로 선별)

 

    PK 제약조건 삭제하는 방법

        ALTER TABLE [TABLE_NAME]
        DROP CONSTRAINT [CONST_NAME];

 

    제약조건 이름 정하기
        [TABLE_NAME]약자_[COL_NAME]약자_CONSTRAINT TYPE
        MB_PW_NN  MEMBER테이블의 PASSWORD컬럼에 NOT NULL 제약조건 부여하겠다.

728x90

'SQL' 카테고리의 다른 글

JDBC Connection 객체 생성  (0) 2022.03.14
SQL이란  (0) 2022.03.07
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기