药店药品管理系统数据库总报告.docx
- 文档编号:30074756
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:34
- 大小:779.94KB
药店药品管理系统数据库总报告.docx
《药店药品管理系统数据库总报告.docx》由会员分享,可在线阅读,更多相关《药店药品管理系统数据库总报告.docx(34页珍藏版)》请在冰豆网上搜索。
药店药品管理系统数据库总报告
专业班级学号学生姓名任课教师辅导教师
《数据库原理与设计》
课程设计实验报告
药店药品管理系统数据库
计算机科学与技术
4班
201320802013208520132086
周雪峰李毓磊张凯峰
朱焱老师
谭洁帆,林钊
2015年12月14日
、课程设计目的
(1)加深理解数据库的基本概念与原理,提高数据库设计能力
(2)掌握数据流图、ER图,关系模式的设计方法
(3)熟练掌握SQL定义子语言,操纵子语句命令语句
(4)掌握关系模型上的完整性约束机智
⑸熟悉SQLServer数据库开发方法,与一定的数据库管理技术
(6)提高数据库设计标准化文档书写能力
、课程设计实验环境
WindowsXP
MicrosoftSQLServer2000
三、课程设计内容
1、需求分析阶段
1.1系统分析
一、系统处理对象分析
(1)药店药品信息:
主要包括药品编号药品名称药品分类药品规格药品品牌进药单价买药单价
等利用这些信息可以方便查询药品基本信息以及了解药品盈利情况
(2)制药商信息:
制药商名称制药商编号公司地点联系电话联系网址利用这些信息便于进药部
门查找药品产地,联系药品退订情况
(3)买药人信息:
买药人编号买药人姓名心别年龄电话住址利用这些信息便于药品出现问题时
及时与当事人联系,同时便于退药时确认买药信息
(4)药品存储信息:
药品编号柜台编号
(5)柜台信息:
柜台名称柜台编号
(6)药品退订信息:
药品编号制药商编号处理时间药品数量
(7)药品售退信息:
药品编号买药人编号药品数量柜台编号
二、系统功能要求分析
药品管理系统应具备以下几个基本功能:
(1)药品购进和退订信息查询
(2)买药人员信息查询与统计
(3)药品存储信息查询与更新
(4)药品销售情况统计与药品售退情况查询
(5)盈利查询与统计
(6)药品剩余数量查询与缺货药品查询及统计
三、总体安全要求
(1)保密性。
机密或敏感数据在存储处理传输过程中应保密,并用户只有在授权后才可以访问。
不同的用户只能访问系统收授权的视图,这取决于其授权级别
(2)完整性。
保证系统中的信息处于一种完整和未受损害的状态,防止因未授权访问,部件故障或其他错误而引起的信息篡改,破坏或丢失。
药品管理系统的信息对不同用户应有不同访问权限,购药人员只能查询库存信息,而库存的更新应只能库存管理员进行等等。
(3)可靠性:
保障系统在复杂的网络环境下提供可持续、可靠的服务
1.2业务分析
药品管理系统的业务应有以下3个:
(1)药品购进(退订)业务:
购药人员根据售药处对药品的需求以及库存信息,制定药品的需求单
并从制药商处购进药品,并将合格药品单送往库存管理员进行药物存储,将不合格药品单送往制药商处进行退货。
(2)存药业务:
库存管理员负责药品的出入库。
根据合格购货药品单,对新购进的药品进行分类并将药品入库;根据取药单(退药单)将药品出库(入库)并修改库存信息和流水账目,若药品缺货,将缺货药品信息单传给购药人员。
(3)售药业务:
买药人将取药单(退药单)交给售药处,确认后,将药品售出(退回),并将取药单(退药单)交给库存管理员
业务流程图如下:
(1)药品购进业务流程图
库存信息
购药人员
填写药品
■
[药品缺
)■
取货单
IF
货单
药品取
货单
制药商
(2)存药业务流程图
(3)售药业务流程图
登记流水账
1.3数据流程图
系统全局数据流图
数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,他可以用少数几种符号综合地反映
出信息在系统中的流动、处理和存储情况,它有抽象性、概括性、层次性三大特点。
经过对药店中药品的销售业务调查、数据的收集处理和信息流程分析,明确了该系统的主要功能,
分别为
(1)药品购进和药品退订信息查询;
(2)买药人员信息查询与统计;(3)药品存储信息查询与更新;(4)药品销售情况统计和药品被退情况查询;(5)盈利查询与统计;(6)药品剩余数量查询与缺货药品查询及统计。
如图,即为药品销售系统的全局数据流图,即第一层数据流程图。
存储清单系统局部数据流图
全局数据流图从整体上描述了系统的数据流向和加工处理过程,为了清楚地描述系统数据的流向和加工处理的每个细节,在全局DFD基础上,对全局DFD中的某些局部进行单独放大,进一步细化,过程如下:
药品销售过程主要分为三个业务,第一个业务为药品购进业务,第二个业务为存药业务,第三个业
务为售药业务。
针对三个业务得到第二层数据流程图如下:
(1)药品购进业务流程图
商品不合格单
退货单
(2)存药业务流程图
(3)售药业务流程图
1.4数据字典
由于数据流程图表达不够准确、具体,只有当数据流程图中出现的每一个成分都给出定义之后,才能完整、准确地描述一个系统,因此,有必要建立数据字典来对数据流程图中的各个元素作出详细的说明。
数据字典通常包括数据项、数据结构、数据存储和处理过程5个部分,其中数据项是数据的最小组
成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
(1)数据项
该系统设计的数据项共有24个,如下表:
数据项编号
数据项名
存储结构
别名
取值约束
DI-1
Dno
char(5)
药品编号
DI-2
Dname
char(20)
药品名称
DI-3
Dclass
char(8)
药品分类
DI-4
Dguige
char(10)
药品规格
DI-5
Dbrand
char(10)
药品品牌
DI-6
Dprice1
float
进药单价
DI-7
Dprice2
float
卖药单价
大于零
DI-8
Pno
char(5)
买药人编号
大于零
DI-9
Pname
char(10)
买药人姓名
DI-10
Page
int
年龄
1—255
DI-11
Psex
char
(2)
性别
男女
DI-12
Pphone
char(11)
联系电话
DI-13
Paddress
char(20)
住址
DI-14
Mno
char(5)
制药商编号
DI-15
Mname
char(20)
制药商名称
DI-16
Mplace
char(20)
公司地点
DI-17
Mphone
char(11)
联系电话
DI-18
Memail
char(15)
联系网址
DI-19
Lname
char(20)
柜台名称
DI-20
Lno
char(5)
柜台编号
DI-21
Quantity
int
药品数量
大于零
DI-22
Time_SD
smalldatetime
处理时间
DI-23
Supply
char⑷
订退方式
订购、退订
DI-24
Deal
char⑷
售退方式
售出、退回
数据结构
该系统的数据结构共有7个,具体见下表:
数据结构编号
数据结构名
含义说明
组成
DS-1
Drug
药品信息
DnoDname
Dclass
Dbrand
Dprice1
Dprice2
DS-2
Patient
买药人信息
PnoPname
PagePsexPphone
Paddress
DS-3
Maker
制药商信息
MnoMname
Mplace
Mphone
Memail
DS-4
Storage
柜台信息
LnoLname
DS-5
Order_Back
药品退订信息
MnoDno
Time_SD
Quantity
Supply
DS-6
Buy_Back
药品退售信息
PnoDno
Time_SD
Quantity
Deal
DS-7
Stored
药品存储信息
DnoLno
Quantity
2.概念设计部分
2.1分析过程
根据之前的数据流图和数据字典,我们提取出实体、实体的属性、标识实体的码、确认实体之间的联系及其类型。
定义如下:
药品:
[药品编号、药品名称、药品分类、药品规格、药品品牌、进药单价‘买药单价]
买药人员:
[买药人编号、买药人性命、性别、年龄、联系电话、住址]
制药商:
[制药商编号、制药商名称、公司地位、联系电话、联系网址]
柜台信息:
[柜台编号、柜台名称]
药品退订:
[药品编号、制药上编号、药品数量、处理时间、退订方式]
药品售退:
[药品编号、买药人编号、药品数量、处理时间、售退方式]
药品储存:
[药品编号、柜台编号、药品数量]
2.2子模块ER图
2.2.1存药子模块ER图
223购进药品子模块ER图
2.3全局ER图
3.逻辑设计部分
3.1数据库关系模式定义描述
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Dno
char(5)
药品编号
否
主键
Dname
char(20)
药品名称
否
属性名
数据类型
别品分注释)
可否为空
主键/外键
取值范围
Dn©ige
char(10)
买品人格号
否
主键
Dbrang
char(10)
药品品牌
Dpricel
floar
进药单价
否
大于0
Dprice2
floar
买药单价
否
大于0
1.Drug(药品)
2.patient(买药人)
Pname
char(20)
买药人姓名
否
Psex
char(1O)
性别
1-150
Page
int
年龄
nan、nv
Pphone
char(11)
联系号码
否
Paddress
char(20)
进住址
3.Maker(制药商)
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Mno
char(5)
制药商编号
否
主键
Mname
char(20)
制药商名称
否
Mpalce
char(20)
公司地址
否
Mphone
char(11)
联系电话
否
Meail
char(20)
联系邮箱
否
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Lno
char(5)
存储编号
否
主键
Lname
char(20)
存储位置
否
不小于0
4..Storage(存储位置)
5,DOrder(订药)
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Mno
char(5)
制药商编号
否
外键(主键之
一)
Dno
char(5)
药品编号
否
外键(主键之
一)
Quantity
int
药品数量
否
大于0
Time_SD
smalldatetime
处理时间
属性名y
数据类型
别名(式释)
否否为空
主键/外键
订购范围
Mno
char(5)
制药商编号
否
外键(主键之
一)
Dno
char(5)
药品编号
否
外键(主键之
一)
6.Dback(药品退订)
Quantity
int
药品数量
否
大于0
Time_SD
smalldatetime
处理时间
Supply
char(4)
订退方式
否
退订
7.Dbuy(买药)
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Pno
char(5)
买药人编号
否
外键(主键之
一)
Dno
char(5)
药品编号
否
外键(主键之
一)
Quantity
int
药品数量
否
大于0
Time_SD
smalldatetime
买药时间
Deal
char(4)
售退方式
否
售出
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Pno
char(5)
买药人编号
否
外键(主键之
一)
Dno
char(5)
药品编号
否
外键(主键之
属性名
数据类型
别名(注释)
可否为空
主键/外键
取值范围
Q
quantity
i
ntchar(5)
存储品数量
否
外键(主键之
大于0
T
ime_SD
c
malldatetime
买药时间
一)
D
)ean。
(
価旳5)
药售退方式
否
外键(主键之
不售出于0
一)
8、BBack(退药)
9.Stored(库存)
Quantity
int
药品数量
否
3.2用户子模式视图设计
1、DM_P(订药)
属性名
数据类型
别名(注释)
可否为空
取值范围
Dname
char(5)
药品名称
否
Dguige
char(5)
药品规格
否
DBrand
int
药品品牌
否
Mname
char(20)
制药商名称
Mpalace
char(4)
公司地点
Mphone
char)11)
否
Meamil
char(20)
否
属性名SD
S数据类型^time
别理时注释)
可否为空
取值范围
Dnamy
char(5)
药品名称
否
订购
Qawn^y
char(5)
药品规格
否
大于0
Dpricel1
float
药品进价
否
大于0
Dpricel2
float
药品售价
否
大于0
DBrand
int
药品品牌
否
Mname
char(20)
制药商名称
Mpalace
char(4)
公司地点
Mphone
char)11)
否
Meamil
char(20)
否
(药品退订)
Time_SD
smalldatetime
处理时间
否
Supply
char(4)
处理方式
否
退订
Qauntity
int
数量
否
大于0
3.PD_M(买药)
属性名
数据类型
别名(注释)
可否为空
取值范围
Pname
char(10)
买药人名字
否
Page
int
年龄
1-150
Pphone
char(11)
电话
否
Paddress
char(20)
地址
Dname
char(5)
药品名称
否
Dguige
char(5)
药品规格
否
Dpricel2
float
药品售价
否
大于0
Time_SD
smalldatetime
处理时间
否
Qauntity
int
数量
否
大于0
属性名
数据类型
别名(注释)
可否为空
取值范围
Dno
char(5)
药品编号
否
Dname
char(5)
药品名称
否
Dpricel1
float
药品进价
否
大于0
Lname
char(20)
存储位置
否
Quantity
int
药品数量
否
大于0
4、DS_M(药品存储)
4.物理设计部分
4.1目标与任务
1.确认数据库的物理结构,
主要指
存取方式和存储结构
2.对物理结构进行评价,评价重点是时间和空间效率数据存取方法
4.2数据存取方法
421基本表索引
1.由于基本表Stored的主码Dno,Lno经常在查询条件中出现,且它们更新平率较低,所以考虑在这组属性上建立作为唯一索引
2.由于基本表DOrder的主码Dno,Mno经常在查询条件和链接操作中出现,所以考虑在这组属性上建立作为唯一索引
3.由表Dbuy的主码Dno,Pno取值唯一,经常在查询条件中出现,且她们更新平率较低,所以考虑在这组属性上建立作为唯一索引
4.2.2系统模块分析
1、药品基本信息的查询与更新(插入、删除、修改)操作
2、制药商基本信息的查询与更新(插入、删除、修改)操作
3、买药人基本信息的查询与更新(插入、删除、修改)操作
4、药品存储信息的查询与更新(插入、删除、修改)操作
5、药品盈利情况统计查询
6、买药人购买药品信息的查询
7、管理员对买药人购买药品和退回药品信息的查询
8、管理员对购药人员订购药品和退订药品信息的查询
4.2.3系统模块分析
四、程序源码与运行结果
1表和视图的建立
1.1创建购药记录表
createtableDBuy
(Pnochar(5)notnull.
Dno
char(5)
not
nuII,
Quantity
int
not
null,
Time_SD
smalldatetime
Deal
char(4)
not
null,
createnonclusteredindextimeidxonDBuy(Time_SDDESC),primarykey(Pno,Dno),
foreginkey(Pno)refereneeParient(Pno),
forgrinkey(Dno)refereneeDrug(Dno),
check(Quantity>'0'),
check(Deal='售出')
);
1.2创建药品存储表
createtableStored
(Lno
char(5)
not
nuII,
Dno
char(5)
not
null,
Quantity
int
not
null,
primarykey(Lno,Dno),
foreginkey(Lno)refereneeStorage(Lno),forgrinkey(Dno)refereneeDrug(Dno),
check(Quantity>'O')
);
1.3创建买药视图
createviewDM_P
as
selectDname,Dguige,Drand,Mname,Mplace,Mphone,Memail
fromDrug,Maker,Dorder
精品
whereDrug.Dno=Dorder.DnoandMaker.Mno=Dorder.Mno
withcheckoption
1.4创建退药视图
J
createviewDM_M
as
selectDname,Dguige,Dbrand,Dprice1,Dpricel2,Mname,Mplace,Mphone,MemailfromDrug,Maker,DBack
whereDrug.Dno=DBack.DnoandMaker.Mno=DBack.Mno
withcheckoption
精品
2数据插入
2.1向Dorder表中插入一个订购记录
订购')
insertintoDordervalues('M0001','D0009','150','2014-10-23','
5.2.2向Drug表插入一个新的药品记录
3数据查询
3.1全药品存储位置及库存查询
3.2查询在2004-8-21退订的药品数量大于80的药品的详细信息
精品
4数据统计
4.1统计在2014-8-21卖出的各药品数量
精品
5数据修改
666感冒灵更改为999感冒灵
5.1将Drug表中编号为D0001的药品的名称由
精品
五、课程设计总结与感悟
在学习数据库这门课程时,感觉学到的知识还是掌握了的,并且以为自己已经理解了,但真正通过一个课程设计去应用这些知识的时候才发现,会遇到很多困难,并且学到的知识自己其实并不能熟练的应用,将知识应用到实际的工作并没有很好的完成。
在课程设计遇到了许多问题,例如:
插入数据时,提示插入的数据长度不符合要求,原因是未考虑到汉字占两个字节,char[]的长度设置过
小,解决办法是修改长度即可
无法插入数据到一个表中,总是提示外键约束错误,原因是因为该表中有外键,而外键所在的表未插入数据,所以无法插入数据到该表(插入的外键值不存在)。
解决方法是先将外键所在表的数据插入,在插入该表的数据。
数据库建立在一个账号上,只有一个人可以操作,显得不方便。
可以通过授权GRANT给另一个账号,
就可以两个账号进行操作,方便了许多。
问题和困难还遇到过许多,在这不一一列数。
在课程设计的过程中,经历了许多的相关设计工作,也学习到了许多书本上有和没有的知识,更重要的是,通过不断的实践和自学,不断发现问题,思考问题,进而解决问题,有效的提升了我们的动手能力,并加深了对知识的理解和掌握,从一开始的需求分析,到概念设计,到逻辑设计,再到物理设计,一直到上机建立数据库,一步步走来,通过我们自己亲自分析、设计、和动手,也让我们不断进步和成长。
这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,任何困难在勇气和毅力面前都是"纸老虎"。
从做这个数据库开始无论遇到什么困难,我们都一直坚持,努力去解决,通过上网,与同学交流,向老师请教等等手段。
通过这次课程设计的完成,使我们对所学的知识有了进一步掌握,同时也通过实践发现了自己的不足。
所以在今后的学习中,我们仍应该好好学习,不断完善自我。
当然,本系统仍然存在了许多的不足之处,如功能不够完善,安全性问题没有很好解决等,恳请老师谅解。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 药品 管理 系统 数据库 报告