cs 공부
Primary Key, Foreign Key에 대해 설명해주세요.
늘곰's
2023. 10. 19. 23:51
Primary Key(기본 키)와 Foreign Key(외래 키)는 관계형 데이터베이스에서 중요한 역할을 하는 키입니다. 다음은 각각의 역할과 특징에 대한 설명입니다:
Primary Key (기본 키):
- 기본 키는 관계형 데이터베이스 테이블에서 각 행(레코드)를 고유하게 식별하는 데 사용되는 열(속성)입니다.
- 모든 관계형 데이터베이스 테이블은 하나 이상의 기본 키를 가져야 합니다. 이것은 각 행에 대한 고유한 식별자를 제공하며, 데이터베이스의 일관성과 무결성을 보장합니다.
- 기본 키는 유일해야 하며, 중복 값이 허용되지 않습니다. 즉, 같은 기본 키 값을 가지는 두 개의 행은 존재할 수 없습니다.
- 대표적인 기본 키 타입은 정수 값 (예: 자동 증가 숫자), 문자열, GUID(Globally Unique Identifier) 등이 있습니다.
예시
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
...
);
Foreign Key (외래 키):
- 외래 키는 한 테이블의 기본 키가 다른 테이블의 특정 열과 관련된 키입니다. 이를 통해 두 테이블 간의 관계를 설정하고 데이터 간의 일관성을 유지할 수 있습니다.
- 외래 키는 다른 테이블의 기본 키와 관련이 있으며, 부모-자식 관계(parent-child relationship)를 나타내기 위해 사용됩니다. 부모 테이블의 기본 키 값은 자식 테이블의 외래 키 값과 일치해야 합니다.
- 외래 키를 사용하면 데이터 무결성 규칙을 강제할 수 있으며, 두 테이블 간의 관계를 유지하고 연결할 수 있습니다.
예시
CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
CustomerID INT,
OrderDate DATE,
...
);
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY,
FirstName VARCHAR(50),
LastName VARCHAR(50),
...
);
ALTER TABLE Orders
ADD FOREIGN KEY (CustomerID)
REFERENCES Customers(CustomerID);
예시에서 "Orders" 테이블의 "CustomerID" 열은 "Customers" 테이블의 "CustomerID" 열을 참조하며, 이것은 주문과 고객 간의 관계를 나타내고 있습니다. Foreign Key 제약은 일관성을 유지하는 데 도움을 줍니다.