在线订餐系统的ER图与逻辑图文档格式.docx
《在线订餐系统的ER图与逻辑图文档格式.docx》由会员分享,可在线阅读,更多相关《在线订餐系统的ER图与逻辑图文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
其中,在个菜品管理中可以对菜品信息进行添加、修改和查询操作;
在订单管理中可以通过未确认、已确认、已下单三种形式进行管理、也可查看所有订单信息;
会员信息管理中,可以添加会员信息和修改会员信息,进而方便顾客网上订购美食,并享有优惠,这一做法人性化的完成网站的推广,避免了顾客的抵触情绪。
1.4性能需求分析
该系统在性能功能上应达到如下需求:
◆操作简单、界面友好:
完全控件式的页面布局,使得菜品,资讯,座位等信息的录入工作更简便,许多选项包括餐厅信息,桌位,包房信息等只需要点击鼠标就可以完成;
另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。
对常见的类似网站的管理的各个方面:
基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;
◆即时可见:
对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;
◆系统运行应该快速、稳定、高效和可靠;
◆在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
1.5可行性分析
随着经济的快速发展,B2C电子商务越来越受到人们的关注。
网上订餐类网站,已经如雨后春笋般的出现在了个大城市。
特别在公司,企业内部,团体订餐已经成为了趋势。
同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。
而当代大学生,白领工作人士作为社会中的重要群体,他们对饮食的要求都在不断提高,饮食在他们生活中起着重要作用。
因此,面向大学生和都市白领人士的网络订餐网站的设计有着良好的现实意义。
1.6总体设计原则
1、开放性、可扩充性、可靠性原则
开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。
开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。
从而适应广大用户需求的多变性和产品的更新换代。
2、良好的用户操作界面
用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。
3、实用性原则
任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。
4、工作平台设计原则
能适应不同的操作平台,不同的网络。
第二章概念结构设计阶段
2.1系统E-R图
通过上面的介绍,我们已近基本的实体有管理员、用户、订单和菜谱。
实体之间有一个管理员可以有拥有多个用户、多个菜谱的管理关系,因此管理员与用户之间和菜单之间都是一对多的联系;
一个用户只能属于管理员,因此用户与管理员是多对一的联系;
一个订单只属于一个用户,但可以拥有多个菜谱,因此订单与菜谱的关系是一对多的联系。
据此分析,得到系统的ER图如图2-1所示。
图2-1网上订餐系统E-R图
2.2数据流图
图2-2订餐系统网上订餐数据流图
2.3数据字典
2.3.1数据项
数据项编号
数据项名
数据项含义说明
数据类型
长度
DI-0
用户编号
用户的唯一标识
int
DI-1
用户名
用户登陆时的名称
char
17
DI-2
用户密码
用户登陆时的密码
DI-3
用户姓名
用户的真实姓名
20
DI-4
用户性别
用户的性别
2
DI-5
用户手机
用户的联系电话
40
DI-6
用户固定电话
DI-7
用户地址
用户的送货地址
100
DI-8
用户邮箱
用户的个人邮箱
50
DI-9
用户年龄
用户的真实年龄
DI-10
用户生日
用户的出生日期
date
DI-11
餐馆编号
餐馆的唯一标识
DI-12
餐馆名称
餐馆的全称
DI-13
餐馆地址
餐馆的详细地址
DI-14
餐馆电话
餐馆的联系电话
DI-15
餐馆联系人
餐馆联系人的姓名
DI-16
菜品编号
菜品的唯一标识
DI-17
菜名名称
菜品的名称
DI-18
菜品类别
菜品所属的类别名称
DI-19
菜品类别编号
菜品类别的唯一标识
DI-20
菜品价格
菜品的单价
float
DI-21
菜品折扣
菜品的折扣率
DI-22
菜品份数
菜品的份数
DI-23
订单编号
订单的唯一标识
DI-24
订单日期
订单产生的日期
DI-25
订单总额
订单所有菜品的总额
DI-26
送餐编号
送餐的唯一标识
DI-27
送餐地址
送餐的详细地址
DI-28
送餐日期
送餐的日期
DI-29
送餐员名称
送餐员的真实姓名
DI-30
送餐员电话
送餐员的联系电话
DI-31
省份编号
省份的唯一标识
DI-32
省份名称
省份的名称
DI-33
城市编号
城市的唯一标识
DI-34
城市名称
城市的名称
2.3.2数据结构
数据结构编号
数据结构名
含义说明
组成
DS-1
Class
菜品分类信息
DI-18,DI-19
DS-2
User
用户信息
DI-0至DI-10
DS-3
Restaurant
餐馆信息
DI-11至DI-15
DS-4
Meal
菜品信息
DI-16至DI-22
DS-5
Order
订单信息
DI-23、DI-24、DI-25、DI-27、DI-0
DS-6
DeliveryNote
送餐信息
DI-26至DI-30,DI-1、DI-14、DI-15
2.3.3处理过程
处理过程编号
处理过程名
说明
输入
输出
处理
P-1
注册
所有用户
用户详细信息
注册成功信息或失败信息
成功:
跳转到登陆页面
失败:
重新注册
P-2
登录
用户名和密码
登陆成功信息或失败信息
跳转到首页
重新登陆
P-3
修改账号
已经登陆的用户
原用户名、新的用户名、确认新用户名、密码
修改成功或失败信息
修改数据库信息
P-4
修改密码
原来的密码、新的密码、确认新密码
P-5
修改常用收货信息
新的收货地址、
新的联系方式
P-6
添加收获信息
新的收货信息
P-7
修改用户信息
P-8
添加到购物车
将用户所选的菜品添加到购物车
P-9
修改购物车
修改购物车信息
P-10
下订单
已登录用户
根据购物车和用户信息自动生成订单
P-11
查看并确认订单
P-12
提交订单
订餐成功信息
P-13
接收订单
客服人员
将订单信息传送给相关工作人员
P-14
信息检索
要检索的内容
检索信息内容
P-15
发布信息
要发布的信息
P-16
系统维护
管理员
P-17
信息更新
需要更新的信息
P-18
用户投诉与评价
已登录的用户
投诉/评价内容
第三章数据库逻辑结构设计阶段
3.1数据库逻辑模式初步构思
根据ER图转换成基本表的思想,即每个实体转换成基本表,而1对多的联系根据实际需要可以转换或不转换为基本表,按照图2-1所示的ER图,该系统的基本表应为5个,分别为:
表3-1管理员表
管理员编号
姓名
密码
登陆IP
最后登录时间
主码
表3-2用户表
地址
手机
注册时间
表3-3订单表
手机号
总金额
下单时间
订单状态
订单改变时间
备注
会员编号
外码
表3-4菜谱表
编号
菜名
原价
优惠价
菜名的介绍
图片
创建时间
表3-5订单项表
订单项编号
状态
3.2具体逻辑模式设计
表的具体结构
表名
字段名
字段类型
关键字
约束说明
菜谱信息
菜谱编号
10个字符
是
20个字符
不允许空值
菜名介绍
50个字符
管理员信息
管理员密码
登录IP
15个字符
参照用户信息表的用户编号,不允许空值
订单项信息
参照订单信息表的订单编号,不允许空值
第四章数据库的物理结构设计
4.1设计表间关系
在网上订餐系统中,存在着参照关系和被参照关系。
用户信息表参照关系
王丽萍
山东济南
李杜娟
江西南昌
黄大洲
广东佛山
张子将
湖南长沙
外部关键字
主关键字
订单信息表被参照关系
28.00
122311:
23
等待付款
42.00
122314:
42
货到付款
13.00
122315:
33
已付款
25.00
122317:
52
图4-1参照关系与被参照关系
4.2完整性设计
关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。
主要字段完整性的字段名、完整性约束条件指的是实体完整性。
其中实体完整性的规则如下:
1.实体完整性规则是针对关系而言的,而关系则对应一个现实世界中的实体集。
2.现实世界中的实体是可区分的,它们具有某种标识特征;
相应地,关系中的元组也是可区分的,在关系中用主关键字作唯一性标识。
3.主关键字中的属性,即主属性不能取空值。
在网上订餐系统中,管理员表(管理员编号,名称,密码,登陆IP,最后登录时间)中,管理员编号是主关键字,不可以取空值;
用户表(用户编号,姓名,地址,手机,注册时间)中,用户编号是主关键字,不可以取空值;
订单表(订单编号,手机号,地址,总金额,下单时间,订单状态,订单改变时间,备注,会员编号)中,订单编号是主关键字,不可以取空值;
菜谱表(菜谱编号,菜名,原价,优惠价,菜名的介绍,图片,创建时间)中,菜谱编号是主关键字,不可以取空值;
订单项表(订单项编号,订单编号,姓名,状态)中,订单项编号是主关键字,不可以取空值。
除了实体完整性之外还有其他与应用密切相关的数据完整性约束,例如某个属性的值必须唯一,某个属性的取值必须在某个范围内,某些属性值之间应该满足一定的函数关系等。
类似这些方面的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求提出来的,这些完整性需求需要用户来定义,所以称为用户定义完整性。
数据库管理系统需提供定义这些数据完整性的功能和手段,以便统一进行处理和检查,而不是由应用程序去实现这些功能。
在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,这包括说明属性的数据类型、精度、取值范围、是否允许空值等。
在网上订餐系统中,订单信息表中的订单编号不允许为空值,用户表中的用户编号为唯一值都是用了用户定义完整性约束。
现实世界中的实体之间存在着某种联系,而在关系模型中实体是用关系描述的,实体之间的联系也是用关系描述的,这样就自然存在着关系和关系之间的参照或引用。
网上订餐系统参照完整性表如下:
用户信息表
n:
n
n:
订单信息表
订单项信息表
图4-2说明关联和参照关
第5章数据库系统的实现
5.1数据库的建立
启动服务管理器,打开查询分析器,在调试程序窗口输入下列语句:
Createdatabase网上订餐系统
On
(name=网上订餐系统_dat,
Filename='
d:
\programfiles\lzysql\网上订餐系统_dat.mdf'
Size=5mb
Maxsize=100mb,
Filegrowth=5mb)
Logon
(name=网上订餐系统_log,
\programfiles\lzysql\网上订餐系统_log.ldf'
5.2数据载入
在网上订餐系统数据库中分别新建菜谱信息表、用户信息表、管理员信息表、订单信息表、订单项信息表,再陆续载入数据:
菜谱信息表的数据:
用户信息表的数据:
管理员信息表的数据
订单信息表的数据:
订单项信息表的数据:
第6章
数据库系统的运行和维护
作为网管员,无论其管理的网络的规模是大还是小,在日常的管理中除了维护网络平稳运行、及时排除网络故障、保护网络安全等工作以外,备份网络中关键数据也是其中的一个非常非常重要的工作环节。
网络中的各种故障无非就分两种:
软件故障和硬件故障。
对于“硬件故障”可以通过维修或更换硬件设备得到及时解决;
对于“软件故障”则可以通过重新安装或升级软件、重做网络或应用软件系统等方法及时解决,而且用此方法来解决网络故障大多需要一些基础的、关键的数据支持才能得以恢复正常。
但是,网络中诸如此类的关键数据(特别是“应用软件系统”中的关键数据)的损坏或丢失,绝大部分是无法恢复和弥补的。
6.1定义并设置备份策略:
1.每周1次完全备份,周日晚0点。
超过4周清空之前的备份。
2.每天1次差异备份,每天0点。
超过1周清空之前的备份。
3.每2小时一次日志备份,超过1天清空之前的备份。
6.2启用维护计划任务
在“管理”->
“数据库维护计划”上右键弹出菜单,选“新建维护计划”。
如图6-2-1所示。
设置数据库维护计划名,并完成向导如图6-2-2所示。
图6-2-1新建数据库维护计划
图6-2-2完成建数据库维护计划
第7章
报告总结
实践出真知。
这句话说得一点也没错,在整个数据库课程设计过程中,只有实践才能对事物的本质有更深的认识,才能有发言权,一切认识都是建立在认识的基础上。
通过了一个星期的数据课程设计,我对数据库这门课程有了更深的认识,对原本在我脑中像是火星语的SQL语言有了更加具体的认识。
数据库课程设计加深了我对数据库这门课程的兴趣,让我深刻了解了数据库的强大功能,引起我对研究SQL语言运用规则的兴趣。
数据库概念设计、数据库逻辑结构设计和数据库保护设计是数据库设计的重要步骤,每一步的设计都是至关重要的,并且是相互联系的。
经过一个星期的课程设计,让我对E-R图的设计有一个整体的想法,并且对逻辑结构设计中关键字的设定能够很好的把握,分析每个表中的联系,更加注意表间和数据之间的相互约束。
课程设计一个重要的过程就是在SeverSQL2000上操作运行,这是运用实践去检验认识的一个过程,在这个过程中我学会了灵活运用SQL语言。
总之,数据库课程设计一个很好地运用实践去发现认识的过程。
数据库课程设计不仅让我更进一步了解了数据库这门课程,而且让我在做事方面也形成了一套很好的想法。
我在做事方面学会了坚持、合作、对待问题不断充满疑问和要有耐心去解决问题,更要和同学们交流,对不懂的问题也不耻下问。
从课程设计中最深的还是做事要坚持和要有耐心。
在运用ServerSQL2000设计数据库的过程中,会不断遇到种种问题,而且每个问题都会与上下步骤之间都会有联系,一个问题的不解可能会导致下一个问题的无法操作,所以我们要有耐心找出问题,分析原因,然后再解决问题,不要半途而废,要坚持下去,这样才能在学习上有所突破。
数据库课程设计目的在于通过对一个实际问题的分析,设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力,使学生能深入理解和灵活掌握教学内容:
另一方面,可以很好培养学生的处事能力。
总之,虽然在备战期末考试期间,为了做这个课程设计花了很多的时间,却让我感受到了要将书上的理论应用到实践绝对不只是停滞在课堂上的。
一次实践可以让我看到自己的欠缺,同时也巩固了课堂上掌握的知识点。