Computer Science

[데이터베이스] 데이터베이스의 Key의 종류에 대하여(superkey, candidate key, primary key, foreign key)

imsunbow 2024. 2. 22. 15:06

데이터베이스의 키(key)는 데이터베이스 테이블에서 각 행을 고유하게 식별하는 데 사용되는 필드나 필드의 집합이다. 다양한 종류의 키가 있으며, 각각의 역할과 특성이 다르다. 주요한 키의 종류는 다음과 같다.

 

1. 슈퍼키(superkey)

슈퍼키는 테이블 내의 튜블을 고유하게 식별하는 하나 이상의 속성으로 구성된 키이다. 슈퍼키는 최소성을 만족하지 않고, 불필요한 속성이 포함될 수 있다.

 

2. 후보키(candidate key)

후보키는 테이블 내의 튜플을 고유하게 식별할 수 있는 최소한의 속성으로 구성된 키이다. 후보키는 슈퍼키의 특별한 형태로, 최소성을 만족하여야만 한다.

 

3. 기본키(primary key)

기본키는 테이블 내의 각 행을 고유하게 식별하는 데 사용되는 특별한 후보키이다. 기본키는 NULL값을 허용하지 않으며, 테이블당 하나만 존재하여야 한다.

 

4. 외래키(foreign key)

외래키는 한 테이블의 기본키를 참조하는 다른 테이블의 속성이다. 외래키는 관계형 데이터베이스에서 테이블 간의 관계를 구축하는 데 사용된다.

 

[sql코드로 키 생성 예제]

 

CREATE TABLE ExampleTable (
    ID INT,
    Name VARCHAR(255),
    Email VARCHAR(255),
    Phone VARCHAR(15),
    PRIMARY KEY (ID), #기본키
    UNIQUE (Email), #후보키
    UNIQUE (Phone) #후보키
); 

 

CREATE TABLE Orders (
    OrderID INT PRIMARY KEY,
    ProductName VARCHAR(255),
    CustomerID INT,
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
); #외래키

CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    CustomerName VARCHAR(255)
);

 

 

 

반응형