查询多个表和外键的最佳做法是什么?
例如:
用户有很多任务有很多提醒
我认为最佳做法是将外键保留给他们的直系亲属,即:
任务表:id、user_id
提醒表:id、task_id
...以避免您有一堆外键将表连接到所有可能的亲戚的情况。
假设我想检索所有用户的提醒。
SELECT reminders.* FROM users
LEFT JOIN tasks ON users.id = tasks.user_id
LEFT JOIN reminders ON tasks.id = reminders.task_id
WHERE tasks.user_id = {#YourUserIdVariable}
是否存在进行连接以检索记录的重要性超过数据库的完整性?(假设首先存储reminders.user_id 是一个不好的做法?
5张桌子?10?