Khóa ngoại trong DBMS với Tổng quan về DBMS, DBMS so với Hệ thống tệp, Kiến trúc, Kiến trúc ba lược đồ, Ngôn ngữ, Khóa, Tổng quát hóa, Chuyên môn hóa, Khái niệm mô hình quan hệ, v.v.

Bạn đang xem: < a href = "."> khóa ngoại trong dbms < br>

tiếp theo →
← trước

Khóa ngoại trong DBMS

Khóa ngoại khác với siêu khóa, khóa ứng viên hoặc khóa chính vì khóa ngoại là khóa được sử dụng để liên kết hai bảng với nhau hoặc tạo kết nối giữa hai bảng.

Ở đây, trong phần này, chúng ta sẽ thảo luận về khóa ngoại, việc sử dụng nó và xem xét một số ví dụ sẽ giúp chúng ta hiểu cách làm việc và sử dụng khóa ngoại. Chúng ta cũng sẽ thấy cách triển khai thực tế của nó trên cơ sở dữ liệu, tức là tạo và xóa khóa ngoại trên bảng.

Khóa ngoại là gì

Khóa ngoại là khóa được sử dụng để liên kết hai bảng với nhau thông qua khóa chính. Nó có nghĩa là các cột của một bảng trỏ đến thuộc tính khóa chính của bảng kia. Hơn nữa, điều đó có nghĩa là nếu bất kỳ thuộc tính nào được đặt làm thuộc tính khóa chính sẽ hoạt động trong bảng khác dưới dạng thuộc tính khóa ngoại. Nhưng ai cũng nên biết rằng khóa ngoại không liên quan gì đến khóa chính.

Sử dụng Khoá Ngoại

Việc sử dụng khóa ngoại chỉ đơn giản là liên kết các thuộc tính của hai bảng với nhau với sự trợ giúp của thuộc tính khóa chính. Do đó, nó được sử dụng để tạo và duy trì mối quan hệ giữa hai mối quan hệ.

Ví dụ về Khóa ngoại

Hãy thảo luận về một ví dụ để hiểu hoạt động của khóa ngoại.

Hãy xem xét hai bảng Sinh viên Phòng ban có các thuộc tính tương ứng như được hiển thị trong cấu trúc bảng bên dưới:

Khoá ngoại trong DBMS

Khoá ngoại trong DBMS

Trong các bảng, bạn có thể thấy một thuộc tính phổ biến, đó là Stud_Id , nhưng nó có các ràng buộc chính khác nhau cho cả hai bảng. Trong bảng Sinh viên, trường Stud_Id là khóa chính vì nó nhận dạng duy nhất tất cả các trường khác của bảng Sinh viên. Mặt khác, Stud_Id là thuộc tính khóa ngoại cho bảng Phòng ban vì nó đang hoạt động như một thuộc tính khóa chính cho bảng Sinh viên. Có nghĩa là cả bảng Sinh viên và Bộ phận đều được liên kết với nhau do thuộc tính Stud_Id.

Trong hình bên dưới, bạn có thể xem cấu trúc sau về mối quan hệ giữa hai bảng.

Xem Thêm  Full Stack là gì? Làm thế nào để trở thành một nhà phát triển ngăn xếp đầy đủ - ý nghĩa của nhà phát triển ngăn xếp đầy đủ

Khoá ngoại trong DBMS

Lưu ý: Tính toàn vẹn tham chiếu trong DBMS được phát triển từ khái niệm khóa ngoại. Rõ ràng rằng khóa chính là một khóa tồn tại đơn lẻ và khóa ngoại luôn tham chiếu đến khóa chính trong một số bảng khác, trong đó bảng có chứa khóa chính được gọi là bảng tham chiếu hoặc bảng cha cho bảng khác. đang có khóa ngoại.

Tạo ràng buộc Khóa ngoài

Bật TẠO BẢNG

Dưới đây là cú pháp giúp chúng ta tìm hiểu cách tạo khóa ngoại trong bảng:

Vì vậy, theo cách này, chúng ta có thể đặt khóa ngoại cho một bảng trong cơ sở dữ liệu MYSQL.

Trong trường hợp tạo khóa ngoại cho một bảng trong máy chủ SQL hoặc Oracle, cú pháp sau sẽ hoạt động:

Trên ALTER TABLE

Sau đây là cú pháp để tạo ràng buộc khóa ngoại trên ALTER TABLE:

Bỏ qua Khoá Ngoài

Để xóa khóa ngoại, có thể sử dụng cú pháp được mô tả bên dưới:

Vì vậy, theo cách này, chúng ta có thể bỏ khóa ngoại bằng ALTER TABLE trong cơ sở dữ liệu MYSQL.

Điểm cần nhớ

Khi bạn đánh rơi khóa ngoại, người ta cần quan tâm đến tính toàn vẹn của các bảng được kết nối qua khóa ngoại. Trong trường hợp bạn thực hiện các thay đổi trong một bảng và làm xáo trộn tính toàn vẹn của cả hai bảng, nó có thể hiển thị một số lỗi nhất định do kết nối không đúng giữa hai bảng.

Hành động Tham khảo

Có một số hành động được liên kết với các hành động được thực hiện bởi chủ bảng khóa ngoài:

1) Xếp tầng

Khi chúng tôi xóa các hàng trong bảng mẹ (tức là hàng giữ khóa chính), các cột tương tự trong bảng khác (tức là hàng giữ khóa ngoại) cũng bị xóa. Do đó, hành động được gọi là Cascade.

2) Đặt NULL

Hành động tham chiếu như vậy duy trì tính toàn vẹn tham chiếu của cả hai bảng. Khi chúng ta thao tác / xóa một hàng được tham chiếu trong bảng cha / được tham chiếu, trong bảng con (bảng có khóa ngoại), giá trị của hàng tham chiếu đó được đặt là NULL. Hành động tham chiếu như vậy được thực hiện được gọi là Đặt NULL .

3) Đặt DEFAULT

Hành động như vậy diễn ra khi các giá trị trong hàng được tham chiếu của bảng mẹ được cập nhật hoặc hàng bị xóa, các giá trị trong bảng con được đặt thành giá trị mặc định của cột.

Xem Thêm  Mảng Python với các ví dụ - phần tử mảng truy cập python

4) Hạn chế

Đây là ràng buộc hạn chế mà giá trị của hàng được tham chiếu trong bảng mẹ không thể sửa đổi hoặc xóa trừ khi nó không được khóa ngoại tham chiếu trong bảng con. Do đó, nó là một hành động tham chiếu bình thường của khóa ngoại.

5) Không hành động

Đây cũng là một ràng buộc hạn chế của khóa ngoại nhưng chỉ được triển khai sau khi cố gắng sửa đổi hoặc xóa hàng được tham chiếu của bảng mẹ.

6) Trình kích hoạt

Tất cả những hành động này và các hành động tham chiếu khác về cơ bản được triển khai dưới dạng trình kích hoạt trong đó các hành động của khóa ngoại tương tự hoặc gần giống với trình kích hoạt do người dùng xác định. Tuy nhiên, trong một số trường hợp, các hành động tham chiếu theo thứ tự được thay thế bằng các trình kích hoạt tương đương do người dùng xác định để đảm bảo thực thi trình kích hoạt thích hợp.

Chủ đề tiếp theo

Khóa đại diện trong DBMS

← trước
tiếp theo →


Xem thêm những thông tin liên quan đến chủ đề khóa ngoại trong dbms

[Khóa học sử dụng SQL server] – Bài 7: Tạo khóa ngoại| HowKteam

alt

  • Tác giả: K team
  • Ngày đăng: 2017-02-25
  • Đánh giá: 4 ⭐ ( 9574 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Khóa học sử dụng SQL server] – Bài 7: Tạo khóa ngoại| HowKteam

    Nếu các bạn thấy hay thì hãy đăng ký theo dõi kênh, like, share cho mọi người cùng tham gia nhé.

    Muốn ủng hộ mình các bạn có thể nhấn vào quảng cáo hiện lên và load xong để mình được ít tiền duy trì nhé.
    Cảm ơn mọi người.

    Học thêm kiến thức hoặc tải tài liệu tại https://www.howkteam.com/
    Luyện tập trắc nghiệm mỗi ngày tại https://kquiz.vn/

    Bài trước:
    [Khóa học sử dụng SQL server] – Bài 6: Tạo khóa chính| HowKteam
    https://www.youtube.com/watch?v=38FxjicRCS8&list=PL33lvabfss1xnFpWQF6YH11kMTS1HmLsw&index=6

    Bài sau:
    [Khóa học sử dụng SQL server] – Bài 8: Truy vấn cơ bản| HowKteam
    https://www.youtube.com/watch?v=iZ9kQIke04A&index=8&list=PL33lvabfss1xnFpWQF6YH11kMTS1HmLsw

    Tập hợp khóa học lập trình cơ bản đến nâng cao.
    Tham gia group để cập nhật thêm thông tin cũng như tham gia khóa học online miễn phí.

    Group FB: https://goo.gl/8T2krI
    Website: http://www.howkteam.com/

    Danh sách phát: https://goo.gl/0LIji0

    C++:
    Lập trình C++: https://goo.gl/8RCMte
    Bài toán kinh điển C++: https://goo.gl/7CszwZ

    C:
    Lập trình C: https://goo.gl/AhxyAI
    Lập trình C WinForms: https://goo.gl/dPbSm4
    Lập trình ASP.NET MVC: https://goo.gl/riqrzP

    Java:
    Lập trình Java: https://goo.gl/VoDbbs
    Lập trình Android: https://goo.gl/LyV3ZX

    Game:
    Lập trình Unity 3D: https://goo.gl/RcBi6c

    Office:
    Office Word 2016: https://goo.gl/GQUk5E
    Office Excel 2016: https://goo.gl/N3qdKs
    Office Power Point 2016: https://goo.gl/zegyVx

    Products:
    Game Caro C Winforms: https://goo.gl/bMuXEC
    Game Flappy Bird Unity 3D: https://goo.gl/K00l5y
    Game bắn Zombies Unity 3D: https://goo.gl/HUjWlt
    Game Doge Unity 3D: https://goo.gl/0pysFu
    App lập lịch C Winforms: https://goo.gl/xO0iX3
    App từ điển nói C Winforms: https://goo.gl/KgHNNn
    App quản lý quán Cafe C Winforms: https://goo.gl/FLZDDM
    App key logger C Winforms: https://goo.gl/qV93CV

    Stream:
    Kỹ thuật: https://goo.gl/tGtmwq
    Kinh nghiệm: https://goo.gl/VsQjkc

    Âm thanh:
    Two Step From Hell Colors Of Love
    http://fbl.me/TJB
    https://www.facebook.com/Thomas-Bergersen-147900228587129/
    https://www.facebook.com/fourformusic
    http://www.thomasbergersen.com/

Ngôn ngữ SQL

  • Tác giả: hiepsiit.com
  • Đánh giá: 5 ⭐ ( 7973 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 ⭐ ( 9533 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…

Phân Biệt Khóa Chính Và Khóa Ngoại Trong Sql, Khái Niệm Và Thuộc Tính Khóa Là Gì

  • Tác giả: dichvutructuyen.com.vn
  • Đánh giá: 4 ⭐ ( 2472 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mô hình dữ liệu quan hệ bao gồm một hoặc nhiều quan hệ (Relation), Thực thể và thuộc tính trong mô hình ERD trở thành quan hệ và thuộc tính của quan hệ

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

  • Tác giả: vi1.fondoperlaterra.org
  • Đánh giá: 3 ⭐ ( 6821 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trên đường đi, để tôi cho bạn biết sự khác biệt cơ bản giữa khóa chính và khóa ngoại là khóa chính là một trong những khóa ứng viên được chọn bởi nhà thiết kế cơ sở dữ liệu trong khi đó, khóa ngoại là khóa liên quan đến khóa chính của mối quan hệ khác.

Sự Khác Biệt Giữa Khóa Chính Và Khóa Ngoại, Khóa Chính Là Gì

  • Tác giả: greenlines.com.vn
  • Đánh giá: 4 ⭐ ( 1610 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Dẫn nhậpTrong bài trước, chúng ta đã tìm hiểu về KHÓA CHÍNHvà cách tạo, xóa, đặt tên cho khóa chính trong một Table, Ngoài ra, Kteam cũng đã đề cập đến một thành phần khác có khả năng tham chiếu đến Table thông qua Khóa chính đó làKHÓA NGOẠI

Khóa trong hệ quản trị cơ sở dữ liệu – DBMS Keys

  • Tác giả: tek4.vn
  • Đánh giá: 4 ⭐ ( 3082 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

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  SQL AUTO INCREMENT a Field - sql tạo tự động tăng khóa chính

By ads_php