数据库仓库管理.docx
《数据库仓库管理.docx》由会员分享,可在线阅读,更多相关《数据库仓库管理.docx(42页珍藏版)》请在冰豆网上搜索。
数据库仓库管理
淮海工学院计算机工程学院
课程设计报告
设计名称:
数据库原理及应用设计课程设计
姓名:
学号:
专业班级:
系(院):
设计时间:
设计地点:
成绩:
指导教师评语:
签名:
年月日
一、概述
背景资料:
1)有一个存放商品的仓库,每天都有商品出库和入库。
2)每种商品都有名称、生产厂家、型号、规格等。
3)出入库时必须填写出入库单据,单据包括商品名称、生产厂家、型号、规格、数量、日期、时间、入库单位(或出库单位)名称、送货(或提货)人姓名。
设计要求:
1)进行需求分析,编写数据字典。
2)设计E-R图。
3)设计出入库单据的录入。
4)实现按商品名称、出入库日期的查询。
5)实现分别按日、月和年对出入库商品数量的统计。
二、数据库设计
1、需求分析
Ø用户信息表:
包括的数据项有:
用户名,密码;
Ø商品库存表:
包括的数据项有:
商品名称,生产厂家,型号,规格;
Ø商品入库表:
包括的数据项有:
入库商品名称,入库日期,入库时间;
Ø商品出库表:
包括的数据项有:
出库商品名称,出库日期,出库时间;
Ø入库表:
包括的数据项有:
入库商品名称,入库生产厂家,入库商品型号,入库商品规格,入库商品数量,入库日期,入库时间,入库单位,送货人;
Ø出库表:
包括的数据项有:
出库商品名称,出库生产厂家,出库商品型号,出库商品规格,出库商品数量,出库日期,出库时间,出库单位,提货人;
2、概念结构设计
本系统的实体有:
用户信息表实体、商品库存表实体、商品入库表实体、商品出库表实体、入库表实体、出库表实体。
各个实体具体的描述E-R图如图1-1和图1-2所示。
图1-1
图1-2
3、逻辑结构设计
现在需要将上面的数据库概念结构转化为SQLServer2005数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
库存物资管理系统数据库中各个表格的设计结果如下面的几个表所示。
每个表表示在数据库中的一个数据表。
表1-1用户信息表
表1-2商品库存表
表1-3入库表
表1-4出库表
4数据库结构的实现
经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。
现在就可以在SQLServr2005数据库系统中实现该逻辑结构。
这是利用SQLServer2005数据库系统中SQL查询分析器实现的。
下面给出创建这些表格的SQL语句。
/*==============================================================*/
/*DBMSname:
MicrosoftSQLServer2005*/
/*Createdon:
2011-6-2710:
50:
03*/
/*==============================================================*/
ifexists(select1
fromsysobjects
whereid=object_id('供应')
andtype='U')
droptable供应
go
ifexists(select1
fromsysindexes
whereid=object_id('入库操作')
andname='Relationship_7_FK'
andindid>0
andindid<255)
dropindex入库操作.Relationship_7_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('入库操作')
andname='Relationship_6_FK'
andindid>0
andindid<255)
dropindex入库操作.Relationship_6_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('入库操作')
andtype='U')
droptable入库操作
go
ifexists(select1
fromsysobjects
whereid=object_id('入库表')
andtype='U')
droptable入库表
go
ifexists(select1
fromsysindexes
whereid=object_id('出库操作')
andname='Relationship_9_FK'
andindid>0
andindid<255)
dropindex出库操作.Relationship_9_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('出库操作')
andname='Relationship_8_FK'
andindid>0
andindid<255)
dropindex出库操作.Relationship_8_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('出库操作')
andtype='U')
droptable出库操作
go
ifexists(select1
fromsysobjects
whereid=object_id('出库表')
andtype='U')
droptable出库表
go
ifexists(select1
fromsysindexes
whereid=object_id('商品入库')
andname='Relationship_11_FK'
andindid>0
andindid<255)
dropindex商品入库.Relationship_11_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('商品入库')
andname='Relationship_10_FK'
andindid>0
andindid<255)
dropindex商品入库.Relationship_10_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('商品入库')
andtype='U')
droptable商品入库
go
ifexists(select1
fromsysindexes
whereid=object_id('商品出库')
andname='Relationship_14_FK'
andindid>0
andindid<255)
dropindex商品出库.Relationship_14_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('商品出库')
andname='Relationship_13_FK'
andindid>0
andindid<255)
dropindex商品出库.Relationship_13_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('商品出库')
andtype='U')
droptable商品出库
go
ifexists(select1
fromsysobjects
whereid=object_id('商品库存表')
andtype='U')
droptable商品库存表
go
ifexists(select1
fromsysobjects
whereid=object_id('用户信息表')
andtype='U')
droptable用户信息表
go
/*==============================================================*/
/*Table:
供应*/
/*==============================================================*/
createtable供应(
入库商品名称char(10)notnull,
入库日期datetimenotnull,
入库时间datetimenotnull,
constraintPK_供应primarykey(入库商品名称,入库日期,入库时间)
)
go
/*==============================================================*/
/*Table:
入库操作*/
/*==============================================================*/
createtable入库操作(
用户名char(10)notnull,
入库商品名称char(10)notnull,
入库日期datetimenotnull,
入库时间datetimenotnull,
constraintPK_入库操作primarykey(用户名,入库商品名称,入库日期,入库时间)
)
go
/*==============================================================*/
/*Index:
Relationship_6_FK*/
/*==============================================================*/
createindexRelationship_6_FKon入库操作(
用户名ASC
)
go
/*==============================================================*/
/*Index:
Relationship_7_FK*/
/*==============================================================*/
createindexRelationship_7_FKon入库操作(
入库商品名称ASC,
入库日期ASC,
入库时间ASC
)
go
/*==============================================================*/
/*Table:
入库表*/
/*==============================================================*/
createtable入库表(
入库商品名称char(10)notnull,
入库生产厂家char(20)null,
入库商品型号char(20)null,
入库商品规格char(30)null,
入库商品数量char(30)null,
入库日期datetimenotnull,
入库时间datetimenotnull,
入库单位char(30)null,
送货人char(10)null,
constraintPK_入库表primarykeynonclustered(入库商品名称,入库日期,入库时间)
)
go
/*==============================================================*/
/*Table:
出库操作*/
/*==============================================================*/
createtable出库操作(
用户名char(10)notnull,
出库商品名称char(10)notnull,
出库日期datetimenotnull,
出库时间datetimenotnull,
constraintPK_出库操作primarykey(用户名,出库商品名称,出库日期,出库时间)
)
go
/*==============================================================*/
/*Index:
Relationship_8_FK*/
/*==============================================================*/
createindexRelationship_8_FKon出库操作(
用户名ASC
)
go
/*==============================================================*/
/*Index:
Relationship_9_FK*/
/*==============================================================*/
createindexRelationship_9_FKon出库操作(
出库商品名称ASC,
出库日期ASC,
出库时间ASC
)
go
/*==============================================================*/
/*Table:
出库表*/
/*==============================================================*/
createtable出库表(
出库商品名称char(10)notnull,
出库生产厂家char(20)null,
出库商品型号char(20)null,
出库商品规格char(30)null,
出库商品数量intnull,
出库日期datetimenotnull,
出库时间datetimenotnull,
出库单位char(20)null,
提货人char(10)null,
constraintPK_出库表primarykeynonclustered(出库商品名称,出库日期,出库时间)
)
go
/*==============================================================*/
/*Table:
商品入库*/
/*==============================================================*/
createtable商品入库(
入库商品名称char(10)notnull,
入库日期datetimenotnull,
入库时间datetimenotnull,
商品名称char(10)notnull,
constraintPK_商品入库primarykey(入库商品名称,入库日期,入库时间,商品名称)
)
go
/*==============================================================*/
/*Index:
Relationship_10_FK*/
/*==============================================================*/
createindexRelationship_10_FKon商品入库(
入库商品名称ASC,
入库日期ASC,
入库时间ASC
)
go
/*==============================================================*/
/*Index:
Relationship_11_FK*/
/*==============================================================*/
createindexRelationship_11_FKon商品入库(
商品名称ASC
)
go
/*==============================================================*/
/*Table:
商品出库*/
/*==============================================================*/
createtable商品出库(
商品名称char(10)notnull,
出库商品名称char(10)notnull,
出库日期datetimenotnull,
出库时间datetimenotnull,
constraintPK_商品出库primarykey(商品名称,出库商品名称,出库日期,出库时间)
)
go
/*==============================================================*/
/*Index:
Relationship_13_FK*/
/*==============================================================*/
createindexRelationship_13_FKon商品出库(
商品名称ASC
)
go
/*==============================================================*/
/*Index:
Relationship_14_FK*/
/*==============================================================*/
createindexRelationship_14_FKon商品出库(
出库商品名称ASC,
出库日期ASC,
出库时间ASC
)
go
/*==============================================================*/
/*Table:
商品库存表*/
/*==============================================================*/
createtable商品库存表(
商品名称char(10)notnull,
生产厂家char(10)null,
型号char(10)null,
规格char(10)null,
constraintPK_商品库存表primarykeynonclustered(商品名称)
)
go
/*==============================================================*/
/*Table:
用户信息表*/
/*==============================================================*/
createtable用户信息表(
用户名char(10)notnull,
密码char(10)null,
constraintPK_用户信息表primarykeynonclustered(用户名)
)
go
三、系统设计
1、系统功能分析
本系统需要完成的功能主要有以下几点。
●系统管理的用户登录、修改密码与添加用户。
●信息管理的各种信息的添加、查询、修改和维护。
●入库管理中的商品入库、查询与统计。
●出库管理中的商品出库、查询与统计。
2、系统功能模块设计
在系统功能分析的基础上,考虑VB和SQLServer2005的特点,设计出如图3.1所示的系统功能模块图。
图3.1系统功能模块图
系统模块
a.用户可以使用自己的密码登录。
b.用户可以修改自己的密码。
c.用户可以通过管理界面添加或删除用户,添加用户或删除原有用户,验证用户的合法性,阻止非法用户登录。
信息模块
a:
用户信息管理可以对用户信息进行添加,删除操作
b:
客户信息管理可以对客户端信息进行添加,删除,更新操作
c:
商品信息管理可以对商品信息进行添加,删除,更新操作
入库模块
包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及统计
出库模块
包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及统计
四、系统实现
1、登录模块
PrivateSubCommand1_Click()
'判断是否为空
IfTrim(Text1.Text)=""Then
MsgBox"请输入用户名称!
",vbOKOnly+vbExclamation,"警告"
ExitSub
Text1.SetFocus
ElseIfTrim(Text2.Text)=""Then
MsgBox"密码不能为空!
",vbOKOnly+vbExclamation,"警告"
Text2.SetFocus
Text1.Text=""
Text2.Text=""
ExitSub
ElseIfText1.Text="兰涩儿"AndText2.Text="220913140"Then
OK=True
Form1.Hide
库存物资管理系统.Show
Text1.Text=""
Text2.Text=""
Else
MsgBox"此用户不存在",,"Login"
Text1.SetFocus
Text1.Text=""
Text2.Text=""
EndIf
EndSub
PrivateSubCommand2_Click()
Form1.Hide
库存