内蒙古科技大学本科生课程设计说明书题目:数据库课程设计——快餐预订系统学生姓名:李文静学号:1176807345专业:计算机科学与技术班级:11-3班指导教师:丁雨第1页目录目录..............................................................................................................01.需求分析.................................................................................................21.1课程设计题目要求...........................................................................21.2系统分析.........................................................................................21.2.1系统开发目的........................................................................21.2.2系统分角色功能分析..............................................................22.概念结构设计..........................................................................................32.1数据流设计......................................................................................32.1.1数据流顶层图........................................................................42.1.2数据流一层图........................................................................42.2E-R图设计.......................................................................................42.2.1实体间总E-R图....................................................................52.2.2实体分E-R图........................................................................53.逻辑结构设计...........................................................................................93.1关系结构设计..................................................................................93.1.1客户表client..........................................................................93.1.2职员表staff...........................................................................93.1.3分店表store.........................................................................103.1.4食品表food.........................................................................113.1.5配料表flavor.......................................................................123.1.6食品-配料关系表ffr.............................................................123.1.7套餐表meal.........................................................................133.1.8订单表order........................................................................133.1.9销售统计表sell....................................................................144.物理设计................................................................................................154.1索引存取.......................................................................................154.1.1索引定义..............................................................................154.1.2建立索引.............................................................................154.2聚簇索引.......................................................................................154.2.1聚簇索引定义......................................................................154.2.2建立聚簇索引......................................................................155.数据库设计总结.....................................................................................165.1理解三个范式,正确认识数据冗余................................................165.2正确处理实体间多对多的关系.......................................................16第2页1.需求分析1.1课程设计题目要求客户需要注册之后才能登陆。客户需要输入密码正确之后方可登陆系统,然后后才可以订、浏览、及取消订单。客户当拿到食物之后才付款(可以不用考虑付款问题)客户可以选择哪一个分店来为他送订的东西。快餐店出售套餐(两种食品组合或三种食品组合),套餐包括两菜(或三菜)另外加米饭和当天供应的汤。用户可以自行选择由哪几样菜组成套餐。一样菜可以另附一种或多种调料。一个订单可以包括任意的菜,附加饮料。经经理同意,某些食品可以打折。1.2系统分析1.2.1系统开发目的快餐订餐系统是为了方便快餐公司更有利把握快餐市场,并且为消费者提供更便利的服务而设计开发的。快餐订餐系统可为快餐公司向餐饮消费者提供更加便利的餐饮服务,也可为消费者提供更加明细的消费服务。1.2.2系统分角色功能分析快餐订餐系统使用用户的角色分为:客户,送货员(职员),餐饮经理(职员)。1.客户功能1)注册订餐客户账号。注册账号并完善个人信息。2)订制套餐订单。套餐可选择分店设置套餐优惠,也可根据个人喜好选择喜爱食物构成套餐。客户可以选择同种食物的不同口味。3)客户在订单中须写清送餐地址、个人有效联系方式,以便快餐及时送达。4)客户收到订餐后再付费。5)客户可对送餐服务进行满意度评价。6)客户可取消个人快餐订单。2.餐饮经理功能1)经理可浏览客户及所属分店职员信息。第3页2)经理可取消过期(一天以上)的订单信息。3)经理可设定所属分店优惠套餐信息。4)经理可对部分设置食物价格折扣。3.送餐员功能1)送餐员可浏览所属分店订单信息。2.概念结构设计2.1数据流设计第4页2.1.1数据流顶层图2.1.2数据流一层图2.2E-R图设计第5页2.2.1实体间总E-R图2.2.2实体分E-R图第6页第7页第8页第9页3.逻辑结构设计3.1关系结构设计注:使用数据库为MySQL数据库3.1.1客户表client1)创建数据表CREATETABLE`fastfood`.`client`(`client_id`INTNOTNULLAUTO_INCREMENTPRIMARYKEY,`client_nick`VARCHAR(20)NOTNULL,`client_pwd`VARCHAR(20)NOTNULL,`client_name`VARCHAR(20)NOTNULL,`client_tel`VARCHAR(20)NOTNULL,`client_add`VARCHAR(1000)NOTNULL,`client_time`TIMENOTNULL)ENGINE=MYISAM2)关系数据表字段client_idclient_nickclient_pwdclient_nameclient_telclient_addclient_time类型INTVARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(20)VARCHAR(1000)TIME备注PRIMARYKEY客户登陆名客户登录密码客户姓名客户联系电话客户联系地址客户注册时间3)数据表说明i.客户表是记录客户信息的数据表。ii.client_id为客户数据表的主键。iii.已注册客户(在客户表中存在的用户)可以对个人信息进行修改。iv.分店经理可浏览所属分店客户信息。v.送餐员没有对客户表操作的权限。3.1.2职员表staff1)创建数据表CREATETABLE`fastfood`.`staff`第10页(`staff_id`INTNOTNULLAUTO_INCREMENTPRIMARYKEY,`staff_num`VARCHAR(20)NOTNULL,`staff_pwd`VARCHAR(20)NOTNULL,`staff_name`VARCHAR(20)NOTNULL,`staff_tel`VARCHAR(20)NOTNULL,`staff_store`VARCHAR(1000)NOTNULL,`staff_group`VARCHAR(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