[英]How to design this simple database?
我有2个表-一个表存储用户信息(ID,用户名,密码),第二个表存储有关事件的信息(ID,名称,描述,日期,用户名(代表创建事件的用户))。 我想实现“收藏夹事件”功能。 这将允许用户存储他最喜欢的事件,然后在列表中显示它们。 我不确定如何从设计上实现这一点。 我需要一个简单的解决方案。 类似于将喜欢的事件的ID存储在用户表的字段中。 我正在使用mysql和PHP。 谁能指出我正确的方向?
您希望有一个表链接用户表和事件表中的外键。
用户表:
id, username, password
事件表:
id, name, description, date, username
收藏夹表:
id, user_id, event_id
这样,您可以轻松访问收藏夹事件的列表。
SELECT events.name, events.description, events.date
FROM events, users, favorites
WHERE favorites.user_id = users.id
AND favorites.event_id = events.id
始终可以选择在事件表中添加一个tiny-int字段,以将事件标记为收藏。 这不违反规范化,因为偶数是否为收藏夹对其他事件没有影响。 如果事件被删除,它具有从收藏夹中自动删除事件的附加好处。
如果收藏夹需要排序方案,您仍然可以以相同的方式修改事件表。 如果需要有关“收藏夹”的详细信息(例如何时将其添加到列表等),则应按照建议使用其他表格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.