在MySQL中存储大学

时间:2012-12-21 18:35:01

标签: php mysql database database-normalization

我们正在建设我们的网站,我们不断增加新的大学。我有一个管理很多这个的课程。问题是,当人们注册时,我们应该将他们作为数据库中的完整字符串存储的大学存储,或者将每个大学转换为唯一的int并存储它,或者创建所有大学的新表并且只需手动添加它们当我们在系统中添加更多学校时,只需将所选学校的primary_key存储在users表中?最简单的只是存储字符串。但我觉得这可能效率低下。

3 个答案:

答案 0 :(得分:3)

你绝对应该为大学创建另一个表并将该表的PK存储在另一个表中,这样你就可以更容易地对这些表执行操作

答案 1 :(得分:3)

我认为每次存储完整的字符串效率非常低。我会通过为每个用户只存储universityId号码来解决这个问题,然后使用SQL查询来检索你需要的任何信息。

这样您就可以避免数据的双重性(例如:来自同一所大学的不同用户输入不同的字符串)

答案 2 :(得分:2)

我同意以前的答案。你肯定想要使用大学id主键,而不只是一个大学名字的字符串!以这种方式设计数据库称为规范化。请查看this article,了解规范化的内容,包括对您需要它的原因的一些讨论。