您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 数据库系统原理课程设计
数据库原理及应用课程设计小组名称:324数据库设计组数据库名称:外卖订餐信息管理参与人员姓名:xxx学号xxx完成时间:2018-6-23指导老师:xxx数据库系统原理课程设计说明书1数据库需求分析1.1背景预计互联网餐饮外卖市场在未来三年内仍将维持增长的态势,但同比增速将有所下降。预计2019年中国互联网餐饮外卖市场交易规模将达到3378亿元人民币,外卖订单信息的管理系统使外卖平台更高效,更智能,为外卖的发展注入动力,所以发展外卖订单管理系统很有必要。功能要求实现日常外卖订餐信息存取,保证数据的正确性该外卖信息管理系统,实现简单的用户数据查询、修改、增添数据记录等操作。(一)学生查询1、用户信息修改修改选中当前学生的信息。2、用户信息的添加增加新学生的信息。3、用户信息删除删除选中当前学生信息。(二)订单查询1、订单信息查询实现对课程名、学时、学分的修改。2、课程添加对一门新开设的课程进行录入,并存入数据库。3、课程删除对一门不在开设的课程进行删除,并从数据库中删除。(三)商户查询1、商户信息修改先选中要修改的商家信息,然后进行修改。2、商家添加直接弹出添加对话框,然后进行添加。3、商家信息删除先选中要删除的成绩信息,然后直接删除。数据库系统原理课程设计说明书2数据流图提交店名商家信息提交用户ID用户信息提交订单编号订单信息提交姓名骑手信息数据字典数据字典商家数据项含义数据类型长度取值范围S_name商家名char20S_loc位置char40管理员商家信息管理用户信息管理订单送餐员商家信息存储骑手信息存储订单信息存储用户信息存储数据库系统原理课程设计说明书3S_tel联系电话char20送餐员数据项含义数据类型长度取值范围P_name骑手姓名char20P_tel联系电话char20用户数据项含义数据类型长度取值范围U_name用户名char20UIDIDchar20U_tel联系电话char20U_loc地理位置char20订单数据项含义数据类型长度取值范围O_num订单号char20O_time下单时间char20数据库系统原理课程设计说明书4UID用户IDchar20S_name店名char20P_name骑手姓名char20Money金额char20数据字典数据项名:users描述:包括用户的主要信息别名:无定义:UID+U_tel+U_name+U_loc数据量:1000000左右峰值:随时,平台推广期容易出现峰值其他说明:在系统功能扩充时可能增加定义项数据项名:shop描述:包括商家的主要信息别名:无定义:Sname+S_tel+S_loc+出生日期+入学年月数据量:10000左右峰值:随时,其他说明:在系统功能扩充时可能增加定义项数据库系统原理课程设计说明书52.数据库概念结构设计3.1E-R图首先分析学生成绩管理系统的用户要求,找出该系统应该包括的实体。最终,确定系统的实体是用户、商家、订单和骑手。接着,我们分析这些实体之间的关联关系。从实际情况得知,一个用户可以对应多个订单,订单只能对应一个用户。一家店对应多个用户,一个用户对应多个商家。根据上述分析,我们得到如图所示的实体关系图。由需求分析的结果可知,本系统设计的实体包括:创建实体关系图*实体:用户、商家、订单、骑手。*实体属性定义:用户:ID、用户名、地址、联系电话订单:订单编号、用户ID、商家名、金额、骑手骑手:姓名、联系电话。商家:商家名、地址、联系电话*实体关系图:(1)学生基本信息:学号,姓名,性别,出生日期,地址,年龄,专业用户实体ID联系电话用户名地址数据库系统原理课程设计说明书6(2)商家基本信息:商家名、联系电话、地址(3)订单基本信息:订单编号、用户ID、商家名、金额、骑手这些实体间的联系包括:每位学可以学习多门课程,每门课程可供多位学生学习商家基本信息实体地址电话店名订单基本信息订单编号用户ID商家名金额骑手数据库系统原理课程设计说明书73.数据库逻辑结构设计4.1将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个独立的关系模式。与该联系相联的个实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同的关系模式可合并。具体的基本E—R图向关系模式的转化如下:(1)users(UID,U_name,U_loc,U_tel),其主关键字为UID;(2)shop(S_name,S_loc,S_tel),其中主关键字为课程号;(3)orders(OID,UID,money,S_name,P_name)其中主关键字为OID。可以与学生关系模式合并为:学生(学号,姓名,性别,年龄,地址,系别,成绩,课程号)E-R图数据库系统原理课程设计说明书84.2模型优化关系模式学生,课程不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。4.逻辑结构设计将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:数据库系统原理课程设计说明书9一个m:n联系转换为一个独立的关系模式。与该联系相联的个实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相联的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合,具有相同的关系模式可合并。具体的基本E—R图向关系模式的转化如下:(1)用户(用户名,用户ID,电话,地址),其主关键字为用户ID;(2)商家(商家名,电话,地址),其中主关键字为商家名电话地址;(3)订单(订单号,用户ID,金额,骑手,商家名)其中主关键字为订单号(4)骑手(姓名,电话)模型优化关系模式学生,课程不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。数据库系统原理课程设计说明书104数据库物理结构设计1.建立数据表(1)users表的建立createtableusers(UIDchar(20)notnullprimarykey,U_namechar(20)notnull,U_telchar(20)notnull,U_locchar(20)default'郑州');(2)shop表的建立createtableshop(S_namechar(20)notnullprimarykey,S_locchar(20),S_telchar(20)notnull);(3)oeders表的建立createtableorders(OIDchar(20)notnullprimarykey,UIDchar(20),S_namechar(20),O_timechar(20),Moneychar(20)check(Money0),P_namechar(20)FOREIGNKEY(S_name)REFERENCESshop(S_name),FOREIGNKEY(UID)REFERENCESusers(UID));2.建立视图(1)查询用户基本信息的视图定义如下:createviewv1asselectUID,U_name,U_tel,U_locfromusers;数据库系统原理课程设计说明书11(2)商户信息查询的视图定义如下:createviewv2asselectS_name,S_loc,S_telfromshop(3)成绩信息查询视图定义如下:CREATEVIEWScore_view(Course_no,Student_sno,Scorefloat)ASSELECT*FROMScore3.建立索引(1)为配送员p表的配送员姓名建立索引createuniqueclusteredindexindex1onP(P_name);GO数据库系统原理课程设计说明书125数据库操作代码部分5.1数据库创建代码createdatabase外卖订餐管理on(name='外卖订餐管理_data',filename='D:\外卖订餐数据库.mdf',size=5mb,maxsize=100mb,filegrowth=5%)logon(name='外卖订餐管理_log',filename='D:\外卖订餐管理_log.ldf',size=5mb,filegrowth=5%)GO5.2创建表代码()createtableusers(UIDchar(20)notnullprimarykey,U_namechar(20)notnull,U_telchar(20)notnull,U_locchar(20)default'郑州')createtableshop(S_namechar(20)notnullprimarykey,S_locchar(20),S_telchar(20)notnull)createtableorders(OIDchar(20)notnullprimarykey,UIDchar(20),S_namechar(20),O_timechar(20),数据库系统原理课程设计说明书13Moneychar(20)check(Money0),P_namechar(20)FOREIGNKEY(S_name)REFERENCESshop(S_name),FOREIGNKEY(UID)REFERENCESusers(UID))createtableP(P_namechar(20)notnull,P_telchar(20)notnull,)GO5.3数据库的查询操作代码5.4视图创建代码createviewv1asselectUID,U_name,U_tel,U_locfromusers;GOcreateviewv2asselectS_name,S_loc,S_telfromshopGOcreateviewv3asselectOID,UIDfromordersGOcreateviewv4asselectP_name,P_telfromP数据库系统原理课程设计说明书14GO6系统规范化设计6.1数据库表的规范化设计(你设计的表都满足第几范式)三范式无部分函数依赖和传递函数依赖6.2数据库的完整性设计(你创建了哪些约束和触发器,要有触发器的代码)触发器保证订单表数据更新与用户表数据一致CreateTriggertrusersonusersforUpdateAsifUpdate(UID)beginUpdateordersSetUID=i.UID--更新订单UID数据库系统原理课程设计说明书15Fromordersod,Deletedd,Insertedi--Deleted和Inserted临时表Whereod.UID=d.UID--限定更新行endGO6.3数据库的维护和安全性设计(你设置了哪些用户,他们的权限是怎样的)登陆账号ypf下用户y1赋予users表alterselect权限y2赋予shop表select权限登陆账号mg用户m1赋予对orders表所有权限数据库系统原理课程设计说明书167总结7.1收获在设计过程中,对
本文标题:数据库系统原理课程设计
链接地址:https://www.777doc.com/doc-4478402 .html