我有一个MySQL表,可以为大约1,300个用户存储大约250天的日程安排。它由用户列,日期列和位置列组成。
目前,约有250天重复约1,300次,其中在用户列中,用户名每天重复250次,其中位置和日期会有所不同。是否有更有效的方法来存储每个用户的位置,而不重复表中的用户名?这个当前的方法现在很好用
答案 0 :(得分:1)
您的用户是一个单独的实体,应该有自己的表。这样,如果任何用户名更改,您就不必编辑用户正在参加的每个事件。
您可以通过为每个用户创建唯一标识符,然后使用用户ID列替换events表中的username列,将用户链接到他们的事件。
这是关系数据库规范化的冰山一角;通过减少冗余或重复数据的数量来确保数据库健壮且灵活的技术。