CÁC KHÓA SQL là một hoặc nhiều thuộc tính được sử dụng để lấy dữ liệu từ bảng theo yêu cầu hoặc điều kiện. Chúng cũng có thể được sử dụng để thiết lập mối quan hệ giữa các bảng khác nhau. Có một số loại SQL KEYS, đó là:
- Siêu khóa
- Khóa ứng viên
- Khóa chính
- Khóa thay thế
- Khóa tổng hợp
- Khóa duy nhất
- Khóa ngoại
1. SUPER KEY
SUPER KEY là sự kết hợp của một hoặc nhiều cột trong bảng trong cơ sở dữ liệu, giúp xác định duy nhất từng hàng trong bảng. Nó là một nhóm gồm một hoặc một số khóa.
Ví dụ:
EmpSSN | EmpNum | EmpName |
1254654 | TAE03 | Harry |
2165465 | TAE04 | Ron |
2154864 | TAE05 | Sở thích |
Trong ví dụ trên, EmpSSN và EmpNum là SUPER KEYS vì chúng giúp xác định duy nhất từng hàng trong bảng.
2. TỪ KHÓA THÍ SINH
KÈM KEY cũng là một tập hợp các cột hoặc thuộc tính giúp xác định từng hàng trong bảng một cách riêng biệt. KHÓA THÍ SINH có thể được định nghĩa là SIÊU KHÓA không có thuộc tính phù hợp. Nó có thể được chứng minh là một tập hợp con của SUPER KEY. Một số khóa ứng viên có thể có trong bảng.
Ví dụ:
StuID | Cuộn | FirstName | LastName | |
01 | 42 | Harry | Kane | [email protected] |
02 | 43 | Ron | Wiesley | [email protected] |
03 | 44 | Sở thích | Được rồi | [email protected] |
StuID, Roll và Email là các KEIDATE KEY trong bảng trên vì chúng giúp xác định duy nhất từng hàng.
3. TỪ KHÓA CHÍNH
PRIMARY KEY là một thuộc tính hoặc một nhóm các thuộc tính giúp xác định các hàng riêng lẻ một cách rõ ràng. Không thể có giá trị chính xác của KHÓA CHÍNH nhiều hơn một lần trong bảng. KHÓA CHÍNH có thể được biểu thị dưới dạng một tập hợp con của KHÓA THÍ SINH. Không thể có nhiều TỪ KHÓA CHÍNH trong một bảng.
Thuộc tính của KHÓA CHÍNH:
- Không được có các giá trị trùng lặp của PRIMARY KEY trong bảng.
- KHÓA CHÍNH không được chứa các giá trị rỗng.
- Giá trị của KHÓA CHÍNH không được thay đổi theo thời gian.
- Mỗi hàng riêng lẻ trong bảng phải chứa một TỪ KHÓA CHÍNH.
Ví dụ:
StuID | Cuộn | FirstName | LastName | |
01 | 42 | Harry | Kane | [email protected] |
02 | 43 | Ron | Wiesley | [email protected] |
03 | 44 | Sở thích | Được rồi | [email protected] |
StuID là khóa chính trong ví dụ trên vì nó có thể xác định duy nhất từng bản ghi trong bảng.
4. KHÓA THAY THẾ
ALTERNATE KEY giúp xác định các bản ghi trong bảng một cách rõ ràng. Có thể có một số cột trong bảng có thể xác định các hàng riêng lẻ trong bảng một cách riêng biệt. Trong số các thuộc tính đó, chỉ có một thuộc tính được chọn làm KHÓA CHÍNH. Phần còn lại của các thuộc tính trở thành CÁC KHÓA THAY THẾ.
Ví dụ:
StuID | Cuộn | FirstName | LastName | |
01 | 42 | Harry | Kane | [email protected] |
02 | 43 | Ron | Wiesley | [email protected] |
03 | 44 | Sở thích | Được rồi | [email protected] |
Trong ví dụ trên, Thư và Email là CÁC TỪ KHÓA THAY THẾ.
Phần trình bày sau đây sẽ giúp hiểu KHÓA THÍ SINH, KHÓA CHÍNH và KHÓA THAY THẾ theo cách tốt hơn.
5. KHÓA COMPOSITE
COMPOSITE KEY là sự hợp nhất của nhiều cột giúp xác định từng hàng một cách rõ ràng. Tính riêng biệt này chỉ được đảm bảo khi các cột được kết hợp với nhau. Khi các cột được lấy riêng lẻ, nó không hứa hẹn tính phân biệt. KHÓA CHÍNH được tạo từ nhiều thuộc tính, được định nghĩa là KHÓA COMPOSITE.
Ví dụ:
OrderNo | ProductID | Tên sản phẩm | Số lượng |
A001 | 5624185 | LCD | 1 |
A001 | 3216546 | Máy in | 2 |
A001 | 3516527 | Chuột | 3 |
A002 | 9816846 | Bàn phím | 1 |
A003 | 7160354 | USB | 5 |
Trong ví dụ trên, OrderNo và ProductID kết hợp để tạo thành TỪ KHÓA COMPOSITE. Chúng không thể xác định duy nhất từng hàng trong bảng, nhưng khi chúng được kết hợp với nhau, chúng có thể xác định duy nhất từng bản ghi trong bảng.
6. TỪ KHÓA DUY NHẤT
KHÓA DUY NHẤT cũng có thể xác định duy nhất từng hàng trong bảng giống như KHÓA CHÍNH. Tuy nhiên, không giống như KHÓA CHÍNH, KHÓA DUY NHẤT chỉ có thể có một giá trị rỗng duy nhất. Có thể có một số phím DUY NHẤT trong một bảng.
Ví dụ:
Hãy xem xét một bảng Sinh viên có các cột sau.
Trong các cột trên, CityID là TỪ KHÓA DUY NHẤT. Giả sử, nếu một học sinh rời thành phố và ra nước ngoài học tập, thì CityID của học sinh đó sẽ không ở đó. Trong trường hợp đó, thuộc tính đó sẽ trở thành null và các giá trị null được phép sử dụng trong UNIQUE KEY.
7. TỪ KHÓA NGOẠI TỆ
NGOẠI KHÓA trong bảng là một thuộc tính thiết lập mối quan hệ giữa hai bảng. KHÓA NGOẠI LỆ của một bảng tham chiếu đến KHÓA CHÍNH của một bảng khác, thiết lập mối quan hệ giữa hai bảng. KHÓA NGOẠI LỆ có thể chấp nhận nhiều giá trị null và trùng lặp.
Ví dụ:
Hãy xem xét hai bảng sau, Học sinh bảng và Đơn đặt hàng bảng.
Bảng đầu tiên là Học sinh bảng.
StuID | FName | LName | Thành phố |
1 | Harry | Kane | Kolkata |
2 | Ron | Wiesley | Noida |
3 | Sở thích | Được rồi | Mumbai |
Bảng thứ hai là Đơn đặt hàng bảng.
OrderID | OrderNo | StuID |
1 | 65498545 | 3 |
2 | 46546854 | 2 |
3 | 21654698 | 3 |
4 | 65165415 | 1 |
StuID trong Học sinh bảng là KEY CHÍNH và StuID trong Đơn đặt hàng bảng là CHÌA KHÓA NGOẠI LỆ.
Đây là những khóa thiết yếu trong SQL cần được coi trọng trong khi tạo hoặc xử lý cơ sở dữ liệu.