더 많은 포스팅 보기 자세히보기

T자형 개발/Database

데이터베이스 키(Key)

유도혁 2021. 4. 20. 22:52

키(Key)란?

특정 조건에 맞는 튜플을 구분할 수 있는 단일 속성 및 속성 그룹을 말함

 

  • 슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다.
  • 후보키 : 최소 슈퍼키(유일성+최소성)➡학번, 주민번호
  • 기본키 : 후보키 중에 선택한 키 (중복X, Null값 X)
  • 대체키 : 후보키 중에서 기본키를 제외한 속성들
  • 외래키 : 릴레이션2에서 릴레이션1을 참조할 때 참조 기준이 되는 속성 참조하고자 하는 릴레이션의 기본키와 동일

기본키란?

- 테이블에 저장된 각각의 데이터를 유일하게 구분하는 키

- 예) [학생정보] 테이블의 ‘학번’

        [게시판테이블의 ‘게시물번호‘]

특징
- 유일성과 원자성을 가진다.
- 중복값과 NULL값이 없어야 한다.

 

 

외래키란?
- 다른 테이블에 참조되는 기본키 칼럼, 연결자 역할을 한다.
- 예) [학생정보]테이블 ‘학번’ ---- [토요스포츠참가자]테이블 ‘학번’

        [게시판] 테이블의 ‘게시물번호‘ --- [리플]테이블 ‘게시물번호'

특징
- 기본키를 참조하나 반드시 고유할 필요는 없다.
- 참조하는 테이블의 기본키에 없는 값을 입력할 수 없다.

 

 

기본키, 외래키 관련 주의사항

 

  • comment(리플) 테이블이 있는 한 board(게시물) 테이블을 삭제할 수 없음
  • board(게시물) 테이블을 삭제하려면 comment 테이블을 먼저 삭제하거나, 외래키를 해제해야 함