Computer >> Máy Tính >  >> Lập trình >> Lập trình

Sự khác biệt giữa khóa chính và khóa ngoại trong DBMS

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)
);