投票调查系统数据库设计及大家指教

       模仿小妖版投票系统(asp)数据库做了一个aspnet投票系统,主要实现功能有以下三种情况:1.单项投票,2.综合投票,3.评选活动。所建数据库如下,感觉字段有些冗余,但也找不到好的方法,请大家给点建议。
       综合投票可能包括多个单项投票,综合投票和单项投票都可为评选活动。
综合投票表--colligate
 

序号

列名

数据类型

长度

主键

允许空

字段说明

1

ColligateID

int

4

 

 

2

Title

varchar

100

 

投票名称

3

Note

varchar

1000

 

投票说明

4

StartTime

datetime

8

 

投票开始时间

5

EndTime

datetime

8

 

结束时间

6

IsComment

bit

1

 

是否评论

7

IsAnonym

bit

1

 

是否匿名

8

TimeInterval

int

4

 

投票间隔时间

9

IntervalType

varchar

50

 

投票间隔时间类型

说明:间隔时间+间隔时间类型举例如下:1day or 20minutes

单项投票表--Vote
 

序号

列名

数据类型

长度

主键

允许空

字段说明

1

VoteID

int

4

 

 

2

ModeID

int

4

 

所属综合投票id,不是综合投票是0

3

Title

varchar

100

 

 

4

Radio

int

4

 

1为单选,2为多选,3为评论

5

StartTime

datetime

8

 

 

6

EndTime

datetime

8

 

 

7

VoteColumn

int

4

 

分几列显示

8

MaxCount

int

4

 

多选时最多选几条

9

IsComment

bit

1

 

 

10

IsAnonym

bit

1

 

登录/匿名

11

TimeInterval

int

4

 

两次投票时间间隔

12

IntervalType

varchar

50

 

时间间隔日期格式

14

IsImage

bit

1

 

是否是评选活动


         在这两个表中出现了冗余的字段,如何合并或是重构好呢?迷惑ing...
    
  选项表--Item

序号

列名

数据类型

长度

主键

允许空

字段说明

1

ItemID

int

4

 

 

2

VoteID

int

4

 

 

3

Item

varchar

200

 

 

4

ItemCount

int

4

 

 

5

Images

varchar

200

 

 

         

在这个Item表中存在的一个问题是,每次投票或是评选的字段会变化,如何建立动态数据库呢?

留言表--Message

序号

列名

数据类型

主键

允许空

字段说明

1

MessageID

int

 

 

2

UserID

int

 

 

3

VoteID

int

 

综合为ColligateID,单项为VoteID

4

Content

varchar

 

 

5

LeaveTime

datetime

 

留言时间

6

ColligateID

int

 

 

因留言表有时是对综合投票留言,得需要colligateID,有时是对单项投票留言,得需要voteID,这样会出现了用两个字段来标志投票ID。本来我想用GUID来表示主键,后来还是用int了。

       

第一次写文章,请大家多多指教,给些意见。

转载于:https://www.cnblogs.com/salough/archive/2007/08/20/vote.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值