mysql 数据库规范化

mysql database normalisation

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

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

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

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

恳请您的帮助! :)

Table:用户测试 列数:

test_id | user_id | score

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

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