키(Key)란?
특정 조건에 맞는 튜플을 구분할 수 있는 단일 속성 및 속성 그룹을 말함
- 슈퍼키 : 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다.
- 후보키 : 최소 슈퍼키(유일성+최소성)➡학번, 주민번호
- 기본키 : 후보키 중에 선택한 키 (중복X, Null값 X)
- 대체키 : 후보키 중에서 기본키를 제외한 속성들
- 외래키 : 릴레이션2에서 릴레이션1을 참조할 때 참조 기준이 되는 속성 참조하고자 하는 릴레이션의 기본키와 동일
기본키란?
- 테이블에 저장된 각각의 데이터를 유일하게 구분하는 키
- 예) [학생정보] 테이블의 ‘학번’
[게시판] 테이블의 ‘게시물번호‘]
특징
- 유일성과 원자성을 가진다.
- 중복값과 NULL값이 없어야 한다.
외래키란?
- 다른 테이블에 참조되는 기본키 칼럼, 연결자 역할을 한다.
- 예) [학생정보]테이블 ‘학번’ ---- [토요스포츠참가자]테이블 ‘학번’
[게시판] 테이블의 ‘게시물번호‘ --- [리플]테이블 ‘게시물번호'
특징
- 기본키를 참조하나 반드시 고유할 필요는 없다.
- 참조하는 테이블의 기본키에 없는 값을 입력할 수 없다.
기본키, 외래키 관련 주의사항
- comment(리플) 테이블이 있는 한 board(게시물) 테이블을 삭제할 수 없음
- board(게시물) 테이블을 삭제하려면 comment 테이블을 먼저 삭제하거나, 외래키를 해제해야 함
'T자형 개발 > Database' 카테고리의 다른 글
SQL의 구성: DML 데이터 검색(SELECT) (0) | 2021.05.23 |
---|---|
SQL의 구성: DML 데이터 수정(UPDATE), 삭제(DELETE) (0) | 2021.05.23 |
SQL의 구성: DML 레코드 삽입(INSERT) (0) | 2021.05.08 |
SQL의 구성: DDL (0) | 2021.05.04 |
질의어와 SQL (0) | 2021.04.17 |