数据库原理及设计大作业

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

《数据库原理及应用》大作业题目:仓库管理系统数据库设计
作者姓名
学科专业机械工程及自动化
班级
摘要
仓库存放的货物品种繁多,堆存方式以及处理过程也非常复杂,随着业务量的增加,仓库管理者需要处理的信息量会大幅上升,因此往往很难及时准确的掌握整个仓库的运作状态。

针对这一情况,本系统在满足仓库的基本管理功能基础上发挥信息系统的智能化,减轻仓库管理人员和操作人员的工作负担。

系统主要的实现目标是监控整个仓库的运转情况;提供完善的出入库登记功能且拥有便捷的查询功能。

关键字:仓库管理;数据库;仓库维护;
目录
题目:仓库管理系统数据库设计 (I)
1.引言 (1)
2.需求分析阶段 (2)
2.1引言 (2)
2.2需求分析阶段的目标与任务 (2)
2.3需求分析阶段成果 (3)
3概念设计阶段 (7)
3.1引言 (7)
3.2任务与目标 (8)
3.3阶段结果 (8)
4.逻辑设计阶段 (10)
4.1逻辑设计的任务和目标 (10)
4.2数据组织 (11)
4.2.1将E-R图转换为关系模型 (11)
4.2.2数据库模式定义 (11)
4.2.4用户子模式定义 (12)
4.3数据处理 (14)
5.物理设计阶段 (14)
5.1物理设计阶段的目标与任务 (14)
5.2数据存储方面 (14)
5.3系统功能模块 (15)
6.数据库实施阶段 (15)
6.1建立数据库、数据表、视图、索引 (15)
6.1.1建立数据库 (16)
6.1.2建立数据表 (16)
6.1.3建立视图 (18)
6.1.4建立索引 (19)
6.1.5建立触发器 (19)
6.2数据入库 (20)
6.3创建各个功能的存储过程 (20)
7.实习心得 (20)
8.存在的问题及建议 (21)
参考文献 (21)
附录1存储过程定义 (22)
附录2所有MySQL语句 (23)
附录3成员分工 (27)
1.引言
随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机及与通信技术为基础的信息系统正处于蓬勃发展的时期。

各种仓库管理的方法也是日新月异。

以前全是由人力管理的方法存在很多缺点,仓库的管理问题也就提上了日程。

随着这种企事业单位产品和材料的大量增加,起管理难度也越来越大,如何优化仓库夫人日常管理也就成为了一个重要的课题。

在计算机飞速发展的今天,将计算机这一信息处理利器应用于仓库的日常管理已经是势在必行,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,同时也会为企业飞速发展提供无限制的潜力。

采用计算机管理信息系统已经成为仓库管理科学化和现代化的重要标志,它给企业带来了明显的经济效益和社会效益。

主要体现在:极大的提高了仓库管理人员的工作效率,大大减少了以往入、出、存流程繁琐杂乱周期长的弊端。

基于仓库管理的全面自动化,可以减少入库管理、出库管理和库存管理的漏洞。

可以节约不少管理开支,增加企业收入。

仓库管理的操作自动化和信息的电子化,全面提高了仓库的管理水平。

随着我国改革开放的不断深入,经济的飞速发展,企业要想生存发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的,仓库管理的全面自动化,信息化则是其中及其重要的部分。

为了加快产库管理的自动化步伐,提高仓库管理业务的处理小效率,建立仓库管理系统已经变得十分必要。

2.需求分析阶段
2.1引言
仓库管理主要用来管理客户、供应商、仓库及货物,其中的商品进货、销售和库存管理复杂繁琐,需要耗费大量的时间和人力对这些数据进行统计和分析,这是一项相当大的工程。

尤其在当商品种类繁多的情况下,传统的人工管理方式存在基本资料保存与维护困难,管理者需要加强成本管理和收入管理,通过提高服务水平来提升企业形象。

他们对仓库管理程序进行了详细的分析和策划,提出了利用计算机管理信息系统对仓库进行管理,从而进行仓库管理系统的开发,以适应今天高速运转的全球经济化的竞争。

高效方便的仓库管理系统主要提供一个仓储业务及其作业管理的信息存储和检索系统。

通过仓库管理、供应商管理、入库管理、出库管理、客户管理及货物管理等功能模块来实现仓库的综合管理。

它极大的满足了商品销售行业的电子化管理,其主要功能是实现物品发放、物品出库、货物管理,具体为:插入功能、查询功能。

这更能便于公司管理层了解实时的信息。

同时它以数据库内存最小化,运行速度最大化为目标,使得管理者可以更高效得进行管理。

基于上述阐述,现对此仓库管理系统初步功能归纳如下:
1系统性质:
2系统使用着:操作员、各部门经理(如:货物部门经理、客户部门经理等)
3系统运行环境
4系统主要功能
2.2需求分析阶段的目标与任务
2.2.1处理对象
货物信息:货物编号,货物名称,货物数量,货物类别,备注
供应商信息:供应商编号,供应商名称
客户信息:客户编号,客户名称
仓库信息:仓库编号,仓库名称
出库信息:货物编号,客户编号,仓库编号,出库编号,出货价格,出货数量,出货日期
入库信息:货物编号,供应商编号,仓库编号,入库编号,入库价格,入库数量,入库日期
2.2.2处理功能及要求
1.能够存储一定数量的仓库,货物,客户,供应商信息,并方便有效的进行相应的货物数据操作和管理,这主要包括:
1)登记仓库信息,查询仓库信息。

2)登记货物信息,查询货物信息。

3)登记客户信息,查询客户信息。

4)登记供应商信息,查询供应商信息
2.能够对一定数量的货物进行相应的信息存储与管理,这其中包括:
1)货物出库信息的增加、删除及修改。

2)货物入库信息的增加、删除及修改。

3)货物资料的统计与查询。

3.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。

4.对查询、统计的结果能够列表显示。

2.2.
3.安全性和完整性要求
1)安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。

安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。

2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。

可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。

2.3需求分析阶段成果
2.3.1调查用户需求
本系统的最终用户为仓库管理员和客户。

根据我们日常生活中的经验,结合对仓库管理员及客户的调查,得出用户的下列实际要求:
(一)仓库的基本情况
仓库管理员管理客户、供应商、商品及仓库的信息。

(1)客户的基本信息
商场中的每个客户都分配有唯一的编号、名字,每个用户可以进行仓库货物信
息的查询,但不可以进行修改。

(2)供应商的基本信息
每个供应商拥有唯一的编号、名称。

(3)货物的基本信息
每种货物有一个编号,会存放在一个仓库中,货物有唯一的名称,属于一个类型,拥有一定货物存储量,管理员可以对其信息进行修改。

(4)仓库的基本信息
每个仓库有一个编号,同样有一个名称,也拥有一定的容量,可以扩充容量,管理员可以对其信息进行修改。

(5)货物查询的基本信息
管理员和客户都拥有对货物、仓库查询的权力,而货物查询又分为三种:所有货物、货号查询、货名查询,给出相对应的条件,就可以查询到相关的货物编号、仓库编号、货物名称、货物存储量,仓库查询只有所有仓库,给出相应的条件则可以查询到相关仓库编号、仓库名字。

(6)出入库的基本信息
供应商和客户的每次提供、购买货物都会造成仓库相关货物信息的改变,货物入库时更新货物编号、入库时间、供应商编号、入库价格、入库数量、仓库编号、客户编号,货物出库时更新货物编号、出库时间、供应商编号、出库价格、出库数量、仓库编号、客户编号信息。

(二)用户对系统的要求
通过需求分析,对商品库存进行有效的管理,使之形成完善的应用系统。

数据库设计中要合理设置商品信息和库存信息等,用来实现商品信息的新增,修改、删除等功能,使得商家有较详细的数据统计与分析。

基本功能:
(1)登录认证
作为一个企业实际应用项目,登录认证是必不可少的。

本项目的用户登录管理比较简单,分为管理员和客户登录,管理员和客户有不同的权限。

(2)统计报表
统计报表模块包括客户统计、供货商统计、货物统计、仓库统计。

各个统计都可以按照各个关键字进行统计查询。

(3)入库管理
入库管理主要是管理员对仓库进行进货入库的操作,管理人员通过改功能模块把每天的入库商品明细输入数据库并对商品信息进行修改和删除。

该模块支持按货物编号和货物名称、所有货物等关键字查询货物编号、仓库编号、货物名称、货物存储量。

(4)出库管理
出库管理模块与入货管理模块相似,主要是对货物出库信息进行管理。

管理员员通过该功能模块对出库商品进行出库操作。

2.3.2图书管理系统数据流程图
顶层数据流图:
由于在搜寻指定货物时会因货物量大而加重任务量,在对一些货物及人员就行更新时也会因为复杂而手忙脚乱。

这样在交易活动中不断地产生新数据,使得信息量逐渐加大。

但使用本系统可以很方便的对所需信息进行查询,也可适时的利用插入功能对相关数据进行更新,这样及时、便捷、高效的得到查询统计结果。

因此,设计顶层数据流图如图2.1所示
操作员
仓储管理系统代码信息客户信息供应商信入库情况出库情况货物信息
第1层数据流图:
根据上文列出的的仓库管理的主要功能,将仓库管理加工细化分解为仓库管理、供应商管理、入库管理、出库管理、客户管理和货物管理等子加工。

在图1所示的顶层数据流图的基础之上,进行分解细化,得到如图2.2所示仓库管理的1层数据流图。

操作员货物
客户管理
客户信息
仓库管

供应商入库出库
仓库存储供应商信息货物进货信货物突出信
第2层数据流图:
根据实际业务,细化数据流图如下图2.3所示:
货物部门经理
操作员
货物出

货物统计
货物入库
入库信息
入库部门经
出库部门经理
出库信息2.3.3图书管理系统数据字典
数据流图反应了数据和处理之间的关系,数据字典是系统中各类数据描述的集合。

通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。

(a )数据项
数据项编号数据项名数据项含义存储结构别名DI -1StoreNo 仓库编号char (6)仓库号DI -2DutyOfficeNam e
仓库管理员姓名varchar (20)管理员姓名
DI -3Store Name 仓库名称Char 仓库名DI -4Quantity
仓库库存Int 库存DI -5WorkerNo 职工号char 职工号DI -6WorkerName 职工姓名char 姓名DI -7WorkerSex 职工性别Char 性别DI -8GoodsNo 货物编号char 编号DI -9GoodsName 货物名称char 货物名DI -10GoodsQuantity 货物数量Int 数量DI -11Class 货物类型char 类型DI -12PriceEntry 入库价格Char 入库价格DI -13PriceOut 出库价格Char 出库价格DI -14SupplierNo 供应商编号Char 编号DI -15
SupplierName
供应商名称
char
名称
数据项编号数据项名数据项含义存储结构别名
DI-16ClientNo客户编号char编号
DI-17ClientName客户名称char名称
DI-18AddQuantity入库数量Int入库数量
DI-19EntryDate入库日期Date日期
DI-20OutQuantity出库数量Int出库数量
DI-21OutDate出库日期Date日期(b)数据结构
数据结构编号数据结构名
数据结构
含义
组成
DS-1Store仓库信息StoreNo,StoreName,DutyOfficerName,Quantity DS-2Worker职工信息WorkerNo,WorkerName,WorkerSex
DS-3Goods货物信息GoodsNo,GoodsName,GoodsQuantity,Class,PriceEntry,PriceOut
DS-4Supplier供应商信息SupplierNo,SupplierName DS-5Client客户信息ClientNo,ClientName
DS-6Inventory入库信息GoodsNo,StoreNo,GoodsPrice,AddQuantity,EntryDate
DS-7Out出库信息GoodsNo,StoreNo,GoodsPrice,OutQuantity,OutDate 3概念设计阶段
3.1引言
系统开发的总体目标是实现仓库管理的系统化和自动化,缩短借阅者的等
待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量
和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。

主要任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图
书信息、罚款信息的基本信息的操作及外理。

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念
模型)的过程,它是整个数据库设计的关键。

3.2任务与目标
(1)选择中层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。

在本仓库管理系统中,从第3层数据流程图下手。

分析各3层数据流图和数据字典,知道整个系统功能围绕“仓库”、“管理员”和“部门经理”的处理。

根据实体与属性间的两条准则:1.作为“属性”,不能再具有需要描述的性质。

2.“属性”不能与其他实体具有联系。

分别画出给部分的E-R。

然后采用逐步集成的方式将各分E-R图合并,消除不必要的冗余和冲突后就生成了基本E-R。

3.3阶段结果
(1)根据不同的对象,分别画出各分E-R图:
图3.1分E-R图1
图3.2分E-R图2
图3.3分E-R图3
图3.4分E-R图4
图3.5分E-R图5
图3.6分E-R图6
(2)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:
图3.7总E-R图
(3)各E-R图各实体的属性如下所示:
货物:Goods(GoodsNo,GoodsName,GoodsQuantity,Class)
供应商:Spl(SupplierNo,SupplierName)
客户:Client(ClientNo,ClientName)
仓库:Store(StoreNo,StoreName)
职工:Worker(WorkerNo,WorkerName,WorkerSex)
各E-R图中联系的属性如下所示:
入库:InStore(GoodsNo,StoreNo,No,GoodsPrice,AddQuantity,EntryDate)出库:OutStore(GoodsNo,StoreNo,No,GoodsPrice,OutQuantity,OutStoreDate)
4.逻辑设计阶段
4.1逻辑设计的任务和目标
概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、
用户子模式设计)、数据处理(画出系统功能模块图)两大任务。

4.2数据组织
4.2.1将E-R图转换为关系模型
由于仓库与货物的联系方式是1:n(一对多),可以将其之间的联系与n端实体货物合并,客户与货物之间的出库联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式,供应商与货物之间的入库联系是m:n (多对多),将其联系也转化成独立的关系模式,具体的基本E-R图向关系模型的转化如下:
货物:Goods(GoodsNo,GoodsName,GoodsQuantity,Class)
供应商:Spl(SupplierNo,SupplierName)
客户:Client(ClientNo,ClientName)
仓库:Store(StoreNo,StoreName)
职工:Worker(WorkerNo,WorkerName,WorkerSex)
4.2.2数据库模式定义
仓库货物信息表
列名数据类型可否为空说明GoodsNo Char not null货物编号
GoodsName Char not null货物名称
GoodsQuantity Int not null货物数量
Class Char not null货物类型
PriceEntry Char not null进库价格
PriceOut Char not null出库价格
供应商信息表
列名数据类型可否为空说明SupplierNo Char not null供应商编号
SupplierName Char not null供应商名称
客户信息表
列名数据类型可否为空说明ClientNo Char not null客户编号
ClientName Char not null客户名称
仓库信息表
列名数据类型可否为空说明Store No Char not null仓库编号
Store Name Char not null仓库名称
DutyOfficerName Char not null仓库管理员姓名Quantity Int not null仓库库存
职工信息表
列名数据类型可否为空说明WorkerNo Char not null职工号
WorkerName Char not null职工姓名
WorkerSex Char not null职工性别
4.2.4用户子模式定义
用户子模式定义
编号用户子模式(View)作用(共性:提供数据保密和安全保护机制) V-1GoodsView便于查询和修改货物的基本信息
V-2SplView供应商基本信息的查询
V-3ClientView便于客户信息的查询
V-4Store View便于仓库信息的查询
V-5Worker View便于职工信息的查询
V-6In Store View便于查询入库信息
V-7OutWareView便于查询出库信息
货物信息视图
列名数据类型可否为空说明GoodsNo Char not null货物编号
GoodsName Char not null货物名称
GoodsQuantity Int not null货物数量
Class Char not null货物类型
PriceEntry Char not null进库价格
PriceOut Char not null出库价格
供应商信息视图
列名数据类型可否为空说明SupplierNo Char not null供应商编号
SupplierName Char not null供应商名称
客户信息视图
列名数据类型可否为空说明ClientNo Char not null客户编号ClientName Char not null客户名称
仓库信息视图
列名数据类型可否为空说明Store No Char not null仓库编号
Store Name Quantity Char
Int
not null
not null
仓库名称
仓库库存
DutyOfficerName Char not null仓库管理员姓名
职工信息视图
列名数据类型可否为空说明WorkerNo Char not null职工号WorkerName Char not null职工姓名WorkerSex Char not null职工性别
入库信息视图
列名数据类型可否为空说明GoodsNo Char not null货物编号Store No Char not null仓库编号
No Char not null编号GoodsPrice Int not null货物价格AddQuantity Int not null入库数量EntryDate Date not null入库日期
出库信息视图
列名数据类型可否为空说明GoodsNo Char not null货物编号Store No Char not null仓库编号
No Char not null编号GoodsPrice Int not null货物价格OutQuantity Int not null出库数量
Out Store Date Date not null出库日期
4.3数据处理
系统功能模块图:
5.物理设计阶段
5.1物理设计阶段的目标与任务
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。

5.2数据存储方面
为数据库中各基本表建立的索引如下:
1.由于基本表Goods,Store的主码GoodsNo,StoreNo经常在入库管理和
出库管理的连接条件中出现,且它的值唯一,在两个属性上建立唯一性索引;
2.由于基本表Goods的属性GoodsNo经常在查询条件中出现,且它的值唯
一,建立唯一性索引;
3.由于基本表Store的属性StoreNo经常在查询条件中出现,且它的值唯一,
建立唯一性索引;
4.由于基本表Worker的属性WorkerNo经常在查询条件中出现,且它的值
唯一,建立唯一性索引;
5.3系统功能模块
建立基本信息的查询和更新模块,将实现管理员对货物、仓库。

出入库和供应商基本信息的查询和更新(修改、添加、删除)操作。

具体的功能模块图如下:
图5.1系统功能模块
6.数据库实施阶段
6.1建立数据库、数据表、视图、索引
6.1.1建立数据库
create database Store;
6.1.2建立数据表
(1)仓库表的建立:
create table Store(
StoreNo char(6),primary key
DutyOfficerName varchar(20)not null
WorkerNo char(6)not null
foreign key(WorkerNo)references Worker(WorkerNo) )
(2)职工表的建立:
create table Worker(
WorkerNo char(6)primary key
WorkerName varchar(20)not null,
WorkerSex char(10)not null
check(WorkerSex='男'or MSex='女'))
)
(3)货物表的建立:
create table Goods(
GoodsNo char(6)primary key
Price char(10)not null,
Class char(10)not null
GoodsName varchar(20)not null
StoreNo char(6)not null
foreign key(StoreNo)references Store(StoreNo)
)
(4)入库信息表的建立
create table Entry(
GoodsNo char(6)primary key
AddQuantity int not null,
EntryDate Datetime not null
foreign key(GoodsNo)references Goods(GoodsNo)
)
(5)库存信息表的建立:
create table Inventory
(GoodsNo char(6)primary key(货号),
Quantity int not null,
StoreNo char(6)not null,
foreign key(StoreNo)references Store(StoreNo) foreign key(GoodsNo)references Goods(GoodsNo)
)
(6)出库信息表的建立
create table Out(
GoodsNo char(6)primary key
OutQuantity int not null,
OutDate Datetime not null
foreign key(GoodsNo)references Goods(GoodsNo)
)
(7)仓库管理记录表的建立
create table ManagementRecord
(OperationNo char(6)primary key(操作编号), GoodsNo char(6)not null,
AddQuantity INT
OutQuantity INT
OutDate Datetime
EntryDate Datetime
OperationType varchar(20)not null,,
WorkerNo char(6)not null,,
foreign key(WorkerNo)references Worker(WorkerNo), foreign key(GoodsNo)references Goods(GoodsNo) foreign key(AddQuantity)references Entry(AddQuantity) foreign key(OutQuantity)references Out(OutQuantity) )
(8)供应商信息表的建立
create table Supplier(
SupplierName varchar(20)primary key
GoodsNo char(6)not null,
foreign key(GoodsNo)references Goods(GoodsNo)
)
(9)客户信息表的建立
create table Client(
ClientName varchar(20)primary key
GoodsNo char(6)not null,
foreign key(GoodsNo)references Goods(GoodsNo)
)
6.1.3建立视图
(1)用于查询仓库基本信息的视图定义如下:
create view Storeview(仓库号,负责人职工号)
as
select StoreNo,DutyOfficerName
from Store
(2)用于职工基本信息查询的视图定义如下:
create view Workerview(职工姓名,职工号,职工性别)
as
select WorkerName,WorkerNo,WorkerSex
from Worker
(3)用于显示当前货物基本信息的视图定义如下:
create view Goodsview(货物名称,货号,货物单价,货物类别,库存,
仓库号)
as
select GoodsName,GoodsNo,Price,Class,Quantity,StoreNo
from Goods,Inventory
where Goods.GoodsNo=Inventory.GoodsNo and ManagementRecord.
Quantity is null
(4)用于货物操作信息查询的视图定义如下:
create view ManagementRecord(货号,入库数量,入库日期,出库数量,
出库日期,)
as
select GoodsNo AddQuantity EntryDate OutQuantity OutDate
from ManagementRecord
6.1.4建立索引
create index StoreNo on Store(StoreNo);
create index WorkerNo on Worker(WorkerNo);
create index GoodsNo on Goods(GoodsNo);
6.1.5建立触发器
1.当删除Goods表中某一货物的基本信息时,触发Inventory表,删除相应的库存
create trigger Goods_delete
on Goods
for delete
as
delete Inventory
from deleted
where Inventory.GoodsNo=deleted.GoodsNo
2.当入库单中插入数据时,如果是新货物则加入到货物信息中,如果是现
有的货物则追加到货物信息表中,货物的数量则相应改变。

create trigger sinsert
on Entry
after insert
as
declare@AddQuantity int
declare@GoodsNo(6)
declare@StoreNo char(6)
declare insert_ru cursor for select GoodsNo,AddQuantity,StoreNo from inserted
open insert_ru
fetch next from insert_ru into@GoodsNo,@AddQuantity,@StoreNo
update Inventory set Quantity=Quantity+@AddQuantity where GoodsNo =@GoodsNo
3当出库单中插入数据时,是现有的货物则追加到货物信息表中,货物的数量则相应改变。

如果是新货物则会因货物不存在而出错。

相关代码如下:create trigger cinsert
on Out
after insert
as
declare@OutQuantity int
declare@GoodsNo char(6)
declare@StoreNo char(6)
declare insert_ru cursor for select GoodsNo,OutQuantity,StoreNo from inserted
open insert_ru
fetch next from insert_ru into@GoodsNo,@OutQuantity,@StoreNo
update Inventory set Quantity=Quantity-@OutQuantity where GoodsNo=@ GoodsNo
6.2数据入库
系统包括仓库管理、供应商管理、入库管理、出库管理、客户管理、货物管理等六大功能模块,共有9张基本表,采用事先在Excel中录入数据,然后使用SQL Server2000数据导入/导出向导功能,直接将数据导入到相应的基本表中。

6.3创建各个功能的存储过程
系统共创建了10个存储过程,具体列表如下:
表3.1创建的存储过程列表:
编号存储过程名称定义作用
P-1Store_Insert详见附录1-1在Store中插入一元组
P-2Goods_Insert详见附录1-2在Goods中插入一元组
P-3Entry_Insert详见附录1-3在Entry中插入一元组
P-4Delete_Goods详见附录1-4从Goods中删除一元组
P-5Out_Insert详见附录1-5在Out中插入一元组
P-6Query_Goods_M详见附录1-6管理员在Goods中查询全部货物(其它表的查询、修改、删除与以上各表的存储过程定义大致相同,这里不再具体列出)
7.实习心得
首先是数据库设计方面的收获。

数据库设计是最重要的第一步工作,设计好了数据库是后面各种复杂操作的基础和保证,如果一开始我没有认真的分析系统的需求、结构层次,以及各实体间的联系,还有数据关系中完整性约束条件,那么在后面的练习中,我将会遇到非常大的麻烦,并因此不得不反复修改自己的表结构,耽误很多时间和功夫。

其次是SQL语句的使用,平时看了很多遍PPT上的语句和例子,但是只有到我真正自己写的时候才发现很多语句、语法没有弄明白,不会写,所以,我深深的体会到学习一门软件和语言最重要也是最基本的方法就是上机练习,只有不断实践,才能将课本上的知识转变成自己的知识,牢牢地记在脑子里并且可以应用于实战。

第三方面是对数据库管理系统的认识得到了加深,与大二学习的数据库不同,这次对数据库的设计更为规范化,更严谨,因为在设计关系模式的时候要一步步将关系规范化,使之满足3NF;另外,还要考虑到数据的完整性约束条件。

所以,我对数据库的要求有了跟具体的认识,希望自己以后能设计出规范、实用、安全的数据库操作系统。

8.存在的问题及建议
我们觉得在这次课程设计中,需求分析阶段是致关重要的,但由于同学们都是第一次做这样的系统设计,都不是很熟悉需求分析的主要方法和主要任务,所以都很盲目,认为随便从网上搜点相关的知识就可以了,但其实,这直接影响着后面的各个阶段的工作的进行。

所以希望老师在大作业前能给我们对需求分析阶段的工作进行一定的指导。

参考文献
[1]萨师煊王珊,数据库系统概论(第三版),北京:高教出版社,2000
[2]软件开发与指导;人民邮电出版社
[3]Delpehi数据库开发毕业设计指导及实例;机械工业出版社,2004。

相关文档
最新文档