Phần 6: Khóa chính trong SQL Server – Học SQL Server Basic

Phần 6: Khóa chính trong SQL Server                        – Học SQL Server Basic

1. Primary key là gì?

Khóa chính là tập hợp 1 hay nhiều column giúp phân biệt các file trong 1 desk, đây chính là thông tin rất quan trọng do nếu như thiếu nó thì lược đồ CSDL của các bạn chỉ là đồ bỏ đi.
Ví dụ bảng SINHVIEN thì thường ta sẽ có column MASINHVIEN dùng để nhận diện các sinh viên, tên sinh viên có thể bị trùng nhưng mã sinh viên thì không thể trùng.
Đặc điểm của khóa chính như dưới đây:
  1. Có thể thiết lập khóa chính bằng 1 hay nhiều column, trong thực tế thì nên 1 column
  2. Khóa chính không được NULL, và là duy nhất (distinctive)
  3. Khóa chính nếu như là kiểu số nguyên thì nên thiết lập  tăng tự động sẽ giúp tối ưu database

2. Cách tạo main key

Chúng ta có 2 cách tạo main key, thứ nhất là tạo trực tiếp ở lệnh Create Table và thứ 2 là sử dụng lệnh Alter Table.

Tạo trực tiếp ở lệnh create desk

Cách này có 2 cú pháp như dưới đây:
Cú pháp 1:
CREATE TABLE
table_name (pk_column data_type PRIMARYKEY,
...);
Cú pháp 2:
CREATE TABLE
table_name (pk_column_1 data_type,pk_column_2 knowledge kind,
...
PRIMARYKEY(pk_column_1, pk_column_2));
Với cú pháp 1 thì chỉ sử dụng được ở trường hợp khóa chính chỉ có 1 column, còn cú pháp 2 thì dùng cho trường hợp nhiều column.
Ví dụ 1: Tạo bảng actions thuộc schema gross sales, vì khóa chính chỉ có 1 column nên dùng cú pháp 1.
CREATE TABLE gross sales.actions (

activity_id INT PRIMARYKEY IDENTITY,
activity_name VARCHAR(255) NOTNULL,
activity_date DATE NOTNULL

);
Ví dụ 2: Tạo bảng members thuộc schema gross sales, vì khóa chính có 2 column nên dùng cú pháp 2.
CREATE TABLE gross sales.members(
activity_id int,
customer_id int,
PRIMARYKEY (activity_id, customer_id ));

Tạo bằng lệnh Alter Table

Lệnh ALTER TABLE có thể dùng để thay đổi cấu trúc của desk nên ta sẽ có thể dùng nó để xác định khóa chinh sau khi tạo bảng.
Ví dụ: Tạo bảng occasions thuộc schema gross sales. Chúng ta sẽ có 2 bước như dưới đây.
Bước 1: Tạo bảng
CREATE TABLE gross sales.occasions(
event_id INT,
event_name VARCHAR(255),
start_date DATE NOTNULL,
length DEC(5,2));
Bước 2: Sử dụng lệnh alter desk để tạo khóa chính
ALTER TABLE gross sales.occasions 
ADD PRIMARYKEY(event_id);
Trên là 2 cách tạo khóa chính (main key) trong SQL Server. Bài này mình dừng tại đây, bài tiếp theo mình sẽ nói tới cách tạo khóa ngoại cho desk.

admin

Leave a Reply

Your email address will not be published. Required fields are marked *