投票网——数据库详细设计 本系统需要四个表: 一、用户信息表(userInfo): "字段名 "描述 "=数据类型及要求 "数据举例 " "UID "会员号 "Int(6) "081234 " "Password "密码 "Varchar(8) " " "PwdQuestion "密码保护问题 "Varchar(100) "你叫什么名字 " "Answer "保密保护问题答案"Varchar(100) "奥巴马 " "Name "姓名 "Varchar(20) "奥巴马 " "Sex "性别 "Bit(1:男;0: "1;0 " " " "女) " " "Age "年龄 "Int(3) "22 " "Profession "职业 "Varchar(8) "学生;程序员 " "Native place "籍贯 "Varchar(50) "河南省,南阳市 " "Hobby "业余爱好 "Varchar(100) "流星蝴蝶剑、CS、" " " " "Music " "PetName "昵称 "Varchar(20) "我美国老大 " 二、发起投票信息表(SurveyInfo) "字段名 "描述 "数据类型及要求 "数据举例 " "QID "投票问题编号 "Int(6) "081205 " "UID "发起投票问题的用"Int(6) "081205 " " "户编号 " " " "CID "本问题所属分类 " " " "Question "投票问题 "Varchar(400) "你最喜欢的篮球明" " " " "星 " "IsCheck "本问题是否通过管"Bit(1:OK;0:N"OK " " "理员认证 "O) " " "totalChk "总票数 "Int(6) "20 " "Option1 "问题选项1 "Varchar(100) " 姚明 " "Option2 "问题选项2 "Varchar(100) " 科比 " "Option3 "问题选项3 "Varchar(100) " 韦德 " "Option4 "问题选项4 "Varchar(100) " 保罗 " "Option5 "问题选项5 "Varchar(100) " " "Option6 "问题选项6 "Varchar(100) " " "Option7 "问题选项7 "Varchar(100) " " "Option8 "问题选项8 "Varchar(100) " " "Option9 "问题选项9 "Varchar(100) " " "Option10 "问题选项10 "Varchar(100) " " 三、投票过的问题表(chkInfo) "字段名 "描述 "数据类型及要求 "数据举例 " "QID "投票问题编号 "Int(6) "081234 " "QUID "对此问题过投票的"Int(6) "081234 " " "用户编号 " " " "ChkOption "选择的选项 "Char(2);(A、"C " " " "B、C、D选其一) " " "Account "投票理由 "Varchar(500) "姚明是中国人,支" " " " "持China就选他~ " 四、投票问题分类表(Class) "字段名 "描述 "数据类型及要求 "数据举例 " "CID "分类编号 "Int(2) "1 " "class "类别名称 "Varchar(20) "明星娱乐 " 各功能模块要用到的检索语句 调查分类: 投票类别表(class)的类别名称(class)字段 sql="select class from Class" 最受关注TOP10: 最受关注的即为投票信息表( SurveyInfo )总票数( totalChk )最大的前十个问题 sql="select top 10 * from SurveyInfo order by totalChk desc" 热门投票: 热门投票即为投票信息表( SurveyInfo )总票数( totalChk )最大的前十个问题 sql="select top 5 * from SurveyInfo order by totalChk desc" 最新投票: 最新投票即为投票信息表( SurveyInfo )里问题编号(QID)最大的前5个问题 sql="select top 5 * from SurveyInfo order by QID desc" 最新注册用户: 最新用户即为用户信息表( userInfo )内用户编号(UID)最大的几个 sql="select top 5 * from userInfo order by UID desc" ----------------------- 投票网——数据库详细设计全文共
投票网的数据库详细设计涉及到四个核心表格,分别是用户信息表(userInfo)、发起投票信息表(SurveyInfo)、投票过的问题表(chkInfo)以及投票问题分类表(Class)。这些表格共同构建了一个完整的投票系统数据架构。
1. 用户信息表(userInfo):
- UID:会员号,用于唯一标识用户,数据类型为Int(6),如081234。
- Password:用户密码,存储为Varchar(8),保证一定的安全性。
- PwdQuestion和Answer:密码保护问题和答案,用于账户安全,都是Varchar(100)。
- Name、Sex、Age、Profession、Native place和Hobby:分别存储姓名、性别、年龄、职业、籍贯和业余爱好,数据类型为Varchar。
- PetName:昵称,同样为Varchar(20)。
2. 发起投票信息表(SurveyInfo):
- QID:投票问题编号,用于唯一标识投票问题,Int(6)。
- UID:发起投票的用户编号,关联到userInfo表。
- CID:投票问题所属的分类编号,关联到Class表。
- Question:投票问题的具体内容,Varchar(400)。
- IsCheck:管理员认证状态,使用Bit(1表示已认证,0未认证)。
- totalChk:总票数,Int(6),用于统计投票数量。
- Option1-Option10:投票选项,最多10个,每个Varchar(100)。
3. 投票过的问题表(chkInfo):
- QID:投票问题编号,与SurveyInfo表关联。
- QUID:对此问题投票的用户编号,关联到userInfo表。
- ChkOption:用户选择的选项,Char(2),如A、B、C或D。
- Account:投票理由,Varchar(500),记录用户投票的原因。
4. 投票问题分类表(Class):
- CID:分类编号,Int(2),用于标识投票问题的类别。
- class:类别名称,如明星娱乐,Varchar(20)。
查询语句示例:
- 调查分类:显示所有投票类别,SQL为"select class from Class"。
- 最受关注TOP10:展示总票数最多的10个问题,SQL为"select top 10 * from SurveyInfo order by totalChk desc"。
- 热门投票:与最受关注类似,但仅显示前5个,SQL为"select top 5 * from SurveyInfo order by totalChk desc"。
- 最新投票:显示最新的5个投票问题,SQL为"select top 5 * from SurveyInfo order by QID desc"。
- 最新注册用户:展示最近注册的5位用户,SQL为"select top 5 * from userInfo order by UID desc"。
这些表格和查询语句设计确保了投票系统的数据完整性、安全性以及高效的数据检索功能,使得用户可以方便地参与投票、查看结果,并且系统管理员可以有效地管理投票内容和用户。