繁体   English   中英

mysql数据库规范化

[英]mysql database normalisation

我是mysql新手! 具有绝对的基本知识,例如仅创建表。 我正在创建一个包含在线考试和结果的网站。 我的领域包括

t_id, t_name(subject),ru_id, ru_name, ru_skl, hs_user, hsu_skl

图例 :t是测试。 ru是注册用户。 skl是学校。 hs是高分。 hsu是高分用户。

我不知道如何安排表中的字段并建立关系以使满足以下条件:
(1)每个测试可以有多个用户注册相同的test_id。
(2)应获取得分最高的用户,并将其输入表中,分别用于test_id。
(3)对于相应的test_id,也应在表中输入得分最高的用户的学校。
(4)条件2 n 3应该是可检索的,以便使用php来处理每月的排行榜等。

请您的帮助! :)

表:UserToTest列:

test_id | user_id | score

这实际上就是您所需要的。 只需插入user_idtest_id即可建立关系。 添加score作为其他信息。

您想要拥有的所有其他数据,用户最高分数和学校最高分数是查询时可以轻松计算的值。 因此,没有必要将其写入表中,这只会使数据处理更加复杂,因为您必须在应用程序中添加触发器,约束或更多逻辑以使这些值保持最新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM