1:1
1:N
N:M
not null
unique
PK 참조
Primary Key(기본 키)는 관계형 데이터베이스에서 테이블의 각 레코드를 고유하게 식별하기 위해 사용되는 열입니다. Primary Key는 각 행을 고유하게 식별하며, 중복된 값을 가질 수 없습니다. Primary Key는 해당 테이블에서 유일한 식별자로 사용되며, NULL 값을 가질 수 없으며 중복된 값이나 빈 값이 포함되어서는 안 됩니다. 주로 테이블의 기본 키로는 자동으로 증가하는 정수형 데이터나 고유한 식별자(UUID 등)가 사용됩니다.
Foreign Key(외래 키)는 한 테이블의 열(또는 열들)이 다른 테이블의 Primary Key를 참조하는 열입니다. Foreign Key는 다른 테이블과의 관계를 맺기 위해 사용됩니다. Foreign Key는 참조된 테이블의 Primary Key와 동일한 데이터 타입과 값 범위를 가져야 하며, 참조 무결성을 유지하기 위해 참조된 테이블의 값과 일치하는지 확인됩니다. Foreign Key는 해당 테이블과 다른 테이블 간의 관계를 정의하고, 데이터의 무결성과 일관성을 보장하는 데 사용됩니다.
관계형 데이터베이스에서는 다양한 관계를 표현할 수 있으며, 이를 위해 1:1, 1:N, N:M 관계를 사용합니다.
1:1 관계: 한 테이블의 레코드가 다른 테이블의 레코드와 1:1로 대응됩니다. 예를 들어, 한 명의 사용자가 한 개의 주소를 가지는 경우입니다.
1:N 관계: 한 테이블의 레코드가 다른 테이블의 레코드와 1:N으로 대응됩니다. 예를 들어, 한 명의 사용자가 여러 개의 주문을 가지는 경우입니다.
N:M 관계: 한 테이블의 레코드가 다른 테이블의 레코드와 N:M으로 대응됩니다. 예를 들어, 여러 명의 학생이 여러 개의 과목을 수강하는 경우입니다. 이러한 관계는 중간 테이블을 통해 구현됩니다.
따라서, Primary Key는 테이블의 고유성을 보장하고 Foreign Key는 다른 테이블과의 관계를 정의하는 데 사용됩니다. 이를 통해 데이터의 무결성과 일관성을 유지할 수 있습니다.
: 검색, 정렬시 Tuple을 구분할 수 있는 기준이 되는 Attribute.
- Candidate Key (후보키)
- Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. (기본키로 사용할 수 있는 속성들)
- 2가지 조건 만족
- 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
- 최소성 : 꼭 필요한 속성으로만 구성
- Primary Key (기본키)
- 후보키 중 선택한 Main Key
- 특징
- Null 값을 가질 수 없음
- 동일한 값이 중복될 수 없음
- Alternate Key (대체키)
- 후보키 중 기본키를 제외한 나머지 키 = 보조키
- Super Key (슈퍼키)
- 유일성은 만족하지만, 최소성은 만족하지 못하는 키
- Foreign Key (외래키)
- 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합