Khóa chính của bảng là gì
Khóa chính (Primary key) là khóa duy nhất để xác định mỗi bản ghi trong một bảng. Chỉ có thể có một khóa chính trong một bảng. Show
Ví dụ: Trong một cơ sở dữ liệu nhân sự, khóa chính của bảng nhân viên có thể là mã nhân viên. Chức năng khóa chính:giúp nhanh chóng liên kết dữ liệu từ nhiều bảng và kết hợp chúng một cách có ý nghĩa. Bạn có thể thêm các trường khóa chính trong các bảng khác để tham chiếu trở lại bảng là nguồn của khóa chính. Trong các bảng khác đó, các trường được gọi là khóa ngoại. Phần tiếp theo sẽ chia sẻ kiến thức về khóa ngoại nhé! 2. Khóa ngoạiKhóa ngoại là trường trong bảng dùng để liên kết với khóa chính của bảng khác để xác định mối quan hệ giữa hai bảng. Có thể có nhiều khóa ngoại trong một bảng. Ví dụ: Trong một cơ sở dữ liệu nhân sự, khóa ngoại của bảng nhân viên (Department ID) có thể là khóa chính của phòng ban. Điều kiện để tạo ra khóa ngoại
Chức năng của khóa ngoại là giúp đảm bảo toàn vẹn dữ liệu, không có trường hợp tham chiếu đến dữ liệu không tồn tại. 3. Khóa kết hợpKhóa kết hợp là sự kết hợp của hai hoặc nhiều trường để tạo ra một khóa duy nhất. Được sử dụng khi không có khóa chính duy nhất trong một bảng. Khóa kết hợp có thể là khóa ngoại hoặc không phải khóa ngoại. Ví dụ: Trong một cơ sở dữ liệu về học sinh, khóa kết hợp của bảng điểm có thể là mã học sinh và mã môn học. Xem thông tin khai giảng Khóa học Business Intelligence mới nhất tại Mastering Data Analytics. Liên hệ 0961 48 48 66 hoặc inbox Fanpage Mastering Data Analytics để đăng ký nhanh nhất nhé! Khóa chính SQL Server là gì? Tạo primary key trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu những điều cần biết về khóa chính trong SQL nhé! Khóa chính - Primary Key là gì?Trong SQL Server, khóa chính là nhân tố ràng buộc xác định duy nhất từng hàng trong bảng. Nó đảm bảo tính toàn vẹn của dữ liệu trong bảng.
Khóa chính trong SQL Server là gì?Muốn xóa khóa chính trong SQL, nhất định bạn phải hiểu rõ về cách sử dụng nó. Về cơ bản, khóa chính SQL là một cột (hoặc kết hợp các cột) xác định duy nhất từng bản ghi trong một bảng database. Khóa chính cũng tăng tốc độ truy cập dữ liệu và được dùng để thiết lập mối quan hệ giữa các bảng. Giả sử bạn đang phát triển một ứng dụng tên “Hệ thống quản lý khách hàng” để xử lý tất cả dữ liệu khách hàng của khu nghỉ dưỡng chỉ dành cho thành viên. Dữ liệu này có thể bao gồm thông tin cá nhân chi tiết, ID thành viên được phân công và chi tiết khác về quyền thành viên... Trong tất cả các bảng được tạo trong database này, ID thành viên được dùng để phân biệt các khách hàng. Do đó, trường này sẽ là khóa chính. Dưới đây là biểu đồ của bảng khách hàng chứa chi tiết thông tin cá nhân của khách hàng. Như bạn thấy, khóa chính được xác định trên cột CUST_ID. Dùng khóa chính, bạn có thể truy xuất một bản ghi riêng của khách hàng bất kỳ. Khóa chính có thể được định nghĩa bằng lệnh CREATE TABLE hoặc lệnh ALTER TABLE. Tạo khóa chính - bằng lệnh CREATE TABLECú pháp tạo khóa chính bằng lệnh CREATE TABLE
hoặc
Ví dụ tạo khóa chính bằng lệnh CREATE TABLE
Ở ví dụ này, khóa chính cho bảng nhanvien được tạo thành từ 1 trường là nhanvien_id. Ngoài ra có thể tạo khóa chính như sau:
Bây giờ là ví dụ tạo khóa chính có nhiều hơn 1 trường trong SQL Server.
Ở ví dụ này, chúng ta đã tạo khóa chính tạo thành từ 2 cột là
6 và
7. 2 trường này sẽ xác định một cách duy nhất cho bản ghi trong bảng nhanvien. Tạo khóa chính - bằng lệnh ALTER TABLEChỉ có thể tạo khóa chính bằng lệnh ALTER TABLE ở các cột đã được định nghĩa là NOT NULL. Nếu cột cho phép giá trị NULL, sẽ không thể thêm khóa chính nếu không xóa hoặc tạo lại bảng. Cú pháp tạo khóa chính bằng lệnh ALTER TABLE
Ví dụ tạo khóa chính bằng lệnh ALTER TABLE
Trong ví dụ này, ta tạo khóa chính nhanvien_pk cho bảng nhanvien có sẵn, gồm trường nhanvien_id. Lưu ý là trường nhanvien_id phải được định nghĩa là NOT NULL trước đó, nếu không sẽ phải xóa và tạo lại bảng và định nghĩa trường này là NOT NULL. Có thể tạo khóa chính với nhiều hơn 1 trường như trong ví dụ sau.
Khóa chính cho bảng nhanvien gồm 2 trường là họ và tên. Cả 2 phải được định nghĩa là NOT NULL. Xóa khóa chính trong SQL ServerCú pháp xóa khóa chính bằng lệnh ALTER TABLE
Ví dụ xóa khóa chính bằng lệnh ALTER TABLE
Ví dụ trên xóa khóa chính nhanvien_pk trong bảng nhanvien. Vô hiệu hóa khóa chính trong SQL ServerCú pháp vô hiệu hóa khóa chính bằng lệnh ALTER INDEX
0 Ví dụ vô hiệu hóa khóa chính bằng lệnh ALTER INDEX
1 Ví dụ trên vô hiệu hóa khóa chính nhanvien_pk trong bảng nhanvien. Kích hoạt khóa chính trong SQL ServerCú pháp kích hoạt khóa chính bằng lệnh ALTER INDEX
2 Ví dụ kích hoạt khóa chính bằng lệnh ALTER INDEX
3 Ví dụ trên kích hoạt lại khóa chính nhanvien_pk của bảng nhanvien. Ví dụ tạo khóa chính cho cộtLệnh SQL sau tạo một khóa chính trên cột “S_Id” khi bảng Sinh viên (Students) được tạo.
4 Tạo khóa chính trong SQL cho nhiều cột:
5 Ở ví dụ trên chỉ có một khóa chính (pk_StudentID). Tuy nhiên, nó tạo thành hai cột (S_Id và LastName). Tóm lại, những điều cần nhớ về khóa chính trong SQL Server:
Lưu ý: Khi xác định một ràng buộc khóa chính cho một bảng, công cụ database tự động tạo một index riêng cho cột khóa chính. |