Chúng tôi nên xác định khóa chính có tiền tố tablename.
Chúng tôi nên sử dụng use_id thay thế nếu id và post_id thay vì chỉ id.
Lợi ích: -
1) Dễ dàng đọc được
2) dễ dàng phân biệt trong tham gia truy vấn. Chúng tôi có thể giảm thiểu việc sử dụng bí danh trong truy vấn.
sử dụng bảng: user_id (PK)
bài bảng: post_id (PK) user_id (FK) đây bảng người dùng PK và sau bảng FK là cùng
Theo documentation,
3) Bằng cách này, chúng tôi có thể nhận được lợi ích của TỰ NHIÊN VÀ THAM GIA SỬ DỤNG
Tham gia tự nhiên và tham gia với USING, bao gồm các biến thể tham gia bên ngoài, là được xử lý theo tiêu chuẩn SQL: 2003. Mục đích là để sắp xếp cú pháp và ngữ nghĩa của MySQL đối với NATURAL JOIN và JOIN ... SỬ DỤNG theo SQL: 2003. Tuy nhiên, những thay đổi này trong quá trình tham gia có thể dẫn đến các cột đầu ra khác nhau cho một số kết nối. Ngoài ra, một số truy vấn dường như hoạt động chính xác trong các phiên bản cũ hơn (trước 5.0.12) phải được viết lại để tuân thủ tiêu chuẩn.
Những thay đổi này có lăm khía cạnh chính:
1) Cách mà MySQL xác định các cột kết quả của TỰ NHIÊN hoặc sử dụng tham gia hoạt động (và do đó kết quả của toàn bộ mệnh đề FROM).
2) Mở rộng SELECT * và SELECT tbl_name. * Vào danh sách các cột đã chọn.
3) Độ phân giải của tên cột trong kết nối NATURAL hoặc USING.
4) Chuyển đổi tự nhiên hoặc SỬ DỤNG tham gia vào THAM GIA ... BẬT.
5) Độ phân giải của tên cột trong điều kiện ON của JOIN ... ON.
Ví dụ: -
SELECT * FROM user NATURAL LEFT JOIN post;
SELECT * FROM user NATURAL JOIN post;
SELECT * FROM user JOIN post USING (user_id);
Nguồn
2016-06-14 10:16:56
Xem thêm: http://stackoverflow.com/questions/529863/do-you-prefer-verbose-naming-when-it-comes-to-database-columns/ 529962 # 529962 –
Tôi đang sử dụng Doctrine-Project (khung ORM) và sử dụng như sau: một (Người dùng) -to-one (Ảnh): Người dùng [id, name, age, picture_id], Picture [id, tên tập tin, tập tin] –