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

Mục lục:

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

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

Video: Sự khác biệt giữa khóa ngoại và khóa chính
Video: Học SQL 08. Phân biệt Khóa Chính và Khóa Ngoại, Ràng buộc toàn vẹn Dữ liệu | Tự học câu lệnh SQL 2024, Tháng mười một
Anonim

Sự khác biệt chính giữa khóa ngoại và khóa chính là khóa ngoại là một cột hoặc một tập hợp các cột tham chiếu đến khóa chính hoặc khóa ứng viên của bảng khác trong khi 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.

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 một hàng hoặc một tập hợp các hàng trong cơ sở dữ liệu được gọi là khóa. Khóa chính trong cơ sở dữ liệu quan hệ là một tổ hợp các cột trong bảng xác định duy nhất một hàng của bảng. Khóa ngoại trong cơ sở dữ liệu quan hệ là một trường trong bảng khớp với khóa chính của bảng khác. Khóa ngoại được sử dụng để chuyển qua các bảng tham chiếu.

Sự khác biệt giữa khóa ngoại và khóa chính - Tóm tắt so sánh
Sự khác biệt giữa khóa ngoại và khóa chính - Tóm tắt so sánh
Sự khác biệt giữa khóa ngoại và khóa chính - Tóm tắt so sánh
Sự khác biệt giữa khóa ngoại và khóa chính - Tóm tắt so sánh

Khoá ngoại là gì?

Khoá ngoại là một ràng buộc 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 tham chiếu đế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 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 viên (khóa có thể được sử dụng làm khóa chính) trong bảng được tham chiếu. Hơn nữa, khóa ngoại cho phép liên kết dữ liệu trên một số 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ó tham chiếu đến. Sau đó, tham chiếu được cung cấp bởi khóa ngoại giúp 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 chuẩn hóa. Nhiều hàng trong bảng tham chiếu có thể tham chiếu đến một hàng trong bảng được tham chiếu.

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

Hình 01: Ánh xạ khóa ngoại

Trong tiêu chuẩn ANSI SQL, ràng buộc NGOẠI KHÓA xác định các khóa ngoại. Hơn nữa, có thể xác định các khóa ngoại khi tự tạo bảng. Một bảng có thể có nhiều khóa ngoại và chúng có thể tham chiếu các bảng khác nhau.

Khóa chính là gì?

Khóa chính là một cột hoặc một tổ hợp các cột xác định duy nhất một hàng trong bảng của 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 ngầm. Do đó, một cột có 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 đảm bảo là duy nhất, chẳng hạn như số an sinh xã hội hoặc nó có thể là một giá trị duy nhất được tạo bởi hệ thống quản lý cơ sở dữ liệu như Mã định danh duy nhất toàn cầu (GUID) trong Microsoft SQL Server.

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

Hình 02: Khóa chính

Hơn nữa, ràng buộc KHÓA CHÍNH trong Tiêu chuẩn SQL ANSI xác định các khóa chính. Cũng có thể xác định khóa chính khi tạo bảng. Ngoài ra, 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 định nghĩa ngầm định là KHÔNG ĐẦY ĐỦ. Nhưng một số hệ thống quản lý cơ sở dữ liệu yêu cầu tạo các cột khóa chính một cách rõ ràng KHÔNG ĐẦY ĐỦ.

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

Khóa ngoại so với Khóa chính

Khoá ngoại là một cột hoặc nhóm cột trong bảng cơ sở dữ liệu quan hệ cung cấp sự liên kết giữa dữ liệu trong hai bảng. Khóa chính là một cột trong bảng cơ sở dữ liệu quan hệ đặc biệt hoặc kết hợp nhiều cột cho phép xác định duy nhất tất cả các bản ghi bảng.
NULL
Khoá ngoại chấp nhận giá trị NULL. Giá trị khóa chính không được NULL.
Số phím
Bảng có thể có nhiều khóa ngoại. Bảng chỉ có thể có một khóa chính.
Nhân bản
Tuples có thể có giá trị trùng lặp cho thuộc tính khóa ngoại. Hai bộ giá trị trong một quan hệ không được có giá trị trùng lặp cho một thuộc tính khóa chính.

Tóm tắt - Khóa ngoại và Khóa chính

Sự khác biệt giữa khóa ngoại và khóa chính là khóa ngoại là một cột hoặc một tập hợp các cột tham chiếu đến khóa chính hoặc khóa ứng viên của bảng khác trong khi 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.

Đề xuất: