[MySQL] 5장 기본 키(Primary Key)

1. 기본 키(Primary Key)란? 

MySQL에서 기본 키(Primary Key)는 데이터베이스 테이블에서 각 레코드를 고유하게 식별하는 중요한 요소로, 기본 키의 주요 특징은 다음과 같습니다.

  • 고유 식별자: 기본 키는 테이블 내의 각 레코드를 고유하게 식별하는 역할
  • NULL 불가: 기본 키로 지정된 열은 NULL 값을 가질 수 없음
  • 유일성: 기본 키의 값은 테이블 내에서 중복될 수 없음
  • 불변성: 기본 키의 값은 변경되지 않아야 하며, 데이터 무결성을 유지하기 위해 안정적인 값을 가져야함

2. 기본 키 정의 방법

기본 키는 테이블을 생성할 때 정의하거나, 기존 테이블을 추가할 수 있습니다.  

  • 테이블 생성 시 기본 키 정의

테이블을 생성할 때 기본 키를 지정하는 방법입니다.

-- 테이블 생성 시 기본 키 지정
CREATE TABLE Empolyess (
    EmployeeID INT NOT NULL,
    FirstName VARCHAR(50), 
    LastName VARCHAR(50),
    PRIMARY KEY (EmployeeID) -- EmployeeID를 기본 키로 설정 
)
  • 기존 테이블에 기본 키 추가

기존 테이블에 기본 키를 추가할 때는 ALTER TABLE 문을 사용

ALTER TABLE Employees
ADD PRIMARY KEY (EmployeeID);
  • 복합 기본 키

여러 열을 조합하여 기본 키를 정의,이를 복합 기본 키라고 함

CREATE TABLE Orders (
    OrderID INT NOT NULL,
    ProductID INT NOT NULL,
    PRIMARY KEY (OrderId, ProductID) -- OrderId와 ProductId를 복합 기본 키로 설정
)

3.기본 키 사용 

기본 키를 가진 테이블에 데이터를 삽입하는 방법은 아래와 같습니다.

INSERT INTO Employees (EmployeeID,FirstName, LastName) VALUES (1, 'John', 'Doe');
INSERT INTO employees (EmployeeID,FirstName, LastName) VALUES (2, 'Kim', 'Smith');

 

기본 키를 사용하여 특정 레코드를 조화할 수 있습니다.

SELECT * FROM Employees WHERE EmployeeID = 3;

 

기본 키는 자동으로 인덱스가 생성됩니다. 이를 통해 조회 성능이 향상되며, 기본 키에 대한 인덱스를 수동으로 추가할 필요는 없습니다.


요약

  • 기본 키는 각 레코드를 고유하게 식별하는 중요한 요소
  • 기본 키는 NULL 값을 허용하지 않으며, 중복된 값을 가질 수 없음
  • 복합 기본 키를 사용하여 여러 열을 조합하여 고유성을 유지할 수 있음
 

GitHub - Koras02/mysql-bloging

Contribute to Koras02/mysql-bloging development by creating an account on GitHub.

github.com

 

LIST