在线订餐系统的ER图与逻辑图28页精选文档.docx
- 文档编号:29246991
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:23
- 大小:84.26KB
在线订餐系统的ER图与逻辑图28页精选文档.docx
《在线订餐系统的ER图与逻辑图28页精选文档.docx》由会员分享,可在线阅读,更多相关《在线订餐系统的ER图与逻辑图28页精选文档.docx(23页珍藏版)》请在冰豆网上搜索。
在线订餐系统的ER图与逻辑图28页精选文档
N
数据库课程设计
题目:
网上订餐系统数据库设计
院系:
专业:
姓名:
学号:
指导教师:
欧阳柏成
教师职称:
副教授
填写日期:
2015年5月21日
第一章需求分析3
1.1订餐现状分析3
1.2功能需求分析3
1.3建库需求分析3
1.4总体设计原则4
第二章数据库概念结构设计5
2.1局部E-R图5
2.2系统E-R图
2.3数据流图6
2.4数据字典6
2..3.1数据项6
2.3.2数据结构7
2.3.3处理过程7
第三章数据库逻辑结构设计10
3.1数据库逻辑结构初步构思10
3.2具体逻辑结构设计11
第四章数据库的物理结构设计12
4.1表间关系设计12
4.2完整性设计12
第五章数据库系统的实施14
5.1数据库的建立14
5.2数据输入14
第六章数据库运行和维护16
6.1定义并设置备份策略16
6.2启用数据库维护计划任务16
第七章报告总结18
第一章需求分析
1.1订餐现状分析
现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。
例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。
同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。
这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。
1.2功能需求分析
功能需求(处理需求):
即用户需要系统具有什么处理功能。
根据需求分析,系统应具有如下功能:
●登陆功能
●更改密码功能
●查询功能——按价格查询、按菜名查询、按商家查询
●统计功能——按时间统计经营额、订餐数量
●订餐功能
●退餐功能
●留言板功能
●广告版功能
●帮助功能
顾客模块的功能包括个人信息管理,美食选购,美食评价三大功能。
其中,在个人信息管理中可以对个人信息进行修改、还可以查阅以往订过的美食信息;在选购美食中可以通过购物车直接购买的形式、也可已选择货到付款的形式完成交易;美食评价中顾客可以这对这次服务质量,留下自己相对餐厅说的话,完成用户与餐厅之间的交互。
管理员模块的功能包括菜品管理,订单管理,会员信息管理三大功能。
其中,在个菜品管理中可以对菜品信息进行添加、修改和查询操作;在订单管理中可以通过未确认、已确认、已下单三种形式进行管理、也可查看所有订单信息;会员信息管理中,可以添加会员信息和修改会员信息,进而方便顾客网上订购美食,并享有优惠,这一做法人性化的完成网站的推广,避免了顾客的抵触情绪。
1.3功能需求分析
根据需求分析,得知在数据库中需要存储那些数据。
系统涉及的数据主要有:
会员的信息,菜品的信息,价格的信息,营业额信息,订单信息,管理员信息等等。
要求:
a.数据库应具有安全性。
不同的用户应具有不同的使用权限,并具有各自的用户账号和密码等。
b.数据库应具有完整性。
对数据库进行各种操作后,数据库的数据应保持正确的有效性。
1.4总体设计原则
1、开放性、可扩充性、可靠性原则
开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。
开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。
从而适应广大用户需求的多变性和产品的更新换代。
2、良好的用户操作界面
用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。
3、实用性原则
任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。
4、工作平台设计原则
能适应不同的操作平台,不同的网络。
第二章概念结构设计阶段
概念结构是对现实世界的一种抽象。
所谓抽象是对实际的人、物、事、和概念进行人为处理,抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述,这些概念组成了某类型。
一般有三种抽象:
1.分类(Classification)
定义某一类概念作为现实世界中一组对象的类型。
这些对象具有某些共同的特性和行为。
它抽象了对象值和型之间的“ismemberof”的语义。
在E-R模型中,实体型就是这种抽象。
在网上订餐系统中李四是会员,具有会员的特性和行为。
在这个系统中选菜品,订购菜品,评价美食,给商家留言,查看历史订单。
张杰是管理员,具有管理员的特性和行为。
2.聚集(aggregation)
定义某一类型的组成成分。
它抽象了对象内部类型和成分之间“ispartof”语义。
在E-R模型中若干属性的聚集组成了实体型,就是这种抽象如图2.1所示。
概念结构设计的第一步就是利用上面的抽象机制对需求分析阶段收集到的数据进行分类,组织(聚集),形成实体,实体的属性,标识实体的码,确定实体之间的联系类型(1:
1,1:
n,m:
n),设计分E-R图。
具体做法是:
1.选择局部应用
由于订餐系统只做一个系统,顾不考虑。
设计分E-R图的出发点是
2.逐一设计分E-R图
选择好局部应用之后,就要对每个局部应用逐一设计E-R图。
在前面选好的某一层次的数据流图中,每个局部应用都对应了一组数据流图,局部应用设计的数据都已经收集在数据字典中了。
现在就是要这些数据从数据字典中取出来,参照数据流图,标定局部应用中的实体、实体的属性、标识实体之间的联系及其类型。
属性的两条准则:
(1)作为“属性”,不能再具有需要描述的性质。
“属性”必须是不可分的数据项,不能包含其他属性。
(2)“属性”不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。
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
用户密码
用户登陆时的密码
char
17
DI-3
用户姓名
用户的真实姓名
char
20
DI-4
用户性别
用户的性别
char
2
DI-5
用户手机
用户的联系电话
char
40
DI-6
用户固定电话
用户的联系电话
char
40
DI-7
用户地址
用户的送货地址
char
100
DI-8
用户邮箱
用户的个人邮箱
char
50
DI-9
用户年龄
用户的真实年龄
int
DI-10
用户生日
用户的出生日期
date
DI-11
餐馆编号
餐馆的唯一标识
int
DI-12
餐馆名称
餐馆的全称
char
50
DI-13
餐馆地址
餐馆的详细地址
char
100
DI-14
餐馆电话
餐馆的联系电话
char
40
DI-15
餐馆联系人
餐馆联系人的姓名
char
20
DI-16
菜品编号
菜品的唯一标识
int
DI-17
菜名名称
菜品的名称
char
40
DI-18
菜品类别
菜品所属的类别名称
char
20
DI-19
菜品类别编号
菜品类别的唯一标识
int
DI-20
菜品价格
菜品的单价
float
DI-21
菜品折扣
菜品的折扣率
float
DI-22
菜品份数
菜品的份数
int
DI-23
订单编号
订单的唯一标识
int
DI-24
订单日期
订单产生的日期
date
DI-25
订单总额
订单所有菜品的总额
float
DI-26
送餐编号
送餐的唯一标识
int
DI-27
送餐地址
送餐的详细地址
char
100
DI-28
送餐日期
送餐的日期
date
DI-29
送餐员名称
送餐员的真实姓名
char
20
DI-30
送餐员电话
送餐员的联系电话
char
40
DI-31
省份编号
省份的唯一标识
int
DI-32
省份名称
省份的名称
char
20
DI-33
城市编号
城市的唯一标识
int
DI-34
城市名称
城市的名称
char
20
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个字符
不允许空值
原价
20个字符
优惠价
20个字符
菜名介绍
50个字符
图片
创建时间
10个字符
用户信息
用户编号
10个字符
是
姓名
10个字符
地址
50个字符
手机
20个字符
注册时间
10个字符
管理员信息
管理员编号
10个字符
是
姓名
10个字符
管理员密码
10个字符
登录IP
20个字符
最后登录时间
10个字符
订单信息
订单编号
15个字符
是
手机号
20个字符
地址
20个字符
总金额
10个字符
下单时间
10个字符
订单状态
10个字符
订单改变时间
10个字符
备注
50个字符
会员编号
10个字符
参照用户信息表的用户编号,不允许空值
订单项信息
订单项编号
10个字符
是
订单编号
15个字符
参照订单信息表的订单编号,不允许空值
姓名
10个字符
状态
10个字符
第四章数据库的物理结构设计
4.1设计表间关系
在网上订餐系统中,存在着参照关系和被参照关系。
用户信息表参照关系
用户编号
姓名
地址
手机
注册时间
2015010001
王华
贵州贵阳
132********
20140910
2015010002
汪洁
贵州清镇
156********
20141231
2015010003
黄帅
贵州毕节
187********
20130423
2015010004
张涛
湖南长沙
182********
20130814
外部关键字
主关键字
订单信息表被参照关系
订单编号
用户编号
地址
总金额
下单时间
订单状态
订单改变时间
手机
备注
11122301
2015010001
贵州贵阳
28.00
122311:
23
等待付款
132********
11122302
2015010002
贵州清镇
42.00
122314:
42
货到付款
151********
11122303
2015010003
贵州毕节
13.00
122315:
33
已付款
187********
11122304
2015010004
湖南长沙
25.00
122317:
52
货到付款
180********
图4-1参照关系与被参照关系
4.2完整性设计
4.2.1主要字段完整性的字段名、完整性约束条件
关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。
主要字段完整性的字段名、完整性约束条件指的是实体完整性。
其中实体完整性的规则如下:
1.实体完整性规则是针对关系而言的,而关系则对应一个现实世界中的实体集。
2.现实世界中的实体是可区分的,它们具有某种标识特征;相应地,关系中的元组也是可区分的,在关系中用主关键字作唯一性标识。
3.主关键字中的属性,即主属性不能取空值。
在网上订餐系统中,管理员表(管理员编号,名称,密码,登陆IP,最后登录时间)中,管理员编号是主关键字,不可以取空值;用户表(用户编号,姓名,地址,手机,注册时间)中,用户编号是主关键字,不可以取空值;订单表(订单编号,手机号,地址,总金额,下单时间,订单状态,订单改变时间,备注,会员编号)中,订单编号是主关键字,不可以取空值;菜谱表(菜谱编号,菜名,原价,优惠价,菜名的介绍,图片,创建时间)中,菜谱编号是主关键字,不可以取空值;订单项表(订单项编号,订单编号,姓名,状态)中,订单项编号是主关键字,不可以取空值。
4.2.2记录完整性约束及其约束条件
除了实体完整性之外还有其他与应用密切相关的数据完整性约束,例如某个属性的值必须唯一,某个属性的取值必须在某个范围内,某些属性值之间应该满足一定的函数关系等。
类似这些方面的约束不是关系数据模型本身所要求的,而是为了满足应用方面的语义要求提出来的,这些完整性需求需要用户来定义,所以称为用户定义完整性。
数据库管理系统需提供定义这些数据完整性的功能和手段,以便统一进行处理和检查,而不是由应用程序去实现这些功能。
在用户定义完整性中最常见的是限定属性的取值范围,即对值域的约束,这包括说明属性的数据类型、精度、取值范围、是否允许空值等。
在网上订餐系统中,订单信息表中的订单编号不允许为空值,用户表中的用户编号为唯一值都是用了用户定义完整性约束。
4.2.3参照完整性表
用户编号
姓名
地址
手机
注册时间
现实世界中的实体之间存在着某种联系,而在关系模型中实体是用关系描述的,实体之间的联系也是用关系描述的,这样就自然存在着关系和关系之间的参照或引用。
网上订餐系统参照完整性表如下:
用户信息表
订单编号
手机号
地址
总金额
下单时间
订单状态
用户编号
n:
n
订单项编号
订单编号
姓名
状态
n:
n
订单信息表
订单项信息表
图4-2说明关联和参照关
3.2E-R具体转换代码
①客户表:
createtableclient
(c_idvarchar(9)primarykeynotnullcheck(c_idlike'c%'),
c_namevarchar(20)notnull,
c_keyvarchar(20)notnull,
c_telvarchar(11)notnullcheck(c_tellike'1%')unique
②管理员表:
createtablemanager
m_idvarchar(4)primarykeynotnullcheck(m_idlike'm%'),
m_namevarchar(20)notnull,
m_keyvarchar(20)notnull
③商家表:
createtableprovider
(p_idvarchar(9)primarykeynotnullcheck(p_idlike'p%'),
p_namevarchar(20)notnull,
p_keyvarchar(20)notnull,
p_telvarchar(11)notnulluniquecheck(p_tellike'1%'),
p_addvarchar(30)notnullunique,
p_levint,
p_statevarchar(15)check(p_statein('营业中','打烊','歇业'))
④菜谱:
createtabledish
(d_idintidentity(1378001,1)primarykeynotnull,
d_namevarchar(30)notnull,
d_pricefloat
(2)notnull,
d_discountfloat
(2),
d_pidvarchar(9)notnull,
foreignkey(d_pid)referencesprovider(p_id),
d_remainintnotnullcheck(d_remain>=0),
d_totalintnotnull,
⑤订单:
createtableord
(o_idintidentity(10000001,1)primarykeynotnull,
o_cidvarchar(9),
foreignkey(o_cid)referencesclient(c_id),
o_didint,
foreignkey(o_did)referencesdish(d_id),
o_pidvarchar(9),
foreignkey(o_pid)referencesprovider(p_id),
o_timesmalldatetime,
o_numintnotnullcheck(o_num>0),
o_caddvarchar(50)notnull,
o_statevarchar(15)check(o_statein('正常','取消'))
⑥管理客户:
createtablemanager_client
(m_c_midvarchar(4),
foreignkey(m_c_mid)referencesmanager(m_id),
m_c_cidvarchar(9),
foreignkey(m_c_cid)referencesclient(c_id),
m_c_timesmalldatetime,
primarykey(m_c_mid,m_c_cid,m_c_time),
m_c_operationvarchar(15)check(m_c_operationin('更新','增加','删除'))
⑦管理商店:
createtablemanager_provider
(m_p_midvarchar(4),
foreignkey(m_p_mid)referencesmanager(m_id),
m_p_pidvarchar(9),
foreignkey(m_p_pid)referencesprovider(p_id),
m_p_timesmalldatetime,
primarykey(m_p_mid,m_p_pid,m_p_time),
m_c_operationvarchar(15)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 系统 ER 逻辑 28 精选 文档