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

Anonim

Khóa nước ngoài với khoá chính

Một cột hoặc một tập hợp các cột, có thể được sử dụng để xác định hoặc truy cập hàng hoặc một tập các hàng trong cơ sở dữ liệu được gọi là khoá. Khóa chính trong cơ sở dữ liệu quan hệ là sự kết hợp của các cột trong một bảng xác định duy nhất một hàng của bảng. Khóa nước ngoài trong cơ sở dữ liệu quan hệ là một trường trong một bảng phù hợp với khoá chính của một bảng khác. Khoá ngoại được sử dụng để chéo bảng tham chiếu.

Khóa chính là gì?

Khóa chính là một cột hoặc một sự kết hợp của các cột xác định duy nhất một hàng trong một bảng cơ sở dữ liệu quan hệ. Một bảng có thể có nhiều nhất một khóa chính. Khóa chính thực thi ràng buộc NOT NULL không rõ ràng. Vì vậy, một cột được định nghĩa là khóa chính không thể có giá trị NULL trong đó. Khóa chính có thể là một thuộc tính bình thường trong bảng được bảo đảm là duy nhất như số an sinh xã hội hoặc nó có thể là một giá trị duy nhất được tạo ra bởi hệ thống quản lý cơ sở dữ liệu như là một định danh duy nhất trên toàn cầu (GUID) trong Microsoft SQL Server. Các khóa chính được định nghĩa thông qua các ràng buộc KEY CHÍNH trong ANSI SQL Standard. Khóa chính cũng có thể được xác định khi tạo bảng. SQL cho phép khóa chính được tạo thành từ một hoặc nhiều cột và mỗi cột được bao gồm trong khóa chính được ngầm định là NOT NULL. Nhưng một số hệ thống quản lý cơ sở dữ liệu yêu cầu làm cho các cột chính chính rõ ràng NOT NULL.

Khóa ngoại là gì?

Khóa nước ngoài là một giới hạn tham chiếu giữa hai bảng. Nó xác định một cột hoặc một tập hợp các cột trong một bảng, được gọi là bảng tham chiếu đề cập đến một tập hợp các cột trong một bảng khác, được gọi là bảng được tham chiếu. Khóa nước ngoài hoặc các cột trong bảng tham chiếu phải là khóa chính hoặc khóa ứng cử viên (một khoá có thể được sử dụng làm khóa chính) trong bảng được tham chiếu. Khóa nước ngoài được sử dụng để liên kết dữ liệu qua nhiều bảng. Do đó, khóa ngoại không thể chứa các giá trị không xuất hiện trong bảng mà nó đề cập tới. Sau đó, tài liệu tham khảo được cung cấp bởi khoá ngoại có thể được sử dụng để liên kết thông tin trong một số bảng và điều này sẽ trở nên cần thiết với cơ sở dữ liệu được chuẩn hóa. Nhiều hàng trong bảng tham chiếu có thể tham khảo một hàng duy nhất trong bảng tham chiếu. Trong chuẩn ANSI SQL, các khoá nước ngoài được định nghĩa bằng cách sử dụng ràng buộc KEY FOREIGN. Hơn nữa, các phím nước ngoài có thể được xác định khi tạo bảng chính nó. Một bảng có thể có nhiều phím nước ngoài và họ có thể tham khảo các bảng khác nhau.

Sự khác biệt giữa khóa nước ngoài và khoá chính là gì?

Sự khác biệt chính giữa khoá chính và khoá ngoại là khóa chính là một cột hoặc một tập hợp các cột có thể được sử dụng để xác định duy nhất một hàng trong bảng trong khi khoá ngoại là một cột hoặc một tập các cột mà đề cập đến khóa chính hoặc khóa ứng cử viên của bảng khác.Khóa nước ngoài chủ yếu cung cấp một phương pháp để liên kết thông tin trong một số bảng. Một khác biệt nữa là một bảng có thể có một khóa chính duy nhất, nhưng nó có thể có nhiều khoá nước ngoài có thể tham chiếu các bảng khác nhau.