我们正在建设我们的网站,并且我们不断增加新的大学。我有一堂课可以处理很多这样的事情。问题是,当人们注册时,我们应该将他们就读的大学作为完整字符串存储在数据库中,还是将每所大学转换为唯一的 int 并存储它,或者创建一个所有大学的新表并手动添加它们当我们向系统添加更多学校时,只需将所选学校的 primary_key 存储在 users 表中?最简单的就是存储字符串。但我觉得这可能效率低下。
问问题
104 次
3 回答
3
您绝对应该为大学创建另一个表并将该表的PK存储在另一个表中,以便您可以更轻松地对这些表执行操作
于 2012-12-21T18:37:54.167 回答
3
我认为每次存储完整的字符串是非常低效的。我会通过只存储universityId
每个用户的号码来解决这个问题,然后使用 SQL 查询来检索您需要的任何信息。
这样您就可以避免数据重复(例如:来自同一所大学的不同用户输入不同的字符串)
于 2012-12-21T18:38:22.467 回答
2
我同意前面的答案。您肯定想使用大学 id 主键,而不仅仅是带有大学名称的字符串!以这种方式设计数据库称为规范化。看看这篇文章,了解规范化的介绍,包括一些关于为什么需要它的讨论。
于 2012-12-21T18:47:07.810 回答