当前位置:首页 > 日记 > 正文

如何使用5星级数据库表结构更有效地使用

如何使用5星级数据库表结构更有效地使用
产品数据库设计时,经常遇到5星级评价。如何设计数据表以保证查询效率,减少数据冗余

初步设计思路如下。请改正。

第一,最终效果,
二、表结构
复制代码代码如下所示:
如果不存在,创建表(书)
` ID ` int(8)不为空auto_increment,
`标题` varchar(50)不为空,
` vote_1 ` int(8)符号的非空,
` vote_2 ` int(8)符号的非空,
` vote_3 ` int(8)符号的非空,
` vote_4 ` int(8)符号的非空,
` vote_5 ` int(8)符号的非空,
` avgrate ` int(8)符号的非空,
` amountofvotes ` int(8)符号的非空,
主键(id)
auto_increment = 1);

如果不存在,创建表(用户)
` ID ` int(8)不为空auto_increment,
`用户名` varchar(20)不为空,
主键(id)
auto_increment = 1);

如果不存在,创建表(投票)
` UID ` int(8)符号的非空,
投标int(8)无符号不空,
投票int(1)不为空,
PRIMARY KEY (`bid`, `uid`)
);

三,设计理念

数据表分为两部分。

1、第一部分、表票。其中,UID投标是建立的关键,它防止用户多次投票。

查询时,您可以使用它。
复制代码代码如下所示:
平均得分:从投票中选择AVG(投票);

评价总数:select count(UID)从选票在招标投标= $;

如果有时间对需求进行排序,您可以添加一个时间戳字段。

2部分,第二部分,冗余部分。

vote_1到vote_5,只记录每级,和得分+ 1;

avgrate记录的平均得分;
amountofvotes记录总得分;

在这avgrate和AmountOfVotes是通过计算来得到vote_1 vote_5,这减少了大量的反对票查询表。

如果您与评论合作,您可以在评论中添加一个关联。
复制代码代码如下所示:
如果不存在,创建表(注释)
` ID ` int(11)符号的非空auto_increment,
` rating_id ` int(11)符号的非空值0,
主键(id)


四,继续优化问题思考

投票表中的数据量是书中数据量的N倍,这种设计也方便了投票表,不影响快速查询。

相关文章

使用快捷windows7安装字体以节省空

使用快捷windows7安装字体以节省空

安装,空间,字体,节省,快捷,点评:在XP中,Vista为了节省空间来驱动,通常当我们安装字体快捷键来安装字体时,这里是安装步骤,有需要的朋友可以参考一下。 XP之前,Vista为了节省空间来驱动,通常当我们安装字体快捷键来安装字体时: 输入控制面板,点字体,…

如何配置Outlook日历

如何配置Outlook日历

配置,日历,电脑软件,Outlook,核心提示:注册表提供了详细的信息在以下项目:Outlook配置hkey_current_user 软件微软办公室 9 观选项日历… 注册表提供了以下项目中Outlook配置的详细信息: hkey_current_user 软件微软办公室 9 观选项日历 可…

MySQL中按组与按序的区别

MySQL中按组与按序的区别

按序,区别,电脑软件,MySQL,中按组,通过理解英语中的行类型,默认值是升序。在顺序之后,必须列出排序字段的名称,这可以是许多字段名。 按组理解英语是一个组,必须使用一个聚合函数,至少需要一个分组标志字段。 什么是聚合函数 总和()、计数()、AVG()等…

快速interchangeoverWord表格的两

快速interchangeoverWord表格的两

数据,两排,表格,快速,电脑软件,核心提示:对齐= 'center>常用办公软件的人可能会遇到需要两相邻的字行之间的数据交换。怎样使它最方便您仍然喜欢我们通常在Word文件的相应位置中首先插入新的空行和…经常使用office软件的人可能遇到了需要…

XP系统中屏蔽ESC键序列的方法

XP系统中屏蔽ESC键序列的方法

屏蔽,方法,系统,序列,电脑软件,点评:如何在Windows XP CTRL+ALT+DEL组合键屏蔽,即任务管理器,任务切换组合键(Alt + Tab),任务栏和开始菜单Ctrl + Esc,vk_lwin,vk_rwin。 对于那些已经用过,几乎没有人不知道CTRL+ALT+DEL组合键,尤其是当使用频繁崩溃…

Oracle快速删除重复记录

Oracle快速删除重复记录

删除,快速,电脑软件,Oracle,你正在学习的Oracle课程是:Oracle快速删除重复记录。当做一个项目时,当一个同事引导数据时,他意外地将所有数据从表中取出。也就是说,表中的所有记录都是重复的,这个表的数据是一千万,是一个生产系统,也就是说,你不能删…

通过菜单编辑器提高搜索功能

通过菜单编辑器提高搜索功能

编辑器,菜单,搜索功能,电脑软件,注释:我们非常习惯于使用开始菜单中的搜索功能来搜索我们想要的文件,但是这个函数也有一些限制,例如,在这里很难找到一些安装软件。 人们相信,当开始寻找程序或软件时,很多人已经习惯了在开始菜单中的搜索功能。单…

方法单词的部首输入法

方法单词的部首输入法

输入法,方法,部首,单词,电脑软件,问题:如何在单词中输入部首 答:插入符号在下拉菜单中找到的子集;CJK统一汉字;如果你不能打基,你也可以找到部首补充看到输入法的使用,你可以。…

什么过程是dxdebugservice.exe过程

什么过程是dxdebugservice.exe过程

过程,电脑软件,dxdebugservice,exe,点评:DxDebugService.exe是微软微软DirectX SDK开发包相关程序调试的调试与开发 进程文件:dxdebugservice或dxdebugservice.exe 进程名称:DirectX调试服务 过程类别:安全风险的过程 英文描述: dxdebugservic…

spoolsv.exe过程的到底是什么

spoolsv.exe过程的到底是什么

到底是什么,过程,电脑软件,spoolsv,exe,评论:对spoolsv.exe系统工艺介绍 进程文件:spoolsv或spoolsv.exe 进程名称:打印机后台程序服务 描述:Windows打印任务控制程序用于打印机准备好。 U3000 简介:该服务是打印和传真工作在缓冲池的管理。 sp…

win7开始菜单的搜索应用技术图

win7开始菜单的搜索应用技术图

开始菜单,应用技术,搜索,电脑软件,点评:当你需要无数的文件,快速找到文件,搜索功能自然是必不可少的,在Windows7在开始菜单可以快速查找具体技巧的运用,那么所有的细节,这一功能 如今,计算机硬盘文件存储越来越大,越来越多,在无数的文件,快速的找到你…

更改MySQL数据库存储位置的具体步

更改MySQL数据库存储位置的具体步

数据库,存储位置,具体步骤,电脑软件,MySQL,首先,停止MySQL的服务。 两。在MySQL的配置文件的数据库存储的主路径的变化My.ini 打开C:程序文件 MySQL MySQL服务器MySQL的安装文件夹,默认情况下5.1在my.ini文件,在记事本上点击编辑,搜索,找到下一…