Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 投票数据库设计_Database_Voting_Voting System - Fatal编程技术网

Database 投票数据库设计

Database 投票数据库设计,database,voting,voting-system,Database,Voting,Voting System,我正在实现一个投票功能,允许用户为他们喜爱的图像投票。他们只能为3张图片投票。差不多没什么。因此,我使用复选框对其进行验证。我需要将这些选票存储在我的数据库中 以下是我到目前为止的情况: |voteID |姓名|电子邮件地址| ICNo |图像ID (其中imageID是Images表的外键) 我仍在学习数据库系统,我觉得这不是一个好的数据库设计,考虑到一些领域,如电子邮件地址和IC号码必须重复 比如说, |voteID | name| emailAddress | ICNo

我正在实现一个投票功能,允许用户为他们喜爱的图像投票。他们只能为3张图片投票。差不多没什么。因此,我使用复选框对其进行验证。我需要将这些选票存储在我的数据库中

以下是我到目前为止的情况:

|voteID |姓名|电子邮件地址| ICNo |图像ID

(其中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 
你的系统中有三个“东西”——图像、人物和投票

一个图像可以有多个投票(来自不同的人),一个人可以有多个投票(针对不同的图像)

在图表中表示这一点的一种方法如下:

因此,您将个人信息存储在一个位置(person表),图像信息存储在一个位置(Images表),投票信息存储在一个位置。它们之间的“鸡爪”关系表明,一个人可以拥有多张选票,一张图片可以拥有多张选票。(“许多”意味着“不止一个”)

你的感觉是正确的。