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

Khóa là các thành phần cơ bản của cơ sở dữ liệu quan hệ vì chúng thiết lập mối quan hệ giữa một cặp bảng và đảm bảo mỗi bản ghi trong bảng được xác định duy nhất. Chìa khóa có một ý nghĩa đặc biệt hơn là thiết lập các mối quan hệ; họ cũng giúp với tính toàn vẹn tham chiếu và chúng là một thành phần chính của tính toàn vẹn cấp bảng. Các bảng lưu trữ các khối dữ liệu khổng lồ trong đó thường mở rộng tới hàng nghìn bản ghi, tất cả chúng đều không được sắp xếp và vô tổ chức. Tìm nạp một dữ liệu cụ thể từ nhiều hồ sơ có thể khó khăn hoặc đôi khi không thể. Đây là nơi Keys đến với hình ảnh. Ở đây, chúng ta sẽ nghiên cứu về hai khóa rất quan trọng của lược đồ cơ sở dữ liệu quan hệ và sự khác biệt giữa chúng: Khóa chính và Khóa ngoài.

Khóa chính là gì?

Khóa chính là một khóa đặc biệt xác định duy nhất mỗi bản ghi trong bảng. Điều rất quan trọng trong cơ sở dữ liệu quan hệ là có một mã định danh duy nhất trong mỗi hàng của bảng và khóa chính chỉ là thứ bạn cần để xác định duy nhất một tuple trong một bảng. Một tuple đại diện cho một tập hợp các thuộc tính giá trị trong cơ sở dữ liệu quan hệ. Khóa chính có thể tham chiếu đến một cột hoặc một tập hợp các cột trong bảng cơ sở dữ liệu quan hệ được sử dụng để xác định ngầm định tất cả các bản ghi trong bảng. Khóa chính phải là duy nhất cho mỗi bản ghi vì nó hoạt động như một mã định danh duy nhất và nó không được chứa các giá trị Null. Mỗi cơ sở dữ liệu phải có một và chỉ một khóa chính.

Khóa ngoại là gì?

Khóa ngoại liên quan đến một trường hoặc một tập hợp các trường trong bản ghi cơ sở dữ liệu xác định duy nhất một trường khóa của bản ghi cơ sở dữ liệu khác trong một số bảng khác. Nói một cách đơn giản, nó thiết lập một liên kết giữa các bản ghi trong hai bảng khác nhau trong cơ sở dữ liệu. Nó có thể là một cột trong bảng trỏ đến các cột khóa chính có nghĩa là khóa ngoại được xác định trong bảng tham chiếu đến khóa chính của một số bảng khác. Tài liệu tham khảo rất quan trọng trong cơ sở dữ liệu quan hệ để thiết lập liên kết giữa các bản ghi cần thiết cho việc sắp xếp cơ sở dữ liệu. Khóa ngoại đóng một vai trò quan trọng trong việc chuẩn hóa cơ sở dữ liệu quan hệ, đặc biệt là khi các bảng cần truy cập vào các bảng khác.

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

Khái niệm cơ bản về khóa chính so với khóa ngoài

Khóa chính là một khóa đặc biệt trong cơ sở dữ liệu quan hệ hoạt động như một mã định danh duy nhất cho mỗi bản ghi có nghĩa là nó xác định duy nhất mỗi hàng / bản ghi trong một bảng và giá trị của nó phải là duy nhất cho mỗi hàng của bảng. Mặt khác, khóa ngoại là một trường trong một bảng liên kết hai bảng với nhau. Nó đề cập đến một cột hoặc một nhóm các cột xác định duy nhất một hàng của một bảng khác hoặc cùng một bảng.

Mối quan hệ của khóa chính so với khóa ngoài

Khóa chính xác định duy nhất một bản ghi trong bảng cơ sở dữ liệu quan hệ, trong khi đó, khóa ngoại tham chiếu đến trường trong bảng là khóa chính của bảng khác. Khóa chính phải là duy nhất và chỉ một khóa chính được cho phép trong một bảng phải được xác định, trong khi nhiều hơn một khóa ngoại được phép trong một bảng.

Giá trị trùng lặp của khóa chính so với khóa ngoài

Khóa chính là sự kết hợp của các ràng buộc UNIQUE và Not Null để không có giá trị trùng lặp nào có thể được phép có trong trường khóa chính trong bảng cơ sở dữ liệu quan hệ. Không có hai hàng nào được phép mang các giá trị trùng lặp cho thuộc tính khóa chính. Không giống như khóa chính, khóa ngoại có thể chứa các giá trị trùng lặp và một bảng trong cơ sở dữ liệu quan hệ có thể chứa nhiều hơn khóa ngoại.

NULL của khóa chính so với khóa ngoài

Một trong những khác biệt chính giữa hai loại này là không giống như các khóa chính, khóa ngoại cũng có thể chứa các giá trị NULL. Một bảng trong cơ sở dữ liệu quan hệ có thể chỉ có một khóa chính không cho phép các giá trị NULL.

Bảng tạm thời của khóa chính so với khóa ngoài

Một ràng buộc khóa chính có thể được định nghĩa ngầm định trên các bảng tạm thời và các biến của chúng, trong khi đó một ràng buộc khóa ngoại không thể được thi hành trên các bảng tạm thời cục bộ hoặc toàn cầu.

Xóa khóa chính so với khóa ngoài

Không thể xóa một giá trị khóa chính khỏi bảng cha được gọi là khóa ngoại trong bảng con. Bạn phải xóa bảng con trước khi xóa bảng cha. Ngược lại, giá trị khóa ngoại có thể bị xóa khỏi bảng con ngay cả khi giá trị được tham chiếu đến khóa chính của bảng cha.

Khóa chính so với khóa ngoài: Biểu đồ so sánh

Tóm tắt các câu chính của khóa ngoại

Các khóa đóng một vai trò quan trọng trong sự tồn tại của lược đồ cơ sở dữ liệu để thiết lập các liên kết giữa các bảng và trong một bảng. Khóa thiết lập mối quan hệ và thực thi các loại toàn vẹn khác nhau, đặc biệt là toàn vẹn cấp độ bảng và cấp độ mối quan hệ. Đối với một, họ đảm bảo bảng chứa các bản ghi duy nhất và các trường bạn sử dụng để thiết lập mối quan hệ giữa các bảng phải chứa các giá trị khớp. Khóa chính và khóa ngoại là hai loại khóa quan trọng và phổ biến nhất được sử dụng trong cơ sở dữ liệu quan hệ. Khóa chính là một khóa đặc biệt được sử dụng để xác định duy nhất các bản ghi trong bảng, trong khi đó, khóa ngoại được sử dụng để thiết lập mối quan hệ giữa hai bảng. Cả hai đều giống nhau về cấu trúc nhưng đóng vai trò khác nhau trong lược đồ cơ sở dữ liệu quan hệ.