建材物资管理信息系统数据库设计.docx
- 文档编号:25275543
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:13
- 大小:170.43KB
建材物资管理信息系统数据库设计.docx
《建材物资管理信息系统数据库设计.docx》由会员分享,可在线阅读,更多相关《建材物资管理信息系统数据库设计.docx(13页珍藏版)》请在冰豆网上搜索。
建材物资管理信息系统数据库设计
数据库原理课程设计
——建材物资管理系统
课程:
数据库原理
学院:
信息科学与技术学院
专业:
计算机科学与技术
姓名:
指导老师:
日期:
第一章引言
1.引言
1.1编写目的
自Internet出现以来,大量的信息通过它迅速传播,突破了原有的通信方式。
在网上,不仅可以迅速找到任何方面的相关内容,而且信息的传递也较以前快了许多。
2000年,全世界已拥有近10亿因特网用户,有一亿多台计算机互联,可以交换数据的网络超过了100万个,每年在网络上的交易次数超过10亿次。
电子商务正是由于这种信息的快速流动和资源的大量集成而悄然崛起,并以惊人的速度发展着。
提供高效的内容丰富的Web商业服务是一项连续不断的任务,并不是做好了几个网页放在那里就可以了。
所以,设计了这个网上超市购物车系统,以对电子商务有进一步的认识。
1.2背景
a.待开发软件系统的名称:
建材物资管理信息系统
b.本项目的任务提出者:
石河子大学
c.本项目开发者:
摆新文
d.本项目用户:
网上购物客户和实际客户
1.3参考资料
《软件开发这点儿事——软件开发工具手册》邵志东著
《程序员指南丛书ASP.NET高级编程》但正刚著
《ASP.NET网络应用系统开发与实例》吴明晖主编吴丹红编著
第二章外部设计
2.1支持软件
本数据库主要采用微软公司的成熟数据库系统SQLServer2005,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。
第三章结构设计
3.1概念结构设计
本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,
3.2逻辑结构设计:
E-R图:
图-1系统整体E-R图
3.3关系图
图-2整体关系图
3.4物理结构设计
1.0WuziInfor物资信息表:
列名
说明
类型(长度)
备注
WuziCode
物资类别编号
char(10)
不允许空,主键
Weight
质量
int
允许空
Danwei
计量单位
Int
不允许空
Uselife
有效期
Datetime
允许空
2.0GuestInfor客户信息表:
列名
说明
类型(长度)
备注
GuestCode
客户号
CHAR(10)
不允许空,主键
GuestName
客户名称
VARCHAR(16)
允许空
GuestLink
联系人
VARCHAR(16)
允许空
GuestLinkTell
联系方式
BIGINT
允许空
CITY
客户所在城市
VARCHAR(50)
允许空
3.0Admin管理员信息表:
列名
说明
类型(长度)
备注
Username
用户名
varchar(20)
允许为空
Password
密码
varchar(20)
允许为空
4.0WuziID物资索引信息表
列名
说明
类型(长度)
备注
WuziCode
物资类别编号
CHAR(10)
不允许为空,主键
WuziName
物资类别说明
VARCHAR(50)
不允许为空
5.0WorkerInfor员工信息表:
列名
说明
类型(长度)
备注
WorkerNo
员工号
VARCHAR(16)
不允许为空,主键
WorkerNAME
员工姓名
VARCHAR(16)
不允许为空
WorkerSex
性别
CHAR
(2)
不为空男或女
WorkerLinkTell
联系方式
BIGINT
不允许为空
UserName
用户名
VARCHAR(20)
不允许为空
Password
密码
VARCHAR(20)
不允许为空
Position
职位
VARCHAR(20)
允许为空
WorkerPower
权限
CHAR(8)
允许为空
列名
说明
类型(长度)
备注
WuziCode
物资类别编号
CHAR(10)
不允许为空,主键
Total
数量
Int
不允许为空
6.0CK仓库信息表
7.0Ruku入库信息表:
列名
说明
类型(长度)
备注
RukuCode
入库编号
CHAR(10)
不允许为空,主键
WuziCode
物资类别编号
CHAR(10)
不允许为空,外键
SuppliersCode
供应商编号
CHAR(10)
允许为空
WorkerNo
员工号
VARCHAR(16)
不允许为空,外键
Rukuliang
入库数量
Int
允许为空
Price
进价
Money
允许为空
RukuDate
入库日期
DateTime
允许为空
8.0Chuku出库信息表:
列名
说明
类型(长度)
备注
ChukuCode
出库编号
CHAR(10)
不允许为空,主键
WuziCode
物资类别编号
CHAR(10)
不允许为空,外键
SuppliersCode
供应商编号
CHAR(10)
允许为空
WorkerNo
员工号
VARCHAR(16)
不允许为空,外键
Chukuliang
出库数量
INT
允许为空
ListPrice
售价
Money
允许为空
ChukuDate
出库日期
DateTime
允许为空
9.0Supplier供应商信息表:
列名
说明
类型(长度)
备注
SupplierCode
供应商编号
CHAR(10)
不允许为空,主键
SupplierName
供应商名称
VARCHAR(50)
允许为空
SupplierLink
联系人
VARCHAR(50)
允许为空
SupplierLinkTell
联系方式
BIGINT
允许为空
City
供应商所在城市
VARCHAR(50)
允许为空
第四章存储过程、触发器脚本
4.1.存储过程脚本:
1.创建存储过程统计指定时间段内各种商品的入库数量
createprocpro_rksl
@starttimedatetime,
@endtimedatetime,
@wuzicodechar(10),
@totalslintoutput
as
select@totalsl=sum(Rukuliang)fromRuku
whereRukuDatebetween@starttimeand@endtimeandWuziCode=@wuzicode
groupbyWuziCode
(统计进货数量的存储器的测试)
declare@starttimedatetime,
@endtimedatetime,
@wuzicodechar(10),
@totalslint
select@starttime='2013/1/1600:
00:
00'
select@endtime='2013/1/182:
00:
00'
select@wuzicode='WC001'
execpro_rksl@starttime,@endtime,@wuzicode,@totalsloutput
select@wuzicodeas'物资类别编号',@totalslas'入库总数量'
2.创建存储过程统计指定时间段内各种商品的销售数量
createprocpro_xssl
@starttimedatetime,
@endtimedatetime,
@wuzicodechar(10),
@totalslintoutput
as
select@totalsl=sum(Chukuliang)fromChuku
whereChukuDatebetween@starttimeand@endtimeandWuziCode=@wuzicode
groupbyWuziCode
(统计销售数量的存储器的测试)
declare@starttimedatetime,
@endtimedatetime,
@wuzicodechar(10),
@totalslint
select@starttime='2013/1/1600:
00:
00'
select@endtime='2013/1/182:
00:
00'
select@wuzicode='WC001'
execpro_xssl@starttime,@endtime,@wuzicode,@totalsloutput
select@wuzicodeas'物资类别编号',@totalslas'销售总数量'
3.创建存储过程查询某段时间内各种物资的销售收入
createprocpro_xssr
@starttimedatetime,
@endtimedatetime,
@wuzicodechar(10),
@totalsrintoutput
as
select@totalsr=sum(Chukuliang*ListPrice)fromChuku
whereChukuDatebetween@starttimeand@endtimeandWuziCode=@wuzicode
groupbyListPrice
(查询某段时间内各种物资的销售收入的测试)
declare@starttimedatetime,
@endtimedatetime,
@wuzicodechar(10),
@totalsrint
select@starttime='2011/12/1600:
00:
00'
select@endtime='2012/1/22:
00:
00'
select@wuzicode='WC001'
execpro_xssr@starttime,@endtime,@wuzicode,@totalsroutput
select@wuzicodeas'物资类别编号',@totalsras'销售总额'
4.2.触发器脚本:
1.0当物资入库时自动增加该商品的库存量
只有入库量大于0时,修改表Ruku中Rukuliang和RukuCode,则表CK中的Total和WuziCode随之改变
createtriggertri_wzrk
onRukuforinsert
asdeclare@oldslint,@wzidchar(10),@rkslint,@rkidchar(10)
select@wzid=WuziCode,@rkid=RukuCode,@rksl=Rukuliangfrominserted
if@rksl>0
begin
select@oldsl=TotalfromCKwhereWuziCode=@wzid
updateCKsetTotal=@oldsl+@rkslwhereWuziCode=@wzid
return
end
rollbacktransaction
2.0当物资销售时自动减少该物资的库存量
只有销售量大于0,且销售量小于库存量时,修改表Chuku中的Chukuliang和WuziCode,则表CK中的Total和WuziCode随之改变
createtriggertri_wzxs
onChuKuforinsert
asdeclare@oldslint,@wzidchar(10),@xsslint
select@wzid=WuziCode,@xssl=Chukuliangfrominserted
select@oldsl=TotalfromCKwhereWuziCode=@wzid
if@xssl>0and@oldsl>@xssl--销售数量大于0,且库存量大于销售量
begin
updateCKsetTotal=@oldsl-@xsslwhereWuziCode=@wzid
return
end
rollbacktransaction
4.3视图脚本:
SELECTdbo.WuziID.WuziNameAS物资名称,dbo.Chuku.ListPriceAS单价,dbo.Chuku.ChukuliangAS销售量,dbo.GuestInfor.GuestNameAS客户名称,
dbo.Chuku.ChukuDateAS销售日期
FROMdbo.ChukuINNERJOIN
dbo.WuziIDONdbo.Chuku.WuziCode=dbo.WuziID.WuziCodeINNERJOIN
dbo.GuestInforONdbo.Chuku.GuestCode=dbo.GuestInfor.GuestCode
4.4数据库恢复与备份:
1.0数据库的完全备份
backupdatabaseWuziGL
todisk='f:
\备份数据库\WuziGL
withinit
go
数据库的恢复
restoredatabaseWuziGL
fromdisk='f:
\备份数据库\WuziGL
withrecovery
go
2.0数据库差异备份
backupdatabaseWuziGL
todisk='f:
\备份数据库\WuziGL'
withdifferential
go
数据库的恢复
restoredatabaseWuziGL
fromdisk='f:
\备份数据库\WuziGL
withnorecovery
go
restoredatabaseOnlineShop
fromdisk='f:
\备份数据库\WuziGL'
withfile=2
go
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 建材 物资 管理信息系统 数据库 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)