Một khóa là một một hoặc kết hợp của nhiều trường trong một bảng. Nó được sử dụng để kết nối hoặc lấy hồ sơ / dữ liệu hàng từ bảng dữ liệu theo điều kiện / yêu cầu. Các khóa cũng được sử dụng để tạo ra mối quan hệ giữa các bảng cơ sở dữ liệu khác nhau hoặc các hướng nhìn (view).
Các loại khóa trong SQL
Chúng ta có các loại khóa trong SQL được sử dụng để lấy các bản ghi từ các bảng và để làm cho mối quan hệ giữa các bảng hoặc các hướng nhìn sau đây.
Supper key (Siêu khóa)
Siêu khóa là một tập hợp của một hoặc nhiều hơn một khóa có thể được sử dụng để xác định một bản ghi duy nhất trong một bảng. Ví dụ: Primary key, Unique key, Alternate key là tập hợp con của Super Keys.Candidate key (khóa dự tuyển)
Một Key Candidate là một tập hợp của một hoặc nhiều trường / cột có thể xác định một bản ghi duy nhất trong một bảng. Có thể có nhiều khóa dự tuyển trong một bảng. Mỗi khóa dự tuyển có thể làm việc như khóa chính (Primary Key).Ví dụ: Trong sơ đồ dưới đây ID, RollNo và EnrollNo là khóa dự tuyển vì cả ba lĩnh vực này có thể làm việc như Primary Key.Primary Key
Khóa chính là một tập hợp của một hoặc nhiều trường / cột của một bảng duy nhất xác định một bản ghi trong bảng cơ sở dữ liệu. Nó không thể chấp nhận null, giá trị nhân bản. Chỉ có một khóa dự tuyển có thể được khóa chính.Khóa thay thế (Alternate Key)
Một khóa thay thế là một khóa mà có thể làm việc như một khóa chính. Về cơ bản nó là khóa dự tuyển mà không phải là khóa chính.Ví dụ: Trong sơ đồ dưới đây RollNo và EnrollNo trở thành khóa thay thế khi chúng ta xác định ID như Primary Key.Composite / Compound Key
Tổng hợp khóa là sự kết hợp của nhiều hơn một trường / cột của một bảng. Nó có thể là khóa Candidate, Primary key.Unique Key
Uniquekey là một tập hợp của một hoặc nhiều trường/ cột của một bảng xác định duy nhất một bản ghi trong bảng cơ sở dữ liệu. Nó cũng giống như Primary key nhưng nó có thể chấp nhận chỉ có một giá trị null và nó không thể có giá trị nhân bản.Khóa ngoại (Foreign key)
Khóa ngoại là một trường trong bảng cơ sở dữ liệu, đó là khóa chính trong bảng khác. Nó có thể chấp nhận nhiều null, giá trị nhân bản. Mình sẽ làm rõ sự khác biệt giữa khóa chính và khóa ngoại trong bài viết khác.Ví dụ: Chúng ta có thể có một cột deptID trong bảng nhân viên đó được trỏ đến deptID cột trong một bảng bộ phận mà nó là khóa chính.
Xác định Keys trong SQL Server
- Bảng --Department
- CREATE TABLE Department
- (
- DeptID int PRIMARY KEY , --primary key
- Tên varchar ( 50 ) NOT NULL ,
- Địa chỉ varchar ( 200 ) NOT NULL
- )
- --Student table
- CREATE TABLE Sinh viên
- (
- ID int PRIMARY KEY , --primary key
- RollNo varchar ( 10 ) NOT NULL ,
- Tên varchar ( 50 ) NOT NULL ,
- EnrollNo varchar ( 50 ) UNIQUE , --unique key
- Địa chỉ varchar ( 200 ) NOT NULL ,
- DeptID int FOREIGN KEY REFERENCE Department ( deptID ) --foreign key
- )
Chú ý
- Thực tế trong cơ sở dữ liệu, chúng ta chỉ có ba loại phím Primary Key, Unique Key và Foreign key. Các loại khóa chỉ khái niệm về RDBMS mà bạn nên biết.
Bạn nghĩ gì?
Trong bài viết này tôi cố gắng giải thích các loại khóa trong SQL Server với ví dụ. Tôi hy vọng sau khi đọc bài viết này, bạn sẽ được ý kiến về các loại khóa trong SQL Server từ các bạn. Tôi muốn có thông tin phản hồi từ bạn đọc blog của tôi. Xin vui lòng gửi thông tin phản hồi của bạn, câu hỏi hoặc ý kiến về bài viết này.
à mình bổ xung còn có khóa Partitioning Keys
ReplyDelete