SQL을 활용한 데이터 분석

제약조건

제약조건

무결정 제약조건

  • 데이터 무결성
    • 데이터의 정확성 또는 유효성을 의미
    • 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적으로 또는 명시적으로 정의한다.
    • 무결성 제약조건은 데이터베이스 상태가 만족시켜야 하는조건이다. 사용자에 의한 데이터베이스 갱신이 데이터베이스 일괄성을 깨지 않도록 보장하는 수단이다. 일반적으로 데이터베이스 상태가 실세계에 서용되는 상태만 나타낼 수 있도록 제한한다.
    • 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없다.
    • TABLE LEVEL 에서 적용되는 RULE
    • 제약조건은 데이터의 무결성 유지를 위하여 사용자가 지정 가능하다.
    • 제약조건은 테이블을 생성할 당시에 지정할 수도 있고, 테이블 생성 후 ALTER 명령어를 통해서도 추가가 가능
  • NOT NULL
    • 컬럼을 필수 필드화
  • UNIQUE
    • 데이터의 유일성을 보장
    • 중복되는 데이터가 존재할 수 없다.
  • 기본 키(Pirmary Key)
    • 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없다.
    • 사용자가 릴레이션을 생성하는데 데이터 정의문에서 어떤 애트리뷰트가 릴레이션의 기본 키의 구성요소인가를 DBMS에게 알려준다.
  • 외래 키(Foreign Key) 와 참조 무결성 제약조건(referential integrity constraint)
    • 참조 무결성 제약조건을 두 릴레이션의 연관된 튜플들 사이의 일괄성을 유지하는데 사용된다.
    • 관계 데이터베이스가 포인터 없이 오직 릴레이션들로만 이루어지고, 릴레이션 사이의 관계들이 다른 릴레이션의 기본 키를 참조하는 것을 기반으로 하여 묵시적으로 표현되기 때문에 외래 키의 개념이 중요하다.
    • 릴레이션 R2의 외래 키가 릴레이션 R1의 기본 키를 참조할 때 참조 무결성 제약조건은 아래의 두 조건중 하나가 성립되면 만족 된다.
      • 외래 키의 값은 R1의 어떤 튜플의 기본 키 값과 같다.
      • 외래 키가 자신을 포함하고 있는 릴레이션의 기본 키를 구성하고 있지 않으면 NULL 값을 가진다.
  • 무결성 제약조건 유지
    • 데이터베이스에 대한 갱신 연산의 수행 결과에 따라서는 무결성 제약조건이 위배될 수 있다.
    • 데이터베이스에 대한 갱신 연산은 삽입 연산, 삭제 연산, 수정 연산으로 구분한다.
    • DBMS는 각각의 갱신 연산에 대하여 데이터베이스가 무결성 제약조건들을 만족하도록 필요한 조치를 취한다.
    • DBMS는 외래 키가 갱신되거나, 참조된 기본 키가 갱신되었을 때 참조 무결성 제약조건이 위배되지 않도록 해야한다.
  • 참조무결성 제약에 의해 참조 관계 컬럼은 데이터형이 일치해야함
  • ON DELETE CASCADE 연산자와 함께 정의된 외래키의 데이터는 그 기본키가 삭제 될 때 같이 삭제
  • 외래 키(Foreign Key) 삭제
    • 참조되는 릴레이션에서 튜플이 삭제되면 참조 무결성 제약조건을 위해하는 경우가 생기거나 생기지 않을 수 있다.
  • CHECK
    • 컬럼의 값을 어떤 특정 범위로 제한
  • DEFAULT
    • 데이터를 입력 하지 않아도 지정된 값이 기본으로 입력

© 2020. All rights reserved.

SIKSIK