我是mysql的新手!拥有像创建表格这样的绝对基本知识。 我正在创建一个包含在线考试和结果的网站。我的领域包括
def annotation_line( ax, xmin, xmax, y, text, ytext=0, linecolor='black', linewidth=1, fontsize=12 ):
ax.annotate('', xy=(xmin, y), xytext=(xmax, y), xycoords='data', textcoords='data',
arrowprops={'arrowstyle': '|-|', 'color':linecolor, 'linewidth':linewidth})
ax.annotate('', xy=(xmin, y), xytext=(xmax, y), xycoords='data', textcoords='data',
arrowprops={'arrowstyle': '<->', 'color':linecolor, 'linewidth':linewidth})
xcenter = xmin + (xmax-xmin)/2
if ytext==0:
ytext = y + ( ax.get_ylim()[1] - ax.get_ylim()[0] ) / 20
ax.annotate( text, xy=(xcenter,ytext), ha='center', va='center', fontsize=fontsize)
传奇:t是测试。 ru是注册用户。 skl是学校。 hs得分很高。 hsu是得分高的用户。
我不知道如何安排表格中的字段并建立关系,以满足以下条件:
(1)每个测试可以有多个用户注册,对于相同的test_id
(2)应获得最高得分的用户并输入相应的test_id表
(3)最高得分用户的学校也应该输入相应的test_id表
(4)条件2 n 3应该是可检索的,以便使用php处理月度排行榜列表等。
请你帮忙! :)
答案 0 :(得分:0)
表:UserToTest 专栏:
test_id | user_id | score
这实际上就是你所需要的。只需插入user_id
和test_id
即可建立关系。添加score
作为附加信息。
您想拥有的所有其他数据,用户的最高分数和学校的最高分数是您在查询时可以轻松计算的值。因此,没有必要在表中编写它,它只会使数据处理更加复杂,因为您必须在应用程序中添加触发器,约束或更多逻辑,以使这些值保持最新。