Primary Key, Foreign Key

밤비나·2023년 4월 21일
0

SQL

목록 보기
10/13

Primary Key

Primary Key는 관계형 데이터베이스에서 테이블을 구성하는 레코드들을 식별하기 위해 사용하는 필드이다. 이 필드는 각 레코드에 대해 고유하고, 중복되지 않으며, null 값을 가질 수 없다. Primary Key는 테이블 내에서 각 레코드를 유일하게 식별하기 위해 사용된다. 이 필드는 다른 필드와 결합되어 데이터의 무결성을 유지하기 위해 사용된다.

Primary Key를 지정하는 방법은 여러 가지가 있다. 가장 일반적인 방법은 테이블에 새로운 필드를 추가하고, 이 필드에 고유한 값을 할당하는 것이다. 이 고유한 값은 테이블에 새로운 레코드가 추가될 때마다 자동으로 생성한다. 이러한 방법을 "자동 증가" 방법이라고도 한다.

Primary Key를 지정하는 또 다른 방법은 기존 필드 중에서 고유한 값을 가지는 필드를 선택하는 것이다. 예를 들어, 주민등록번호나 이메일 주소와 같이 고유한 값을 가지는 필드를 Primary Key로 지정할 수 있다.

Primary Key를 지정하면 데이터베이스 시스템은 이 필드를 인덱스로 사용하여 빠른 검색을 가능하게 한다. 또한 Primary Key를 사용하여 데이터의 무결성을 보장할 수 있다. 따라서 Primary Key는 데이터베이스의 구조를 설계할 때 가장 중요한 요소 중 하나이다.

예제) "Employees"라는 이름의 테이블을 생성하고 "employee_id"라는 Primary Key를 추가

CREATE TABLE Employees (
  employee_id INT AUTO_INCREMENT,
  first_name VARCHAR(50) NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  email VARCHAR(50) NOT NULL,
  PRIMARY KEY (employee_id)
);

Foreign Key

Foreign Key(외래키)란 데이터베이스에서 여러 테이블 간의 관계를 나타내는 데 사용되는 키이다. 간단히 말해서, Foreign Key는 다른 테이블의 Primary Key를 참조하여 두 테이블 간의 관계를 형성한다.

  • 무결성(Integrity)을 유지
    Foreign Key는 참조하는 테이블의 Primary Key 값이 변경되거나 삭제되는 경우, 참조하는 테이블에서 이를 감지하고 적절한 조치를 취함으로써 무결성을 유지한다.

  • 관계를 형성
    Foreign Key는 두 테이블 간의 관계를 형성한다. 이를 통해 테이블 간의 Join을 가능하게 하여 데이터를 효율적으로 처리할 수 있다.

  • 제약 조건
    Foreign Key는 제약 조건으로 설정될 수 있다. 이를 통해 데이터베이스에서 일관성과 무결성을 유지할 수 있다.

예제) "Orders" 테이블에서 "CustomerID" 필드를 Foreign Key로 설정

CREATE TABLE Orders (
  OrderID INT PRIMARY KEY,
  ProductName VARCHAR(50) NOT NULL,
  CustomerID INT,
  FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);

"Orders" 테이블은 "OrderID", "ProductName", "CustomerID" 필드를 가지며, "OrderID" 필드는 Primary Key로 설정되어 있다. "CustomerID" 필드는 Foreign Key로 설정되어 있으며, "Customers" 테이블의 "CustomerID" Primary Key를 참조한다. 이를 통해 "Orders" 테이블과 "Customers" 테이블 간의 관계가 형성됐다.

profile
씨앗 데이터 분석가.

0개의 댓글