테이블 (데이터베이스) 편집하기
최신판 | 당신의 편집 | ||
109번째 줄: | 109번째 줄: | ||
* 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성된다. | * 관계형 데이터베이스에서 테이블 간의 관계를 정의하기 위해 기본키를 다른 테이블의 외래키로 복사하는 경우 외래키가 생성된다. | ||
* 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.<ref name='constraint'></ref> | * 외래키 지정시 참조 무결성 제약 옵션을 선택할 수 있다.<ref name='constraint'></ref> | ||
+ | |||
+ | === 키 === | ||
+ | :데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 다른 튜플들과 구별할 수 있는 유일한 기준이 되는 Attribute(속성)이다.<ref name='db_key'>Lim-Ky, 〈[https://limkydev.tistory.com/108 키(Key)의 개념 및 종류]〉, 2017-10-23</ref> | ||
+ | |||
+ | ==== 기본키 ==== | ||
+ | * 후보키 중에서 선택한 주키(Main Key) | ||
+ | * 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성 | ||
+ | * Null 값을 가질 수 없다. | ||
+ | * 기본키로 정의된 속성에는 동일한 값이 중복되어 저장될 수 없다.<ref name='db_key'></ref> | ||
+ | |||
+ | ==== 후보키 ==== | ||
+ | * 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다. | ||
+ | * 모든 릴레이션은 반드시 하나 이상의 후보키를 가져야 한다. | ||
+ | * 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.<ref name='db_key'></ref> | ||
+ | |||
+ | ==== 대체키 ==== | ||
+ | * 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다. | ||
+ | * 보조키라고도 한다.<ref name='db_key'></ref> | ||
+ | |||
+ | ==== 슈퍼키 ==== | ||
+ | * 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키로서 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타내지 않는다. | ||
+ | * 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족시키지 못한다.<ref name='db_key'></ref> | ||
+ | |||
+ | ==== 외래키 ==== | ||
+ | * 외래키는 참조되는 릴레이션의 기본키와 대응되어 릴레이션 간에 참조 관계를 표현하는데 중요한 도구로 사용된다. | ||
+ | * 관계(Relation)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성이다. | ||
+ | * 외래키로 지정되면 참조 테이블의 기본키에 없는 값은 입력할 수 없다.<ref name='db_key'></ref> | ||
{{각주}} | {{각주}} |