数据库技术与应用大作业Word下载.docx

上传人:b****5 文档编号:15846133 上传时间:2022-11-16 格式:DOCX 页数:20 大小:593.75KB
下载 相关 举报
数据库技术与应用大作业Word下载.docx_第1页
第1页 / 共20页
数据库技术与应用大作业Word下载.docx_第2页
第2页 / 共20页
数据库技术与应用大作业Word下载.docx_第3页
第3页 / 共20页
数据库技术与应用大作业Word下载.docx_第4页
第4页 / 共20页
数据库技术与应用大作业Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

数据库技术与应用大作业Word下载.docx

《数据库技术与应用大作业Word下载.docx》由会员分享,可在线阅读,更多相关《数据库技术与应用大作业Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

数据库技术与应用大作业Word下载.docx

(1)一种货品可由多名供应商提供、可由多名零售商采购;

(2)一个供应商可以供应多种货品;

(3)一个零售商可以购买多种货品;

数据库中要记录企业的入库、出库的情况以及零售商、供应商、库存货品的基本信息。

除了对这些数据进行正常的维护之外,还产生一些报表:

入库报表,内容包括货品名称、数量、计量单位、金额、供应商名称、电话、入库日期。

出库报表,内容包括货品名称、数量、计量单位、金额、零售商名称、电话、出库日期。

库存报表,内容包括货品名称、数量、计量单位。

2数据库结构设计

2.1概念结构设计

对于这个企业库存管理系统,其核心活动是货品,库存货品与供应商之间是通过供应发生联系的,库存货品与零售商之间是通过购买发生联系的,因此,此系统所包含的实体有:

(1)库存货品:

用于描述一种货品的基本信息,用货品编号来标识此实体;

(2)供应商:

用于描述一个供应商的基本信息,由供应商编号来标识;

(3)零售商:

用于描述一个零售商的基本信息,由零售商编号来标识;

其初步E-R图如下:

经过初步分析,可知此系统中各实体所包含的基本属性为:

库存货品:

货品编号、货品名称、数量、计量单位;

供应商:

供应商编号、供应商名称、联系人、电话;

零售商:

零售商编号、零售商名称、联系人、电话。

2.2逻辑结构设计

第一步:

有了基本E-R图后,就可以进行逻辑结构设计了,也就是设计基本的关系模型。

设计基本关系模式主要是从E-R图出发,将其直接转换为关系模式。

根据转换规则,这个E-R图转换的关系模式为:

库存货品(货品编号、货品名称、数量、计量单位),主码为货品编号;

供应商(供应商编号、供应商名称、联系人、电话),主码为供应商编号;

零售商(零售商编号、零售商名称、联系人、电话),主码为零售商编号;

供应(供应商编号、货品编号、货品名称、数量、计量单位、单价、金额、入库日期),主码为(供应商编号、货品编号);

购买(零售商编号、货品编号、货品名称、数量、计量单位、单价、金额、出库日期),主码为(零售商编号、货品编号)。

第二步:

在设计好了关系模式并确定好了每个关系模式的主码后,再看一下这些关系模式之间的关联关系,即确定关系模式的外码,可通过E-R图中的联系实体发现:

供应关系中,供应商编号、货品编号是外码,分别引用供应商关系中的供应商编号和库存货品关系中的货品编号;

购买关系中,零售商编号、货品编号是外码,分别引用零售商关系中的零售商编号和库存货品关系中的货品编号;

第三步:

最后,确定表中各属性的详细信息,包括数据类型和长度等:

(1)库存信息表(库存货品表):

货品编号:

int(4),primarykey

货品名称:

char(10),notnull

数量:

numeric(9),notnull

计量单位:

char(5),notnull

(2)供应商信息表:

供应商编号:

供应商名称:

char(10)

联系人:

char(10),notnull

电话:

char(20),notnull

(3)零售商信息表:

零售商编号:

零售商名称:

(4)入库信息表(供应信息表):

int(4),foreignkey

int(4),foreignkey

单价:

money(8),notnull

金额:

入库日期:

datetime(8),notnull

(5)出库信息表(购买信息表):

出库日期:

第四步:

在SQLServer2000中建立上述表,并确定表和表之间的约束关系:

主码、外码、规则、默认等;

在企业管理器中建立库存信息表(库存货品表),并设置货品编号为主键,建立供应商信息表,并设置供应商编号为主键,建立零售商信息表,并设置零售商编号为主键,建立入库信息表(供应信息表),并设置供应商编号与货品编号为外键,建立出库信息表(购买信息表),并设置零售商编号与货品编号为外键。

规则:

数量必须为非负数

创建规则sl_scope

Createrulesl_scopeas@sl_scope>

=0

并将该规则绑定到库存信息表、入库信息表、出库信息表,

默认:

计量单位的默认值为‘个’

创建默认jl_wei

Createdefaultjl_weias‘个’

并将该默认绑定到库存信息表、入库信息表、出库信息表,

第五步:

报表的设计(视图的设计)

在数据库应用系统中,用户需要产生大量的报表,而报表的内容来自于数据库中的基本表,因此,在设计好数据库的基本表之后,要看一下这些基本表的内容是否全部包含了要产生的报表的内容。

入库报表:

货品名称、数量、计量单位、金额、供应商名称、电话、入库日期。

出库报表:

货品名称、数量、计量单位、金额、零售商名称、电话、出库日期。

3数据库行为功能设计

3.1安全控制

任何数据库应用系统都需要安全控制功能,教学管理系统用户分为如下几类:

(1)管理员:

有系统的全部权限;

(2)采购部:

具有对入库信息表、供应商信息表的维护权,对各表数据的查询权;

(3)销售部:

具有对出库信息表、零售商信息表的维护权,对各表数据的查询权;

(4)普通部:

对各表数据的查询权。

在实现时,每一类用户作为一个角色实现,这样在授权时,只对角色授权,而无需对每个具体的用户授权。

3.2数据操作

数据操作功能包括对这些数据进行录入、删除、修改功能。

(1)数据录入

供应商数据录入:

输入数据并显示出来

入库信息录入:

零售商信息录入:

出库信息录入:

(2)数据删除

将指定编号的供应商信息删除,显示剩余的信息:

将指定编号的入库信息删除,显示剩余的信息:

将指定编号的零售商信息删除,显示剩余的信息:

将指定编号的出库信息删除,显示剩余的信息:

(3)数据修改

供应商信息修改:

输入供应商编号,输入修改的电话

入库信息修改:

输入供应商编号与货品编号,输入修改的数量

零售商信息修改:

输入零售商编号,输入修改的电话

出库信息修改:

输入零售商编号与货品编号,输入修改的数量

(3)数据查询

查询入库信息:

输入供应商编号与货品编号查询信息

查询供应商信息:

输入供应商编号查询信息

查询出库信息:

输入零售商编号与货品编号查询信息

查询零售商信息:

输入零售商编号查询信息

查询库存信息:

输入货品编号查询库存信息

3.3生成报表

入库报表查询:

出库报表查询:

库存报表查询:

3.5触发器设计

入库信息表的触发器设计:

当入库信息表中输入一条信息,根据信息的货品编号判断,如果库存信息表中没有该货品,则在库存信息表中添加这条信息的数据;

若库存信息表中存在该货品,则将该货品库存信息表中的数量加上入库信息表输入信息的数量。

其中,用到了游标指针检测库存信息表中有无输入的货品编号。

CREATETRIGGERtrig_1ONdbo.入库信息表

FORINSERT

AS

declare@货品编号char(10)

begin

declarekc_cursorcursorforselect货品编号from库存信息表

openkc_cursor

fetchnextfromkc_cursorinto@货品编号

begin

while@@fetch_status=0

if(@货品编号=(select货品编号frominserted))

update库存信息表

set数量=数量+(select数量frominserted)

where货品编号=@货品编号

break

end

else

fetchnextfromkc_cursorinto@货品编号

if(@@fetch_status!

=0)

declare@hpbhchar(10),@hpmcchar(10),@slnumeric(8),@jldwchar(5)

select@hpbh=货品编号frominserted

select@hpmc=货品名称frominserted

select@sl=数量frominserted

select@jldw=计量单位frominserted

insert库存信息表(货品编号,货品名称,数量,计量单位)

values(@hpbh,@hpmc,@sl,@jldw)

closekc_cursor

deallocatekc_cursor

end

出库信息表的触发器设计:

当出库信息表中输入一条数据,则将该货品库存信息表中的数量减去出库信息表输入信息的数量。

CREATETRIGGERtrig_2ONdbo.出库信息表

update库存信息表

set数量=数量-(select数量frominserted)

where货品编号=(select货品编号frominserted)

附件

部分重要源代码:

ifmessagedlg('

确认修改'

mtconfirmation,[mbyes,mbno],0)=mryesthen

adoquery1.Close;

adoquery1.SQL.clear;

adoquery1.SQL.Add('

update出库信息表set数量='

+Edit3.text);

where零售商编号='

'

+edit1.Text+'

and货品编号='

+edit2.Text+'

);

select*from出库信息表where出库信息表.零售商编号='

and出库信息表.货品编号='

adoq

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

当前位置:首页 > 表格模板 > 合同协议

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

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