관계형 DB 제약조건 - key,무결성

cho·2023년 7월 9일
0

제약조건

데이터베이스에 저장되는 데이터의 정확성을 보장하기 위해 키(key)를 이용하여 입력되는 데이터를 제한하는 것으로, 개체 무결성 제약, 참조 무결성 제약 등이 해당된다.

키(key)

데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다.
후보키(Candidate Key)
기본키(Primary Key)
대체키(Alternate Key)
슈퍼키(Super Key)
외래키(Foreign Key)
5종류가 있다.

후보키

릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합.
기본키로 사용할 수 있는 속성.
유일성과 최소성을 모두 만족시켜야한다.

  • 유일성 : 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함.
  • 최소성 : 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함.

기본키

기본키는 후보키 중에서 특별히 선정된 주키이다.
중복된 값을 가질 수 없다.
한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다.
기본키는 NULL값을 가질 수 없다. -> 튜플에서 기본키로 설정된 속성에는 NULL 값이 있어서는 안 된다.

대체키

후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 의미한다.
대체키를 보조키라고도 부른다.

슈퍼키

슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다.
릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음.
릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못한다.

외래키

다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합.
한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라고 한다.
외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.

무결성

데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미함.
데이터베이스에 들어 있는 데이터의 정확성을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지하기 위한 제약조건을 말한다.

종류

  • 개체 무결성 : 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복 값을 가질 수 없다는 규정
  • 참조 무결성 : 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 함.
  • 도메인 무결성 : 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정
  • 사용자 정의 무결성 : 속성 값들이 사용자가 정의한 제약조건에 만족되어야 한다는 규정
  • NULL 무결성 : 릴레이션의 특정 속성 값이 NULL이 될 수 없도록 하는 규정
  • 고유 무결성 : 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다는 규정
  • 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정
  • 관계 무결성 : 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정

0개의 댓글