국민대에서 데이타베이스시스템(정익사, 이석호저) 교재를 사용하신
김혁만 교수님의 강의를 듣고 정리한 글입니다
키는 투플을 유일하게 식별할 수 있는 속성의 집합이다
예를 들어 속성 중 학번이나 학수번호가 해당 된다
기본키에 대해 알아보기 전에 배워야 할 키가 있다
후보키와 슈퍼키이다
후보키(Candidate Key)는 릴레이션 집합R에 대한 속성집합 A가 있을 때 A는 유일성과 최소성은 만족해야함
해당 집합은 유일해야하며, 튜플들을 구별하기 위해 최소로 필요하는 속성들을 말한다
슈퍼키는 유일성은 만족하지만, 최소성은 보장하지 못하는 키이다
슈퍼키 또한 키의 역할을 할 수 있지만, 속성 수가 너무 많기에 키로 사용하지는 않는다
기본키(Primary Key, PK)
후보키 중 키로 사용하기로 한 단 하나의 키이다
일반적으로 키는 이 기본키를 의미한다
기본키를 제외한 후보키에서 선택받지 못한 키들은 대체 키(Alternate Key)가 된다
두번째로 알아야 하는 것은 외래키이다
외래키(Foreign Key, FK)
한 테이블의 컬럼이 다른 테이블의 기본키를 참조하는 관계를 말한다
일단 참조 관계는 한 테이블의 컬럼이 다른 테이블의 특정 컬럼(보통 기본키)를 바라보는 관계를 말한다
쉽게 말하면 한 테이블의 기본키를 다른 테이블에서 참조해서 사용하면 그 키는 외래키가 되는것이다
무결성 제약(Integrity Constraints)
- 개체 무결성(entity integrity)
- 기본키 값은 유일하며, 널 값을 가질 수 없다
- 참조 무결성(referential integrity)
- 외래키 값은 부모 테이블의 기본키 값과 같거나, 널 값을 가진다
여기서 널 값은 0이나 빈 문자열을 의미하는 것이 아니라 값이 없거나, 아직 모르거나, 비어있다는 것을 의미
이외에도 중요한 제약들이 있다
- 다중값 제약(Multiple value constraint)
- 속성에 다중값을 저장할 수 없다
- 예시로 “a, b, c” 같이 다중값을 저장할 수 없다
- 도메인 제약(Domain constraint)
- 속성에서 가능한 값의 범위나 형태를 제한할 수 있다
- 예로 점수는 0~100, 글자는 8자까지
- 유일성 제약(Uniqueness constraint)
- 속성의 값이 unique해야 한다, 즉 중복된 값이 들어가면 안된다
'CS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 개념적 설계(개념적 데이터 모델링) (0) | 2025.04.04 |
---|---|
[데이터베이스] 관계 데이터 연산 (0) | 2025.03.31 |
[데이터베이스] 관계 데이터 구조 (0) | 2025.03.26 |
[데이터베이스] DBS (0) | 2025.03.26 |
[데이터베이스] DB & DBMS (0) | 2025.03.19 |