外卖订餐商务网站数据库设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉科技大学城市学院
课程设计报告
课程名称数据库应用课程设计
题目外卖订餐商务网站数据库设计与实现院系信息工程学部
专业电子商务
班级2012级电子商务
学号822.
姓名
指导教师刘永真
目录
1 概述.......................................................... 错误!未定义书签。

2.数据库概念结构设计 .............................. 错误!未定义书签。

表的结构 ................................................ 错误!未定义书签。

表的E-R图结构 ................................... 错误!未定义书签。

3.创建数据库和表 ...................................... 错误!未定义书签。

数据库创建的代码:............................ 错误!未定义书签。

表的结构:............................................... 错误!未定义书签。

创建表的代码: .................................. 错误!未定义书签。

完整性设计 .......................................... 错误!未定义书签。

索引设计 .............................................. 错误!未定义书签。

4.插入表中的数据 ...................................... 错误!未定义书签。

表数据插入的代码 ................................ 错误!未定义书签。

插入后成效 ............................................ 错误!未定义书签。

5.数据库的查询和视图 .............................. 错误!未定义书签。

实现查询 ................................................ 错误!未定义书签。

视图的设计 ............................................ 错误!未定义书签。

6.存储进程................................................... 错误!未定义书签。

7.实验总结................................................... 错误!未定义书签。

1 概述
外卖是咱们生活中必不可少的一部份,可是,很多外卖经营店往往会忽略治理系统的重要性。

而本外卖点单治理系统集成了点单,定单号、外送时刻,地址,金额等一系列功能,每一个环节分工明确,界面简练明了,可视化程度高,有效地缩减了人为犯错的概率。

本治理系统实现了一体化的治理,使得外卖的点单加倍迅捷。

表的结构
图E-R图
表的E-R图结构
图实体关系图
图客户属性图
图定单表属性
图定单详情
图商家菜品属性
图员工信息属性
数据库创建的代码:
CREATE DATABASE WMSC
ON(
NAME='WM_Data',
FILENAME='E:\',
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=5%)
LOG ON(
NAME='WM_Log',
FILENAME='E:\',
SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)
表的结构:
(二)配送员信息表
(五)定单详情表
创建表的代码:
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商家菜品表(菜品编号)
)
图所有表成功创建
完整性设计
在设计进程中“客户信息表”其中“客户编号”为主码;“配送员信息表”中“配送员编号”为主码;“商家菜品表”表中“菜品编号”为主码;“定单信息表”中“定单表”为主码;“定单详情表”中“定单编号”“菜品编号”为组合主键,知足了实体完整性要求。

表中的每一列都对输入的数据为NOT NULL 和NULL进行了区分,和概念了defaul默许时刻,知足域完整性。

“定单信息表”中“客户编号”“配送员编号”为外码,“定单详情表”中“菜品编号”“定单编号”为外码,知足参照完整性。

再输入进程中知足用户概念完整性。

索引设计
在“客户信息表”中依照主码创建索引名为“PK__定单信息表__03317E3D”的聚集索引,在“配送员信息表”中依照主码创建索引名为“PK__配送员信息表__7B905C75”的聚集升序索引,“商家菜品表”中创建“PK__商家菜品表__7D78A4E7”的聚集升序索引,“定单详情表中”创建了“PK__定单详情表__07F6335A”的聚集升序索引,“定单信息表”中创建“PK__定单信息表__03317E3D”的聚集升序索引。

图索引
表数据插入的代码
1.客户信息表代码:
INSERT INTO客户信息表(客户编号,姓名,号,地址,备注) 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.配送员信息表:
INSERT INTO配送员信息表
VALUES('201','姜雪','','420982') VALUES('202','蒋丽','','420982') VALUES('203','李江','','420982') VALUES('204','张飞','','420982') VALUES('205','李龙','','420982') VALUES('206','王虎','','420982') VALUES('207','刘达','','420982') VALUES('208','钟飞','','420982') VALUES('209','张浩','','420982') VALUES('210','李萌','','420982')
3.商家菜品表:
INSERT INTO商家菜品表
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.定单信息表:
INSERT INTO定单信息表
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.定单详情表:
INSERT INTO定单详情表
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)
插入后成效
图客户信息表
图配送员信息表
图商家菜品表
图定单信息表
图定单详情表
实现查询
查询命令1:依照用户名查找用户购买记录
语句:
select
dbo.客户信息表.客户编号,姓名,
dbo.商家菜品表.菜品编号,菜名,价钱,
dbo.定单详情表.定单编号,数量,总金额
from
客户信息表,定单详情表,定单信息表,商家菜品表
where
客户信息表.客户编号=定单信息表.客户编号
and定单详情表.定单编号=定单信息表.定单编号
and定单详情表.菜品编号=商家菜品表.菜品编号
图查找用户购买记录
查询命令2:任意关键字搜索产品
语句:
select*from dbo.商家菜品表
where
菜名like'%鱼%'
or菜名like'%肉%'
or描述like'%肉%'
or菜名like'%辣%'
or描述like'%青菜%'
or菜名like'%藕%'
or菜名like'%豆腐'
or描述like'%鸡%'
图任意关键字搜索产品
查询命令3:销量统计前三名
语句:
select top 3 *from定单详情表
order by数量desc
图销量统计前三名
查询命令4:分类统计产品销量
语句:
select数量
from定单详情表
group by数量
图分类统计产品销量
查询命令5:依照定单号治理配送员信息
语句:
select
定单信息表.定单编号,配送员信息表.配送员编号,员工姓名,员工电话号,员工身份证号from
配送员信息表,定单信息表
where
定单信息表.配送员编号=配送员信息表.配送员编号
图依照定单号治理配送员信息
视图的设计
1.所有产品和定单联系起来。

语句:
CREATE VIEW [dbo].[View_1]
AS SELECT定单信息表.定单编号,定单详情表.菜品编号,定单详情表.数量,定单详情表.总金额,定单信息表.配送员编号,商家菜品表.菜名
FROM定单信息表INNER JOIN 定单详情表ON定单信息表.定单编号=定单详情表.定单编号INNER JOIN 商家菜品表ON定单详情表.菜品编号=商家菜品表.菜品编号
所有产品和定单联系起来视图
2.用户.产品.定单联系视图。

语句:
CREATE VIEW [dbo].[View_2]
AS
SELECT
客户信息表.客户编号,客户信息表.姓名,商家菜品表.菜品编号,商家菜品表.菜名,定单详情表.定单编号,定单详情表.总金额,定单详情表.数量,定单信息表.配送员编号
FROM定单信息表INNER JOIN 客户信息表ON定单信息表.客户编号=客户信息表.客户编号INNER JOIN 定单详情表ON定单信息表.定单编号=定单详情表.定单编号INNER JOIN 商家菜品表ON定单详情表.菜品编号=商家菜品表.菜品编号
1.存储进程:依照用户查找记录:
create procedure chaxun
as
select
dbo.客户信息表.客户编号,姓名,
dbo.商家菜品表.菜品编号,菜名,价钱,
dbo.定单详情表.定单编号,数量,总金额
from
客户信息表,定单详情表,定单信息表,商家菜品表where
客户信息表.客户编号=定单信息表.客户编号
and定单详情表.定单编号=定单信息表.定单编号and定单详情表.菜品编号=商家菜品表.菜品编号
图依照用户查找记录的存储:2.存储进程:依照任意关键字搜索产品例如:
语句:create procedure adc
as
select*from dbo.商家菜品表
where
菜名like'%鱼%'
or菜名like'%肉%'
or描述like'%肉%'
or菜名like'%辣%'
or描述like'%青菜%'
or菜名like'%藕%'
or菜名like'%豆腐'
or描述like'%鸡%'
图依照任意关键字搜索产品例如3.存储进程:依照定单号治理配送员信息
语句:
select
定单信息表.定单编号,
配送员信息表.配送员编号,员工姓名,员工电话号,员工身份证号from
配送员信息表,定单信息表
where
定单信息表.配送员编号=配送员信息表.配送员编号
依照定单号治理配送员信息
实践出真知。

这句话说得一点也没错,在整个数据库课程设计进程中,只有实践才能对事物的本质有更深的熟悉,才能有发言权,一切熟悉都是成立在熟悉的基础上。

通过了一个礼拜的数据课程设计,我对数据库这门课程有了更深的熟悉,对本来在我脑中像是火星语的SQL语言有了加倍具体的熟悉。

数据库课程设计加深了我对数据库这门课程的爱好,让我深刻了解了数据库的壮大功能,引发我对研究SQL语言运用规那么的爱好。

数据库概念设计、数据库逻辑结构设计和数据库爱惜设计是数据库设计的重要步骤,每一步的设计都是相当重要的,而且是彼此联系的。

通过一个礼拜的课程设计,让我对E-R图的设计有一个整体的方式,而且对逻辑结构设计中关键字的设定能够专门好的把握,分析每一个表中的联系,加倍注意表间和数据之间的彼此约束。

数据库课程设计不仅让我更进一步了解了数据库这门课程,而且让我在做事方面也形成了一套专门好的方式。

我在做事方面学会了坚持、合作、对待问题不断充满疑问和要有耐心去解决问题,更要和同窗们交流,对不懂的问题也不耻下问。

从课程设计中最深的仍是做事要坚持和要有耐心。

在设计数据库的进程中,会不断碰到各类问题,而且每一个问题都会与上下步骤之间都会有联系,一个问题的不解可能会致使下一个问题的无法操作,因此咱们要有耐心找出问题,分析缘故,然后再解决问题,不要半途而废,要坚持下去,如此才能在学习上有所冲破。

总之,尽管为了做那个课程设计花了很多的时刻,却让我感受到了要将书上的理论应用到实践绝对不只是停滞在课堂上的。

一次实践能够让我看到自己的欠缺,同时也巩固了课堂上把握的知识点。

实训评分表。

相关文档
最新文档