欢迎来到天天文库
浏览记录
ID:41697071
大小:129.86 KB
页数:39页
时间:2019-08-30
《多客户端餐馆管理系统设计文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据库课程设计多客户端餐厅管理系统数据库课程设计文档项目组成员:组员:陈龙贺文超组长:肖顺丹数据库课程设计多客户端餐厅管理系统数据库设计项目组成员:组员:陈龙孙鑫贺文超组长:肖顺丹冃录第一章概述41.1E-R图41.2范式41.3参考文献5第二章数据定义62.1表结构设计62.1.1总体设计62.1.2详细描述7□□□◎2.2视图设计25cl_dish_order25cLdish26cf_i27cCmenu27bx_Menu282.3存储过程设计282.3.1dt_UpdateBooking292.3.2dt_InsertBooking302.
2、3.3dt_lnsert_order312.3.4dt_insert_menu322.3.5dt_delete_booking332.3.6bx_InsertOrderMenus332.3.7bx_Insei*tAdvice352.3.8bx_DeleteOrderMenus36第三章并发性控制和索引373」厨房终端与仓库终端共同修改字段373.2大厅、包厢、厨房共同修改字段373.3索引所带来的速率提升37第一章概述该项目为一个多终端的餐馆管理系统,为典型的C/S结构,数据库在其中起到服务器的作用。各个终端通过访问数据库来获得信息并实现信息的
3、共享和交互,在这个过程屮,如何让数据库提高查询速率,在多个终端实现数据一致,并且尽量减少冗余信息就是设计数据库要达到的目标了。1.1E・R图图l.lE-R图数据库主体一共有张表,分别是Table>Order>Ingredient>Booking>Order_Menus>Menu_IngredientMenu、CustomerDishType>CustomerAdviceGroupLeveL表不多,但是其中关联相对复杂,并且在设计阶段考虑程序的可扩展性,为了以后可以继续迭代,也做了许多设计,在下面的文档中会详细说明。1.2范式设计时是严格按照范式
4、进行设计的,主要是如下两个范式:第一范式:数据库中所有表中的域都是原子的,符合第一范式要求。BCNF范式:基木上所有的表都符合BCNF范式,只有Booking表有所争议:Booking(bookingID主键,tableNum夕卜键,bookingDate,eatingDate,timelnterval,customerlD,bookingState)在该表中,bookingID是唯一的主键,它可以导出此模式,但tableNum>eatingDate>timelnterval三个属性在逻辑上也可以导出此模式,因为在同一时段一张桌子不可能有两个预
5、订。而这三个属性并不是该模式的主键,也不符合平凡函数依赖的要求,所以理论上说是有违BCNF范式要求的。但考虑到程序的可扩展性,这样做有以下两个好处:①时段目前设为早餐、中餐、晚餐,不排除以后可能会扩展功能,将时段再进行更加详细的划分②餐馆的实际运营中可能会需要拼桌,即一张桌子可以接受两份订单的可能,如果系统在以后的迭代中加入此功能,tableNum、eatingDate、timelnterval这三个屈性将无法再唯一的标识一个订单。1.3参考文献1.Cay.S.Horstmann,GaryCornell著《java2核心技术》,机械工业出版社,
6、第七版2.S.Sudarshan等著《数据库系统系统概念》,机械工业出版社。3.威汝鹏、章坚兵著《JBuilder2005»,中国电力出版社。4.周峰著«SQLServer2005基础与实践教程》,电子工业出版社。5.唐汉明等编著,《深入浅出MySQb数据库开发、优化与管理维护》,人民邮电出版社。第二章数据定义2.1表结构设计2.1.1总体设计NameDocumentation二Table桌子表-Order点菜表一Ingredient食材表-Booking订单表-Order_Menus联系Order和Menu两个表之间多对多的联系。・MenuJ
7、ngredient菜对应所需要的原料,是Menu表和Ingredient表的联系。_)Menu菜单表一Customer顾客表-DishType菜的类型。本来打算设置为Menu表的属性,但是将其单独设为一张表:1•可以方便管理。2.可能需要在没有某一类菜的情况下插入一种菜的类型rCustomerAdvice顾客意见表=GroupLevel顾客所属群体表2.1.2详细描述Table说明该表用来存放餐厅中桌子的信息,每行元祖对应餐厅中的每一个桌子。索引tableNum唯一的聚集索引,按升序排列。因为Table表没有插入删除操作,仅仅有的是修改tabl
8、eState®性值的操作,但是却有大量查询操作,为了提高查询速率,所以用tableNum建立了索引。ColumnsNameDatetypePK/FKN
此文档下载收益归作者所有