Khóa ngoại được sử dụng trong cơ sở dữ liệu để thiết lập các điểm tham chiếu giữa hai bảng. Hãy tham gia với chúng tôi khi chúng tôi giải thích chi tiết cách thức hoạt động của điều này.

Bạn đang xem : khóa ngoại trong cơ sở dữ liệu là gì

Điều thực sự tuyệt vời về cơ sở dữ liệu là cấu trúc của chúng. Chúng giữ cho tất cả dữ liệu của chúng tôi được ghi lại một cách hợp lý, giúp cho việc truy xuất và quản lý thông tin trở nên dễ dàng hơn – hooray!

Một bảng duy nhất trong cơ sở dữ liệu có thể giúp ai đó điều hành toàn bộ khía cạnh kinh doanh của họ, điều này thật tuyệt vời, nhưng đây là điều … đôi khi, việc sử dụng một bảng duy nhất cho một ứng dụng không hiệu quả và đó là lúc Khóa ngoại phát huy tác dụng.

Khóa ngoại, cùng với Khóa chính đối tác của họ, làm giảm dữ liệu dư thừa do các bảng riêng lẻ tạo ra bằng cách tách dữ liệu giữa hai bảng và thiết lập mối quan hệ hoặc “sự phụ thuộc” giữa các thuộc tính nhất định . Bối rối? Tôi thực sự không trách bạn. Hãy thảo luận vấn đề chi tiết hơn.

Khoá ngoại trong cơ sở dữ liệu Khoá ngoại trong cơ sở dữ liệu

Khóa ngoại và khóa chính: Ví dụ

Điều đầu tiên cần hiểu về Khóa ngoại là chúng ‘ không bao giờ là những con sói đơn độc, và chúng hầu như không bao giờ hợp tác với nhau. Trong hầu hết mọi trường hợp, Khóa ngoại hoạt động cùng với Khóa chính và tôi sẽ giải thích sự khác biệt khi chúng ta chuyển qua ví dụ sau.

Giả sử rằng chúng tôi đang điều hành một doanh nghiệp và chúng tôi ‘ đang sử dụng một bảng duy nhất có tên Đơn hàng trong cơ sở dữ liệu của chúng tôi để theo dõi, bạn đã đoán ra rồi… đơn hàng. Có lẽ các cột trong bảng của chúng tôi bao gồm ID đơn đặt hàng, Tên khách hàng, Địa chỉ khách hàng và (các) đơn đặt hàng.

Nếu một trong những khách hàng lần đầu thực sự thích sản phẩm của chúng tôi, họ có thể muốn đặt hàng tương tự một lần nữa, có thể với một vài thứ nữa trong giỏ để thử.

Trong bảng của chúng tôi, chúng tôi sẽ bắt đầu phát triển dữ liệu trùng lặp hoặc “dư thừa” trong một vài cột của chúng tôi, cụ thể là Các cột Tên khách hàng và Địa chỉ khách hàng và cột này… đây có thể là vấn đề.

Sự cố với dữ liệu dự phòng < / strong>

Giờ đây, bạn có thể không quá bận tâm về dữ liệu thừa, vì vào cuối ngày, tất cả thông tin quan trọng bạn cần để xử lý đơn đặt hàng đều có trong bảng cá nhân của bạn , nhưng nếu chúng tôi thực sự muốn hợp lý hóa hoạt động của mình, cổng gọi đầu tiên của chúng tôi sẽ là hạn chế dư thừa và đây là lý do tại sao…

Dữ liệu dự phòng lãng phí không gian và bộ nhớ

Ý tưởng của cơ sở dữ liệu là ghi lại thông tin theo cách dễ tiếp cận và hiệu quả nhất có thể, nhưng với đống dữ liệu dư thừa tạo ra các nguyên khối của mỗi bảng, việc truy xuất thông tin có thể là một cơn ác mộng, ngay cả khi sử dụng truy vấn SQL .

Dữ liệu dự phòng có thể dẫn đến rủi ro hoạt động

Được rồi, vì vậy, giả sử khách hàng của chúng tôi, Joe Bloggs, đặt một số đơn đặt hàng với chúng tôi vào những thời điểm khác nhau, nhưng tại một thời điểm nhất định, anh ấy đã chuyển nhà và khi chúng tôi quét bảng đơn đặt hàng của mình, chúng tôi thấy tên của anh ấy bên cạnh một trong những địa chỉ cũ hơn và nhầm nó với địa chỉ hiện tại của anh ấy. Sau đó, chúng tôi sẽ gửi đơn đặt hàng của Joe đến sai địa điểm – xin lỗi, Joe.

Nếu chúng tôi rất cẩn thận và dùng một chiếc lược răng cưa qua bàn của mình, tất nhiên chúng tôi có thể tránh được tai họa như vậy, nhưng sau đó cơ sở dữ liệu đang bắt chúng tôi làm việc vì nó, chứ không phải ngược lại, điều này thách thức đối tượng tồn tại của nó.

Để loại bỏ hoàn toàn khả năng do lỗi của con người trong quá trình truy xuất dữ liệu và gửi sản phẩm , chúng tôi sẽ phải thiết lập hai bảng được liên kết bằng Khóa ngoại và Khóa chính.

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

Bây giờ chúng tôi đang lấy tệp phẳng riêng lẻ của mình và biến nó thành cơ sở dữ liệu quan hệ bằng cách giới thiệu bảng phụ, chúng tôi có thể tinh chỉnh thông tin trong bảng ban đầu của mình. Thay vì lưu trữ tất cả các bản ghi đã đề cập trước đó, nó chỉ cần có các cột ID đơn đặt hàng, ID khách hàng và (các) đơn đặt hàng.

Lý do là, chúng tôi sẽ đưa những thứ khác vào thứ hai của chúng tôi bảng mà chúng tôi sẽ gọi là Khách hàng. Bảng Khách hàng của chúng tôi cũng sẽ có cột ID khách hàng, cũng như cột Tên khách hàng và cột Địa chỉ khách hàng.

Cột ID khách hàng trong bảng thứ hai sẽ là Khóa chính của chúng tôi. Lý do tại sao bạn hỏi? Điều này là do nó xác định duy nhất tất cả các bản ghi khác trong bảng. Nói cách khác, dữ liệu ID khách hàng xác định dữ liệu Tên khách hàng và Địa chỉ khách hàng.

Nhưng sau đó… nếu đó là Khóa chính, thì Khóa ngoại sẽ ở đâu? Tìm kiếm nó dễ dàng hơn nhiều so với những gì bạn nghĩ. Khóa ngoại sẽ luôn là tệp trong bảng đối lập có tiêu đề giống hoặc tương tự, trong trường hợp này, là ID khách hàng.

ID khách hàng trong bảng đầu tiên của chúng tôi không xác định dữ liệu trong Đơn đặt hàng Các cột ID và Thứ tự, nhưng vì nó liên quan đến Khóa chính, nơi trường “bắt nguồn”, nó vẫn được coi là một Khóa… một Khóa ngoại.

Để tránh nhầm lẫn khi bạn đọc thêm về chủ đề này, như Khóa Ngoại đang tham chiếu đến Khóa chính , nó cũng có thể được gọi là khóa tham chiếu, trong khi khóa chính có thể được gọi là khóa được tham chiếu.

Hơn nữa, bảng giữ Khóa ngoại được gọi là Bảng con, bảng còn lại giữ Khóa chính , được gọi là dưới dạng Bảng chính.

Làm thế nào C sự liên kết giữa các phím này Hợp lý hóa cơ sở dữ liệu của chúng tôi?

Trước đây, khi chúng tôi chỉ có một bảng với tất cả thông tin đơn hàng và khách hàng, chúng tôi có nhiều bản sao, điều này gây nhầm lẫn cho hoạt động của chúng tôi và lãng phí không gian cơ sở dữ liệu. Bây giờ chúng ta có hai bảng, thông tin được chia thành nhiều phần dễ hiểu hơn, nhưng đó không phải là lợi thế chính ở đây.

Khóa ngoại luôn tham chiếu và do đó, hướng dẫn chúng ta đến một mục nhập duy nhất trong Bảng chính , có nghĩa là chúng tôi sẽ không bao giờ vô tình đọc sai thông tin về tên hoặc địa chỉ khách hàng của chúng tôi. Mối liên kết giữa các khóa này đảm bảo tính toàn vẹn của dữ liệu!

Do đó, tất cả khách hàng của chúng tôi sẽ nhận được đơn đặt hàng của họ một cách kịp thời và chúng tôi sẽ không phải trả một khoản tiền lớn để đưa mọi thứ trở lại doanh nghiệp của chúng tôi sau đó gửi lại đến vị trí chính xác. Và, như một phần thưởng, cơ sở dữ liệu của chúng tôi trông rất mượt mà!

“Bỏ rơi” các bảng có khóa ngoại

Các Phím Ngoại ngăn việc xóa hoặc “Làm rơi” bảng hoặc dữ liệu trong bảng, vì vậy nếu bạn đang muốn dọn dẹp cửa hàng và loại bỏ , trước tiên hãy nhớ xóa tất cả các điểm tham chiếu.

Kết quả cuối cùng

Ở đó bạn có các nguyên tắc cơ bản của Phím ngoại trong cơ sở dữ liệu. Tất nhiên, còn rất nhiều điều để tìm hiểu về chúng và cách chúng có thể được triển khai trên các đối tượng dữ liệu phức tạp hơn, nhưng bây giờ bạn đã có ý chính chung, nền tảng được thiết lập để bạn trở thành một Foreign Key thực sự!


Xem thêm những thông tin liên quan đến chủ đề khóa ngoại trong cơ sở dữ liệu là gì

07. Foreign Key – Khóa ngoại trong SQL

alt

  • Tác giả: DaoDucDev
  • Ngày đăng: 2020-06-04
  • Đánh giá: 4 ⭐ ( 8863 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong video này, thầy sẽ hướng dẫn các em làm việc với Foreign Key hay còn gọi là Khóa ngoại trong SQL.

    Nội dung video:
    ✍️ Khái niệm Foreign Key
    ✍️ Tại sao cần có Foreign Key
    ✍️ Cách tạo Foreign Key trong bảng.

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

  • Tác giả: viblo.asia
  • Đánh giá: 4 ⭐ ( 6838 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng.

Hệ quản trị SQL Server

  • Tác giả: www.hiepsiit.com
  • Đánh giá: 5 ⭐ ( 5879 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

MySQL: Khóa chính (primary key) và khóa ngoại (foreign key) của table (Bài 8)

  • Tác giả: kcntt.duytan.edu.vn
  • Đánh giá: 4 ⭐ ( 6515 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Một vài lưu ý về khóa của table

     

    Khóa chính:

     

    Khóa chính (hay ràng buộc khóa chính) được sử dụng để định danh duy nhất mỗi record trong table của cơ sở dữ liệu.

    Ngoài ra, nó còn dùng để thiết lập quan hệ 1-n (hay ràng buộc tham chiếu) giữa hai…

Khóa chính là gì? Phân biệt khóa chính và khóa ngoại trong SQL

  • Tác giả: timviec365.vn
  • Đánh giá: 4 ⭐ ( 8201 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khóa chính nghĩa là gì? Khóa chính có tác dụng gì trong đời sống hằng ngày, đặc biệt là với các cơ sở dữ liệu tin học? Cùng tìm hiểu bài viết dưới đây nhé!

Tìm Hiểu Khái Niệm Và Cách Tạo Khóa Ngoại Trong Sql Server, Sql Foreign Key

  • Tác giả: sentory.vn
  • Đánh giá: 3 ⭐ ( 6763 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở

[Tự học SQL] Tìm hiểu về khoá chính(PRIMARY KEY), khoá ngoại(FOREIGN KEY) trong SQL

  • Tác giả: cafedev.vn
  • Đánh giá: 5 ⭐ ( 1268 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài này cafedev chia sẻ cho ace về cách tạo ràng buộc với khoá chính(PRIMARY KEY), khoá ngoại(FOREIGN KEY) của bảng trong SQL như thế nào?

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Thẻ là gì và tôi nên sử dụng chúng như thế nào? - Trung tâm trợ giúp - cách sử dụng thẻ

By ads_php