Trong bài đăng này, chúng ta sẽ hiểu sự khác biệt giữa khóa chính và khóa ngoại trong DBMS
Khóa chính
-
Nó được sử dụng để đảm bảo rằng dữ liệu trong cột cụ thể là duy nhất.
-
Nó giúp xác định duy nhất một bản ghi trong cơ sở dữ liệu quan hệ.
-
Một khóa chính chỉ được phép trong bảng.
-
Đây là sự kết hợp của các ràng buộc "UNIQUE" và "Not Null".
-
Điều này có nghĩa là nó không được là giá trị NULL.
-
Không thể xóa giá trị của nó khỏi bảng chính.
-
Ràng buộc có thể được định nghĩa ngầm cho các bảng tạm thời.
Ví dụ- Trong SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, …. );
Khóa ngoại
-
Nó là một cột hoặc một nhóm cột trong bảng cơ sở dữ liệu quan hệ.
-
Nó cung cấp một liên kết giữa dữ liệu trong cả hai bảng.
-
Đây là trường trong bảng tương tự với khóa chính của bảng khác.
-
Nhiều hơn một khóa ngoại được phép trong một bảng.
-
Nó có thể chứa các giá trị trùng lặp trong cơ sở dữ liệu quan hệ.
-
Nó có thể chứa các giá trị NULL.
-
Giá trị của nó có thể bị xóa khỏi bảng con.
-
Không thể xác định ràng buộc trên các bảng tạm thời cục bộ hoặc toàn cầu.
Ví dụ- trong SQL:
CREATE TABLE table_name ( col_name int NOT NULL PRIMARY KEY, col_name int FOREIGN KEY REFERENCES Persons(col_name) );