我正在实施一项投票功能,允许用户投票选出自己喜欢的图片。他们只能投票3张图片。没有更多或更少。因此,我正在使用复选框对其进行验证。我需要将这些投票存储在我的数据库中。
这是我到目前为止所拥有的:
| voteID |名称| EMAILADDRESS | ICNo | imageID
(其中imageID是Images表的外键)
我还在学习数据库系统,我觉得这不是一个好的数据库设计,考虑到电子邮件地址和IC号等一些字段必须重复。
例如,
|voteID | name| emailAddress | ICNo | imageID
1 BG email@example.com G822A28A 10
2 BG email@example.com G822A28A 11
3 BG email@example.com G822A28A 12
4 MO email2@example.com G111283Z 10
答案 0 :(得分:4)
你有三个"东西"在你的系统中 - 图像,人物和投票。
图像可以有多个投票(来自不同的人),一个人可以有多个投票(针对不同的图像)。
在图表中表示这一点的一种方法如下:
因此,您将一个人的信息存储在一个地方(人员表),将图像存储在一个地方(图像表),并将投票存储在一个地方。 "鸡脚"他们之间的关系表明,一个人可以有很多票,一张图像可以有很多票。 ("很多"意思是"不止一个")。