版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、内蒙古科技大学本科生课程设计说明书题目:数据库课程设计快餐预订系统名:号:专业:计算机科学与技术班级:11-3班师:第 页目录TOC o 1-5 h z HYPERLINK l bookmark2 目录0 HYPERLINK l bookmark4 1需求分析2 HYPERLINK l bookmark6 1.1课程设计题目要求2 HYPERLINK l bookmark8 1.2系统分析21.2.1系统开发目的21.2.2系统分角色功能分析2 HYPERLINK l bookmark10 2概念结构设计3 HYPERLINK l bookmark12 2.1数据流设计32.1.1数据流顶层图
2、42.1.2数据流一层图42.2E-R图设计4 HYPERLINK l bookmark14 2.2.1实体间总E-R图5 HYPERLINK l bookmark16 2.2.2实体分E-R图5 HYPERLINK l bookmark18 3.逻辑结构设计9 HYPERLINK l bookmark20 3.1关系结构设计9 HYPERLINK l bookmark22 客户表client9 HYPERLINK l bookmark24 职员表staff9 HYPERLINK l bookmark26 分店表store10 HYPERLINK l bookmark28 食品表food11
3、HYPERLINK l bookmark30 配料表flavor12 HYPERLINK l bookmark32 3.1.6食品-配料关系表ffr12 HYPERLINK l bookmark34 套餐表meal13订单表order13销售统计表sell14 HYPERLINK l bookmark36 4.物理设计15 HYPERLINK l bookmark38 4.1索引存取15 HYPERLINK l bookmark40 4.1.1索引定义15 HYPERLINK l bookmark42 4.1.2建立索引15 HYPERLINK l bookmark44 4.2聚簇索引15 H
4、YPERLINK l bookmark46 4.2.1聚簇索引定义154.2.2建立聚簇索引15 HYPERLINK l bookmark48 5.数据库设计总结16 HYPERLINK l bookmark50 5.1理解三个范式,正确认识数据冗余16 HYPERLINK l bookmark52 5.2正确处理实体间多对多的关系161需求分析课程设计题目要求客户需要注册之后才能登陆。客户需要输入密码正确之后方可登陆系统,然后后才可以订、浏览、及取消订单。客户当拿到食物之后才付款(可以不用考虑付款问题)客户可以选择哪一个分店来为他送订的东西。快餐店出售套餐(两种食品组合或三种食品组合),套餐
5、包括两菜(或三菜)另外加米饭和当天供应的汤。用户可以自行选择由哪几样菜组成套餐。一样菜可以另附一种或多种调料。一个订单可以包括任意的菜,附加饮料。经经理同意,某些食品可以打折。系统分析1.2.1系统开发目的快餐订餐系统是为了方便快餐公司更有利把握快餐市场,并且为消费者提供更便利的服务而设计开发的。快餐订餐系统可为快餐公司向餐饮消费者提供更加便利的餐饮服务,也可为消费者提供更加明细的消费服务。1.2.2系统分角色功能分析快餐订餐系统使用用户的角色分为:客户,送货员(职员),餐饮经理(职员)。客户功能1)注册订餐客户账号。注册账号并完善个人信息。2)订制套餐订单。套餐可选择分店设置套餐优惠,也可根
6、据个人喜好选择喜爱食物构成套餐。客户可以选择同种食物的不同口味。3)客户在订单中须写清送餐地址、个人有效联系方式,以便快餐及时送达。4)客户收到订餐后再付费。5)客户可对送餐服务进行满意度评价。6)客户可取消个人快餐订单。餐饮经理功能1)经理可浏览客户及所属分店职员信息。经理可取消过期(一天以上)的订单信息。经理可设定所属分店优惠套餐信息。经理可对部分设置食物价格折扣。送餐员功能1)送餐员可浏览所属分店订单信息。2概念结构设计数据流设计211数据流顶层图订餐信息操作请求订单信息图221数据流腿图2.1.2数据流一层图订单信息快暮订单:弋提交订单成功C记录订单订单信息图221数据流1层图22E-
7、R图设计2.2.1实体间总E-R图图2.2.L实休间町-R总图2.2.2实体分E-R图图222-1客户分E-R图圏2.2.2-2职员分E-R图图2.2.2-3分店E-R團S2.2.2-5配料圏图222套餐E-R图图2.2.2-7iTW-R图图222-7销售E-R图3.逻辑结构设计关系结构设计注:使用数据库为MySQL数据库客户表client1)创建数据表CREATETABLEfastfood.client(client_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,client_nickVARCHAR(20)NOTNULL,client_pwdVARCHAR(20)
8、NOTNULL,client_nameVARCHAR(20)NOTNULL,client_telVARCHAR(20)NOTNULL,client_addVARCHAR(1000)NOTNULL,client_timeTIMENOTNULL)ENGINE=MYISAM2)关系数据表字段client_idclient_nickclient_pwdclient_nameclient_telclient_addclient_time类型INTVARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(1000)TIME备注PRIMARYKEY客户登陆名客户
9、登录密码客户姓名客户联系电话客户联系地址客户注册时间3)数据表说明i.客户表是记录客户信息的数据表。ii.client_id为客户数据表的主键。已注册客户(在客户表中存在的用户)可以对个人信息进行修改分店经理可浏览所属分店客户信息。送餐员没有对客户表操作的权限。职员表staff1)创建数据表CREATETABLEfastfood.staff(staff_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,staff_numVARCHAR(20)NOTNULL,staff_pwdVARCHAR(20)NOTNULL,staff_nameVARCHAR(20)NOTNULL,
10、staff_telVARCHAR(20)NOTNULL,staff_storeVARCHAR(1000)NOTNULL,staff_groupVARCHAR(20)NOTNULL)ENGINE=MYISAM2)关系数据表字段staff_idstaff_numstaff_pwdstaff_namestaff_telstaff_addstaff_group类型INTVARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(1000)VARCHAR(20)备注PRIMARYKEY职员登陆名职员登录密码职员姓名职员联系电话职员所属分店职员管理组3)数据表说
11、明i.职员表是记录分店职员信息的数据表。ii.staff_id是职员表的主键。职员工号为其系统登录名。分店经理可对其所属分店的员工信息进行修改。分店员工只可查看自己所属分店的员工信息。vi.客户不能对职员表进行任何操作。分店表store1)创建数据表CREATETABLEfastfood.store(store_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,store_nameVARCHAR(1000)NOTNULL,store_addVARCHAR(1000)NOTNULL,store_telVARCHAR(20)NOTNULL)ENGINE=MYISAM2)关系
12、数据表字段store_idstore_namestore_addstore_tel第 页类型INTVARCHAR(1000)VARCHAR(1000)VARCHAR(20)备注PRIMARYKEY分店名称分店地址分店电话3)数据表说明i.分店表是记录快餐店各分店信息的数据表。ii.store_id是分店表的主键。iii.经理可浏览各店信息。经理可对其所属分店信息进行修改iv.送餐员可浏览各店信息。v.客户可浏览各店信息。食品表food1)创建数据表CREATETABLEfastfood.food(food_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,food_na
13、meVARCHAR(20)NOTNULL,food_infoVARCHAR(1000)NOTNULL,food_priceFLOATNOTNULL,food_typeVARCHAR(20)NOTNULL,food_discountFLOATNOTNULL)ENGINE=MYISAM2)关系数据表字段food_idfood_namefood_infofood_pricefood_typefood_discount类型INTVARCHAR(20)VARCHAR(1000)FLOATVARCHAR(20)FLOAT备注PRIMARYKEY食物名称食物信息食物价格食物类型食物折扣3)数据表说明i.食物
14、表是记录快餐店各种食物信息的数据表。ii.food_id是食物表主键。iii.经理可对食物表进行添加、删除、修改的操作iv.送餐员可浏览该表信息。v.客户可浏览该表信息。配料表flavor1)创建数据表CREATETABLEfastfood.flavor(flavor_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,flavor_nameVARCHAR(20)NOTNULL)ENGINE=MYISAM2)关系数据表字段flavor_idflavor_name类型INTVARCHAR(20)备注PRIMARYKEY配料名3)数据表说明i.配料表是记录快餐各种食物所添加配
15、料的数据表。ii.flavor_id是配料表的主键。iii.经理可对配料表进行添加、修改等操作。iv.客户可浏览并依个人口味选择所选食物的配料。食品-配料关系表ffr1)创建数据表CREATETABLEfastfood.ffr(ffr_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,flavor_idINTNOTNULL,food_idINTNOTNULL)ENGINE=MYISAM2)关系数据表字段ffr_idfood_idflavor_id类型INTINTINT备注PRIMARYKEY食物id配料Id3)数据表说明i.食物-配料关系表是记录食物和配料对应关系表。i
16、i.ffr_id是食物-配料表的主键。iii.经理可对该表进行添加、修改的操作,设定各种食物配料对应关系iv.送餐员和客户无操作权限。套餐表meal1)创建数据表CREATETABLEfastfood.meal(meal_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,meal_nameVARCHAR(20)NOTNULL,food_idINTNOTNULL)ENGINE=MYISAM2)关系数据表字段meal_idmeal_namefood_id类型INTVARCHAR(20)INT备注PRIMARYKEY套餐名称套餐中食物id3)数据表说明套餐表是记录快餐店推出的
17、优惠套餐的记录表。(非实体表)meal_id是套餐表的主键。经理可对套餐表进行修改、添加等操作。客户可浏览套餐信息。客户也可根据个人喜好添加个人套餐信息3.1.8订单表order1)创建数据表CREATETABLEfastfood.order(order_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,client_idINTNOTNULL,store_idINTNOTNULL,staff_idINTNOTNULL,order_stimeTIMENOTNULL,order_evaluateVARCHAR(100)NOTNULL,order_tpriceFLOATNOT
18、NULL,order_stateVARCHAR(100)NOTNULL,meal_idINTNOTNULL)ENGINE=MYISAM2)关系数据表字段order_idclient_idstore_idstaff_idorder_stimeorder_evaluateorder_tpriceorder_statemeal_id类INTINTINTINTTIMEVARCHARFLOATVARCHARINT型(100)(100)备注订单号客户id分店id送餐员id快餐到达时间服务评价订单支付金额订单状态套餐id3)数据表说明i.订单记录表是记录用户订单信息的数据表。ii.order_id是订单表的
19、主键。iii.经理可对订单表进行修改操作。iv.送餐员可浏览订单表。v.客户可添加、取消该订单。3.1.9销售统计表sell1)创建数据表CREATETABLEfastfood.sell(sell_idINTNOTNULLAUTO_INCREMENTPRIMARYKEY,client_idINTNOTNULL,order_idINTNOTNULL,food_idINTNOTNULL,priceFLOATNOTNULL)ENGINE=MYISAM2)关系数据表字段sell_idclient_idorder_idfood_idprice类型INTINTINTINTFLOAT备注PRIMARYKEY
20、订餐人id订单id食物id食物单价3)数据表说明i.销售统计表是记录客户消费信息的数据表。ii.sell_id是该表的主键。客户可在定制订单之后浏览该信息。经理可浏览该表,统计所属分店的销售业绩。4.物理设计索引存取索引定义索引是对数据库表中一列或多列的值进行排序的一种结构,例如staff表的姓(name)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比索引会帮助您更快地获得该信息。在数据库关系图中,可以在选定表的“索引/键”属性页中创建、编辑或删除每个索引类型。当保存索引所附加到的表,或保存该表所在的关系图时索引将保存在数据库中。建立索引在快餐店经理和送餐员查询订单表时,经理和送餐员只
21、须查询自己所在分店的订单。故可在order表(store表)的store_id(分店id)属性上建立索引。方法:createindexstore_idonorder(store_id)4.2聚簇索引4.2.1聚簇索引定义聚簇索引确定表中数据的物理顺序。聚簇索引类似于电话簿,后者按姓氏排列数据。由于聚簇索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚簇索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。汉语字典也是聚簇索引的典型应用,在汉语字典里,索引项是字母+声调,字典正文也是按照先字母再声调的顺序排列。4.2.2建立聚簇索引订餐者在查询快餐店所提供的食品时,是根据食品名称查询的。故可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GB-T 24445-2009单螺杆饲料原料膨化机》专题研究报告
- 《python语言程序设计》课件-项目实战 构件基本信息录入与展示
- 运维方案设计服务协议
- 2025年度江苏省铁路集团有限公司秋季校园招聘笔试参考题库附带答案
- (2025)70周岁以上老年人换长久驾照三力测试题库(附答案)
- 2025年数控超精密车床项目发展计划
- 2025年商业保理项目发展计划
- 宫颈癌的疫苗预防
- 青少年营养不良防治
- 员工违法犯罪课件
- 2025年广东省第一次普通高中学业水平合格性考试(春季高考)英语试题(含答案详解)
- 2026年合同全生命周期管理培训课件与风险防控手册
- 特殊儿童沟通技巧培训
- 理赔管理经验分享
- 中国马克思主义与当代2024版教材课后思考题答案
- 2026年日历表(每月一页、可编辑、可备注)
- DB44∕T 1297-2025 聚乙烯单位产品能源消耗限额
- 2025年历城语文面试题目及答案
- 装修合同三方协议范本
- 讲给老年人听的助听器
- 大清包劳务合同样本及条款解读
评论
0/150
提交评论