《网上订餐系统数据库设计_数据库课程设计 合肥工业大学》由会员分享,可在线阅读,更多相关《网上订餐系统数据库设计_数据库课程设计 合肥工业大学(22页珍藏版)》请在金锄头文库上搜索。
1、1计算机与信息学院 数据库课程设计网上订餐系统数据库设计网上订餐系统数据库设计2一、需求分析一、需求分析1.11.1 现状分析现状分析现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。1.21.2 客户需求分析客户需求分析客户模块的功能包括:个人信息管理、
2、订餐两大功能。个人信息部分中,包括个人信息修改以及订餐信息查询;订餐部分为选择菜品、订餐状态、付款方式。1.31.3商店需求分析商店需求分析商店模块功能包括:包括商店信息管理、订餐确认两个部分。商店信息查询、修改、菜品管理;订餐确认部分为订餐状态、送餐。1.41.4 管理员需求分析管理员需求分析管理员功能模块包括:人员信息管理及系统维护。人员信息管理为:客户注册、商店注册、客户及商店记录查寻。1.51.5 性能需求分析性能需求分析该系统在性能功能上应达到如下需求:操作简单、界面友好: 完全控件式的页面布局,使得菜品等信息的录入工作更简便,选择菜品是只需点击鼠标即可。对常见的类似网站的管理的各个
3、方面:基3本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;系统运行应该快速、稳定、高效和可靠;在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。1.61.6 可行性分析可行性分析随着经济的快速发展,网上订餐已经如雨后春笋般的出现在了许多地方。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出
4、现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。1.71.7 总体设计原则总体设计原则.开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。.良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。.实用性原则4任何系统的设计都要考虑其实用性,系统开发
5、的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。工作平台适用于不同的网络平台。二、概念设计二、概念设计2.12.1 系统系统 E-RE-R 图图2.22.2 数据流图数据流图52.32.3 数据字典数据字典2.3.12.3.1 数据项数据项数据项名/编号含义说明数据类型长度c_id/p1用户唯一性说明varchar9c_name/p2用户昵称varchar20c_tel/p3用户联系方式varchar11c_key/p4用户登陆密码varchar20d_id/p5菜的唯一性说明intd_name/p6菜的名称varchar30d_remain/p7菜的剩
6、余量intd_discount/p8打折float2d_price/p9菜的单价float2d_pid/p10提供商编号intp_id/p11商店唯一性说明varchar9p_add/p12商店地址varchar306p_name/p13商店名称varchar20p_key/p14商家登陆密码varchar20p_tel/p15商店联系方式varchar11p_lev/p16商家信誉intp_state/p17商家状态varchar15m_id/p18管理员唯一性说明varchar4m_name/p19管理员姓名varchar20m_key/p20管理员密码varchar20o_id/p21订
7、单标号into_cid/p22订单中客户标识into_did/p23订单中菜标识into_pid /p24订单中商店标识into_time /p25订餐时间smalldatetimeo_num/26数量into_cadd/27客户地址varchar50o_state/28订餐状态varchar15m_c_mid /p29管理员编号intm_c_cid/p30客户编号intm_c_time/p31时间smalldatetimem_c_operation/p32操作类别varchar15m_p_mid/p33管理员编号intm_p_pid/p34商店编号intm_p_time/p35操作类别sma
8、lldatetimem_c_operation /p36时间varchar152.3.22.3.2 数据结构数据结构数据结构名称含义说明组成7客户客户信息p1-p4菜品菜品信息p5-p10商店商店信息p11-p17管理员管理员信息p18-p20订单订单信息p21-p28管理用户管理用户信息P29-p32管理商家管理商家信息P33-p362.3.32.3.3 处理过程处理过程处理过程名说明输入输出处理注册所有用户 用户详细信息注册结果跳转登陆/重新注册登陆所有用户 编号与密码登陆成功/失败登陆首页/重新登陆修改用户信息已登录用户相关修改信息修改成功/失败修改存储信息订餐已登录用户 菜品、数量订餐
9、成功/失败加入购物车/重新选择修改订餐已订餐用户菜品、数量的修改修改成功/失败加入购物车/重新选择下订单已订餐用户生成订单查询与确认订单已订餐用户提交订单已订餐用户接受订单商店交付相关工作人员送餐送餐员送餐确认菜单修改商店新的菜品、菜品价格修改更新菜谱管理管理员添加或删减用更新用户信息8户库信息更新管理员需要更新的信息信息更新三、逻辑结构设计三、逻辑结构设计3.13.1 E ER R 图向关系的初步转换图向关系的初步转换客户(编号,昵称,密码,联系方式,状态)管理员(编号,姓名,密码)商家(编号,名称,密码,商家地址,联系方式,信誉,状态,剩余量,总量)菜(编号,名称,价格,折扣,提供商编号,
10、最后修改时间,状态)订单(客户编号,菜编号,提供商编号,订单时间,数量,客户地址,状态)管理客户(管理员编号,客户编号,时间,操作类别)管理商家(管理员编号,商家编号,时间,操作类别)3.23.2 E-RE-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 lik
11、e 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)商家表:商家表:9create 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,
12、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 (营业中,打烊,歇业)菜谱:菜谱:create table dish(d_id int identity(1378001,1) primary key not null,d_name varchar(30) not null,d_price float(2) not null,d_discount float(2),d_p
13、id varchar(9) not null ,foreign key (d_pid) references provider(p_id),d_remain int not null check (d_remain=0),d_total int not null, )订单:订单:create table ord(o_id int identity(10000001,1) primary key not null,o_cid varchar(9),foreign key (o_cid) references client (c_id),o_did int,foreign key (o_did)
14、references dish (d_id),o_pid varchar(9),foreign key (o_pid) references provider (p_id),10o_time smalldatetime,o_num int not null check (o_num0),o_cadd varchar(50) not null,o_state varchar(15) check (o_state in(正常,取消)管理客户:管理客户:create table manager_client(m_c_mid varchar(4),foreign key (m_c_mid) refer
15、ences manager (m_id),m_c_cid varchar(9),foreign key (m_c_cid) references client (c_id),m_c_time smalldatetime,primary key (m_c_mid,m_c_cid,m_c_time),m_c_operation varchar(15) check (m_c_operation in(更新,增加,删除)管理商店:管理商店:create table manager_provider(m_p_mid varchar(4),foreign key (m_p_mid) references
16、manager (m_id),m_p_pid varchar(9),foreign key (m_p_pid) references provider (p_id),m_p_time smalldatetime,primary key (m_p_mid,m_p_pid,m_p_time),m_c_operation varchar(15) check (m_c_operation in(允许注册,注销账户) )四、外围实现部分四、外围实现部分 -客户端实现客户端实现本次数据库的外围采用 C+语言实现的,编程环境使用的是 visual studio 2010。11数据库连接采用的是 ADO(ActiveX Data Objects) ,主要是因为使用起来十分简便(只需掌握三个智能指针即可完成大多数功能) ,且不需要下载其他文件(windows 自带) 。而用户交互界面则使用的是 dos 窗口。客户端目前提供两个功能,1 是订餐功能,1 是