반응형
SMALL
후보키(CANDIDATE KEY)
- 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다.
- 기본키로 사용할 수 있는 속성들을 말한다.
- 후보키는 유일성(UNIQUE)과 최소성(MINIMALITY)을 모두 만족시켜야한다.유일성(UNIQUE) 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야함
유일성(UNIQUE) 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야함 최소성(MINIMALITY) 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함
기본키(PRIMARY KEY)
- 기본키는 후보키 중에서 특별히 선정되 주키(MAIN KEY)이다.
- 기본키는 중복된 값을 가질 수 없다.
- 기본키는 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다.
- 기본키는 NULL 값을 가질 수 없다. 즉 튜플에서 기본키로 설정된 속성에는 NULL 값이 있어서는 안된다.
슈퍼키(SUPER KEY)
- 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다.
- 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.
- 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못한다.
외래키(FOREIGN KEY)
- 외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다.
- 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라고 한다.
- 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.
무결성(INTEGRITY)
- 무결성은 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다.
- 개체 무결성: 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복 값을 가질 수 없다는 구성
- 참조 무결성: 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정
테이블: 학생(Student)
학번 (기본키)이름학년신장이메일학과코드 (외래키)
19001 | 김예소 | 2 | 170 | yeso@ex.com | CD |
20002 | 고강민 | 1 | 169 | kangmin@ex.com | CD |
19012 | 이향기 | 2 | 180 | hyanggi@ex.com | ID |
17032 | 김동준 | 4 | 174 | dongjun@ex.com | ED |
1. 기본키 (Primary Key):
- 학번은 각 학생을 고유하게 식별할 수 있는 값입니다. 중복이나 NULL이 허용되지 않습니다.
2. 후보키 (Candidate Key):
- 학번과 이메일은 각각 학생을 고유하게 식별할 수 있습니다. 따라서 둘 다 후보키가 될 수 있습니다. 이 중 **학번**이 기본키로 선택되었습니다.
3. 슈퍼키 (Super Key):
- 학번, 학번 + 이름, 이메일 등은 모두 슈퍼키입니다. 이 속성들은 각 튜플을 유일하게 식별할 수 있는 속성들의 집합입니다.
4. 외래키 (Foreign Key):
- 학과코드는 학과(Department) 테이블의 **학과코드**를 참조하는 외래키입니다. 이 값은 참조 테이블에 반드시 존재해야 합니다.
무결성 예시
- 개체 무결성 (Entity Integrity):
- 기본키인 학번은 중복되거나 NULL일 수 없습니다.
- 참조 무결성 (Referential Integrity):
- 학과코드 값은 학과 테이블에 존재하는 값이어야 하며, 그렇지 않으면 참조 무결성 위반입니다.
- 도메인 무결성 (Domain Integrity):
- 신장 값은 정수로 정의되어야 하며, 문자열이나 범위 외의 값은 입력될 수 없습니다.
반응형
LIST