Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tôi có thể sử dụng cùng một ràng buộc khóa ngoại trong hai bảng khác nhau không?

Có các cột và có các khóa ngoại (FK) và có các ràng buộc.

Bạn có thể có tên cột trong một bảng bất kể các bảng khác.

FK là một bảng và tập hợp cột tham chiếu và một tập hợp cột và bảng được tham chiếu. Tất cả các tên cùng xác định một FK. Đó là một khái niệm về cơ sở dữ liệu.

Ràng buộc FK, là một ràng buộc, là một thứ có tên phải là duy nhất trên cơ sở dữ liệu. Nó có và thực thi một FK liên quan, cụ thể là FK được mô tả trong tuyên bố của nó. Bạn có thể có nhiều ràng buộc FK trong một bảng thực thi cùng một FK.

DBMS có các tên riêng tự động cho các ràng buộc FK. Ví dụ:một phần tên cộng với một phần số trong đó ràng buộc là ràng buộc FK thứ của bảng có tên đó. Bạn thực sự có thể có cùng một văn bản định nghĩa ràng buộc FK không tên nhiều lần trong một bảng và trong nhiều bảng, mỗi bảng cho một ràng buộc FK khác nhau. (Những cái bên trong một bảng nhất định thực thi cùng một FK.)

Bạn nên có một cách đặt tên duy nhất khi bạn muốn đặt tên cho chúng. Các tên bảng tham chiếu và được tham chiếu nên được tham gia và khi cần thiết phải phân biệt các tên cột.

Thật khó hiểu, chúng ta nói FK khi có nghĩa là ràng buộc FK.

Khi bạn nói "Đó là cùng một khóa ngoại trong hai bảng khác nhau", điều đó sẽ sử dụng sai các thuật ngữ. Có hai FK khác nhau liên quan và các ràng buộc FK tương ứng. Ý của bạn là có thể "đó là các cột tham chiếu giống nhau và bảng được tham chiếu và các cột trong cả hai ràng buộc FK" hoặc "đó là cùng một văn bản đang tham chiếu trong cả hai khai báo ràng buộc FK của khai báo bảng". Nhưng các tên ràng buộc FK phải là duy nhất.

Khi bạn nói "Trong cả hai trường hợp, nó đề cập đến người dùng nội bộ", bạn đang xác nhận rằng loại và / hoặc bảng của cột được tham chiếu là giống nhau đối với cả hai ràng buộc FK. Nhưng chúng là các ràng buộc FK khác nhau đối với các FK khác nhau.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng GROUP_CONCAT trong CONCAT trong MySQL

  2. Lỗi chỉ đọc MySQL lạ

  3. Khôi phục toàn bộ cụm MySQL hoặc MariaDB Galera từ bản sao lưu

  4. truy vấn để xóa tất cả các ký tự sau dấu phẩy cuối cùng trong chuỗi

  5. MySQL - Cách chèn vào bảng có mối quan hệ nhiều-nhiều