sql数据库原理与应用课程报告.docx

上传人:b****5 文档编号:4360922 上传时间:2022-11-30 格式:DOCX 页数:20 大小:97.79KB
下载 相关 举报
sql数据库原理与应用课程报告.docx_第1页
第1页 / 共20页
sql数据库原理与应用课程报告.docx_第2页
第2页 / 共20页
sql数据库原理与应用课程报告.docx_第3页
第3页 / 共20页
sql数据库原理与应用课程报告.docx_第4页
第4页 / 共20页
sql数据库原理与应用课程报告.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

sql数据库原理与应用课程报告.docx

《sql数据库原理与应用课程报告.docx》由会员分享,可在线阅读,更多相关《sql数据库原理与应用课程报告.docx(20页珍藏版)》请在冰豆网上搜索。

sql数据库原理与应用课程报告.docx

sql数据库原理与应用课程报告

 

《数据库原理与应用》课程报告

-超市管理信息系统数据库设计

 

******

学号:

************

专业:

11信息管理与信息系统

 

超市信息管理

随着社会经济的发展和计算机的发展,企业管理也开始逐渐引进科学的信息管理方法以代替传统的手工方式。

信息管理系统能实现强大的自动化管理和实时监控的作用,这对于提升企业管理水平有着重要作用。

国家政策的支持和技术的发展,使得信息管理系统逐渐在企业中发展普及。

在这种情况下,超市等零售商为了更好的管理和提升工作效率,也逐渐开始引进信息管理系统。

因此,有必要设计一个超市管理系统来帮助零售企业更加科学合理高效的管理。

 

信息管理系统的设计,其中一个重要的就是系统的数据库设计。

这里选择微软开发的SQLSERVER作为平台,利用国际通用的数据库语言T-SQL语言进行编程开发。

其中最重要的就是做存储过程来实现一次性的快捷查询,修改等功能。

 

1超市信息系统简介

1.1信息系统介绍

   信息系统是由计算机硬件、网络和通讯设备、计算机软件、信息资源、信息用户和规章制度组成的以处理信息流为目的的人机一体化系统。

   信息系统的五个基本功能:

输入、存储、处理、输出和控制。

   输入功能:

信息系统的输入功能决定于系统所要达到的目的及系统的能力和信息环境的许可。

   存储功能:

存储功能指的是系统存储各种信息资料和数据的能力。

   处理功能:

基于数据仓库技术的联机分析处理(OLAP)和数据挖掘(DM)技术。

   输出功能:

信息系统的各种功能都是为了保证最终实现最佳的输出功能。

   控制功能:

对构成系统的各种信息处理设备进行控制和管理,对整个信息加工、处理、传输、输出等环节通过各种程序进行控制。

1.2实现的功能

(1)查询超市的进出货情况和负责人

(2)查询商品的平均价格

(3)查询商品的平均进货数量

(4)查询销售的总金额

(5)查询采购的总金额

2系统逻辑设计

2.1系统功能模块

图2.1系统功能模块

3数据库设计

3.1概念设计

E-R模型如下图3.1所示:

图3.1E-R图

3.2逻辑设计

数据库逻辑设计去除了所有冗余数据,提高了数据吞吐速度,保证了数据的完整性,清楚地表达数据元素之间的关系。

将关系模型转化为逻辑模型:

员工信息(员工ID,姓名)

岗位信息表(岗位ID,岗位名称)

员工岗位分配信息(员工ID,岗位ID,当前状态)

会员信息表(会员ID,姓名,类型ID,积分,余额)

会员类型(类型ID,类型名称)

销售记录表(记录ID,会员ID,收银员ID,销售日期)

销售明细表(明细项目ID,商品条码,数量,售价,销售记录ID)

采购记录表(采购单ID,采购员ID,供应商ID,采购日期,当前状态,物流编号,承运商ID,发货日期,到货日期)

采购明细表(采购项目ID,商品条码,数量,采购单价,采购单ID)

供应商记录表(供应商ID,供应商名称)

承运商信息(承运商ID,承运商名称)

仓库信息表(仓库ID,仓库名称)

超市信息表(超市ID,超市名称)

入库记录表(入库单ID,库管员ID,仓库ID,入库日期,承运商ID,采购单ID)

入库明细表(项目ID,商品条码,数量,入库单ID)

出库记录表(出库单ID,库管员ID,仓库ID,出库日期,超市ID)

出库明细表(项目ID,商品条码,数量,出库单ID)

商品定价记录表(定价ID,经理ID,定价日期)

商品定价明细表(项目ID,商品条码,计量单位,销售价格)

商品信息表(商品条码,商品名称)

3.3物理设计

根据E-R图和逻辑设计总共设计了20个表,员工信息表、会员信息表、采购记录表、销售记录表表等各种表的关系如图3.2所示:

图3.2表关系图

报表主要是对各个流程信息的统计报表,其中主要包括的有员工信息表、岗位信息表、出库明细表、入库明细表、采购明细表、采购记录表,销售明细表,销售记录表对上述表进行统计安排,该超市信息系统可以储存一个庞大的超市的商品流动信息,具体如下:

 

(1)员工信息表:

表3.1员工信息表

字段名称

说明

数据类型

大小

主键外键

是否为空

员工ID

员工编号

int

/

主键

员工姓名

员工姓名

nvarchar

12

(2)岗位信息表:

表3.2岗位信息表

字段名称

说明

数据类型

大小

主键外键

是否为空

岗位ID

岗位ID

int

/

主键

岗位名称

岗位名称

nvarchar

12

(3)出库明细表:

表3.3出库明细表

字段名称

说明

数据类型

大小

主键外键

是否为空

项目ID

出库编号

int

/

主键

商品条码

商品编号

int

/

数量

出库数量

int

/

出库单ID

出库记录

int

/

(4)入库明细表:

表3.4入库明细表

字段名称

说明

数据类型

大小

主键外键

是否为空

项目ID

出库编号

int

/

主键

商品条码

商品编号

int

/

数量

入库数量

int

/

入库单ID

入库记录

int

/

(5)销售明细表

表3.5销售明细表

字段名称

说明

数据类型

大小

主键外键

是否为空

明细ID

明细ID

int

/

主键

商品条码

商品条码

int

/

数量

销售数量

int

/

售价

销售价格

smallmoney

/

销售记录ID

销售ID

int

/

(6)销售记录表

表3.6销售记录表

字段名称

说明

数据类型

大小

主键外键

是否为空

记录ID

销售ID

int

/

主键

收银员ID

收银员ID

int

/

外键

会员ID

会员ID

int

/

外键

销售日期

销售日期

smalldatetime

(7)采购记录表

表3.7采购记录表

字段名称

说明

数据类型

大小

主键外键

是否为空

采购单ID

采购ID

int

/

主键

采购员ID

采购员ID

int

/

外键

供应商ID

供应商ID

int

/

外键

采购日期

采购日期

smalldatetime

/

当前状态

当前状态

nvarchar

12

物流编号

物流编号

int

/

承运商ID

承运商ID

int

/

发货日期

发货日期

smalldatetime

/

到货日期

到货日期

smalldatetime

/

(8)采购明细表

表3.8采购明细表

字段名称

说明

数据类型

大小

主键外键

是否为空

采购项目ID

采购项目ID

Int

/

主键

商品条码

商品条码

int

/

外键

数量

商品数量

int

/

采购单价

采购单价

smallmoney

/

采购单ID

采购记录

int

/

外键

4存储过程与函数

4.1存储过程

4.1.1多表查询

功能说明:

用存储过程多表查询谁采购的,谁供应的,谁承运的

源代码:

use超市数据库

go

createproc查询采购

as

selecta.采购员ID,a.供应商ID,a.承运商ID

from采购记录表a

innerjoin员工信息b

ona.采购员ID=b.员工ID

innerjoin承运商信息c

onc.承运商ID=a.承运商ID

innerjoin供应商记录表d

ona.供应商ID=d.供应商ID

select*from员工信息

select*from供应商记录表

select*from承运商信息

go

use超市数据库

go

exec查询采购;

go

 

4.1.2查询商品均价

功能说明:

用存储过程实现查询所有商品的均价

源代码:

use超市数据库

Go

 

createproc查询所有商品均价

@采购均值intoutput

As

begin

select

@采购均值=AVG(采购单价)

from采购明细表

end

Go

 

declare

@采购均价int

exec查询所有商品均价

@采购均价output

print'商品采购均价='+convert(nchar(12),@采购均价)

go

 

4.1.3查询商品平均数量

功能说明:

用存储过程实现查询所有商品的平均数量

源代码:

use超市数据库

go

createproc查询所有商品平均数量

@采购均数intoutput

as

begin

select@采购均数=AVG(数量)from采购明细表

end

go

declare

@采购均数int

exec查询所有商品平均数量

@采购均数output

print'商品平均数量='+convert(nchar(12),@采购均数)

go

4.1.4查询销售总价

功能说明:

用存储过程实现查询查询销售总价

源代码:

use超市数据库

go

createtypedbo.销售临时表asTable

明细项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

销售总计intnotnull

Go

createfunction查询销售总价函数()

returns@销售收入table

明细项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

销售总计intnotnull

as

begin

declare@明细项目IDint;

declare@数量int;

DECLARE@售价smallmoney;

declare@销售总计int;

DECLARE@errorSumint;

set@errorSum=0;

DECLAREMyCurCURSOR

LOCALSCROLL

FOR

SELECT明细项目ID,数量,售价FROM销售明细表

OPENMyCur

FETCHNEXTFROMMyCur

INTO@明细项目ID,@数量,@售价

set@errorSum=@errorSum+@@ERROR

WHILE@@FETCH_STATUS=0

BEGIN

select@销售总计=数量*售价from销售明细表

where@明细项目ID=明细项目ID

insertinto@销售收入values(CONVERT(nvarchar(12),@明细项目ID),CONVERT(nvarchar(12),@数量),CONVERT(nvarchar(12),@售价),CONVERT(nvarchar(12),@销售总计)

FETCHNEXTFROMMyCur

INTO@明细项目ID,@数量,@售价

END

return

end

go

createproc调用销售总价函数的存储过程

as

begin

select明细项目ID,数量,售价,销售总计from查询销售总价函数()

end

go

exec调用销售总价函数的存储过程

go

 

4.1.5查询采购总价

功能说明:

用存储过程实现查询查询采购总价

源代码:

use超市数据库

go

createtypedbo.采购临时表1asTable

采购项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

采购总计intnotnull

Go

createfunction查询采购总价函数()

returns@采购支出table

采购项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

采购总计intnotnull

as

begin

declare@采购项目IDint;

declare@数量int;

DECLARE@采购单价smallmoney;

declare@采购总计int;

DECLARE@errorSumint;

set@errorSum=0;

DECLAREMyCurCURSOR

LOCALSCROLL

FOR

SELECT采购项目ID,数量,采购单价FROM采购明细表

OPENMyCur

FETCHNEXTFROMMyCur

INTO@采购项目ID,@数量,@采购单价

set@errorSum=@errorSum+@@ERROR

WHILE@@FETCH_STATUS=0

BEGIN

select@采购总计=数量*采购单价from采购明细表

where@采购项目ID=采购项目ID

insertinto@采购支出

values(CONVERT(nvarchar(12),@采购项目ID),CONVERT(nvarchar(12),@数量),CONVERT(nvarchar(12),@采购单价),CONVERT(nvarchar(12),@采购总计))----

FETCHNEXTFROMMyCur

INTO@采购项目ID,@数量,@采购单价

END

return

end

go

createproc调用采购总价函数的存储过程

as

begin

select采购项目ID,数量,售价,采购总计from查询采购总价函数()

end

go

exec调用采购总价函数的存储过程

go

4.1函数

4.1.1计算每种商品的销售总价

功能说明:

用函数实现计算每种商品的销售总价

源代码:

use超市数据库

go

createtypedbo.销售临时表asTable

明细项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

销售总计intnotnull

Go

createfunction查询销售总价函数()

returns@销售收入table

明细项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

销售总计intnotnull

as

begin

declare@明细项目IDint;

declare@数量int;

DECLARE@售价smallmoney;

declare@销售总计int;

DECLARE@errorSumint;

set@errorSum=0;

DECLAREMyCurCURSOR

LOCALSCROLL

FOR

SELECT明细项目ID,数量,售价FROM销售明细表

OPENMyCur

FETCHNEXTFROMMyCur

INTO@明细项目ID,@数量,@售价

set@errorSum=@errorSum+@@ERROR

WHILE@@FETCH_STATUS=0

BEGIN

select@销售总计=数量*售价from销售明细表

where@明细项目ID=明细项目ID

insertinto@销售收入

values(CONVERT(nvarchar(12),@明细项目ID),CONVERT(nvarchar(12),@数量),CONVERT(nvarchar(12),@售价),CONVERT(nvarchar(12),@销售总计))----

FETCHNEXTFROMMyCur

INTO@明细项目ID,@数量,@售价

END

return

end

go

select*from查询销售总价函数()

go

 

4.1.2计算采购支出总价

功能说明:

用函数实现计算采购支出总价

源代码:

use超市数据库

go

createtypedbo.采购临时表1asTable

采购项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

采购总计intnotnull

Go

createfunction查询采购总价函数()

returns@采购支出table

采购项目IDintnotnull,

数量intnotnull,

售价smallmoneynotnull,

采购总计intnotnull

as

begin

declare@采购项目IDint;

declare@数量int;

DECLARE@采购单价smallmoney;

declare@采购总计int;

DECLARE@errorSumint;

set@errorSum=0;

DECLAREMyCurCURSOR

LOCALSCROLL

FOR

SELECT采购项目ID,数量,采购单价FROM采购明细表

OPENMyCur

FETCHNEXTFROMMyCur

INTO@采购项目ID,@数量,@采购单价

set@errorSum=@errorSum+@@ERROR

WHILE@@FETCH_STATUS=0

BEGIN

select@采购总计=数量*采购单价from采购明细表

where@采购项目ID=采购项目ID

insertinto@采购支出

values(CONVERT(nvarchar(12),@采购项目ID),CONVERT(nvarchar(12),@数量),CONVERT(nvarchar(12),@采购单价),CONVERT(nvarchar(12),@采购总计))----

FETCHNEXTFROMMyCur

INTO@采购项目ID,@数量,@采购单价

END

return

end

go

select*from查询采购总价函数()

 

总结

首先通过文章开始对超市信息管理系统的概念对题目大体做了介绍和铺垫,然后又具体介绍了超市信息管理系统,之后进行数据库设计,包括ER图,功能模块说明,逻辑设计说明,物理设计说明。

针对超市管理系统本身的特点和对系统的功能要求,选用数据库系统选用SQLserver。

论文最后添加了部分代码,包括存储过程和函数。

 

总的来说,此次数据库设计基本达成了目标,用SQL平台进行T-SQL语言编程基本实现了简单的超市管理的要求。

在过程中遇到了困难,通过查资料,看代码,看实例,与同学交流,克服了困难。

从中体会到了团队协作,独立精神的重要性。

教师审阅意见:

审阅意见:

 

成绩:

教师(签名):

批阅日期:

说明:

1.请使用A4纸打印或复印空表;

2.内容不得抄袭、照搬;

3.若实验内容、实验总结篇幅不够,可另附A4纸张;

4.设计类课程,要求提交实验成果纸质版和实验作品电子版。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1