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

Quy ước đặt tên thích hợp cho MySQL FKs là gì?

Trong MySQL, không cần đặt tên tượng trưng cho các ràng buộc khóa ngoại. Nếu không có tên, InnoDB sẽ tự động tạo một tên duy nhất.

Trong mọi trường hợp, đây là quy ước mà tôi sử dụng:

fk_[referencing table name]_[referenced table name]_[referencing field name]

Ví dụ:

CREATE TABLE users(
    user_id    int,
    name       varchar(100)
);

CREATE TABLE messages(
    message_id int,
    user_id    int
);

ALTER TABLE messages ADD CONSTRAINT fk_messages_users_user_id 
    FOREIGN KEY (user_id) REFERENCES users(user_id);

Tôi cố gắng gắn các tên trường giống nhau trong các bảng tham chiếu và được tham chiếu, như trong user_id trong ví dụ trên. Khi điều này không thực tế, tôi cũng nối tên trường được tham chiếu với tên khóa ngoại.

Quy ước đặt tên này cho phép tôi "đoán" tên tượng trưng chỉ bằng cách nhìn vào định nghĩa bảng và ngoài ra nó cũng đảm bảo các tên duy nhất.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để ánh xạ một loại bit trong Mysql sang chế độ ngủ đông?

  2. MySQL - MariaDB - Viết thủ tục được lưu trữ đầu tiên

  3. Ví dụ về PERIOD_ADD () - MySQL

  4. Truy vấn SQL để tính số dư tài khoản

  5. Làm cách nào để tạo một chuỗi trong MySQL?