무결성 제약

  • 데이터가 결점 없이 들어 올 수 있도록 데이터가 갖추어야 할 제약 조건을 말 한다.
  • 데이터를 생성할 때 무결성 제약 조건을 명시함
  • 새로 데이터가 들어올 때 마다 DBMS가 해당 데이터를 바탕으로 자동으로 체크함

 

+테이블

  • Base Table: Base Table은 부모 테이블 또는 마스터 테이블이라고도 불리며, 각 레코드에 대한 고유한 식별자인 기본 키(primary key) 열을 포함하는 데이터베이스 테이블입니다.
  • Device Table: Device Table은 컴퓨터, 프린터 또는 기타 하드웨어와 같은 장비에 대한 정보를 저장하는 데이터베이스 테이블입니다.

 

무결성 제약의 유형

  • 기본 무결성 제약
  • (외래키) 참조 무결성 제약
  • 일반 무결성 제약

 

기본 무결성 제약 조건

  • 형식: constraint <제약식명> primary key (<필드 리스트>)
  • 테이블 안 

  • 테이블 밖

  • 기본키 삭제

  • 기본키는 NULL 값을 가질 수 없으며 동일한 값을 가질 수 없다.
  • 한 테이블에서 기본키의 무결성 제약은 한번 밖에 나올 수 없다.

 

(외래키) 참조 무결성 제약

  • 형식

  • 테이블 안

  • 테이블 밖

  • 외래키 삭제

  • 외래키는 대부분 테이블 바깥에서 선언된다.

 

일반 무결성 제약

  • Not Null: 특정 필드는 NULL 값이 들어오면 안된다.
    • 기본키는 해당 제약이 디폴트로 적용되어 있음
  • unique: 후보키 등록
    • 값의 고유성 보장(중복 값 x)
    • 두 개 이상의 필드에 동시에 설정 가능 (각각의 경우에 대해)
      • ex: 김 영웅, 김(x) 길동 x
  • check: 어떤 필드의 값의 범위를 지정
    • 형식: constraint <제약식명> check (<조건식>)
    • 여러개의 필드를 묶어서 조건을 주는 것 또한 가능

 

  • default: 레코드 삽입시 따로 값이 정해지지 않을 경우 사용될 디폴트 값을 설정할 때 사용
    • 주의점: NULL<values(값,Null)>으로 삽입 될 경우 적용되지 않고 values(값,,)로 삽입해야 해당 디폴트 값이 적용됨

 

무결성 제약 설정의 유의점

  • 지나치게 많은 제약 조건이 있을 경우 많은 오버헤드를 발생시키기 때문에 프로그램 전체의 속도를 감소시킬 수 있음

'CS > DataBase' 카테고리의 다른 글

물리적 저장 구조와 인덱스  (0) 2023.04.26
데이터베이스 보안  (0) 2023.04.09
집계 함수  (0) 2023.04.01
SQL 1  (0) 2023.03.24
관계 대수  (1) 2023.03.17

+ Recent posts