Khóa chính so với khóa ngoại: Sự khác biệt và so sánh

Hệ thống quản lý cơ sở dữ liệu (DBMS) rất cần thiết trong kinh doanh, ngân hàng, hãng hàng không, viễn thông và trường đại học vì đây là phương pháp hiệu quả và đáng tin cậy để tạo, lưu trữ và quản lý dữ liệu cơ sở dữ liệu. Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) là dạng nâng cao của DMBS được cấu trúc đặc biệt cho cơ sở dữ liệu quan hệ.

Các khóa là thành phần quan trọng của lược đồ cơ sở dữ liệu quan hệ vì chúng thiết lập một liên kết giữa hai bảng khác nhau và xác định duy nhất bất kỳ hàng dữ liệu nào trong một bảng. Tuy nhiên, các khóa có tầm quan trọng cụ thể hơn là chỉ duy trì các liên kết.

Nó giúp thu thập dữ liệu cụ thể từ nhiều hàng, điều này sẽ rất phức tạp hoặc thậm chí là không thể nếu không có khóa. Hai khóa chính giúp thiết lập và xác định liên kết giữa các cơ sở dữ liệu quan hệ một cách hiệu quả là Khóa chính và Khóa ngoại.

Chìa khóa chính

  1. Khóa chính là mã định danh duy nhất cho mỗi bản ghi trong bảng cơ sở dữ liệu, đảm bảo rằng không có hai hàng nào có cùng giá trị khóa chính.
  2. Khóa ngoại là một trường trong bảng tham chiếu đến khóa chính của bảng khác, thiết lập mối quan hệ giữa hai bảng và duy trì tính toàn vẹn tham chiếu.
  3. Sự khác biệt chính giữa khóa chính và khóa ngoại là chức năng của chúng trong cơ sở dữ liệu, với các khóa chính cung cấp mã định danh duy nhất cho bản ghi. Ngược lại, khóa ngoại tạo mối quan hệ giữa các bảng bằng cách tham chiếu khóa chính trong các bảng khác.

Khóa chính vs Khóa ngoại

Khóa chính là sự lựa chọn các cột duy nhất và xác định tập hợp các hàng trên một bảng cụ thể, đồng thời cũng là một thuộc tính có ID được coi là khóa ứng viên. Khóa ngoại là một cột trong một bảng phục vụ như một liên kết giữa hai bảng khác nhau và nó chứa các giá trị null.

Khóa chính vs Khóa ngoại 2

Một bảng không thể là một quan hệ cơ sở dữ liệu bảng không có khóa chính. Vì các khóa chính xác định duy nhất một hàng dữ liệu cụ thể nên hai hoặc nhiều hàng không thể có các khóa chính giống nhau. Ngược lại, khóa ngoại được sử dụng để thiết lập mối quan hệ giữa các bản ghi của hai bảng khác nhau.

Cũng đọc:  UCS 2 vs UTF 16: Sự khác biệt và So sánh

 

Bảng so sánh

Tham số so sánhKhóa chínhKhóa ngoại
Giá trị trùng lặpKhóa chính không cho phép hai hàng có cùng giá trị.Khóa ngoại cho phép hai hàng có cùng giá trị.
chènTrong khóa chính, người ta có thể chèn giá trị ngay cả khi khóa ngoại không có giá trị đó.Trong khóa ngoại, người ta không thể chèn giá trị nếu giá trị không có trong khóa chính.
Phạm viMỗi hàng trong bảng cơ sở dữ liệu quan hệ chỉ có thể có một khóa chính.Một bảng cơ sở dữ liệu quan hệ có thể có nhiều khóa ngoại.
Chỉ mục theo cụmTheo mặc định, các khóa chính có chỉ mục nhóm.Khóa ngoại không có chỉ mục cụm.
xóaKhi một giá trị bị xóa, người ta phải làm cho giá trị đó vẫn không xuất hiện trong bảng tham chiếu khóa ngoại.Khi một giá trị bị xóa, người ta có thể dễ dàng thực hiện việc đó từ các khóa ngoại.
Bảng tạm thờiCác khóa chính có thể được xác định trên một bảng tạm thời.Khóa ngoại không thể được xác định trên bảng tạm thời.

 

Khóa chính là gì?

Khóa chính đề cập đến một lựa chọn cột cụ thể xác định duy nhất tập hợp các hàng trong bảng. Khóa chính là một thuộc tính duy nhất có ID duy nhất và cũng được coi là khóa ứng cử viên.

Giá trị của khóa chính không bao giờ dao động hoặc thay đổi vì khóa chính đặc trưng cho tầm quan trọng trong cơ sở dữ liệu. Vì vậy, việc thay đổi giá trị sẽ dẫn đến rất nhiều nhầm lẫn.

Khóa chính được lập chỉ mục theo cụm, nghĩa là tất cả các hàng của bảng đều được sắp xếp. Khóa chính chủ yếu được xác định trên một bảng tạm thời.

khóa chính
 

Khóa ngoại là gì?

Khóa ngoại đề cập đến một cột trong bảng cơ sở dữ liệu cung cấp liên kết giữa hai bảng. Khi bảng 1 có khóa chính của bảng 2 thì thuộc tính này là khóa ngoại.

Không giống như khóa chính, khóa ngoại có thể chứa giá trị null vì nó không giúp xác định sự khác biệt trong mối quan hệ vì khóa chính đã thực hiện phần công việc này. Khóa ngoại cũng có thể chấp nhận các giá trị trùng lặp, không giống như khóa chính và có thể có nhiều hoặc nhiều khóa ngoại trong cơ sở dữ liệu, vì khóa ngoại có thể có các thuộc tính khác nhau.

Cũng đọc:  Lessonly vs Bridge: Sự khác biệt và so sánh

Khóa ngoại không thể được xác định trên bảng tạm thời. Trong khi thêm một giá trị vào cột khóa ngoại, người ta phải đảm bảo rằng giao dịch đó có trong khóa chính và không có ràng buộc nào khi xóa các giá trị khỏi khóa ngoại.

khóa ngoại

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

  1. Khóa chính không cho phép hai hàng trong bảng cơ sở dữ liệu có giá trị trùng lặp. Khóa ngoại cho phép hai hàng trong bảng cơ sở dữ liệu có giá trị trùng lặp.
  2. Trong thuộc tính của khóa chính, các giá trị có thể được chèn vào bảng ngay cả khi khóa ngoại không có giá trị đó trong cột của nó. bên trong khóa ngoại giảm giá không thể được chèn vào bảng nếu các giá trị không có trong cơ sở dữ liệu khóa chính.
  3. A khóa chính thuộc tính chỉ có thể có một dãy khóa chính trong bảng của nó. Một khóa ngoại thuộc tính có thể có nhiều khóa ngoại trong bảng của nó.
  4. Khóa chính có chỉ mục nhóm, nghĩa là tất cả các hàng trong quan hệ cơ sở dữ liệu đều được sắp xếp. Khóa ngoại không có chỉ mục nhóm tự động nhưng có thể được thực hiện thủ công.
  5. Theo khóa chính, một giá trị có thể bị xóa khỏi bảng tham chiếu bằng cách đảm bảo giao dịch không có trong bảng tham chiếu khóa ngoại. Trong các khóa ngoại, các giá trị có thể bị xóa mà không gặp trục trặc vì việc giá trị đó có còn hiện hành trong bảng tham chiếu khóa chính hay không không quan trọng.
  6. Khóa chính có thể được xác định trên một bảng tạm thời. Khóa ngoại không thể được xác định hoặc thi hành trên một bảng tạm thời.

dự án
  1. https://dl.acm.org/doi/abs/10.14778/1920841.1920944?casa_token=HgKaHPnYA9oAAAAA:_NYpWs4jzN-BI4lT9bWA73EPTvOBtYxJzXB7RpKVXGvZRc0htXpsv742IQMGSsjiuA1f_E_80IN18O0
  2. https://ieeexplore.ieee.org/abstract/document/994756/

Cập nhật lần cuối: ngày 11 tháng 2023 năm XNUMX

chấm 1
Một yêu cầu?

Tôi đã nỗ lực rất nhiều để viết bài đăng trên blog này nhằm cung cấp giá trị cho bạn. Nó sẽ rất hữu ích cho tôi, nếu bạn cân nhắc chia sẻ nó trên mạng xã hội hoặc với bạn bè/gia đình của bạn. CHIA SẺ LÀ ♥️

suy nghĩ 10 trên "Khóa chính và khóa ngoại: Sự khác biệt và so sánh"

  1. Bảng so sánh đặc biệt hữu ích. Nó cung cấp một bản tóm tắt rõ ràng và ngắn gọn về các đặc điểm tương phản của khóa chính và khóa ngoại.

    đáp lại
  2. Bài viết này thiếu sự giải thích sâu sắc về khóa chính và khóa ngoại. Nó không giải quyết được một số hoạt động truy vấn cơ sở dữ liệu nâng cao nhất định có liên quan đến các khóa này.

    đáp lại
  3. Tôi thấy bài viết đã làm tốt việc thiết lập các khóa chính đảm bảo tính duy nhất trong bảng cơ sở dữ liệu bằng cách không cho phép các giá trị trùng lặp.

    đáp lại
  4. Tôi không đồng ý. Bảng cơ sở dữ liệu có thể là bảng cơ sở dữ liệu quan hệ không có khóa chính. Nó được coi là một thực hành xấu, nhưng không phải là không thể.

    đáp lại
  5. Tác giả chưa hiểu rõ vai trò của khóa chính. Việc không nên thay đổi giá trị của chúng là hoàn toàn sai. Chúng có thể được cập nhật khi cần thiết.

    đáp lại
  6. Bài viết này giải thích rõ tầm quan trọng của Khóa chính và Khóa ngoại trong DBMS. Đây là những thành phần không thể thiếu của kiến ​​trúc cơ sở dữ liệu nhằm đảm bảo độ tin cậy của dữ liệu.

    đáp lại
  7. Hệ thống quản lý cơ sở dữ liệu là huyết mạch của các tổ chức. Họ giúp tổ chức và cung cấp dữ liệu quan trọng một cách hiệu quả và đáng tin cậy.

    đáp lại

Để lại một bình luận

Bạn muốn lưu bài viết này cho sau này? Nhấp vào trái tim ở góc dưới cùng bên phải để lưu vào hộp bài viết của riêng bạn!