数据库设计网上订餐系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机与信息学院
数据库课程设计
专业班级
学生姓名及学号
课程教学班号
任课教师
实验指导教师
实验地点
第二机房
一、需求分析
1.1现状分析
现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。
这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。
1.2客户需求分析
客户模块的功能包括:个人信息管理、订餐两大功能。个人信息部分中,包括个人信息修改以及订餐信息查询;订餐部分为选择菜品、订餐状态、付款方式。1.3 商店需求分析
商店模块功能包括:包括商店信息管理、订餐确认两个部分。商店信息查询、修改、菜品管理;订餐确认部分为订餐状态、送餐。
1.4 管理员需求分析
管理员功能模块包括:人员信息管理及系统维护。人员信息管理为:客户注册、商店注册、客户及商店记录查寻。
1.5 性能需求分析
该系统在性能功能上应达到如下需求:
操作简单、界面友好: 完全控件式的页面布局,使得菜品等信息的录入工作更简便,选择菜品是只需点击鼠标即可。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;
即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;
系统运行应该快速、稳定、高效和可靠;
在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
1.6可行性分析
随着经济的快速发展,网上订餐已经如雨后春笋般的出现在了许多地方。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。
1.7总体设计原则
①.开放性、可扩充性、可靠性原则
开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。
②.良好的用户操作界面
用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。
③.实用性原则
任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。
④工作平台
适用于不同的网络平台。
二、概念设计
2.1 系统E-R图
2.2数据流图
2.3数据字典
2.3.1 数据项
2.3.2 数据结构
2.3.3 处理过程
三、逻辑结构设计
3.1 E—R图向关系的初步转换
客户(编号,昵称,密码,联系方式,状态)
管理员(编号,姓名,密码)
商家(编号,名称,密码,商家地址,联系方式,信誉,状态,剩余量,总量)菜(编号,名称,价格,折扣,提供商编号,最后修改时间,状态)
订单(客户编号,菜编号,提供商编号,订单时间,数量,客户地址,状态)管理客户(管理员编号,客户编号,时间,操作类别)
管理商家(管理员编号,商家编号,时间,操作类别)
3.2 E-R具体转换代码
①客户表:
create table client
(c_id varchar(9) primary key not null check(c_id like 'c%'),
c_name varchar(20) not null,
c_key varchar(20) not null,
c_tel varchar(11) not null check(c_tel like '1%') unique
)
②管理员表:
create table manager
(
m_id varchar(4) primary key not null check(m_id like 'm%'),
m_name varchar(20) not null,
m_key varchar(20) not null
)
③商家表:
create table provider
(p_id varchar(9) primary key not null check(p_id like 'p%'),
p_name varchar(20) not null,
p_key varchar(20) not null,
p_tel varchar(11) not null unique check(p_tel like '1%'),
p_add varchar(30) not null unique,
p_lev int,
p_state varchar(15) check (p_state in ('营业中','打烊','歇业')) )