数据库设计网上订餐系统
- 格式:docx
- 大小:141.84 KB
- 文档页数:17
网上订餐系统的设计与实现一、本文概述随着科技的进步和互联网的普及,人们的生活方式发生了翻天覆地的变化。
饮食方式的变革尤为显著,网上订餐系统便是在这种背景下应运而生的一种创新服务模式。
本文旨在探讨网上订餐系统的设计与实现过程,从需求分析、系统设计、技术选型、开发实现到测试部署等各个环节进行深入剖析,以期为相关领域的开发者和研究者提供有益的参考和启示。
本文首先将对网上订餐系统的背景和意义进行简要介绍,阐述其在当今社会的重要性和应用价值。
随后,将详细介绍系统的需求分析,包括用户角色、功能需求、性能需求等,为后续的系统设计提供基础。
在系统设计部分,将重点介绍系统的整体架构、数据库设计、界面设计以及关键技术的选择等。
在开发实现环节,将详细介绍系统的开发环境、开发流程以及关键技术的实现细节。
在测试部署部分,将介绍系统的测试方法、测试结果以及部署上线的过程。
通过本文的阐述,读者可以全面了解网上订餐系统的设计与实现过程,掌握相关技术和方法,为开发类似系统提供有益的借鉴和参考。
本文也希望能够推动网上订餐系统的进一步发展,为人们的日常生活带来更多便利和乐趣。
二、系统需求分析随着互联网的普及和移动设备的广泛应用,传统的餐饮行业面临着前所未有的变革。
网上订餐系统作为这一变革的重要产物,不仅改变了人们的就餐习惯,也为餐饮企业带来了全新的商业模式。
设计与实现一个功能完善、操作便捷、用户体验良好的网上订餐系统,对于满足市场需求、提升餐饮行业服务水平具有重要意义。
在系统设计之初,我们首先进行了深入的市场调研和需求分析。
通过收集用户反馈、分析竞争对手产品以及研究行业发展趋势,我们确定了以下几个关键需求点:用户注册与登录:为了提供个性化的服务和保障交易安全,系统需要支持用户注册和登录功能。
用户可以通过手机号、邮箱等方式进行注册,并通过设置密码或短信验证码登录系统。
餐厅信息展示:系统需要展示各类餐厅的基本信息,包括餐厅名称、地址、联系方式、菜品分类、推荐菜品等。
《数据库原理》课程设计报告设计题目:外卖订餐系统专业:信息管理与信息系统计算机与数据科学学院2018 年12月23日目录1 概述 (2)1.1 选题的背景及意义 (2)1.2相关技术分析 (3)2 系统功能设计 (4)2.1 系统总体结构设计图 (4)2.2 系统功能模块 (4)2.2.1 模块名称 (4)2.2.2 功能模块分析 (4)3 数据库设计 (6)3.1 需求分析 (6)3.1.1 数据流图 (6)3.1.2 数据字典 (6)3.2 概念结构设计 (8)3.3 逻辑结构设计 (11)3.4 物理结构设计 (14)3.5 数据库的实施 (14)3.6 运行与维护 (27)4 结束语 (28)1 概述1.1选题的背景及意义近年来,随着 Internet 的迅速崛起,互联网已日益成为提供信息的最佳渠道并逐步进入传统的流通领域,民众更把“网上订餐”当成一种潮流,传统的餐饮业在当前计算机网络信息化面前同样面临着一个新的挑战。
民众的餐饮习惯也在渐渐的朝着“订餐到户,随时,自由的用餐”方向发展。
尤其是广大在校大学生,信息的获取手段越来越多的依靠网络环境,国内的网络订餐业务虽然还处在逐步摸索、逐步发展的阶段,但已经呈现出良好的发展势头和应用前景。
网络订餐在“实地消费、电话订餐”的基础上依靠网络极大地丰富了餐饮行业的服务手段,增加了利润的来源空间。
充分利用互联网的“时效性强、客户端普及”的特点,“网上订餐”和“网上订房,网上订票,网上购物”等等,成为改变普通民众消费观念的全新消费形式。
一个完善、健全的网上订餐系统在具有一定相对稳定数量的使用者的同时,使用者会习惯性的通过网络点击该网站,习惯网上订餐,一旦成为习惯,网络订餐系统本身也就成了稀缺的媒体发布资源,由于该群体的消费能力较高,吸引相对的广告也将是另外一个利润的来源。
网上订餐系统是针对当今社会所有大学生做的,目的是服务当代大学生这个巨大的市场。
人们都知道“民以食为天”人都需要满足口腹才可以工作学习。
在线订餐系统的设计与实现在订餐系统的设计与实现中,需要考虑以下几个方面:1.用户界面设计:- 主页设计:主页应包含餐厅的Logo和一些热门美食的图片,以及简明扼要的餐厅介绍。
-分类浏览:将不同类型的菜品进行分类,方便用户快速查找。
-购物车:用户可以将心仪的菜品加入购物车,并显示总金额。
-用户登录与注册:提供用户注册和登录功能,使用户可以保存个人信息和查看历史订单。
2.数据库设计:-菜品信息表:包含菜品名称、所属分类、价格、简介、图片等信息。
-订单信息表:保存订单详情,包括用户ID、菜品ID、数量、总金额、下单时间等信息。
3.功能实现:-用户管理功能:管理员可以查看用户信息、删除用户,还可以通过评论系统回复用户的留言。
-菜品浏览与功能:用户可以按照菜品分类进行浏览,并可以通过关键字进行。
-下单功能:用户可以选择想要购买的菜品、设置数量,并将订单加入购物车进行结算。
-评价功能:用户可以对菜品进行评价,并可以查看其他用户的评价。
-订单管理功能:用户可以查看历史订单并对已完成的订单进行管理。
4.技术实现:- 前端技术:使用HTML、CSS和JavaScript进行页面布局和交互设计。
- 后端技术:使用Java或其他后端语言处理用户请求,连接数据库进行数据交互。
- 数据库技术:可以使用关系型数据库如MySQL或非关系型数据库如MongoDB进行数据存储。
-安全性考虑:使用HTTPS协议进行数据传输,用户密码等敏感信息需要进行加密保存。
- 手机端兼容性:可以使用响应式设计或开发独立的手机端App,提供更好的移动端体验。
通过以上设计与实现,一个在线订餐系统可以实现用户方便快捷地浏览菜品、下单购买、评价菜品等功能,同时可以方便餐厅及管理员管理订单和用户信息。
这样的系统有助于提升用户便利性,为饮食行业的发展提供了更多机会。
基于SQL数据库的在线餐饮预定系统设计与实现一、引言随着互联网的快速发展,人们的生活方式也在发生着巨大的变化。
在线餐饮预定系统作为其中的一个重要应用,为消费者提供了便捷、快捷的订餐服务,同时也为餐厅提供了更好的管理和营销手段。
本文将介绍基于SQL数据库的在线餐饮预定系统的设计与实现,旨在帮助读者更好地理解该系统的原理和功能。
二、系统需求分析在线餐饮预定系统主要包括用户端和商家端两部分。
用户端需要提供注册登录、浏览菜单、下单支付、评价等功能;商家端需要提供菜单管理、订单管理、数据统计等功能。
系统需要具备以下功能: 1. 用户注册登录:用户可以通过手机号或邮箱注册账号,并通过账号密码登录。
2. 菜单浏览:用户可以浏览各个餐厅的菜单,查看菜品详情和价格。
3. 下单支付:用户可以选择菜品加入购物车,并完成订单支付。
4. 评价功能:用户可以对已完成的订单进行评价,评分和留言。
5. 菜单管理:商家可以添加、编辑和删除菜品信息,设置价格和库存。
6. 订单管理:商家可以查看订单详情,接受或拒绝订单,并标记订单状态。
7. 数据统计:系统需要提供销售数据统计功能,包括每日销售额、热门菜品等。
三、数据库设计在设计数据库时,需要考虑系统的扩展性和性能。
以下是在线餐饮预定系统的数据库设计: 1. 用户表(User):存储用户信息,包括用户ID、用户名、密码、手机号、邮箱等字段。
2. 餐厅表(Restaurant):存储餐厅信息,包括餐厅ID、名称、地址、联系方式等字段。
3. 菜品表(Dish):存储菜品信息,包括菜品ID、名称、价格、描述等字段。
4. 订单表(Order):存储订单信息,包括订单ID、用户ID、菜品ID、数量、总价、状态等字段。
5. 评价表(Review):存储用户对菜品的评价信息,包括评价ID、用户ID、菜品ID、评分、留言等字段。
四、系统架构设计在线餐饮预定系统采用B/S架构,前端使用HTML/CSS/JavaScript实现页面交互效果,后端使用Python/Flask框架处理业务逻辑,并通过SQLAlchemy库与MySQL数据库进行交互。
数据库课程设计餐饮下单管理系统餐饮下单管理系统是一种常见的应用于餐饮行业的管理系统,其主要功能是帮助餐馆实现客户点餐、收银、并可直观化地统计餐馆销售情况等。
系统的主要模块包括菜品管理模块、订单管理模块、用户信息管理模块和数据统计模块。
1.菜品管理模块菜品管理模块是餐饮下单管理系统中的一个重要模块。
通过该模块,管理员可以添加、修改和删除菜品信息,并可对菜品进行搜索、分类显示、价格监控等。
为提高系统的可扩展性,应采用数据库存储菜品信息,同时设计菜品信息表,保证菜品信息的稳定性和数据整合的便利性。
2.订单管理模块订单管理模块也是餐饮下单管理系统的一个核心模块。
用户可以通过该模块选择菜品下单、查看订单状态、进行支付等。
此外,管理员可以通过该模块查看餐厅订单情况、确认订单、派送订单等。
系统的订单信息维护应以数据库表的形式存储,包括订单号、订单金额、订单状态、下单时间、支付时间、收货人信息等。
3.用户信息管理模块用户信息管理模块是餐饮下单管理系统中的一个基础性模块。
该模块主要用于管理用户信息。
用户可以在系统中注册、登录、注销等。
同时,管理者可以通过该模块进行用户信息的添加、修改、删除等操作。
用户信息应该存储于数据库中,设计用户信息表来保证数据的稳定性和数据整合的便利性。
4.数据统计模块数据统计模块是餐饮下单管理系统的一个重要功能。
该模块主要通过数据库分析及图表来分析系统的数据。
管理员可以通过该模块查看销售额、订单数量、菜品销量等数据,并可根据不同时间段进行数据的查询和统计。
通过该模块的功能能够及时反馈餐馆的业务状况,为管理者做出正确和科学决策提供数据支持。
总之,对于餐饮下单管理系统的设计与实现,不仅需要具有了解餐饮行业的实际经验,更需要充分考虑到数据库的设计与架构优化,来提高系统的可用性、可靠性和扩展性。
同时,为保障系统的稳定性和数据安全性,应内置系统的日志记录和备份机制,及时检测系统漏洞并进行修复等。
最后,在开发系统的同时应注意到用户体验,为用户提供优质、快捷的服务来提高用户黏性。
订餐系统数据库课程设计一、课程目标知识目标:1. 学生能理解数据库的基本概念,掌握数据库的设计原则和步骤。
2. 学生能掌握SQL语言的基本操作,如创建表、插入数据、查询数据等。
3. 学生能运用数据库知识,设计并实现一个简单的订餐系统数据库。
技能目标:1. 学生能够运用所学知识,分析实际订餐系统的需求,完成数据库表结构的设计。
2. 学生能够使用SQL语言,对数据库进行基本的增删改查操作。
3. 学生能够通过课程学习,提高问题解决能力和团队协作能力。
情感态度价值观目标:1. 学生通过学习,培养对数据库技术的兴趣,增强对信息技术的认识。
2. 学生在课程实践中,体会团队合作的重要性,增强沟通与协作能力。
3. 学生能够关注数据库技术在生活中的应用,认识到信息时代数据的重要性。
课程性质:本课程为信息技术学科的高年级课程,要求学生具备一定的编程基础和数据库知识。
学生特点:高年级学生具有较强的逻辑思维能力、问题解决能力和自主学习能力。
教学要求:结合学生特点,通过项目式教学,引导学生运用所学知识解决实际问题,培养其团队协作能力和创新精神。
在教学过程中,注重理论与实践相结合,确保学生能够掌握课程目标所要求的知识和技能。
二、教学内容1. 数据库基础知识:介绍数据库的基本概念、发展历程、关系模型等,结合教材相关章节,让学生理解数据库的核心理论。
2. 数据库设计:讲解数据库设计的原则、步骤和方法,包括需求分析、概念结构设计、逻辑结构设计、物理结构设计等,指导学生运用ER图等工具进行数据库设计。
3. SQL语言:教授SQL语言的基本操作,包括创建表、插入数据、查询数据、修改数据、删除数据等,结合教材实例,让学生熟练掌握SQL语句的使用。
4. 订餐系统数据库设计:以实际项目为例,引导学生分析订餐系统的需求,设计数据库表结构,实现基本功能,包括用户、商家、菜品、订单等模块。
5. 数据库操作实践:组织学生进行数据库操作实践,包括创建数据库、表,插入、查询、修改和删除数据,以及简单的数据备份和恢复。
第1篇一、实验目的本次实验旨在通过设计与实现一个网络订餐系统,让学生掌握网络编程、数据库管理、前端设计等方面的知识,提高学生的综合实践能力。
实验内容主要包括系统需求分析、系统设计、系统实现和系统测试。
二、实验环境1. 操作系统:Windows 102. 开发工具:Java开发工具包(JDK)、MySQL数据库、Eclipse IDE3. 前端技术:HTML、CSS、JavaScript4. 后端技术:Java、Spring Boot、MyBatis5. 数据库:MySQL三、系统需求分析1. 用户需求:(1)用户可以浏览菜品信息,查看菜品详情;(2)用户可以添加菜品到购物车,进行在线支付;(3)用户可以查看订单状态,评价菜品;(4)用户可以修改个人信息,查看订单历史。
2. 商家需求:(1)商家可以管理菜品信息,包括添加、修改、删除菜品;(2)商家可以查看订单信息,进行订单处理;(3)商家可以查看用户评价,对菜品进行改进。
3. 管理员需求:(1)管理员可以管理用户信息,包括添加、修改、删除用户;(2)管理员可以管理菜品信息,包括添加、修改、删除菜品;(3)管理员可以查看订单信息,进行订单处理;(4)管理员可以查看用户评价,对菜品进行改进。
四、系统设计1. 系统架构:采用B/S(浏览器/服务器)架构,用户通过浏览器访问系统,与服务器进行交互。
2. 系统模块:(1)用户模块:负责用户注册、登录、个人信息管理、订单管理、评价等功能;(2)商家模块:负责菜品管理、订单处理、用户评价等功能;(3)管理员模块:负责用户管理、菜品管理、订单管理、用户评价等功能;(4)菜品模块:负责菜品信息展示、菜品详情展示、菜品搜索等功能;(5)订单模块:负责订单生成、订单处理、订单查询等功能。
3. 数据库设计:(1)用户表:存储用户信息,包括用户名、密码、联系方式等;(2)商家表:存储商家信息,包括商家名称、联系方式等;(3)菜品表:存储菜品信息,包括菜品名称、价格、描述等;(4)订单表:存储订单信息,包括订单编号、用户ID、商家ID、订单金额等;(5)评价表:存储用户评价信息,包括评价内容、评分等。
设计一个饭店点餐系统的数据库,需要考虑以下几个方面:1. 数据库表设计:a. 餐厅信息表:包含餐厅的基本信息,如餐厅名称、地址、联系方式等。
b. 菜品信息表:包含菜品的名称、描述、价格等。
c. 订单信息表:包含订单的编号、下单时间、总价、付款状态等。
d. 用户信息表:包含用户的姓名、手机号、地址等。
e. 购物车表:记录用户选购的菜品信息。
2. 表之间的关系:a. 餐厅信息表与菜品信息表之间是一对多的关系,一个餐厅可以有多个菜品。
b. 订单信息表与用户信息表之间是一对多的关系,一个用户可以有多个订单。
c. 订单信息表与菜品信息表之间是多对多的关系,一个订单可以包含多个菜品,一个菜品也可以被多个订单选择。
3. 主键和外键:a. 餐厅信息表的主键可以是餐厅编号。
b. 菜品信息表的主键可以是菜品编号,同时,餐厅编号作为外键与餐厅信息表关联。
c. 订单信息表的主键可以是订单编号,同时,用户编号作为外键与用户信息表关联。
d. 购物车表的主键可以是购物车编号,同时,订单编号和菜品编号作为外键与订单信息表和菜品信息表关联。
4. 数据库查询:a. 查询餐厅信息:根据条件查询餐厅的基本信息。
b. 查询菜品信息:根据条件查询菜品的基本信息。
c. 查询订单信息:根据条件查询订单的基本信息。
d. 查询用户信息:根据条件查询用户的基本信息。
e. 查询购物车信息:根据条件查询购物车中的菜品信息。
5. 数据库操作:a. 添加数据:插入新的餐厅信息、菜品信息、订单信息、用户信息等。
b. 更新数据:更新订单状态、用户信息等。
c. 删除数据:删除不需要的餐厅信息、菜品信息、订单信息、用户信息等。
这只是一个简单的饭店点餐系统数据库设计的示例,实际应用中可能还有其他需求,可以根据具体情况进行调整和扩展。
在设计过程中要考虑数据的完整性、一致性和安全性,并合理优化数据库结构和查询性能。
数据库课程设计题目:网上订餐系统数据库设计院系:专业:姓名:学号:指导教师:欧阳柏成教师职称:副教授填写日期: 2015年 5月 21日一、需求分析1.1现状分析现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。
例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。
同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。
这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。
客对菜品的预定及支付方式;即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;系统运行应该快速、稳定、高效和可靠;在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
1.6可行性分析随着经济的快速发展,网上订餐已经如雨后春笋般的出现在了许多地方。
特别在公司,企业内部,团体订餐已经成为了趋势。
同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。
1.7总体设计原则①.开放性、可扩充性、可靠性原则二、概念设计2.1 系统E-R图2.2数据流图2.3数据字典2.3.1 数据项数据项名/编号含义说明数据类型长度c_id/p1用户唯一性说明varchar9 c_name/p2用户昵称varchar20 c_tel/p3用户联系方式varchar11 c_key/p4用户登陆密码varchar20 d_id/p5菜的唯一性说明intd_name/p6菜的名称varchar30 d_remain/p7菜的剩余量intd_discount/p8打折float 2 d_price/p9菜的单价float 2 d_pid/p10 提供商编号intp_id/p11商店唯一性说明varchar9 p_add/p12商店地址varchar302.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 ('营业中','打烊','歇业')) )④菜谱: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_pid 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) references dish (d_id),o_pid varchar(9),foreign key (o_pid) references provider (p_id),o_time smalldatetime,o_num int not null check (o_num>0),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) references 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 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。
数据库设计网上订餐系统IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】计算机与信息学院数据库课程设计专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点第二机房一、需求分析现状分析现如今普遍使用电话订餐,这种方式订餐虽然较为方便,效率也较高,但是由此引发的一些不良现象不得不重视。
例如,定餐后,饭店未能够及时将信息记录存档,由于看不到菜品的图片,顾客不能对菜品有一个直观的感受。
同时,电话预约中的诚信问题也不得不考虑,订餐过程中顾客对信息的不明确会产生一定的误解并由此造成人力资源及时间的浪费。
这样开发出图文并茂,信息能够及时更新和查看的在线网上订餐系统就具有了重要的意义。
客户需求分析客户模块的功能包括:个人信息管理、订餐两大功能。
个人信息部分中,包括个人信息修改以及订餐信息查询;订餐部分为选择菜品、订餐状态、付款方式。
商店需求分析商店模块功能包括:包括商店信息管理、订餐确认两个部分。
商店信息查询、修改、菜品管理;订餐确认部分为订餐状态、送餐。
管理员需求分析管理员功能模块包括:人员信息管理及系统维护。
人员信息管理为:客户注册、商店注册、客户及商店记录查寻。
性能需求分析该系统在性能功能上应达到如下需求:操作简单、界面友好:完全控件式的页面布局,使得菜品等信息的录入工作更简便,选择菜品是只需点击鼠标即可。
对常见的类似网站的管理的各个方面:基本信息录入、浏览、删除、修改、搜索等方面都大体实现,顾客对菜品的预定及支付方式;即时可见:对客户预定餐饮信息的处理(包括录入、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;系统运行应该快速、稳定、高效和可靠;在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。
可行性分析随着经济的快速发展,网上订餐已经如雨后春笋般的出现在了许多地方。
特别在公司,企业内部,团体订餐已经成为了趋势。
同时,随着全国人民的精神、物质和文化生活高度的提高,人们已经不在仅仅停留在吃饱的程度,不但要吃饱,还要吃好,而且口味也越来越挑刺,正因为如此网络订餐业务的出现,正迎合了这些人的口味,他们不但省去了自己做饭的麻烦,而且也能寻找和发现新的菜品,品尝不同风格的菜品,网络订餐业务在中国有着极大的发展空间以及良好的背景。
总体设计原则①.开放性、可扩充性、可靠性原则开放系统是生产各种计算机产品普遍遵循的原则,遵循这种标准的产品都符合一些公共的、可以相互操作的标准,能够融洽的在一起工作。
开放系统使得各种类型的网络和系统互连简单、标准统一,容易扩展升级。
从而适应广大用户需求的多变性和产品的更新换代。
②.良好的用户操作界面用户操作界面美观、方便、实用,使用户能在较短的时间内掌握其使用方法。
③.实用性原则任何系统的设计都要考虑其实用性,系统开发的目的是为了实现业务处理自动化、规范化,提高工作效率,减轻工作人员的劳动强度,减少开支。
④工作平台适用于不同的网络平台。
二、概念设计系统E-R图数据流图数据字典数据项数据结构处理过程三、逻辑结构设计—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_idintprimarykeynotnull,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)check(m_c_operationin('允许注册','注销账户')))四、外围实现部分--客户端实现本次数据库的外围采用C++语言实现的,编程环境使用的是visualstudio2010。
数据库连接采用的是ADO(ActiveXDataObjects),主要是因为使用起来十分简便(只需掌握三个智能指针即可完成大多数功能),且不需要下载其他文件(windows自带)。
而用户交互界面则使用的是dos窗口。
客户端目前提供两个功能,1是订餐功能,1是注册功能。
首先介绍注册功能,每个注册账户对应一个数据库登陆账户以及该账户下的一个拥有客户角色权限的用户,已注册账户的信息由client表存储。
注册过程具体如下:用户选择注册功能后,程序默认以sa身份登录数据库,用户通过dos窗口输入新的id以及密码,程序在client表中检查id是否被使用,若id已被占用则提示用户输入新的id,否则通过sql语句创建登陆账户以及拥有一定权限的数据库用户并提示用户注册成功。
(注册实现代码如下:)然后介绍订餐功能,选择订餐功能后首先提示用户输入账户(id)以及密码,输入后,程序尝试以此账户连接数据库,以30秒为时限,若超过时限没有连接上数据库则提示用户连接失败,否则从数据库中选择状态为”营业中”的饭店信息显示供用户选择,用户选择饭店编号后,从数据库中读取该饭店提供的剩余量大于0的菜品显示供用户选择,待用户作好选择后,将订单插入数据库中ord表(订单编号采用自增长)并修改菜品的剩余值,提示用户接受订单成功,并关闭与数据库的连接。
五、数据库实现据库的建立启动服务管理器,打开查询分析器,在调试程序窗口输入下列语句:Createdatabasedatabase_zbgOn(name=zbg_data,Filename='E:\dbdesign\',Size=10mbMaxsize=500mb,Filegrowth=5mb)Logon(name=zbg_log,Filename='E:\dbdesign\',Size=5mbMaxsize=100mb,Filegrowth=5mb)数据载入1)client表insertintoclientinsertintoclientinsertintoclientinsertintoclientinsertintoclientinsertintoclient2)managerinsertintomanagervalues('m001','刘诗诗','liushish'); insertintomanagervalues('m002','郭晶晶','guojingj'); insertintomanagervalues('m003','杨幂','yangmi12'); 3)providerinsertintoprovider东北酒家梧桐路12号',4,'营业中'); insertintoprovider学惠园梧桐路21号',3,'营业中'); insertintoprovider东北酒店翟乃路12号',4,'打烊'); insertintoprovider四川酒店淄博路5号',4,'歇业'); insertintoprovider状元酒店中原路54号',4,'营业中'); insertintoprovider大排档中原路89号',4,'打烊');insertintoprovider老乡鸡梧桐路13号',4,'营业中'); 4)dishinsertintodishvalues('大对虾insertintodishvalues('大对虾insertintodishvalues('大对虾insertintodishvalues('彩花迎宾insertintodishvalues('彩花迎宾insertintodishvalues('鱿鱼汤insertintodishvalues('狗全席insertintodishvalues('狗全席insertintodishvalues('龙门鱼insertintodishvalues('龙门鱼insertintodishvalues('叫花鸡insertintodishvalues('叫花鸡insertintodishvalues('叫花鸡5)ordinsertintoord12:35:',1,'梧桐路99号','正常'); insertintoord12:35:',2,'梧桐路99号','正常'); insertintoord12:35:',3,'梧桐路77号','正常'); insertintoord12:35:',4,'梧桐路77号','正常'); insertintoord12:35:',5,'梧桐路77号','正常'); insertintoord12:35:',6,'梧桐路88号','正常'); insertintoord12:35:',7,'梧桐路88号','正常');insertintoord12:35:',8,'梧桐路66号','正常');insertintoord12:35:',9,'梧桐路66号','正常');6)manager_clientinsertintomanager_client12:35:29','增加');insertintomanager_client12:37:29','增加');insertintomanager_client12:38:29','增加');insertintomanager_client12:39:29','增加');insertintomanager_client13:35:29','增加');insertintomanager_client14:35:29','增加');7)manager_providerinsertintomanager_provider14:35:29','允许注册');insertintomanager_provider15:35:29','允许注册');insertintomanager_provider16:35:29','允许注册');insertintomanager_provider17:35:29','允许注册');insertintomanager_provider18:35:29','允许注册');insertintomanager_provider19:35:29','允许注册');insertintomanager_provider19:39:29','允许注册');六、数据库的运行和维护作为网管员,无论其管理的网络的规模是大还是小,在日常的管理中除了维护网络平稳运行、及时排除网络故障、保护网络安全等工作以外,备份网络中关键数据也是其中的一个非常非常重要的工作环节。