Thứ Hai, 24 tháng 7, 2023

Khóa chính Primary Key trong SQL Server

Trong bài này chúng ta sẽ tìm hiểu đên khóa chính primary key trong SQL Server và cách tạo khóa chính cho một table. Khóa chính rất quan trọng vì nó dùng để phân biệt các dòng dữ liệu trong bảng.

Mục lục

  • 1. Primary key là gì?
  • 2. Cách tạo primary key
    • Tạo trực tiếp ở lệnh create table
    • Tạo bằng lệnh Alter Table

1. Primary key là gì?

Khóa chính là tập hợp một hoặc nhiều column giúp phân biệt các record trong một table, đây là thông tin rất quan trọng bởi nếu thiếu nó thì lược đồ CSDL của 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ư sau:

  • Có thể thiết lập khóa chính bằng một hoặc nhiều column, trong thực tế thì nên 1 column
  • Khóa chính không được NULL, và là duy nhất (unique)
  • Khóa chính nếu 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 primary key

Chúng ta có hai cách tạo primary key, thứ nhất là tạo trực tiếp ở lệnh create table và thứ hai là sử dụng lệnh alter table.

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

Cách này có hai cú pháp như sau:

Cú pháp 1
1
2
3
4
CREATE TABLE table_name (
    pk_column data_type PRIMARY KEY,
    ...
);

Cú pháp 2
1
2
3
4
5
6
CREATE TABLE table_name (
    pk_column_1 data_type,
    pk_column_2 data type,
    ...
    PRIMARY KEY (pk_column_1, pk_column_2)
);

Với cú pháp 1 thì chỉ dùng được ở trường hợp khóa chính chỉ có một 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 activities thuộc schema sales, vì khóa chính chỉ có 1 column nên dùng cú pháp 1.

1
2
3
4
5
CREATE TABLE sales.activities (
    activity_id INT PRIMARY KEY IDENTITY,
    activity_name VARCHAR (255) NOT NULL,
    activity_date DATE NOT NULL
);

Ví dụ 2: Tạo bảng participants thuộc schema sales, vì khóa chính có 2 column nên dùng cú pháp 2.

1
2
3
4
5
CREATE TABLE sales.participants(
    activity_id int,
    customer_id int,
    PRIMARY KEY(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 table nên ta có thể dùng nó để xác định khóa chinh sau khi tạo bảng.

Ví dụ: Tạo bảng events thuộc schema sales. Chúng ta sẽ có hai bước như sau.

Bước 1: Tạo bảng

1
2
3
4
5
6
CREATE TABLE sales.events(
    event_id INT,
    event_name VARCHAR(255),
    start_date DATE NOT NULL,
    duration DEC(5,2)
);

Bước 2: Sử dụng lệnh alter table để tạo khóa chính

1
2
ALTER TABLE sales.events
ADD PRIMARY KEY(event_id);

Trên là hai cách tạo khóa chính (primary key) trong SQL Server. Bài này mình dừng ở đây, bài tiếp theo mình sẽ nói đến cách tạo khóa ngoại cho table.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master