外卖订餐商务网站数据库设计与实现_第1页
外卖订餐商务网站数据库设计与实现_第2页
外卖订餐商务网站数据库设计与实现_第3页
外卖订餐商务网站数据库设计与实现_第4页
外卖订餐商务网站数据库设计与实现_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学号20231017822.武汉科技大学城市学院课程设计报告课程名称数据库应用课程设计题目外卖订餐商务网站数据库设计与实现院系信息工程学部专业电子商务班级2023级电子商务学号20231017822.姓名指导教师刘永真目录1概述12.数据库概念结构设计12.1表的结构12.2表的E-R图结构33.创立数据库和表53.1数据库创立的代码:5表的结构:53.2.2创立表的代码:63.3完整性设计73.4索引设计74.插入表中的数据84.1表数据插入的代码84.2插入后效果105.数据库的查询和视图115.1实现查询115.2视图的设计146.存储过程157.实验总结181概述外卖是我们生活中必不可少的一局部,但是,很多外卖经营店往往会忽略管理系统的重要性。而本外卖点单管理系统集成了点单,订单号、外送时间,地点,金额等一系列功能,每一个环节分工明确,界面简洁明了,可视化程度高,有效地缩减了人为出错的概率。本管理系统实现了一体化的管理,使得外卖的点单更加迅捷。2.数据库概念结构设计2.1表的结构表的结构表的结构客户信息表订单详情表商家菜品表客户编号寝室楼栋姓名寝室房间号号码备注订单编号下单时间总金额菜品编号菜名描述价格送餐员工表员工编号员工姓名员工号员工身份证号数量图2.1E-R图2.2表的E-R图结构顾客顾客订单菜式下订单订购1NMN配送配送员N1图2.2实体关系图客户信息表客户信息表地址姓名号备注客户编号图2.3客户属性图配送员编号配送员编号订单编号下单时间订单信息表客户编号图2.4订单表属性菜品编号菜品编号订单号订单详情表总金额数量图2.5订单详情菜品编号菜品编号价格商家菜品表菜名描述图2.6商家菜品属性员工号员工号配送员编号员工姓名配送员信息表员工身份证号图2.7员工信息属性3.创立数据库和表3.1数据库创立的代码:CREATEDATABASEWMSCON(NAME='WM_Data',FILENAME='E:\WM_Data.mdf',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5%)LOGON(NAME='WM_Log',FILENAME='E:\WM_Log.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)3.2.1表的结构:〔一〕客户信息表列名数据类型长度是否为空说明客户编号Char8No主码姓名Char8No号Char13No地址Char10No备注varChar16〔二〕配送员信息表列名数据类型长度是否为空说明配送员编号Char10No主码员工姓名Char10No员工号Char20No员工身份证号Char30No〔三〕商家菜品表列名数据类型长度是否为空说明菜品编号Char10No主码菜名Char15No数量IntNo价格MoneyNo描述Varchar30〔四〕订单信息表列名数据类型长度是否为空说明订单编号Char10No主码客户编号Char10No外码配送员编号Char10No下单时间Getdate系统默认No〔五〕订单详情表列名数据类型长度是否为空说明订单编号Char10No组合关键字〔来自其他两表的外键〕菜品编号Char10No总金额MoneyNo3.2.2创立表的代码:CREATETABLE客户信息表( 客户编号char(10)NOTNULLPRIMARYKEY, 姓名char(8)NOTNULL, 号char(13)NOTNULL, 地址char(10)NOTNULL, 备注char(16)NOTNULL,)CREATETABLE配送员信息表( 配送员编号char(10)NOTNULLPRIMARYKEY, 员工姓名char(10)NOTNULL, 员工号char(20)NOTNULL, 员工身份证号char(30)NOTNULL,)CREATETABLE商家菜品表( 菜品编号char(10)NOTNULLPRIMARYKEY, 菜名char(10)NOTNULL, 价格moneyNOTNULL,描述varchar〔30〕)CREATETABLE订单信息表(订单编号char(10)NOTNULLPRIMARYKEY, 客户编号char(8)NOTNULL, 配送员编号char(10)NOTNULL,下单时间datetimedefault(getdate())NOTNULL,foreignkey(客户编号)references客户信息表(客户编号),foreignkey(配送员编号)references配送员信息表(配送员编号)CREATETABLE订单详情表(订单编号char(10)NOTNULL, 菜品编号char(10)NOTNULL,数量intNOTNULL, 总金额moneyNOTNULL,primarykey(订单编号,菜品编号),foreignkey(订单编号)references订单信息表(订单编号),foreignkey(菜品编号)references商家菜品表(菜品编号))图3.1所有表成功创立3.3完整性设计在设计过程中“客户信息表〞其中“客户编号〞为主码;“配送员信息表〞中“配送员编号〞为主码;“商家菜品表〞表中“菜品编号〞为主码;“订单信息表〞中“订单表〞为主码;“订单详情表〞中“订单编号〞“菜品编号〞为组合主键,满足了实体完整性要求。表中的每一列都对输入的数据为NOTNULL和NULL进行了区分,以及定义了defaul默认时间,满足域完整性。“订单信息表〞中“客户编号〞“配送员编号〞为外码,“订单详情表〞中“菜品编号〞“订单编号〞为外码,满足参照完整性。再输入过程中满足用户定义完整性。3.4索引设计在“客户信息表〞中根据主码创立索引名为“PK__订单信息表__03317E3D〞的聚集索引,在“配送员信息表〞中根据主码创立索引名为“PK__配送员信息表__7B905C75〞的聚集升序索引,“商家菜品表〞中创立“PK__商家菜品表__7D78A4E7〞的聚集升序索引,“订单详情表中〞创立了“PK__订单详情表__07F6335A〞的聚集升序索引,“订单信息表〞中创立“PK__订单信息表__03317E3D〞的聚集升序索引。图3.1索引4.插入表中的数据4.1表数据插入的代码1.客户信息表代码:INSERTINTO客户信息表(客户编号,姓名,号,地址,备注)VALUES('101','李华',,'北七401','')VALUES('102','李明',,'北七402','')VALUES('103','小朱',,'北七403','')VALUES('104','张力',,'北七404','')VALUES('105','张雪',,'北七405','')VALUES('106','张帆',,'北七406','')VALUES('107','李文',,'北七407','')VALUES('108','刘明',,'北七408','')VALUES('109','陈翔',,'北七409','')VALUES('110','吴磊',,'北七410','')2.配送员信息表:INSERTINTO配送员信息表VALUES('201','姜雪',,)VALUES('202','蒋丽',,)VALUES('203','李江',,)VALUES('204','张飞',,)VALUES('205','李龙',,)VALUES('206','王虎',,)VALUES('207','刘达',,)VALUES('208','钟飞',,)VALUES('209','张浩',,)VALUES('210','李萌',,)3.商家菜品表:INSERTINTO商家菜品表VALUES('301','鱼香肉丝',8,’鱼香’)VALUES('302','鱼香茄子',8,’茄子’)VALUES('303','肉丝',8,’肉’)VALUES('304','酸辣肉丝',8,’酸辣’)VALUES('305','藕丁',8,’藕’)VALUES('306','麻辣香锅',8,’麻辣’)VALUES('307','宫保鸡丁',8,’鸡肉黄瓜’)VALUES('308','红烧鱼',8,’红’)VALUES('309','干锅豆腐',8,’干锅’)VALUES('310','青菜炒肉',8,’青菜’)4.订单信息表:INSERTINTO订单信息表VALUES('401','101','201','')VALUES('402','102','202','')VALUES('403','103','203','')VALUES('404','104','204','')VALUES('405','105','205','')VALUES('406','106','206','')VALUES('407','107','207','')VALUES('408','108','208','')VALUES('409','109','209','')VALUES('410','110','210','')5.订单详情表:INSERTINTO订单详情表VALUES('401','301',2,16)VALUES('402','302',3,24)VALUES('403','303',4,32)VALUES('404','304',1,8)VALUES('405','305',1,8)VALUES('406','306',1,8)VALUES('407','307',1,8)VALUES('408','308',1,8)VALUES('409','309',1,8)VALUES('410','310',1,8)4.2插入后效果图4.1客户信息表图4.2配送员信息表图4.3商家菜品表图4.4订单信息表图4.5订单详情表5.数据库的查询和视图5.1实现查询查询命令1:根据用户名查找用户购置记录语句:selectdbo.客户信息表.客户编号,姓名,dbo.商家菜品表.菜品编号,菜名,价格,dbo.订单详情表.订单编号,数量,总金额from客户信息表,订单详情表,订单信息表,商家菜品表where客户信息表.客户编号=订单信息表.客户编号and订单详情表.订单编号=订单信息表.订单编号and订单详情表.菜品编号=商家菜品表.菜品编号图5.1查找用户购置记录查询命令2:任意关键字搜索产品语句:select*fromdbo.商家菜品表where菜名like'%鱼%'or菜名like'%肉%'or描述like'%肉%'or菜名like'%辣%'or描述like'%青菜%'or菜名like'%藕%'or菜名like'%豆腐'or描述like'%鸡%'图5.2任意关键字搜索产品查询命令3:销量统计前三名语句:selecttop3*from订单详情表orderby数量desc图5.3销量统计前三名查询命令4:分类统计产品销量语句:select数量from订单详情表groupby数量图5.4分类统计产品销量查询命令5:根据订单号管理配送员信息语句:select订单信息表.订单编号,配送员信息表.配送员编号,员工姓名,员工号,员工身份证号from配送员信息表,订单信息表where订单信息表.配送员编号=配送员信息表.配送员编号图5.5根据订单号管理配送员信息5.2视图的设计1.所有产品和订单联系起来。语句:CREATEVIEW[dbo].[View_1]ASSELECT订单信息表.订单编号,订单详情表.菜品编号,订单详情表.数量,订单详情表.总金额,订单信息表.配送员编号,商家菜品表.菜名FROM订单信息表INNERJOIN订单详情表ON订单信息表.订单编号=订单详情表.订单编号INNERJOIN商家菜品表ON订单详情表.菜品编号=商家菜品表.菜品编号5.6所有产品和订单联系起来视图2.用户.产品.订单联系视图。语句:CREATEVIEW[dbo].[View_2]ASSELECT客户信息表.客户编号,客户信息表.姓名,商家菜品表.菜品编号,商家菜品表.菜名,订单详情表.订单编号,订单详情表.总金额,订单详情表.数量,订单信息表.配送员编号FROM订单信息表INNERJOIN客户信息表ON订单信息表.客户编号=客户信息表.客户编号INNERJOIN订单详情表ON订单信息表.订单编号=订单详情表.订单编号INNERJOIN商家菜品表ON订单详情表.菜品编号=商家菜品表.菜品编号图5.7用户.产品.订单联系视图6.存储过程1.存储过程:根据用户查找记录:createprocedurechaxunasselectdbo.客户信息表.客户编号,姓名,dbo.商家菜品表.菜品编号,菜名,价格,dbo.订单详情表.订单编号,数量,总金额from客户信息表,订单详情表,订单信息表,商家菜品表where客户信息表.客户编号=订单信息表.客户编号and订单详情表.订单编号=订单信息表.订单编号and订单详情表.菜品编号=商家菜品表.菜品编号图6.1根据用户查找记录的存储:2.存储过程:根据任意关键字搜索产品例如:语句:createprocedureadcasselect*fromdbo.商家菜品表where菜名like'%鱼%'or菜名like'%肉%'or描述like'%肉%'or菜名like'%辣%'or描述like'%青菜%'or菜名like'%藕%'or菜名like'%豆腐'or描述like'%鸡%'图6.2根据任意关键字搜索产品例如3.存储过程:根据订单号管理配送员信息语句:select订单信息表.订单编号,配送员信息表.配送员编号,员工姓名,员工号,员工身份证号from配送员信息表,订单信息表where订单信息表.配送员编号=配送员信息表.配送员编号6.3根据订单号管理配送员信息7.实验总结实践出真知。这句话说得一点也没错,在整个数据库课程设计过程中,只有实践才能对事物的本质有更深的认识,才能有发言权,一切认识都是建立在认识的根底上。通过了一个星期的数据课程设计,我对数据库这门课程有了更深的认识,对原本在我脑中像是火星语的SQL语言有了更加具体的认识。数据库课程设计加深了我对数据库这门课程的兴趣,让我深刻了解了数据库的强大功能,引起我对研究SQL语言运用规那么的兴趣。数据库概念设计、数据库逻辑结构设计和数据库保护设计是数据库设计的重要步骤,每一步的设计都是至关重要的,并且是相互联系的。经过一个星期的课程设计,让我对E-R图的设计有一个整体的想法,并且对逻辑结构设计中关键字的设定能够很好的把握,分析每个表中的联系,更加注意表间和数据之间的相互约束。数据库课程设计不仅让我更进一步了解了数据库这门课程,而且让我在做事方面也形成了一套很好的想法。我在做事方面学会了坚持、合作、对待问题不断充满疑问和要有耐心去解决问题,更要和同学们交流,对不懂的问题也不耻下问。从课程设计中最深的还是做事要坚持和要有耐心。在设计数据库的过程中,会不断遇到种种问题,而且每个问题都会与上下步骤之间都

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论