数据库的关系理论-一个数据库设计的问题

问题描述

一个数据库设计的问题

是这样的要开发一个在线订餐的网站,跟淘宝的方式差不多,饭店在线注册后就可以在网站上接受在线订餐,用户可以根据自己所在区域选择较近的饭店进行订餐 ,这样一来数据库设计的时候 就出了一个问题
每家饭店的菜品不一定一样
有些菜品一样比如都是是鱼香肉丝价格会有差异
这个菜品表要怎么设计按照原来设计
菜品表(主键,名称,规格,价格,图品地址,外键【所属饭店】)
这样设计的话如果一道菜出现在两家或两家以上的饭店切价格规格都相同数据就产生冗余了
是对应每家饭店自动生成含有相同字段的表还是有其他更好的办法?

解决方案

不要怕冗余,完全没有冗余的数据库设计很难的,这样设计表以后,查询以及别的更新逻辑很容易实现,不要单单考虑数据冗余这一个方面,整个的逻辑也是需要考虑的

解决方案二:

可以拆表。

菜品信息表: 主键(菜品编号) 菜品名称 图片

菜品-饭店价格信息表:

主键 菜品编号 饭店编号 价格 规格

饭店信息表:主键 饭店编号 ……

时间: 2024-08-02 13:30:40

数据库的关系理论-一个数据库设计的问题的相关文章

数据库的关系理论-关于数据库模式集的题

问题描述 关于数据库模式集的题 希望大家帮我解答一下!万分感谢! 解决方案 问题一:这张表的每列都是不可再分的最小数据单元,则满足第一范式,因为存在传递依赖所以不属于2NF.所以这个表一定是第一范式. 问题二:Student表的主键是sno,2,4依赖关系说明sno->sdeptname->sloc,说明存在传递依赖,那么slo字段需要剔除. sno,cno->score说明score字段与主键sno没有直接依赖关系,它还依赖非主键cno,所以需要剔除.分解成3NF可以拆成下面三个表.

oracle 数据库复制到另一个数据库中

问题描述 oracle 数据库复制到另一个数据库中 现有oracle数据库test,要求将test中数据复制一份到test1,请问需要怎么操作,需要数据全部都在 解决方案 数据库导出,再导入test1 就行了 解决方案二: 数据库可视化工具 里面都有复制数据库的功能吧 实在不行 你可以导出表数据 再导入到新库里 解决方案三: 工具里面有导出表,然后在导进去好了 解决方案四: 网上搜一下用数据泵导出数据库 解决方案五: 可视化的工具可以直接进行复制吧.例如:Navicat for Oracle 解

图文教程mssqlserver数据库导出到另外一个数据库的方法_MsSql

下文通过图文并茂的方式给大家介绍mssqlserver数据库导出到另外一个数据库的方法,具体详情请看下文. 1.准备源数据库,找到想要导出的数据库,右键选择"任务"再选择"导出数据" 2.设置源数据库信息   3.设置目标数据库,导出到的数据库信息  4.设置要复制的数据 这里有两大类,一是直接复制某些表,二是根据sql查询出的指定数据 复制某些表的话选择第一项,之后选择要复制的表,选择之后点击"完成"按钮即可开始复制数据从源数据库到目标数据库

mysql将数据库中表导入另一个数据库

mysql将数据库中表导入另一个数据库 1.先备份 mysqldump -uxxxx -pxxxx --opt dbname tablename > filename.sql 2.拷贝备份出来的文件filename.sql到目的机器 3.导入数据(覆盖) mysql -uxxxx -pxxxx dbname < filename.sql

图文教程mssqlserver数据库导出到另外一个数据库的方法

下文通过图文并茂的方式给大家介绍mssqlserver数据库导出到另外一个数据库的方法,具体详情请看下文. 1.准备源数据库,找到想要导出的数据库,右键选择"任务"再选择"导出数据" 2.设置源数据库信息 3.设置目标数据库,导出到的数据库信息 4.设置要复制的数据 这里有两大类,一是直接复制某些表,二是根据sql查询出的指定数据 复制某些表的话选择第一项,之后选择要复制的表,选择之后点击"完成"按钮即可开始复制数据从源数据库到目标数据库 选择第

数据库的关系理论-关于一个古代一夫多妻制的问题。

问题描述 关于一个古代一夫多妻制的问题. 一个丈夫对应多个妻子,一个妻子对应一个丈夫.请问妻子和丈夫的关系是什么?数据库的关系一对多,一对一,多对多.到底怎么解释这件事. 解决方案 一对多:一个丈夫有多个妻子,每一个妻子只能有一个丈夫. 一对一:一个丈夫只能有一个妻子,一个妻子只能有一个丈夫. 多对多:丈夫可以有多个妻子,妻子可以有多个丈夫.

数据库的关系理论-数据库技术的三个发展阶段

问题描述 数据库技术的三个发展阶段 数据库技术的三个发展阶段有人工管理阶段,文件系统阶段和数据库系统阶段.我想知道百度搜索引擎是使用哪种方式管理数据库的,求大神解答o(╯□╰)o如果是存放到文件中,然后做分布式存储,数据库也可以做分布式存储啊-- 解决方案 搜索引擎基本不用数据库.起码你也得先听说下倒排索引吧. "数据库技术的三个发展阶段有人工管理阶段,文件系统阶段和数据库系统阶段."你是在大学课本上读到这段话的么? 前两个阶段早就在上个世纪60年代结束了. 我的天,只学一点大学课本上

java如何实现将数据从一个数据库导入到另一个数据库

问题描述 java如何实现将数据从一个数据库(Oracle)导入到另一个数据库(SQL Server),有没有一些工具可以实现这样的功能? 解决方案 最简单就是使用2个datasource,jdbc批量操作,这样做可以转换不同数据库字段类型解决方案二:直接使用存储过程吧...解决方案三:可以使用SQLServer SSIS,可以从一个数据源导数据到另一个数据源,定义好表的映射关系就好了.解决方案四:可以选择ELT工具,比如Kettle蛮好用的,转文本的.xml格式啊都可以

数据库的关系理论-数据库建立问题,请大神相助

问题描述 数据库建立问题,请大神相助 现在再做一个项目中类似qq空间的模块,就是用户可以发表动态,其他用户可以查看评论,发布用户对其他用户的评论进行回复.现在就有三种记录分别为,用户发布的动态,其他用户的评论,用户对评论的回复.我想的是分三个表,一个动态表,dynsmic_id为主键-一个评论表,comment_id为主键,每条评论对应一个动态id,表示属于这个动态的评论-第三个为回复表,reply_id为主键,每条回复对应一个comment_id.请问大神们有木有思路,老师说这个太复杂了.请帮