数据库课程设计-快餐店的网上订餐_第1页
数据库课程设计-快餐店的网上订餐_第2页
数据库课程设计-快餐店的网上订餐_第3页
数据库课程设计-快餐店的网上订餐_第4页
数据库课程设计-快餐店的网上订餐_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通过一个快餐店的网上订餐业务实例,重点介绍数据库设计。一、需求分析

通过调查、收集与分析,获得用户对数据库系统的如下需求:功能需求(处理要求):即用户需要系统具有什么处理功能。2.数据库建库需求(信息要求、安全性与完整性要求):即在数据库中需要存储那些数据、数据的可靠性等。

功能需求(选择不同的开发工具及语言,略)

根据需求分析,系统应具有如下功能:登录功能;更改密码功能;查询功能;按价格查询、按菜名查询、按推荐指数查询。统计功能;按时间统计经营额、订餐数量。订餐功能;退餐功能;留言板功能;广告板功能;帮助功能;幻灯片37

数据库建库需求根据需求分析,得知在数据库中需要存储那些数据。系统涉及的数据主要有:顾客的信息、菜式的信息、价格信息、营业额信息、厨师信息、送餐员的信息和订单的信息等等。要求:

a.数据库应具有安全性。不同的用户应具有不同的使用权限,并具有各自的用户帐号和密码等。

b.数据库应具有完整性。对数据库的数据进行各种操作后,数据库的数据应保持正确有效性。

二、数据库的概念结构设计

将用户对数据的需求抽象为概念模型的过程

1、概念结构设计的步骤数据的流向和对数据进行的加工。包括数据项、数据结构、数据流、数据存储和处理过程。2、局部E-R图设计设计分E-R图选择局部应用(在网上订餐业务中选择一个适当的功能,作为分E-R图的出发点)①作为“属性”不能再具有需要描逐一设计分E-R图述的性质

②“属性”不能与其他实体具有联系

确定局部应用中的实体,实体的属性、码及实体间的联系。地址省市名街道街道名门牌号有的事物有时可定义为实体也可定义为属性

在网上订餐业务中选择订餐功能,作为分E-R图的出发点。订餐功能涉及的数据主要有:顾客的信息、菜式的信息、送餐员的信息和订单的信息等。订餐功能与分E-R图

根据分析得到以下业务规则:一个顾客可以有多个订单,一个订单只能由一个顾客来下;一个订单只能由一个员工来送餐,一个员工可以同时送多份订单;一个订单中可以有多种菜式,一种菜式可以被多个订单订购。由此可得概念模型,概念模型(E-R图)中应具有顾客、订单、员工、菜式这四个实体。它们之间的联系如下图。

根据以上业务规则可以画出系统分E-R图幻灯片17

幻灯片18

顾客订单员工菜式下订单送餐订购1NNNN1基数Inarelationdatabase,thenumberoftuplesinarelation.关系数据库中,一个关系的元组数目。(,N)(,1)(,N)(,1)(,N)(,N)将属性加入分E-R图顾客订单员工菜式下订单送餐订购顾客号顾客名地址电话订单号是否送餐数量员工号员工名地址电话时间菜式号菜式名价格其它信息1NNNN13、分E-R图的集成与设计订餐功能分E-R图类似,逐一设计系统其它功能的分E-R图,然后将他们集成为系统总E-R图。分E-R图的集成的方法

a.多个分E-R图一次集成

b.逐步集成无论是哪种方式一般分两步走:1.合并属性冲突属性值的类型,取值范围等

单位解决冲突命名冲突同名异义

异义同名

结构冲突同一对象有的当作实体,有的作属性同一实体

新包含的属性个数不同

实体间的联系,有多对多联系,也有一对多2.消除不必要的冗余,设计基本E-R图

P182例6.8三、数据库逻辑结构的设计

将E-R图转换为DBMS支持的逻辑结构E-R图向关系模型的转换

将实体、实体的属性和实体之间的联系转换关系模式(表)。关系、层次和网状转换原则:1.一个实体型转换为一个关系模式。实体的属性、码就是关系的属性、码。2.一个1∶1的联系可以转换为一个关系模式,也可以与任意端对应的关系合并。3.一个1∶n联系可以转换为一个独立的关系,也可与n端对应的关系合并。4.一个m∶n联系转换为一个关系模式5.三个或三个以上实体间的一个多元联系可以转换为一个关系。

幻灯片18

顾客订单员工菜式下订单送餐订购1NNNN1基数Inarelationdatabase,thenumberoftuplesinarelation.关系数据库中,一个关系的元组数目。(,N)(,1)(,N)(,1)(,N)(,N)将四个实体转换为四张表:顾客(customers),订单(orders),菜式(goods)和员工(staffs);将两个1:n的联系合并到orders表中。将一个n:n的联系转换为一张表(order-goods)。共五张表:Customers(cid,cname,cadd,Tel);Orders(oid,cid,sid,delivery);staffs(sid,sname,sadd,Tel);Goods(gid,gname,price,inf);order-goods(oid,

gid,

qty,time).幻灯片12将四个实体转换为四张表:顾客(customers),订单(orders),菜式(goods)和员工(staffs);将三个联系转换为一张表(order-goods)。共五张表:Customers(cid,cname,cadd,Tel);Orders(oid,delivery);Goods(gid,gname,price,inf);staffs(sid,sname,sadd,Tel);order-goods(cid,oid,gid,sid,qty,time).幻灯片12也可四、数据模型的优化

根据应用需要适当地修改、调整数据模型的结构方法:(以规范化理论为指导)1.确定数据依赖;2.

清除冗余的联系;3.考察关系中是否存在部分函数依赖,传递函数依赖,确定属于第几范式;4.确定是否对某些模式进行合并或分解;5.对关系进行必要的分解,提高数据操作的效率和存储空间的利用率。五、设计用户子模式

DBMS提供了视图(View)概念,利用此功能设计用户需要的外模式。(1.)使用符合用户习惯的列名。在合并分E-R图时,使命名统一,使同一关系和属性具有唯一的名字,但在视图中可以定义用户习惯的列名。(2.)对不同级别的用户定义不同的View,以保证系统安全性

如:一般顾客视图:

Goods(gid,gname,price);

销售部门视图:

Goods1(gid,gname,price,inf);(3.)简化用户对系统的使用(将复杂的多表查询定义为单个视图)例:教师可用班主任、导师等。Createviewv_sasselect教师

as班主任froms;六、数据库物理设计分两步:(1)确定物理结构存取方法

存储结构(2)对物理结构评价B+树索引聚簇HASH存放位置(如:放在几个磁盘上)系统配置指逻辑结构在物理上是如何实现的时间空间效率索引若要查找一个数据库文件中的数据,必须把它从硬盘上搬入内存(计算机的I/O操作是最耗时的)。如果这个文件很大,而要找的数据有很少,这样的查找是很费时、很不合算得的。这时,如果在要查找的数据项(字段)上建立索引,则会大大减少查找时间。例如,若要查找数据文件Employee中的Lastname和Firstname

就可以在Lastname字段上建立索引,索引文件中只有lastname和指针,它的数据结构是B+树结构(加快索引文件本身的查找)。查找时先在索引文件中找到标识,再到磁盘的数据文件中存取相应的记录,而不需将整个文件搬入内存(将在查询优化中计算耗时),从而减少查询时间。

链接Chaper14-D-Organizingrecords-AnimationCreateclusteredindexindstuonstudent(namedesc)

student表中的记录将按照name值的降序排列。ascendingdescendingAmyAnnDotEvaGuyJanJimJonKayKimRonRoyTimTomJimDotRonAmyGuyKayTimAnnEvaJanJonKimRoyTom顺序存储:索引文件是B+树结构。因此,可以加快索引文件本身的查找。为了简便起见看二叉树结构():小结:数据库设计分为6个阶段:1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论