您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 数据库设计-网上订餐系统
1计算机与信息学院数据库课程设计专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点第二机房2一、需求分析1.1现状分析现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。1.2客户需求分析客户模块的功能包括:个人信息管理、订餐两大功能。个人信息部分中,包括个人信息修改以及订餐信息查询;订餐部分为选择菜品、订餐状态、付款方式。1.3商店需求分析商店模块功能包括:包括商店信息管理、订餐确认两个部分。商店信息查询、修改、菜品管理;订餐确认部分为订餐状态、送餐。1.4管理员需求分析管理员功能模块包括:人员信息管理及系统维护。人员信息管理为:客户注册、商店注册、客户及商店记录查寻。1.5性能需求分析该系统在性能功能上应达到如下需求:操作简单、界面友好:完全控件式的页面布局,使得菜品等信息的录入工作更简便,选择菜品是只需点击鼠标即可。对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;系统运行应该快速、稳定、高效和可靠;在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。1.6可行性分析3随着经济的快速发展,网上订餐已经如雨后春笋般的出现在了许多地方。特别在公司,企业内部,团体订餐已经成为了趋势。同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。1.7总体设计原则①.开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。从而适应广大用户需求的多变性和产品的更新换代。②.良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。③.实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。④工作平台适用于不同的网络平台。二、概念设计2.1系统E-R图42.2数据流图52.3数据字典2.3.1数据项数据项名/编号含义说明数据类型长度c_id/p1用户唯一性说明varchar9c_name/p2用户昵称varchar20c_tel/p3用户联系方式varchar11c_key/p4用户登陆密码varchar20d_id/p5菜的唯一性说明intd_name/p6菜的名称varchar30d_remain/p7菜的剩余量intd_discount/p8打折float2d_price/p9菜的单价float2d_pid/p10提供商编号intp_id/p11商店唯一性说明varchar9p_add/p12商店地址varchar30p_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订单标号into_cid/p22订单中客户标识into_did/p23订单中菜标识into_pid/p24订单中商店标识into_time/p25订餐时间smalldatetime6o_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操作类别smalldatetimem_c_operation/p36时间varchar152.3.2数据结构数据结构名称含义说明组成客户客户信息p1-p4菜品菜品信息p5-p10商店商店信息p11-p17管理员管理员信息p18-p20订单订单信息p21-p28管理用户管理用户信息P29-p32管理商家管理商家信息P33-p362.3.3处理过程处理过程名说明输入输出处理注册所有用户用户详细信息注册结果跳转登陆/重新注册登陆所有用户编号与密码登陆成功/失败登陆首页/重新7登陆修改用户信息已登录用户相关修改信息修改成功/失败修改存储信息订餐已登录用户菜品、数量订餐成功/失败加入购物车/重新选择修改订餐已订餐用户菜品、数量的修改修改成功/失败加入购物车/重新选择下订单已订餐用户生成订单查询与确认订单已订餐用户提交订单已订餐用户接受订单商店交付相关工作人员送餐送餐员送餐确认菜单修改商店新的菜品、菜品价格修改更新菜谱管理管理员添加或删减用户更新用户信息库信息更新管理员需要更新的信息信息更新三、逻辑结构设计3.1E—R图向关系的初步转换客户(编号,昵称,密码,联系方式,状态)管理员(编号,姓名,密码)商家(编号,名称,密码,商家地址,联系方式,信誉,状态,剩余量,总量)菜(编号,名称,价格,折扣,提供商编号,最后修改时间,状态)订单(客户编号,菜编号,提供商编号,订单时间,数量,客户地址,状态)管理客户(管理员编号,客户编号,时间,操作类别)管理商家(管理员编号,商家编号,时间,操作类别)3.2E-R具体转换代码8①客户表: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,9d_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_num0),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('更新','增加','删除10')))⑦管理商店: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)check(m_c_operationin('允许注册','注销账户')))四、外围实现部分--客户端实现本次数据库的外围采用C++语言实现的,编程环境使用的是visualstudio2010。数据库连接采用的是ADO(ActiveXDataObjects),主要是因为使用起来十分简便(只需掌握三个智能指针即可完成大多数功能),且不需要下载其他文件(windows自带)。而用户交互界面则使用的是dos窗口。客户端目前提供两个功能,1是订餐功能,1是注册功能。11首先介绍注册功能,每个注册账户对应一个数据库登陆账户以及该账户下的一个拥有客户角色权限的用户,已注册账户的信息由client表存储。注册过程具体如下:用户选择注册功能后,程序默认以sa身份登录数据库,用户通过dos窗口输入新的id以及密码,程序在client表中检查id是否被使用,若id已被占用则提示用户输入新的id,否则通过sql语句创建登陆账户以及拥有一定权限的数据12库用户并提示用户注册成功。(注册实现代码如下:)然后介绍订餐功能,选择订餐功能后首先提示用户输入账户(id)以及密码,输入后,程序尝试以此账户连接数据库,以30秒为时限,若超过时限没有连接上数据库则提示用户连接失败,否则从数据库中选择状态为”营业中”的饭店信息显示供用户选择,用户选择饭店编号后,从数据库中读取该饭店提供的剩余量大于0的菜品显示供用户选择,待用户作好选择后,将订单插入数据库中ord表(订单编号采用自增长)并修改菜品的剩余值,提示用户接受订单成功,并关闭与数据库的连接。五、数据库
本文标题:数据库设计-网上订餐系统
链接地址:https://www.777doc.com/doc-2075469 .html