收藏 分销(赏)

数据库三级项目.doc

上传人:二*** 文档编号:4711241 上传时间:2024-10-10 格式:DOC 页数:24 大小:648.54KB 下载积分:5 金币
下载 相关 举报
数据库三级项目.doc_第1页
第1页 / 共24页
本文档共24页,全文阅读请下载到手机保存,查看更方便
资源描述
网上点餐系统 1. 需求描述 用简要文字描述系统的需求信息。 随着互联网的飞速发展,人们足不出户就可完毕很多事情:购物、订票、求医、交友、缴费等等,极大的方便了人们的生活。人们坐在家中通过网络就可以实现点餐、付款、等待送餐等一系列服务。 2. 概念结构设计 画出系统E-R图。 特色 名称 编号 分类名称 编号 食材 图片 属于 菜品 菜品分类 1 N 备注 价格 点餐率 Q 编号 用户名 密码 用户 点餐 P 身份 地址 电话 3. 逻辑结构设计 根据E-R图设计关系模式,也可以设计某些视图。每个关系模式最佳列出具体的表结构。 根据E-R图分析转换后,提取出四张数据库表,分别是:用户表、菜品分类表、菜品表和点餐表,表的设计如下: User(用户表) 列名 数据类型 主键 可为空 是否外键 其他约束 说明 Id Int 是 否 否 无 用户编号 userName Varchar(20) 是 否 否 无 用户名 Password Varchar(20) 是 否 否 无 密码 Ident Char(1) 是 否 否 无 用户身份 (0:普通1;1:管理员) Telephone Vachar(20) 是 否 否 无 电话 Address Varchar(50) 是 否 否 无 地址 Foodtype(菜品分类表) 列名 数据类型 主键 可为空 是否外键 其他约束 说明 Id Int 是 否 否 无 分类编号 Typename Varchar(20) 否 否 否 无 分类名称 Food(菜品表) 列名 数据类型 主键 可为空 是否外键 其他约束 说明 Id Int 是 否 否 无 菜品编号 Foodname Varchar(20) 否 否 否 无 菜品名称 Feature Varchar(100) 否 是 否 无 特色 Material Varchar(100) 否 是 否 无 食材 Price Int 否 否 否 无 价格 Type Varchar(20) 否 否 否 无 分类 Picture Varchar(40) 否 是 否 无 图片 Hite Int 否 否 否 无 点餐率 Comment Int 否 否 否 无 备注(-1:正常菜,0:厨师推荐菜,正整数:特价菜) Diningcar(点餐表) 列名 数据类型 主键 可为空 是否外键 其他约束 说明 Id Int 是 否 否 无 点餐编号 Userid Int 否 否 是 无 用户编号 Foodid Int 否 否 是 无 菜品编号 4. 物理设计 根据实际应用设计索引。 在food表上创建复合索引INDEX Unite,一方面在列price上创建降序索引,若price列值相同的图书再按照ID列创建升序索引。 CREATE INDEX Unite ON food (price DESC, Id ASC) 查看在food表上创建的所有索引。 sp_helpindex food 5. 数据库实行 创建数据库和表。 也可以创建数据库用户。 数据库和表的创建: User1(用户表) Foodtype(菜品分类表) Food(菜品表) Diningcar(点餐表) 6. 数据库运营 模拟实际应用程序运营,虚拟一些实际需求并撰写相应的增删改查语句等。 (1) 王霸注册了网站订餐系统普通用户,密码:456 电话: 地址:东软三期大酒店 Insert into user1 Values(‘6’,’王霸’,’456’,’0’,’’,’东软三期大酒店’) (2) 最近本店新增了两个菜色:台烧卤肉饭 厨师推荐 菜价:15;黑椒牛柳 家常菜 菜价:10 Insert into food Values(‘6’,’台烧卤肉饭’,null,null,’15’,’家常’,null,‘0’,’0’) Insert into food Values(‘7’,’黑椒牛柳’,null,null,’10’,’家常’,null,‘0‘,’-1‘) (3) 赵六搬了新家,需要修改地址,地址为:数码广场28号 Update user1 set address=’ 数码广场28号’ (4) 由于天气因素,某些菜缺少,所以有些菜品被删除,如:角瓜鸡蛋 Delete from food Where foodname=’角瓜鸡蛋’ (5) 为了不反复,管理员想查询是否有口水鸡这个菜品 Select * from food Where foodname=’口水鸡’ 7. 数据库维护 可以考虑进行数据库的备份和恢复操作。 (1)数据库的备份:右键点击Order数据库,操作如下 对数据库Order分别进行完整备份、差异备份和事务日记备份 差异备份和事务日记备份操作同完整备份 (2)数据库的恢复:右键点击Order数据库,操作如下 可对所要选择还原的备份集,进行还原 8.数据库开发 可以考虑创建函数、存储过程或触发器等。 (1) 创建函数:使用Order数据库,根据给定的菜品价格,选择出所有价格低于给定菜品价格的所有菜品的具体信息 测试:select * from Searchfood(35) (2) 存储过程:创建一个存储过程foodkin,用于检索菜品的名字、价格和菜品类型 通过下SQL语句执行该存储过程:EXECUTE foodkin (3)为Food表创建触发器:操作如下 在表Food中新建查询:输入 create trigger query_food_T on food for insert,update,delete as select *from food go 激活触发器: 9.应用程序开发(额外加分) 采用***程序语言连接数据库实现应用程序,程序界面如下: <%@ page language="java" import="java.util.*" pageEncoding="GBK"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <center> <h1>网络点餐系统</h1> <a href="$ {pageContext.request.contextPath}/mealsystem/login.jsp">进入点餐系统</a> <table width="80%"> <tr><td> <h3>热点菜品</h3> <table> <tr> <table> <tr> <td align="center"><img src="../images/家常/1.jpg"><br> <a href="#" target="_blank">西红柿鸡蛋</a>9元 </td> <td align="center"><img src="../images/家常/1.jpg"><br> <a href="#" target="_blank">角瓜鸡蛋</a>8元 </td> <td align="center"><img src="../images/家常/1.jpg"><br> <a href="#" target="_blank">爆炒腰花</a>6元 <td align="center"><img src="../images/家常/1.jpg"><br> <a href="#" target="_blank">口水鸡</a>10元 </td> </tr> </table> </td></tr> <tr> <td><h3>今日特价</h3> <table> <tr> <td align="center"><img src="../images/凉菜/1.jpg"><br> <a href="#" target="_blank">蒜泥炒肉</a>9元 </td> <td align="center"><img src="../images/zhushi/1.jpg"><br> <a href="#" target="_blank">驴打滚</a>10元 </td> <td align="center"><img src="../images/zhushi/1.jpg"><br> <a href="#" target="_blank">西米露</a>9元 </td> </tr> </table> </td></tr> <tr> <td><h3>厨师推荐</h3> <table> <tr> <td align="center"><img src="../images/川菜/1.jpg"><br> <a href="#" target="_blank">四川酸辣粉</a>9元 </td> <td align="center"><img src="../images/zhushi/1.jpg"><br> <a href="#" target="_blank">红豆粥</a>10元 </td> <td align="center"><img src="../images/zhushi/1.jpg"><br> <a href="#" target="_blank">韩国泡菜</a>9元 </td> </tr> </table> </td> </tr> </table> </center> <center> <h1><font color="red">菜单管理</font></h1> <hr color="green"> <table width="80%"> <tr> <th><a href="#">用户管理</a></th> <th><a href="#">菜品分类管理</a></th> <th><a href="#">菜品管理</a></th> <th><a href="#">查看用户点餐情况</a></th> <th><a href="#">退出点餐系统</a></th> </tr> </table> <p> <form action="#" method="post"> <a href="#">添加菜品</a>&nbsp;&nbsp; <select name="typeid"> <option></option> <option value="1">家常</option> <option value="1">凉菜</option> <option value="1">主食</option> <option value="1">饮品</option> <option value="1">234343</option> </select> <input type="submit" value="按分类查询"> </form> <p> <table width="80%" borde> <tr> <th>序号</th><th>菜品名称</th><th>价格</th><th>类型</th><th>点击率:次</th><th>备注</th><th>操作</th> </tr> <tr> <td>1</td> <td>韭菜鸡蛋</td> <td>8</td> <td>家常</td> <td>1</td> <td></td> <td> <a href="#">修改</a> <a href ="#" onClick='return confirm("拟定要删除此菜品吗?")'>删除</a> </td> </tr> <tr> <td>2</td> <td>辣白菜</td><td>6</td> <td>家常</td> <td>1</td> <td></td> <td> <a href="#">修</a> <a href ="#" onClick='return confirm("拟定要删除此菜品吗?")'>删除</a> </td> </tr> </table> </center> <center> <h1><font color="red">菜品管理——修改菜品</font></h1> <hr color="green"> <table width="80%"> <tr> <th><a href="#">用户管理</a></th> <th><a href="#">菜品分类管理</a></th> <th><a href="#">菜品管理</a></th> <th><a href="#">查看用户点餐情况</a></th> <th><a href="#">退出点餐系统</a></th> </tr> </table> <p> <from action="#" method="post"> <input type="hidden" name="id" value="2"> <table width="40%" border> <tr> <td>菜名</td> <td><input type="text" name="foodname" value="韭菜炒鸡蛋"></td> </tr> <tr> <td>特色</td> <td> <textarea rows="" cols="20" rows="4">工艺:炒 口味:清香味</textarea> </td> </tr> <tr> <td>食材</td> <td> <textarea name="material" cols="20" rows="4">主料:韭菜4两(约160克,鸡蛋3只。)</textarea> </td> </tr> <tr> <td>价格</td> <td><input type="text" name="price" value="8" >元</td> </tr> <tr> <td>类型</td> <td> <select name="type"> <option value='1'selected>家常</option> <option value='2'>凉菜</option> <option value='2'>主食</option> <option value='2'>饮品</option> </select> </td> </tr> <tr> <td>图片</td> <td> <imq src="../../images/jiachang/02.jpg"><br> <input type="text" name="picture" value="images/jiachang/02.jpg"> </td> </tr> <tr> <td>备注</td> <td> <textarea name="comment" rows="4" cols="20">-1 -1表达正常菜,0表达厨师推荐,正整数为特价菜。</textarea> </td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="修改"></td> </tr> </table> </form> </center> <center> <h1><font color="red">用户点餐情况列表</font></h1> <hr color="green"> <table width="80%"> <tr> <th><a href="#">用户管理</a></th> <th><a href="#">菜品分类管理</a></th> <th><a href="#">菜品管理</a></th> <th><a href="#">查看用户点餐情况</a></th> <th><a href="#">退出点餐系统</a></th> </tr> </table> <p> <tr> <td align="center"> <table border width="50%"> <tr><td colspan="2">点餐用户:</td></tr> <tr><td width="70%">菠菜炒鸡蛋</td><td>9元</td></tr> <tr><td width="70%">韭菜炒鸡蛋</td><td>8元</td></tr> <tr><td width="70%">辣白菜</td><td>6元</td></tr> <tr><td >合计</td><td>23元</td></tr> </table> </td></tr> </table> </center> </body> </html>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服