Keys
: 키(key)는 DB에서 조건을 만족하는 레코드를 찾거나 순서대로 정렬할 때 레코드를 서로 구분할 수 있는 기준이 되는 속성을 뜻한다.
키(key)란 특정 튜플을 식별할 때 사용하는 속성 혹은 속성의 집합을 말하며, 키의 종류는 기본키, 슈퍼키, 후보키, 대체키, 외래키 등으로 나뉜다.
키의 종류
- Super key (수퍼키)
- Candidate key (후보키)
- Primary key (기본키)
- Alternate key (대체키)
- Foreign key (외래키)
- Composite key (복합키)
기본 키(Primary key)
기본 키(Primary key)는 유일성과 최소성을 가지며(후보키), 해당 레코드를 식별할때 기준이 되는 반드시 필요한 키이다.
- 테이블은 하나의 기본 키 제약 조건만 포함할 수 있다.
- 값의 변동이 잦은 후보키는 기본키로 부적절하다.
- NULL값을 가질수 있는 속성이 포함된 후보키는 부적절하다.
- 후보키 중 단순한 키를 기본키로 선택한다.
- 기본 키는 16개 열을 초과할 수 없으며 총 키 길이가 900바이트를 넘을 수 없다.
- 기본 키 제약 조건 내에서 정의된 모든 열은 NOT NULL로 정의되어야 한다. NULL 허용 여부를 지정하지 않은 경우에는 기본 키 제약 조건에 참여하는 모든 열의 NULL 허용 여부가 NOT NULL로 설정된다.
외래 키(Foreign key)
외래 키(Foreign key)는 테이블간의 관계를 나타낼때 사용하며, 다른 테이블의 기본키를 참조해 외래키로 사용한다. 즉, 한 테이블의 외래키는 연결되어있는 다른 테이블의 기본키중 하나다.
- 관계 데이터 모델의 릴레이션 간의 관계를 표현한다.
- 다른 릴레이션의 기본키를 참조한다.
- 참조되는 값(기본키)이 변경하면 참조하는 값(외래키)도 변경된다.
- 참조되고 있는 값은 기본키에서 삭제할 수 없다(참조하지 않은 값은 삭제 가능).
- NULL 값과 중복 값이 허용된다.
- 다른 릴레이션의 기본키를 참조하지 않고 자신의 기본키를 참조하는 외래키도 사용 가능하다.
외래 키 설정을 따로 하는 이유는 데이터의 무결성 때문이다.
* 무결성 : 신뢰할 수 있는 서비스 제공을 위해서 의도하지 않은 요인에 의해 데이터, 소프트웨어, 시스템 등이 변경되거나 손상되지 않고 완전성, 정확성, 일관성을 유지함을 보장하는 특성.
참고 및 출처
https://learn.microsoft.com/ko-kr/sql/relational-databases/tables/primary-and-foreign-key-constraints?view=sql-server-ver16
'정리' 카테고리의 다른 글
서블릿(Servlet)이란? (0) | 2023.05.14 |
---|---|
ERD(Entity Relationship Diagram) (0) | 2023.05.08 |
MVC1, MVC2 차이점 (0) | 2023.05.01 |
동기와 비동기의 차이 (0) | 2023.04.21 |
MySQL (0) | 2023.04.19 |
댓글