外卖订餐商务网站数据库设计与实现.doc
21页学 号20121017822.武汉科技大学城市学院课程设计 报 告 课程名称 数据库应用课程设计 题 目 外卖订餐商务网站数据库设计与实现 院 系 信息工程学部 专 业 电子商务 班 级 2012级电子商务 学 号 20121017822. 姓 名 指导教师 刘永真 目录1 概述 12.数据库概念结构设计 12.1表的结构 12.2表的E-R图结构 33.创建数据库和表 53.1数据库创建的代码: 53.2.1表的结构: 53.2.2 创建表的代码: 63.3 完整性设计 73.4 索引设计 74.插入表中的数据 84.1表数据插入的代码 84.2插入后效果 105.数据库的查询和视图 115.1实现查询 115.2视图的设计 146.存储过程 157.实验总结 181 概述外卖是我们生活中必不可少的一部分,但是,很多外卖经营店往往会忽略管理系统的重要性。
而本外卖点单管理系统集成了点单,订单号、外送时间,地点,金额等一系列功能,每一个环节分工明确,界面简洁明了,可视化程度高,有效地缩减了人为出错的概率本管理系统实现了一体化的管理,使得外卖的点单更加迅捷2.数据库概念结构设计2.1表的结构表的结构客户信息表订单详情表商家菜品表客户编号寝室楼栋姓名寝室房间号号码备注订单编号下单时间总金额菜品编号菜名描述价格送餐员工表员工编号员工姓名员工号员工身份证号数量图2.1 E-R图2.2表的E-R图结构顾客订单菜式下订单订购1NMN配送配送员N1图2.2实体关系图客户信息表地址姓名号备注客户编号图2.3客户属性图配送员编号订单编号下单时间订单信息表客户编号图2.4订单表属性菜品编号订单号订单详情表总金额数量图2.5订单详情菜品编号价格商家菜品表菜名描述图2.6商家菜品属性员工号配送员编号员工姓名配送员信息表员工身份证号图2.7员工信息属性3.创建数据库和表3.1数据库创建的代码:CREATE DATABASE WMSCON(NAME='WM_Data',FILENAME='E:\WM_Data.mdf',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5%)LOG ON (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 创建表的代码:CREATE TABLE 客户信息表( 客户编号char(10) NOT NULL PRIMARY KEY, 姓名char(8) NOT NULL, 号char(13) NOT NULL, 地址char(10) NOT NULL, 备注char(16) NOT NULL, )CREATE TABLE 配送员信息表( 配送员编号char(10) NOT NULL PRIMARY KEY, 员工姓名char(10) NOT NULL, 员工号char(20) NOT NULL, 员工身份证号char(30) NOT NULL, )CREATE TABLE 商家菜品表( 菜品编号char(10) NOT NULL PRIMARY KEY, 菜名char(10) NOT NULL, 价格money NOT NULL, 描述 varchar(30) )CREATE TABLE 订单信息表( 订单编号char(10)NOT NULL PRIMARY KEY, 客户编号char(8) NOT NULL , 配送员编号char(10) NOT NULL , 下单时间datetime default( getdate()) NOT NULL, foreign key(客户编号) references 客户信息表(客户编号), foreign key(配送员编号) references 配送员信息表(配送员编号)CREATE TABLE 订单详情表( 订单编号char(10)NOT NULL , 菜品编号char(10) NOT NULL ,数量int NOT NULL, 总金额money NOT NULL , primary key(订单编号,菜品编号), foreign key(订单编号) references 订单信息表(订单编号), foreign key(菜品编号) references 商家菜品表(菜品编号))图3.1 所有表成功创建3.3 完整性设计在设计过程中“客户信息表”其中“客户编号”为主码;“配送员信息表”中“配送员编号”为主码;“商家菜品表”表中“菜品编号”为主码;“订单信息表”中“订单表”为主码;“订单详情表”中“订单编号”“菜品编号”为组合主键,满足了实体完整性要求。
表中的每一列都对输入的数据为NOT NULL 和NULL进行了区分,以及定义了defaul默认时间,满足域完整性订单信息表”中“客户编号”“配送员编号”为外码,“订单详情表”中“菜品编号”“订单编号”为外码,满足参照完整性再输入过程中满足用户定义完整性3.4 索引设计在“客户信息表”中根据主码创建索引名为“PK__订单信息表__03317E3D”的聚集索引,在“配送员信息表” 中根据主码创建索引名为“PK__配送员信息表__7B905C75”的聚集升序索引,“商家菜品表”中创建“PK__商家菜品表__7D78A4E7”的聚集升序索引,“订单详情表中”创建了“PK__订单详情表__07F6335A”的聚集升序索引,“订单信息表”中创建“PK__订单信息表__03317E3D”的聚集升序索引图3.1索引4.插入表中的数据4.1表数据插入的代码1.客户信息表代码:INSERT INTO 客户信息表(客户编号,姓名,号,地址,备注)VALUES('101','李华','15384624452','北七401','')VALUES('102','李明','15384624962','北七402','')VALUES('103','小朱','15384625242','北七403','')VALUES('104','张力','15384636962','北七404','')VALUES('105','张雪','15384777962','北七405','')VALUES('106','张帆','15384644462','北七406','')VALUES('107','李文','15384333362','北七407','')VALUES('108','刘明','15311124962','北七408','')VALUES('109','陈翔','15384555962','北七409','')VALUES('110','吴磊','15384445562','北七410','')2.配送员信息表:INSERT INTO 配送员信息表VALUES('201','姜雪','15666624452','420982199407217777')VALUES('202','蒋丽','15384897962','420982199407107777')VALUES('203','李江','15333625242','420982199407117777')VALUES('204','张飞','15384444962','420982199407127777')VALUES('205','李龙','15666667962','420982199407137777')VALUES('206','王虎','15384555462','420982199407147777')VALUES('207','刘达','15344433362','420982199407157777')VALUES('208','钟飞','15311666662','420982199407167777')VALUES('209','张浩','15377777962','420982199407177777')VALUES('210','李萌','15395645562','420982199407187777')3.商家菜品表:INSERT INTO 商家菜品表VALUES('301','鱼香肉丝',8,’鱼香’)VALUES('302','鱼香茄子',8,’茄子’)VALUES('303','肉丝',8,’肉’)VALUES('304','酸辣肉丝',8,’酸辣’)VALUES('305','藕丁。





