본문 바로가기

back-end/sql

SQL/ 키 Key

키Key

"릴레이션에서 특정 투플을 식별할 때 사용하는 속성 혹은 속성의 집합"

 

투플을 유일하게 식별하는 장치

각 릴레이션 간의 관계를 말해주는 연결고리

 

슈퍼키 Super Key

투플을 유일하게 식별할 수 있는 하나의 속성 혹은 속성의 집합

 

후보키 Candidate Key

투플을 유일하게 식별할 수 있는 속성의 최소 집합

 

기본키 PK; Primary Key

여러 후보키 중 하나를 선정해 대표로 삼는 키

  • 릴레이션 내 투플을 식별할 수 있는 고유한 값을 가진다
  • NULL 값은 허용되지 않는다
  • 키 값의 변동이 일어나지 않아야 한다
  • 최대한 적은 수의 속성을 가져야 한다
  • 키 이용 시 문제의 소지가 없어야 한다 (e.g. 주민번호를 기본키로 사용하는 경우: 정보 유출의 위험)

 

대리키 Surrogate Key = 인조키 Artificial Key

기본키가 보안을 요구하거나, 여러 개의 속성으로 구성되어 복잡해 마땅한 기본키가 없을 경우 일련번호와 같은 가상의 속성을 만들어 기본키의 역할을 하는 키

 

대체키 Alternate Key

기본키로 선정되지 않은 후보키

 

외래키 FK; Foreign Key

다른 릴레이션의 기본 키를 참조하는 키로 릴레이션 간의 관계를 표현한다

  • 참조하고 참조되는 양쪽 릴레이션의 도메인이 서로 같아야 한다
  • 참조되는 릴레이션 기본키의 값이 변경되면 기본키를 참조하는 외래키의 값 역시 변경되어야 한다
  • NULL 값과 중복 값이 허용된다
  • 자기 자신의 기본키를 참조할 수도 있다
  • 외래키가 기본키으 일부가 될 수 있다

 


무결성 제약조건

 

데이터 무결성: 데이터베이스에 저장된 데이터의 일관성과 정확성을 지키는 것

 

도메인 무결성 제약조건

릴레이션 내의 투플들은 각 속성의 도메인에 지정된 값만을 가져야 한다.

 

개체 무결성 제약조건 (기본키 제약조건)

릴레이션은 기본키를 지정하고, 기본키는 NULL 값을 가져선 안 되고 오직 하나의 값만 존재해야 한다.

 

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

릴레이션 간의 참조 관계를 선언하는 제약조건이다. 참조하는 릴레이션의 외래키는 참조되는 릴레이션의 기본키와 도메인이 동일해야 하며 참조하는 릴레이션에서 참조하는 값을 삭제, 변경하는 것은 거부된다.

'back-end > sql' 카테고리의 다른 글

SQL/ 조인 JOIN  (0) 2022.06.13
SQL/ SQK Keywords  (0) 2022.06.13
SQL/ 데이터 모델링  (0) 2022.06.13
SQL/ 릴레이션의 개념  (0) 2022.06.10