药品存销信息管理系统全.docx
- 文档编号:27515833
- 上传时间:2023-07-02
- 格式:DOCX
- 页数:38
- 大小:211.37KB
药品存销信息管理系统全.docx
《药品存销信息管理系统全.docx》由会员分享,可在线阅读,更多相关《药品存销信息管理系统全.docx(38页珍藏版)》请在冰豆网上搜索。
药品存销信息管理系统全
信息工程学院
《数据库课程设计》论文
题目:
药品存销信息管理系统
学号:
***********
专业班级:
计算机科学与技术103
姓名:
*****
指导老师:
******
完成日期:
2012年01月13日
药品存销信息管理系统数据库设计
****
(信息工程学院计算机科学与技术10级3班)
摘要
本次课程设计是药品存销信息管理系统,伴随着社会的复杂化,传统的“一支笔,一本帐簿”的药品销售管理方式也慢慢的无法适应形势的变化。
随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。
因此设计药品存销信息系统是当务之急,本系统包括药品采购,药品存储,药品销售。
药品采购包括采购员进货,采购员退货。
药品存储包括仓库存储以及仓库管理员管理仓库。
药品销售包括顾客买药与顾客退药。
本系统包括几个视图来使数据库使用者快速的查询想要得到的信息,本系统包括几个PL/SQL语句块,还包括几个触发器,使得数据得到同步修改,使数据库中的数据更加合理。
关键字:
数据库;经销存;药品管理系统
引言
随着全球信息技术的飞速发展,尤其是因特网的出现和普及,企业和决策都发生了根本的改变。
采用信息技术促进、改造药店的生产、经营、管理,有效采集和处理信息,增强企业决策的有效性,适应全球发展的要求,将成为企业发展的必由之路。
信息管理系统已经成为现代企业的一个重要标志和衡量企业综合实力的重要组成部分。
但是,信息管理系统的开发却非常困难。
开发一个成功的企业信息管理系统,不仅要有方方面面的专业知识,还要充分分析企业内部、外部环境的变化和关系,以及在信息管理系统开发过程中所涉及的设备、技术上的复杂性。
这就需要系统开发者不断总结经验,不断探索更好的方法和技术。
如今药品无论在任何时候都是一个国家最重要的东西,也是对一个人最需要的东西,药品管理正处于一个高速发展的时期。
药品的信息在供应商与销售部和顾客之间大量的流通,因此,建立一个合适的数据库来管理这些数据是必不可少的。
这样药品存销信息管理系统就这样诞生了,它可以高效的来管理这些数据,是药品高效的发货和供应。
本次数据库设计严格按照书上的要求和设计数据库步骤,从需求分析,概念设计,逻辑设计,物理设计,到数据库最后的建立、运行。
1.需求分析
主要包括内容:
处理对象及组织;信息处理及系统功能;数据库系统性能需要,数据库系统开发环境需求等。
在阐述信息及其处理过程时,要辅助业务流程图、数据流程图及数据字典。
对上述三个问题可以以附录的形式详细罗列,但正文中必须指明做了哪些业务流程图、数据流程图和数据字典的规模。
1.1需求分析阶段处理对象及组织
(1)熟悉业务并绘制业务路程图;
(2)根据业务流程图明确有哪些数据流动,绘制数据流程图;
(3)建立数据字典,其中包括数据项、数据结构、数据流、数据存储、处理过程等。
1.2信息处理及系统功能
1.2.1数据流程图
药品存销信息管理系统数据流程图如下
(3)第一层数据流程图
图1-1第一层数据流程图
(2)第二层数据流程图——进货
图1-2进货数据流程图
(4)第二层数据流程图——销售
图1-3销售数据流程图
(5)第二层数据流程图——存储
图1-4存储数据流程图
1.2.2数据字典
包含数据项、数据结构、数据流、处理逻辑、数据存储定义(详见附录1)。
2.数据库结构设计
2.1概念设计
阶段要求:
(1)能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
(2)易于理解,因此可以用它和不熟悉计算机的用户交换意见;
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换。
2.2.1分E-R图的建立
建立分E-R图的思想:
对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1:
1,1:
n,m:
n),设计分E-R图;
参照数据流程图画出分E-R图
(1)进货时的分E-R图
图2-1进货时的分E-R图
(2)
销售时的分E-R图
图2-2销售时的分E-R图
(3)盘存时的分E-R图
图2-3盘存时的分E-R图
2.1.2全局/整体E-R图
1.每次集成局部E-R图是,分两步走
(1)合并。
解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步的E-R图。
(2)修改和重构。
消除不必要的冗余。
总E-R图
图2-4总E-R图
2.2逻辑设计
概念设计阶段是独立于任何一种数据模型的,而逻辑设计阶段则与现实结合起来,逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为与项目所支持的数据模型相符合的逻辑结构。
具体任务包括将E-R图转换成关系模型、模型优化、数据库模式定义、用户模式设计。
2.2.1建立关系模式
转化规则:
一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
一个1:
1联系可以转换为一个独立关系模式,也可以与任意一端关系模式合并;一个1:
N联系可以转换为一个独立关系模式,也可以与n端实对应的关系模式合并;一个M:
N联系转换为一个独立关系模式,具有相同码的关系模式可以合并
根据以上转化规则可得
供应商(供应商的编号,供应商的名称,供应商的地址,供应商的联系电话)
供应商的编号->供应商的名称,供应商的编号->供应商的地址,供应商的编号->供应商的联系电话
药品(药品的编号,药品名称,药品重量,药品类别,药品单价,药品生产日期,药品保质期)
药品的编号->药品名称,药品的编号->药品重量,药品的编号->药品类别,药品的编号->药品单价,药品的编号->药品生产日期,药品的编号->药品保质期
顾客(顾客姓名,顾客编号,顾客年龄,顾客联系电话,顾客地址,顾客邮编)
顾客编号->顾客姓名,顾客编号->顾客年龄,顾客编号->顾客联系电话,顾客编号->顾客地址,顾客编号->顾客邮编
仓库(仓库编号,仓库当前库存量,仓库最大库存量,仓库最小库存量)
仓库编号->仓库当前容量,仓库编号->仓库最大容量,仓库编号->仓库最小容量
工作人员(人员编号,人员名称,人员电话,人员地址,人员类型)
人员编号->人员名称,人员编号->人员电话,人员编号->人员地址,人员编号->人员类型
销售员售货(人员编号,顾客编号,货物编号,购买数量,销售日期)
(人员编号,顾客编号)->货物编号,(人员编号,顾客编号)->购买数量
(人员编号,顾客编号)->销售日期
顾客退货(人员编号,顾客编号,退货数量,退货日期)
(人员编号,顾客编号)->退货数量,(人员编号,顾客编号)->退货日期
采购员进货(供应商编号,采购员编号,进货数量,进货日期)
(供应商编号,采购员编号)->进货数量,(供应商编号,采购员编号)->
进货日期
采购员退货(供应商编号,采购员编号,退货数量,退货日期)
2.2.2关系模式规范化处理
以上关系模式中的各实体和联系之间不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。
2.2.3用户子模式建立
表2-1关系外模式
序号
视图名称
作用
备注
1
price
查询各种商品的单价
2
StorageNow
查询目前仓库货物数量
3
Workweight
查询采购员的采购信息
4
worksale
查询售货员买了多少东西
2.2.4关系模式逻辑结构定义
详细的逻辑结构定义见附录2
3.数据库物理设计
3.1物理设计阶段目标和任务
数据库的物理设计是为逻辑数据模型选取一个最合适应用需求的物理结构的过程,在这个阶段中需要完成的任务是:
(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
3.2数据存储方面
3.2.1建立索引的原则
建立索引一般有以下三个原则:
(1)如果一个或一组属性经常在查询条件中出现,则考虑在这个属性上建立索引。
(2)如果一个经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。
(3)如果一个或一组属性经常在连接操作的连接条件中出现,则考虑在这个属性上建立索引。
表3.1索引
所在表名
索引名称
索引类型
建立索引的项
供应商信息表
supplier_index
唯一
SupNumber
药品信息表
goods_index
唯一
Gnumber
客户信息表
customer_index
唯一
Cusnum
4.数据库实施与测试
主要包括数据库实施和测试两个部分。
4.1数据库实施
4.1.1数据库及数据库对象建立
主要包括:
数据库、基本表、视图、索引、触发器以及存储过程;
对于具体的DDL语句以及相关代码,见附录3。
(1)建立索引:
Createuniqueindexsupplie_indexonSupplier(SupNumber);
Createuniqueindexgoods_indexonGoods(Gnumber);
Createuniqueindexcustomer_indexonCustomer(Cusnum);
(2)创建的视图如表4.1所示
表4.1视图
序号
视图名称
作用
备注
1
price
查询各种商品的单价
2
StorageNow
查询目前仓库货物数量
3
Workweight
查询采购员的采购信息
4
worksale
查询售货员买了多少东西
(3)创建的存储过程如表4.2所示:
表4.2存储过程
编号
存储过程名称
作用
P1
SupPhone
输入一个供应商编号查询其电话号码
P2
goodsprice
查询哪些药品大于20
P3
Storagenow
输入仓库号查询其剩余货物量
P4
worker_Insert
向员工基本信息表插入一个元组
P5
Book_Insert
向订单基本信息表插入一个元组
P6
sale_Insert
向销售单基本信息表插入一个元组
P7
Return_Insert
向退货单基本信息表插入一个元组
P8
Person_delete
从员工基本信息表中删除一个元组
(4)创建的触发器如表4.3所示:
表4.3触发器
编号
触发器名
作用
T1
book
当向订货单插入一条数据时修改仓库数据
T2
return
采购员退货触发器
T3
DeCustomer
删除顾客信息的同时删除其他表中关于此人的信息
4.1.2数据入库
将10张表导入到数据库中
5.总结
十天数据库实习已经结束,实习期间有三门重要的考试,使我们一边应付考试,一边做实习,晚上还要上通宵自习,感觉真的很累,有很多问题感到很难解决,还好,这些问题在不断的思考中被解决了。
这次数据库实习让我学到了很多的东西,原来上课的时候总感到有些不足,因为自己不知道数据库到底在现实生活中有什么用处,因此感觉数据库与现实生活没有多大联系。
通过这次数据库实习让我了解了数据库的重要性,知道了数据库在现实生活中到底怎么用。
原来看课本上的数据库设计步骤总是不能理解,不知道应该怎么用,通过本次实习,使我深刻的理解了每一个步骤到底是干什么的,怎么干,应该得到哪些东西。
通过本次实习,我学习了很多数据库开发的技巧,例如如何画数据流程图,然后怎样从数据流程图中抽取出实体,如何画E-R图等等,这些东西都为自己开发数据库提供了很多技巧。
这也让我明白了团里合作的重要性,当自己遇到不懂得地方时,通过与同学和老师的交流,使得我对一些问题得到了更加深刻的理解,使得我能够按时完成本次数据库实习。
非常感谢学院能够安排本次数据库实习,同时感谢老师细心,耐心详细的讲解,没有他们本次数据库实习不可能圆满结束。
6.附录
附录1:
数据字典:
(1)数据项:
表6-1
DI-1
SupNumber
供应商的编号
varchar(20)
DI-2
SupName
供应商的名称
varchar(20)
DI-3
SupAddress
供应商的地址
varchar(20)
DI-4
SupPhone
供应商的联系电话
varchar(20)
DI-5
Gnumber
药品的编号
varchar(20)
DI-6
Gname
药品名称
varchar(20)
DI-7
Gweight
药品重量
float
DI-8
Gtype
药品类别
varchar(20)
DI-9
Gprice
药品单价
float
DI-10
Gdate
药品生产日期
date
DI-11
Gstodate
药品保质期
int
DI-12
Cusname
顾客姓名
varchar(20)
DI-13
Cusnum
顾客编号
varchar(20)
DI-14
Cusage
顾客年龄
int
DI-15
CusPhone
顾客联系电话
varchar(20)
DI-16
CusAddress
顾客地址
varchar(20)
DI-17
Cusnumber
顾客邮编
varchar(20)
DI-18
Gthdate
顾客退货时间
date
DI-19
Gjhdate
顾客购药日期
date
DI-20
Jhdate
进货日期
date
DI-21
Thdate
退货日期
date
DI-22
StorageSno
仓库编号
int
DI-23
StorageNow
仓库目前库存
int
DI-24
StorageMin
仓库最小容量
int
DI-25
StorageMax
仓库最大容量
int
DI-26
StoragePho
仓库联系电话
varchar(20)
DI-27
mannum
人员编号
varchar(20)
DI-28
manname
人员名称
varchar(20)
DI-29
manPho
人员电话
varchar(20)
DI-30
manAdd
人员地址
varchar(20)
DI-31
mantype
人员类型
varchar(20)
(2)数据结构
表6-2
数据结构编号
数据结构名
数据结构含义
组成
DS-1
Supplier
供应商
SupNumberSupNameSupAddressSupPhone
DS-2
Customer
顾客
CusnameCusageCusPhoneCusAddressCusnumber
DS-3
Goods
货物
GnumberGnameGtypeGweightGpriceGdate
DS-4
Storage
仓库
StorageSnoStorageMaxStoragePhoStorageAdm
DS-5
StorageManager
仓库管理员
StonumberStonameStoAddressStoPhone
DS-6
Delvebook
发货单
SupNameGnumberGnameGtypeGweightGpriceGdate
DS-7
Orderbook
订货单
SupNumberSupNamePurmannumGnumberGweightJhdate
DS-8
Returnbook1
退货单
SupNumberPurmannumGnumberGweightThdate
DS-9
Salebook
顾客购药单
SalemannumCusnameGnumberGnameGtypeGweightGpriceGjhdate
DS-10
Rerurnbook2
顾客退货单
SalemannumCusnameGnumberGnameGtypeGweightGpriceGthdate
DS-11
Deposit
仓库库存
StorageSnoStonumberGnumberGweight
DS-12
Saleman
售货员
SalemannumSalemannameSalemanPhoSalemanAdd
DS-13
Purchase
采购员
PurmannumPurmannamePurmanPhoPurmanAdd
(3)数据流
表6-3
数据流编号
数据流名称
简述
数据流来源
数据流去向
数据流组成
数据流量
高峰流量
F1
采购部订货单
药店向供应商提供药品需求单
采购部
供应商
商品编码+商品名称+进货量+商品进价
15次/月
30次/月
F2
采购发货单
供应商发出的收货单
供应商
检验货物的模块
商品编码+商品名称+进货量+商品进价
15次/月
30次/月
F3
库存清单
库存帐目共采购部参考的单据
库存账目
采购部差库模块
商品编码+商品名称+库存量
30次/月
60次/月
F4
采购部退货单
采购部向提供商发出的退货单
检验货物的模块
供应商
商品编码+商品名称+退货量
5次/月
10次/月
F5
顾客购物单
顾客购买药物是开的订单
销售人员
顾客
商品编号+商品名称+购买量+商品售价+购买日期
60次/月
100次/月
F6
顾客退货单
顾客将要退药的单据发给销售部
顾客退货模块
确认退货模块
商品编号+销售人员编号+购买量+退货日期
10次/月
20次/月
F7
不合格单
采购部检查到的不合格药品的单子
检验货物的模块
退货模块
药品编号+药品重量+退货日期
5次/月
10次/月
F8
合格单
检验货物模块填写的合格药品的单据
检验货物的模块
入库管理模块
药品编号+药品名称
10次/月
20次/月
F9
入库单
库管理员填写的要入库药品的清单
库管员
仓库
药品编号+药品数量
15次/月
30次/月
(4)处理逻辑
表6-4
处理逻辑编号
处理逻辑名称
简述
输入的数据流
处理
输出的数据流
处理频率
P1.1
采购查库
采购部采购依据
F1库存清单
根据清单确认采购商品
F2采购订货单
30次/月
P1.2
验货
采购部检验来货
F3采购发货单
根据发货单检验商品
F4不合格单,F6合格单
15次/月
P1.3
采购退货
检验不合格退去
F4不合格单
确认退货
F5采购退货单
10次/月
P1.4
入库
检验合格入库
F6检验合格单
登记库存帐目
F7入库单
15次/月
P2.1
销售
销售部向顾客卖货
F9顾客订单
导购提货
F10销售单
1000次/月
附录2
基本表的建立:
货物表6-5
属性名
类型
取值范围
是否为主键
是否可为空
Gnumber
varchar(20)
Y
N
Gname
varchar(20)
N
N
Gweight
Float
>0
N
Y
Gtype
varchar(20)
N
Y
Gprice
Float
>0
N
Y
Gdate
Date
N
Y
Gstodate
Int
>0
N
Y
供应商表6-6
属性名
类型
取值范围
是否为主键
是否可为空
SupNumber
varchar(20)
Y
N
SupName
varchar(20)
N
Y
SupAddress
varchar(20)
N
Y
SupPhone
varchar(20)
N
Y
仓库表6-7
属性名
类型
取值范围
是否为主键
是否可为空
StorageSno
Int
>0
Y
N
StorageMin
Int
>0and<1000
N
Y
StorageNow
Int
>=0and<10000
N
Y
StorageMax
Int
>0
N
Y
Mannum
Varchar(20)
N
N
Jhdate
Date
N
N
工作人员表6-8
属性名
类型
取值范围
是否为主键
是否可为空
mannum
varchar(20)
Y
N
manname
varchar(20)
N
N
manPho
varchar(20)
N
Y
manAdd
varchar(20)
N
Y
mantype
varchar(20)
N
N
顾客表6-9
属性名
类型
取值范围
是否为主键
是否可为空
Cusname
varchar(20)
N
N
Cusage
Int
>0
N
Y
Cusnum
Varchar(20)
Y
N
CusPhone
varchar(20)
N
Y
CusAddress
varchar(20)
N
Y
Cusnumber
varchar(20)
N
Y
仓库货物表6-10
属性名
类型
取值范围
是否为主键
是否可为空
StorageSno
Int
Y
N
Gnumber
varchar(20)
Y
N
StorageNow
Int
>0
N
N
订货单表6-11
属性名
类型
取值范围
是否为主键
是否可为空
SupNumber
varchar(20)
Y
N
mannum
varchar(20)
Y
N
Gnumber
varchar(20)
Y
N
Gweight
Float
>0
N
Y
Gprice
Float
>0
N
Y
Jhdate
Date
N
Y
退货单表6-12
属性名
类型
取值范围
是否为主键
是否可为空
SupNumber
varchar(20)
Y
N
mannum
varchar(20)
Y
N
Gnumber
varchar(20)
Y
N
Gweight
Float
>0
N
Y
Thdate
Date
N
Y
销售员售货表6-13
属性名
类型
取值范围
是否为主键
是否可为空
mannum
varchar(20)
Y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药品 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)