SQL Server: Primary Key (Khóa Chính) | V1Study
Có thể bạn quan tâm
Ràng buộc khoá chính (PRIMARY KEY - PK) được dùng để phân biệt các bản ghi trong một bảng. PK đảm bảo tính toàn vẹn thực thể cho bảng. PK được đặt trên một cột hoặc một tập cột của bảng. Cột đặt PK thông thường là cột mã như mã sinh viên, mã môn học, mã sản phẩm, ...
Dưới đây là một số điểm bạn cần lưu ý khi sử dụng PK:
- Một bảng chỉ được phép có duy nhất một PK.
- Muốn đặt PK trên cột thì cột đó không được chứa những giá trị giống nhau và phải là cột NOT NULL. Ví dụ các mã sinh viên là khác nhau nên có thể đặt PK trên cột mã sinh viên.
- Muốn đặt PK trên một tập cột thì tập cột đó không được chứa những tập giá trị giống nhau và mỗi cột của tập cột đó phải là cột NOT NULL. Ví dụ bảng điểm sinh viên có mã sinh viên và mã môn học thì tập giá trị của tập cột (mã sinh viên,mã môn học) là khác nhau nên có thể đặt PK trên tập cột này.
- Không thể chèn bản ghi mà giá trị tại cột chứa khoá chính đã có từ trước. Ví dụ như với bảng Customer đã có bản ghi có mã khách (CustomerID) là 5 rồi thì ta không thêm được khách hàng có mã là 5 nữa. Hình dưới đây minh hoạ điều này.
Để tạo ràng buộc PK ta có các cách được thể hiện thông qua các ví dụ như sau đây.
Cách 1:
CREATE TABLE Student( studentid int not null PRIMARY KEY, --đặt PK ngay sau khi tạo cột tương ứng studentname nvarchar(30), dateofbirth date );Cách 2:
CREATE TABLE Student( studentid int not null, studentname nvarchar(30), dateofbirth date, PRIMARY KEY(studentid) --đặt PK phía cuối các phần tạo cột );Cách 3:
CREATE TABLE Student( studentid int not null, studentname nvarchar(30), dateofbirth date, constraint pk_studentid PRIMARY KEY(studentid) --tạo một ràng buộc PK trong bảng );Cách 4:
Ở cách này ta sử dụng biện pháp sửa bảng để thêm khóa chính vào. Cú pháp cụ thể được thể hiện như dưới đây:
ALTER TABLE Tên_bảng ADD PRIMARY KEY(Tên_cột); --tạo PK sau khi đã tạo xong bảngVí dụ:
ALTER TABLE Student ADD PRIMARY KEY(studentid); ALTER TABLE Marks ADD PRIMARY KEY(studentid,subjectid);Cách 5:
Cách này sẽ tạo một ràng buộc khóa chính cho bảng tương ứng. Cách này được sử dụng khi bạn muốn tách biệt hẳn câu lệnh thuần tạo bảng với câu lệnh tạo khóa chính, đồng thời cách này cũng cho phép bạn có thể dễ dàng thay đổi khóa chính cho bảng khi cần. Cú pháp của cách này là như sau:
ALTER TABLE Tên_bảng ADD CONSTRAINT Tên_ràng_buộc PRIMARY KEY(Tên_cột); --tạo một ràng buộc PK có tên riêng (đây là cách khuyên dùng khi muốn điều chỉnh lại PK)Ví dụ:
ALTER TABLE Student ADD CONSTRAINT pk_student PRIMARY KEY(studentid); ALTER TABLE Marks ADD CONSTRAINT pk_marks PRIMARY KEY(studentid,subjectid);Từ khóa » Khóa Chính Primary Key Là Gì
-
[PostgreSQL] Định Nghĩa Và Quản Lý Khóa Chính - Primary Key
-
[Tự Học SQL] Tìm Hiểu Về Khoá Chính(PRIMARY KEY), Khoá Ngoại ...
-
Khóa Chính PRIMARY KEY Trong SQL Server
-
Khóa Chính Primary Key Trong SQL Server - Freetuts
-
Khác Biệt Giữa Khóa Chính Và Khóa Ngoại Trong SQL - Viblo
-
Khóa Chính Là Gì? Thông Tin Khóa Chính Dành Cho Người Mới Tiếp Xúc ...
-
Khóa Chính Primary Key Là Gì
-
Khóa Chính Là Gì? Phân Biệt Khóa Chính Và Khóa Ngoại Trong SQL
-
(PRIMARY KEY) Tạo Khóa Chính Trong MySQL - Web Cơ Bản
-
Cách Sử Dụng Ràng Buộc PRIMARY KEY Trong SQL - BAC
-
Khóa Chính Primary Key Trong SQL Server - Freetuts
-
Primary Key (Khóa Chính) Là Gì?
-
Tạo Bảng Với CREATE TABLE Kiểu Dữ Liệu Cột Trong SQL
-
Thêm Hoặc Thay đổi Khóa Chính Của Bảng Trong Access