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