달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

 

데이터 무결성 제약 조건

테이블에 부적절한 자료가 입력되는 것을 방지하기 위해서 테이블을 생성할 때, 각 컬럼에 대해서 정의하는 여러 가지 규칙을 지칭합니다.

 

무결성

데이터베이스내에 있는 데이터의 정확성 유지하는 것

제약조건

(Constraint)

부적절한 데이터가 저장되는 것을 방지하는 것

 

 

 

무결성 제약 조건의 종류

테이블에 잘못된 데이터가 저장되지 않도록 결합이 없는 데이터로만 유지할 수 있도록 하는 제약조건들입니다.

무결성 제약 조건

역할

NOT NULL

·       NULL을 허용하지 않습니다.

·       기본적으로 칼럼은 NULL값을 허용하지만 NOT NULL의 선언을 통해 제한할 수 있습니다.

UNIQUE

·       중복된 값을 허용하지 않고, 항상 유일한 값을 갖도록 합니다.

·       테이블에 저장된 데이터()를 식별하기 위한 정의입니다.

·       NULLUNIQUE KEY의 제약 대상이 아니므로 NULL값을 가진 데이터()이 다수 존재해도 무관합니다.

PRIMARY KEY

·       NULL을 허용하지 않고, 중복된 값도 허용하지 않습니다.

·       NOT NULL 조건과 UNIQUE 조건을 결합한 형태입니다.

·       컬럼 값을 primary key로 정의합니다.

·       테이블에 저장된 데이터()를 식별하기 위한 정의로 하나의 칼럼만을 대상으로 합니다.

·       PRIMARY KEY를 정의하면 DBMS자동으로 UNIQUE 인덱스를 생성합니다.

·       PRIMARY KEY로 선언된 칼럼에는 NULL을 입력할 수 없습니다.

 

FOREIGN KEY

·       REFERENCES

·       참조되는 테이블의 칼럼의 값이 존재하면 허용합니다.

·       컬럼 값이 다른 컬럼에 반드시 존재해야 합니다.

·       관계형 데이터베이스의 테이블간 정의를 위해 PRIMARY KEY로 선언된 칼럼을 다른 테이블의 FOREIGN KEY로 복사하는 경우 생성됩니다.

·       FOREIGN KEY를 지정할 경우 참조 무결성 제약 옵션을 선택할 수 있습니다.

CHECK

·       저장 가능한 데이터 값의 범위나 조건을 지정하여, 설정한 값만을 허용합니다.(입력 가능한 값의 범위 등을 제한)

·       CHECK의 사용을 통해 논리식(TRUE / FALSE)을 지정할 수 있습니다.

 

 

 

제약조건 설정 방법

·       컬럼 레벨 방식

·       테이블 레벨 방식

 

Posted by codedragon codedragon

댓글을 달아 주세요