




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库设计与管理课程设计报告题目:药店药品管理信息系统 专 业:信息管理与信息系统 班 级: 姓 名: 学 号: 指导教师:赵 学 期:2013-2014-1药店药品管理信息系统一、概述题目:药店药品管理信息系统背景:随着科学技术的飞速发展,电脑已经基本进入家家户户,计算机技术也在社会生产生活各个领域得到了广泛的运用。与此同时,企业之间的经营正在面临着日渐激烈的竞争,越来越多的企业开始意识到提高企业管理水平的重要性和实现信息化管理的迫切性。药品管理是一项琐碎、复杂而又十分细致的工作。但是小型药店药品管理仍是人工管理,在全新的市场竞争环境下,药店管理和运营效率已经成为药店成败得失的关键所在。手工
2、方式下的信息处理工作量大,容易出现错误,针对这一情况,我用SQL Server 2000设计了药店药品管理信息系统,用以提高人们买药时的效率,减小药店工作人员的工作量,提高管理水平。任务:它包括药店药品的购进管理、药品的出售管理、药品的存储管理等几大功能模块,并提供了对各个功能模块的查询、更新、统计等功能。该管理系统不仅能够保证各种核算准确无误,还可以利用计算机进行有关数据的统计分析。使药品管理工作系统化、自动化、规范化,从而提高运行效率,加强企业管理。二、需求分析1.药品购进业务在药品库存表中,可根据柜台销售药品的情况对药品的需求以及库存信息获得药品的需求量。购进药品后,购药人员将药品进行药
3、物存储,不同的药品放入不同的存储柜中。为此,我在数据库中保存了药品信息,包括药品编号、药品名称、药品类别、生产商、进药单价、买药单价,方便查询药品的基本信息,了解药品盈利情况(单个药品盈利=买药单价-进药单价)、哪种品牌的药品比较畅销等。2. 药品的出售管理在药品出售表中,可以及时了解到药品销售情况,并且结合药品信息表,从而得出每种药品的利润。为此,我在数据库中保存了顾客信息,包括买药人编号、买药人姓名、性别、年龄、联系电话、住址,便于药品出现问题时及时与当事人联系。以及销售信息,具体有药品编号、买药人编号、处理时间、药品数量、售出方式。3. 药品的存储管理在药品库存表中,可以及时了解到药品的
4、剩余库存,当发现库存不够时,可以及时的向供应商请求供货。为此,我在数据库中保存了柜台信息,包括柜台名称、柜台编号, 记录药品的摆放位置,方便取药。以及库存信息,包括药品编号、柜台编号、库存数量,便于及时查找药品存放位置,节约售药和取药时间。三、数据库概念结构设计E-R图图3-1表3-2 实体、联系与关系模式表实体/联系关系模式药品药品(药品编号,药品名称,药品分类,生产商,进药单价,买药单价)买药人买药人员(买药人编号,买药人姓名,性别,年龄,电话,住址)柜台柜台(柜台编号、柜台名称)售出售出:药品编号、买药人编号、药品数量、售出时间、售出方式库存存储:药品编号、柜台编号、库存数量四、数据库逻
5、辑结构设计1. 数据库名称:DrugSale2. 包含的数据文件名为DrugSale_Data,存储位置为“D:SQL吴娇”日志文件名为DrugSale_Log,存储位置为“D:SQL吴娇”。3. E-R图转为5个表,都符合三范式要求,具体表结构的列表如下表所示: 表4-1 Drug属性名数据类型说明是否为空主键/外键取值范围Dnochar(5)药品编号否主键Dnamechar(20)药品名称否Dclasschar(8)药品分类Dbrandchar(10)生产商Dprice1float进药单价否大于零Dprice2float售药单价否大于零表4-2 Patient属性名数据类型说明是否为空主键
6、/外键取值范围Pnochar(5)买药人编号否主键Pnamechar(10)买药人姓名否Pageint年龄1-150Psexchar(2)性别男、女Pphonechar(11)电话否Paddresschar(20)住址表4-3 Storage属性名数据类型说明是否为空主键/外键取值范围Lnochar(5)柜台编号否主键Lnamechar(20)柜台名称否表4-4 DBuy属性名数据类型说明是否为空主键/外键取值范围Pnochar(5)买药人编号否外键主键Dnochar(5)药品编号否外键Time_SDsmalldatetime售出时间Quantityint销售数量否大于零DealChar(4)
7、售出方式否售出表4-5 Stored属性名数据类型说明是否为空主键/外键取值范围Dnochar(5)药品编号否外键主键Lnochar(5)柜台编号否外键LeftQuantityint库存数量否不小于零五、数据库物理实现1.数据库建立(1)创建数据库DrugSale,如图5-1所示:图5-1(2)生成数据文件和日志文件,如图5-2和5-3所示:图5-2 图5-32.数据表建立(1)创建药品信息表Drug,如图5-4,数据表设计表窗口图如5-5,表浏览窗口图如图5-6所示:图5-4图5-5图5-6(2)创建顾客信息表Patient,如表5-7,数据表设计表窗口图如5-8,表浏览窗口图如图5-9所示
8、:图5-7图5-8图5-9(3)创建柜台表Storage,如图5-10,数据表设计表窗口图如5-11,表浏览窗口图如图5-12:图5-10图5-11 图5-12(4)创建销售表DBuy ,如图5-13,数据表设计表窗口图如5-14,表浏览窗口图如5-15所示:图5-13图5-14图5-15(5)创建库存表Stored如5-16,数据表设计表窗口图如5-17,表浏览窗口图如图5-18所示:图5-16 图5-17 图5-183.数据库安全完整性实现(1)在创建药品信息表Drug时,就已经将药品编号Dno列声明为主键。语句为Dno char(5) primary key not null验证结果截图
9、如5-19:图5-19(2)在创建顾客信息表Patient时,就已经将买药人编号Pno列声明为主键。语句为Pno char(5) primary key not null验证结果截图如5-20:图5-20(3)在创建柜台信息表Storage时,就已经将柜台编号Lno列声明为主键。语句为Lno char(5) primary key not null验证结果截图如5-21:图5-21(4)在创建销售信息表DBuy时,就已经将柜台编号Pno,Dno列声明为主键。语句为primary key(Pno,Dno),验证结果截图如5-22:图5-22(5)在创建库存表Store时,就已经将柜台编号Pno,
10、Dno列声明为主键。语句为primary key(Pno,Dno),验证结果截图如5-23:图5-23(6)在创建药品信息表Drug时,就已经为列Dprice1,Dprice2定义了列级检查约束,使其值必须大于0。语句为check(Dprice1 0),check(Dprice2 0)验证结果截图如5-24:图5-24(7)在创建顾客信息表Patient时,为列Psex定义了列级检查约束,使其输入值只能是“男”或“女”。语句为check(Psex = 男 or Psex = 女)验证结果截图如5-25:图5-25同时为列Page定义了列级检查约束,使其值必须大于1并且小于等于150。语句为ch
11、eck(Page = 1 and Page 0),check(Deal = 售出)验证结果截图如5-27:图5-27(9)在创建库存表Stored时,就已经为列LeftQuantity定义了列级检查约束,使其值必须大于0。语句为check(LeftQuantity 0),验证结果截图如5-28:图5-28(10)为销售表DBuy建立插入触发器,使在插入销售记录时,能自动更新库存表的库存数量LeftQuantity,使库存数量=库存数量-销售数量(LeftQuantity= LeftQuantity- Quantity),操作如图5-29:图5-29图5-30在插入数据前销售表DBuy的数据如图
12、5-31:图5-31插入数据后,销售表DBuy的数据如图5-32:图5-32插入数据前,库存表Stored的数据如图5-33: 图5-33插入数据后,库存表Stored的数据如图5-34:图5-34(库存表Stored的D002的库存数量从21变为12)4.数据操作实现(1)建立存储过程,用于向药品信息表插入数据,操作如图5-35:图5-35插入数据前,药品信息表Drug的数据如图5-36:图5-36插入数据后,药品信息表Drug的数据如图5-37:图5-37(2)建立存储过程,用于更新顾客信息表,将编号为“P002”的顾客电话改为“”,操作过程如图5-38:图5-38(3)建立存储过程,用于
13、删除药品信息表,将编号为“D009”的药品删除操作过程如5-39:图5-39删除数据前,药品信息表中的数据如图5-40:图5-40删除数据后,药品信息表中的数据如图5-41:图5-41(4)建立存储过程,在销售表DBuy中查询编号为D002的药品的销售数量操作过程如5-42:图5-42(5)建立存储过程,在销售表DBuy中查询编号为D005的药品的利润,操作过程如5-43:图5-43(6)建立存储过程,在库存表Stored中查询编号为L01的柜台的库存药品,操作过程5-44:图5-44六、心得体会一周的课程设计一下就过去了,在这次的课程设计中我不仅检验了我所学到的知识,也得到了很多启示。还好在
14、课程设计前我就已经开始为我的数据库设计,不然的话,一周的时间都不够用。但也应为提前创建了数据库和表,我发现我做的和老师要求的有很多不同,比如主键、外键、检查约束我就已经在创建表的时候就声明了,以至于在做数据库完整性的时候给自己造成了不小的麻烦。老师在动员大会的时候虽然简单讲了该做什么,但是真的到做报告的时候还是遇到了很多问题。在创建数据库和创建表的时候,还没遇到什么问题,但是到了数据完整性的时候,完全就不知道该怎么做了,只知道做规则、约束、默认值和触发器,但是到底怎么做却不知道,只能翻书随便找了一个很简单的例子,随便的套用上去,但是到了周三老师帮我们改报告的时候,经过老师的提醒,才知道,应该要
15、做的东西有很多。比如约束,在创建销售表DBuy时,我就已经声明了检查约束,要求销售数量始终大于0,售出方式为“售出”。我之前只会声明检查约束,却不知道该怎么来验证我已经声明了该声明,最后老师告诉我们可以故意输入错误的信息,这样系统就会给出错误提示,就可以把该提示信息截图截下来,同样的,在为销售表DBuy建立插入触发器时,也可以用这种方法来验证,数据是否插入到该表中。这给我一个启示,在学习的过程中,我们肯定会犯很多很多的错误,但是并不是所有的错误都是没有利用价值的,有些错误可以提醒我们,有些错误可以给我们指明正确的道路,而有些错误,却可以帮我们验证自己做的正确的事情。错误并不可怕,可怕的是自己不
16、敢行动,不敢付诸实践,不敢努力,在发现错误并且改正的错误的过程中,提升自己的能力。除此之外,在数据操作的实现中,我第一遍做的增、删、改、查全都是很简单的做法,没有用的存储过程,因为我觉得这样做也是增、删、改、查,用存储过程做也是增、删、改、查,那我就偷懒做简单的吧,可是最后老师却说一定要用存储过程中,开始我还不理解,但是后来一句话点醒了我,我们做的数据库是给客户用的,一定要充分考虑到客户是否方便操作,所有的功能一定要以客户为中心,而我为了图方便,图简单做的增、删、改、查只是方便自己,却没有方便顾客,所有就一定要做存储过程,它是独立存在于数据表之外的数据库对象,先创建存储过程,以后就可以直接多次调用,不必重新编写
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园林防火管理办法
- 国企内退管理办法
- 国培学员管理办法
- 国防光缆管理办法
- 导盲犬培训辅助服务费合同
- 2025至2030电子腹腔镜行业项目调研及市场前景预测评估报告
- 2025至2030卫生同心异径管行业发展研究与产业战略规划分析评估报告
- 2025至2030激光跟踪器系统行业产业运行态势及投资规划深度研究报告
- 2025至2030演艺行业调研及市场前景预测评估报告
- 2025至2030航空航天制造行业发展研究与产业战略规划分析评估报告
- 骨髓增生异常综合征(MDS)研究全解析
- 2024年阿拉尔市高校毕业生“三支一扶”计划招募笔试真题
- 院前急救新进展
- 2025红色中国风《长安的荔枝》读书分享模板
- 2024年经济师考试《中级运输(公路)》真题
- 中国狼疮肾炎诊治和管理指南(2025版)解读
- 环保企业五年发展计划
- 金属非金属矿井通风作业培训
- 灵活用工合同协议书
- 全球及中国PCB检测设备行业市场发展现状及发展前景研究报告2025-2028版
- 《移步换景 别有洞天─中国古典园林欣赏》教学课件-2024-2025学年人教版初中美术八年级下册
评论
0/150
提交评论