医院药品进销存系统_第1页
医院药品进销存系统_第2页
医院药品进销存系统_第3页
医院药品进销存系统_第4页
医院药品进销存系统_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录 一、概述 7 1.1 课程设计的目的 .7 1.2 课程设计的内容 .7 1.3 课程设计的要求 .7 二、需求分析 7 2.1 系统需求 .7 2.2 数据字典 .7 三、系统总体设计 7 3.1 系统总体设计思路 7 3.2 概念模型设计 .7 3.2.1 局部 E-R 图 7 3.2.2 全局 E-R 图 7 3.3 逻辑结构设计 .7 3.4 数据库建立实施 .7 3.4.1 建立数据库 7 3.4.2 建立关系表 8 四、系统实现 8 五、系统评价 8 六、课程设计心得、总结 8 参考文献: 8 一、概述 1.1 课程设计的目的 随着互联网的发展,利用网络技术来实现“无纸办公”这个概念已经深入 人心,医药管理系统作为医院信息化建设的一个重要平台在完成各种医药资源 的合理统计与分配,互联网访问,医院管理,电子设备等方面面发挥了重要的 作用。但是现在十分缺少类似的能够满足医院需求的医药进销存管理系统,为 规范医院的医药进存销管理和数据统计和分析,在较小的代价下满足用户信息 需求,设计了这个医药进存销管理系统。 1.2 课程设计的内容 (1)主要的数据表 药品分类代码表,药品库存表,供货商信息表,采购信息表等等。 (2)主要功能模块 1) 新药品的入库。 2) 过期药品的出库登记、处理记录。 3) 药品库存检索。 4) 供货商信息检索。 5) 药品采购记录管理。 6) 药品用药说明信息管理。 7) 输出相应的数据报表。 8) 具有数据备份和数据恢复功能。 1.3 课程设计的要求 具体项目内容去医院进行调研,药品编码也应参考国家统一编码方法。 二、需求分析 2.1 系统需求 目前中小型药店的营业规模不断的扩大,药品的数量和种类不断增加。对 于许多仍处于人工管理阶段的药店来说 管理也越来越复杂。如果以药店工作 人员的增加来实现药品的管理 虽然能使工作变得方便起来 但是这样带来更 大的经济开销 对于中小型药店来说要解决实际问题并不是很合适。开发药品 进销存管理系统可以很大程度上方便管理人员对药品的管理 实现药品管理的 高效化和统一化。为便于管理的方便性和可行性。根据现阶段的应用需求的开 发目标设计药品进销存数据库管理系统。实现药品采购 库存和销售管理的功 能 完成对药品从采购到销售的流水作业的数据管理功能。 根据市场的需求,要求系统具有以下功能: 1)新药品的入库。 2)过期药品的出库登记、处理记录。 3)药品库存检索。 4)供货商信息检索。 5)药品采购记录管理。 6)药品用药说明信息管理。 7)输出相应的数据报表。 8)具有数据备份和数据恢复功能。 系统主要为登陆,登陆后可以浏览,查询,添加,删除药品信息外还可以 对销售记录进行浏览,删除,添加,修改。本系统是根据中小企业的实际需求 而开发的,完全能够实现药品入库、销售管理,通过本系统可以达到以下目标: 系统运行稳定,安全可靠。 界面设计美观,人机交互界面友好。 信息查询灵活、方便、快捷、准确,数据存储安全可靠。 强大的报表预览、打印功能。 信息安全保密。 开发及运行环境 硬件要求 CPU:300MHz 以上的处理器 内存:128MB ,推荐 256MB 硬盘:150MB 以上剩余空间 显示像素:最低 800*600,最佳效果 1024*768 软件要求 操作系统:Windows2000/NT/XP/Vista。 数据库:SQL Server2000。 2.2 数据字典 2.2.1 数据项 数据项编 号 数据项名 数据项含义 与其他数据项 关系 类型 Dl-1 Supnumber 供应商编号 varchar(10) Dl-2 Supname 供应商名称 varchar(30) Dl-3 Supadress 供应商地址 varchar(30) Dl-4 Supphone 供应商电话 varchar(20) Dl-5 Gsname 药品名称 varchar(20) Dl-6 Gkind 药品分类 varchar(20) Dl-7 Gtype 药品剂型 varchar(20) Dl-8 Gprice 药品单价 float Dl-9 Gshelf 药品保质期 date Dl-10 Empnumber 职员编号 varchar(10) Dl-11 Empkind 职员类别 varchar(10) Dl-12 Empname 职员姓名 varchar(10) Dl-13 Hounumer 仓库编号 varchar(10) Dl-14 Houkind 仓库类别 varchar(10) Dl-15 Houaddr 仓库地址 varchar(20) Dl-16 Buynumber 采购单编号 varchar(10) Dl-17 Buydate 采购日期 date Dl-18 Buyliang 采购量 int Dl-19 Sendnumber 发货单编号 varchar(10) Dl-20 Sendliang 发货量 int Dl-21 Senddate 发货日期 date Dl-22 Lostnumber 报损单编号 varchar(10) Dl-23 Lostreas 报损原因 varchar(30) Dl-24 Lostliang 报损量 int Dl-25 Swnumber 实物清单编号 varchar(10) Dl-26 Swliang 实物数量 int Dl-27 Jcnumber 盘查记录单编号 varchar(10) Dl-28 Jcliang 记录量 int Dl-29 Pancnumber 盘存单编号 varchar(10) Dl-30 Pancliang 盘存实际量 int Dl-31 Dynumber 订药单编号 varchar(10) Dl-32 Dydate 订药日期 date Dl-33 Dyliang 订药数量 int Dl-34 Salenumber 销售单编号 varchar(10) Dl-35 Saledate 销售日期 date Dl-36 Saleliang 销售量 int Dl-37 Cusnumber 客户编号 varchar(10) Dl-38 Cusname 客户姓名 varchar(10) Dl-39 Cussex 客户性别 varchar(2) Dl-40 Cusphone 客户电话 varchar(20) Dl-41 Innumber 药品入库单编号 varchar(10) Dl-42 Indate 药品入库日期 date Dl-43 Inliang 药品入库量 int Dl-44 Outnumber 药品出库单编号 varchar(10) Dl-45 Outreas 药品出库原因 varchar(30) Dl-46 Outdate 药品出库时间 date Dl-47 Outliang 药品出库量 int Dl-48 CBacknum 客户退货单编号 varchar(10) Dl-49 Cbackliang 客户退货单量 int Dl-50 Cbackreas 客户退货原因 varchar(30) Dl-51 Sbacknum 药店退货单编号 varchar(10) Dl-52 Sbackliang 药店退货单数量 int Dl-53 Sbackreas 药店退货原因 varchar(30) 2.2.2 数据结构 数据结构 编号 数据结 构名称 数据结 构含义 数据结构组成 DS-1 Supplier 供应商 Supnumber,Supname,Supadress,Supphone DS-2 Customer 客户 Cusnumber,Cusname,Cussex,Cusphone DS-3 Goods 药品 Gname,Gkind,Gtype,Gprice,Gshelf DS-4 Hourse 仓库 Hounumber,Houkind,Houaddr DS-5 Employer 职员 Empnumber,Empname,Empkind DS-7 Buylist 采购单 Buynumber,Buydate,Buyliang,Gname, Supnumber,Empnumber DS-8 Sendlist 发货单 Sendnumber,Sendliang,Senddate,Gname, Supnumber,Empnumber DS-9 Lostlist 报损单 Lostnumber,Lostreas,Lostliang,Gname, Empnumber,Hounumber DS-10 Swlist 实物清 单 Swlistnumber,Swliang,Gname,Empnumber, Hounumber DS-11 Jclist 盘查记 录单 Jcnumber,Empnumber,Jcliang DS-12 Panclist 盘存单 Pancnumber,Pancliang,Gname,Hounumber, Empnumber DS-13 Dyaolist 订药单 Dynumber,Dydate,Dyliang, Gname,Cusnumber, Empnumber DS-14 Salelist 销售单 Salenumber,Saledate,Saleliang,Cusnumber, Empnumber,Gname DS-15 Inlist 入库单 Innumber,Indate,Inliang,Gname,Empnumber, Hounumber 2.2.3 数据流 数据 流名 称 简述 数据 流来 源 数据流 去向 数据流组成 数据流 量 高峰 流量 发货 单 供应商发出 的收货单 供应 商 验收货 品模块 Sendnumber,Sendlian g,Senddate,Gname,Su pnumber,Empnumber 15/月 30/月 采购 单 采购部发给 供应商的采 购单 采购 部 供应商 Buynumber,Buydate, Buyliang,Gname,Supnu mber,Empnumber 15/月 30/月 合格 单 采购部发给 库管员的进 货单 采购 部 库管模 块 Buynumber,Buydate, Buyliang,Gnumber,Gsn ame,Empnumber,Kugna me 15/月 30/月 不合 格单 采购部发给 退货部的清 单 采购 部 退货模 块 Buynumber,Buydate, Buyliang,Gnumber,Gsn ame 15/月 30/月 退货 单 退货部发给 供应商的退 货单 退货 部 供应商 Sbacknumber,Sbackli ang,Sbackreas,Gnam e,Empnumber,Supnumb er 15/月 30/月 DS-16 Outlist 出库单 Outnumber,Outdate,Outliang,Gname,Empnumbe r ,Hounumber DS-17 Cbacklist 客户退 货单 CBacknumber,Cbackliang,Cbackreas,Gname,Cus number,Empnumber DS-18 Sbacklist 采购退 货单 Sbacknumber,Sbackliang,Sbackreas,Gname, Empnumber,Supnumber 入库 单 库管员编制 的入库记录 库管 员编 制 库存记 录模块 Innumber,Indate,In liang,Gname,,Hounum ber 30/月 60/月 退货 记录 单 退货部向供 应商的退单 记录 退货 部编 制 退货记 录模块 Sbacknum,Sbackliang ,Sbackreas,Sbackda te,Gnumber,Gsname 31/月 61/月 采购 记录 单 采购部编制 的采购记录 采购 部 采购记 录模块 SendnumberSendliangS enddate,Gnumber,Gsna me,Supnumber,Supnam e 32/月 62/月 订货 单 客户发出的 订货单 客户 销售部 Dynumber,Dydate,Dy liang, Gname,Cusnumber,Empn umber 50/月 100/ 月 销售 单 销售部给客 户的销售记 录 销售 部 客户 Salenumber,Saledate ,Saleliang,Cusnumb er,Empnumber,Gname 51/月 101/ 月 出库 单 销售部给库 房的出库记 录 销售 部 库房 Outnumber,Outdate, Outliang,Gname,Empn umber,Hounumber 52/月 102/ 月 退货 单 客户给退货 部的退货单 客户 退货模 块 CBacknumber,Cbackli ang,Cbackreas,Gname ,Cusnumber,Empnumber 15/月 30/月 销售 记录 单 销售部编制 的销售记录 销售 部 销售记 录模块 Salenumber,Saledate ,Saleliang,Cusnumbe r,Empnumber 16/月 31/月 退货 记录 单 退货部给客 户的退单记 录 退货 部编 制 退货记 录模块 CBacknumber,Cbackli ang,Cbackdate,Gnumb er,Cusnumber 17/月 32/月 退单 退货部审核 通过的客户 退单 客户 退货模 块 CBacknum,Cbackliang ,Cbackreas,Cbackda te,Gnumber,Cusnumbe r 18/月 33/月 退货 确认 单 退货部给库 房的退货记 录 退货 部 库房 CBacknum,Cbackliang ,Cusnumber,Empnumbe r, 19/月 34/月 报损 单 库管给主管 部的报损记 录 库管 员编 制 主管部 Lostnumber,Lostreas ,Lostliang,Gname,Em pnumber,Hounumber 30/月 50/月 不合 格报 损单 主管检查不 生效的报损 单 主管 部 库管 Lostnumber,Lostlian g,Gnumber,Gsname,Em pnumber 31/月 51/月 合格 报损 单 主管检查生 效的报损单 主管 部 报损模 块 Lostnumber,Lostlian g,Gnumber 32/月 52/月 报损 记录 单 主管检查的 生效报损记 录单 主管 部 报损记 录模块 Lostnumber,Lostlian g,Gnumber 33/月 53/月 报损 清单 主管部发给 库房的报损 记录 主管 部 库房记 录模块 Lostnumber,Lostlian g,Gnumber,Empnumber 34/月 54/月 药品 清单 库管发给盘 查部的实物 清单 库管 员编 制 盘查部 Pancnumber,Pancdate ,Pancliang,Gnumber, Empnumber 35/月 55/月 记录 单 盘查部盘查 后的记录单 盘查 部编 制 盘查部 Pancnumber,Pancdate ,Pancliang,Gnumber 36/月 56/月 盘存 单 账务不实盘 查部生成新 的盘存单 盘查 部编 制 库房和 盘存记 录 Pancnumber,Panclian g,Gname,Hounumber,E mpnumber 37/月 57/月 盘存 清单 盘查部发给 库房的记录 盘查 部编 制 库房记 录模块 Pancnumber,Pancdate ,Pancliang,Gnumber ,Empnumber 38/月 58/月 盘存 记录 单 盘查部生成 的盘查记录 盘查 部编 制 盘查记 录模块 Pancnumber,Pancdate ,Pancliang,Gnumber ,Empnumber 38/月 58/月 2.2.4 处理逻辑 处理 逻辑 编号 处理 逻辑 名称 简述 输入的数 据流 处理 输出的数据流 处 理 频 率 P1.1 验收 采购部检验 来货 F1 发货单 根据发货单检验 商品 F3 合格单,F4 不合格单 30/ 月 P1.2 入库 检验合格入 库 F3 合格单 登记库存账目 F6 入库记录单, F8 采购记录单 35/ 月 P1.3 退货 检验不合格 退去 F4 不合格 单 确定退货 F5 退货单,F7 退货记录单 10/ 月 P2.1 销售 销售部向客 户卖货 F9 订货单 导购提货 F10 销售单, F11 出库单 50/ 月 P2.2 确认 退货 退货部处理 客户退货单 F12 退货单 处理退货单 F15 退单 5/ 月 P2.3 退货 客户退货成 功 F15 退单 客户退货成功 F14 退货记录单, F16 退货确认单 5/ 月 P3.1 主管 检查 主管检查报 损单 F17 报损单 根据报损单检查 报损 F18 不合格报损 单,F19 合格报 损单 1/ 月 处理 逻辑 编号 处理 逻辑 名称 简述 输入的数 据流 处理 输出的数据流 处 理 频 率 P3.2 确定 报损 单 主管接受合 格报损单 F19 合格报 损单 确定报损单 F20 报损记录单, F21 报损清单 1/ 月 P3.3 报损 不生 效 主管反馈不 合格报损单 F18 不合格 报损单 向库管反馈不合 格报损单 F18 不合格报损 单 1/ 月 P4.1 存货 清查 对仓库存货 清查 F22 药品清 单 根据药品清单存 货清查 F23 记录单 2/ 月 P4.2 对比 账单 对比清查结 果 F23 记录单 根据药品清单对 比记录单 F22 药品清单, F24 盘存单 3/ 月 P4.3 确定 盘存 单 确定盘存单 F24 盘存单 登记盘存和库存 记录 F25 盘存清单, F26 盘存记录单 4/ 月 2.2.5 数据存储 数据 存储 编号 数据 存储 名称 简述 数据存储组成 相关联的处理 S1 库存 记录 商品入库出库, 客户退货,报 损盘存清查后 修改库存量 商品编号,仓库编号,存储量 P1.2,P2.2,P2.3 ,P3.2,P4.3 S2 采购 记录 商店从供应商 采购的货物记 录 供应商编号,商品编号,商品 名,商品数量,商品价格 P1.2 数据 存储 编号 数据 存储 名称 简述 数据存储组成 相关联的处理 S3 退货 记录 商店退给供应 商的退货记录 供应商编号,商品编号,商品 名,商品数量 P1.3 S4 销售 记录 商品卖给客户 的销售记录 商品编号,客户编号,商品名, 商品数量 P2.1 S5 退货 记录 客户退给商店 的退货记录 商品编号,客户,商品名,商 品数量 P2.3 S6 报损 记录 库房报损记录 仓库编号,商品编号,商品名, 报损数量 P3.2 S7 盘存 记录 商品盘存清查 的记录 仓库编号,商品编号,商品名, 实际数量 P4.3 三、系统总体设计 3.1 系统总体设计思路 将需求分析得到的用户需求抽象为信息结构(概念模型)的过程。要能充 分的反应事物与事物之间的联系,是对现实世界的一个真实模型。在需求分析 阶段得到的应用需求首先抽象为信息世界的结构才能更好的用某一 DBMS 实现这 些需求。E-R 模型是概念模型的有力工具。逐一设计分 E-R 图,再将所有的分 E-R 图综合成系统的总 E-R 图。 3.2 概念模型设计 3.2.1 局部 E-R 图 局部 E-R 图的建立依据于数据流图的建立。以下可从第二层数据流图分别 建立局部 E-R 图。详见图 1-1 至 1-8。 仓库 仓库地址仓库类别 仓库编号 职员 职员姓名 职员编号 职员性别 图 1-1 局部 E-R 图 图 1-2 局部 E-R 图 图 1-3 局部 E-R 图 图 1-4 局部 E-R 图 供应商 供应商名称 供应商编号 供应商地址 供应商电话 客户 客户姓名 客户电话客户性别 客户编号 药品 药品保质 期 药品的剂 型 药品单价 药品名称 药品分类 图 1-5 局部 E-R 图 图 1-6 局部 E-R 图 图 1-7 局部 E-R 图 商品 购买 客户 m n 职员销售m n 库房 药品 库存 库管理管理m n m n 供应商 供应 药品 采购 职员 m n m n 图 1-8 局部 E-R 图 3.2.2 全局 E-R 图 综合各部分的局部 E-R 图,药品进销存管理系统的总体 E-R 图的设计如下 图 1-10 所示。 供应商 仓库 药品 库管员 销 售 员 供应 库存发货量 库存量 管理1 n 销售 销售量 入库量 出库量 客户 订购 订购量 m n mn m n m n 采购员 采购 m n 采购量 图 1-10 全局 E-R 图 3.3 逻辑结构设计 逻辑结构设计的任务就是把概念结构设计阶段设计好的基本 E-R 图转换为 与选用 DBMS 产品所支持的数据模型相符合的逻辑结构。根据 DBMS 产品以及不 同系统的限制,设计逻辑结构时一般有以下三个步骤:首先将概念结构转换为 一般的关系,网状,层次模型;将转换来的关系,网状,层次模型向特定 DBMS 支持下的数据模型转换;最后对数据模型进行优化。 药品管理系统的设计采用关系模型。E-R 图转化为关系模型实际上就是要将 实体型、实体的属性和实体型之间的联系转换为关系模式。 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码 就是关系的码。对于实体型间的联系有以下不同的情况: (1) 一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对 应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实 体的码以及联系本身的属性均转换为关系的属性。 (2) 一个 1: n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的 关系模式合并。如果转换为一个独立的关系没模式,则与联系向连的各实体的 码以及联系本身的属性均转换为关系的属性。 (3) 一个 m:n 联系转换为一个关系模式,与该联系相连的各实体的码以及 联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系的码的 一部分。 3.4 数据库建立实施 3.4.1 建立数据库 3.4.1.1 索引 建立索引是加快查询速度的有效手段。如果访问某一数据项的频率较高时, 可为之建立索引。而系统在存取数据时会自动选择合适的索引作为存取路径, 对用户是透明的。在本系统由于药品和供应厂家的访问频率较大,故为之建立 索引。由于在使用时供应商的信息表,药品信息表,客户信息表访问的次数较 多。故为之建立索引。建立的索引如下表所示。 表 3-1 3.4.1.2 触发器 触发器是用户定义在关系表上的一类由事件驱动的过程。触发器的定义可 以更加便捷的实现数据的操作,增加数据操作的灵活性,对数据有更大的控制 编号 名称 定义 备注 I-1 In_SupName 见附录 能力。这里只要建立触发器来实现对数据的约束条件。如进货量,药品入库时 保质期的检测等。主要建立的触发器见表。 编号 触发器名称 定义 作用 T-1 tri_C02 见附录 限制删除 C-02 客户的退货记录 T-2 tri_Acc 见附录 限制某一药品入库量不小于 400 T-3 tri_gprice 见附录 限制更新的药品价格不小于 1 元,小于元的改为 1 元 T-4 tri_gshelf 见附录 保质期到 2010 年的不允许插入 T-5 tri_buy 见附录 限制采购量更新量不小于 100 表 3-2 3.4.1.3 存储过程 存储过程可以实现数据库操作的增删改功能,在执行时需要调用。运用想 函数一样,也可以有参数的参与。定义存储过程提供了过程封装的效果,执行 只需调用,在更大程度上简化了数据处理过程。药品的进销存过程部分存储过 程如下表所示。 表 3-3 编号 存储过程名称 定义 作用 P-1 Goods_shelf 见附录 查询某一药品保质期 P-3 pro_Gtype 见附录 查询剂型为普通片的药品 P-4 pro_cback 见附录 查询某种原因的药品的退货量 P-5 pro_addgoods 见附录 插入一条药品信息 P-6 pro_delgoods 见附录 删除一条药品记录 P-7 pro_orderSale 见附录 按药品销量排序 P-8 pro_updIn 见附录 更新入库量 3.4.2 建立关系表 药品 列名 数据类型 约束 主外键 药品名称 varchar(30) not null 主键 药品分类 varchar(20) 药品剂型 varchar(20) 供应商 列名 数据类型 约束 主外键 供应商编号 varchar(10) not null 主键 供应商名称 varchar(30) not null 供应商地址 varchar(40) 供应商电话 varchar(20) 药品单价 float not null 药品保质期 date 职员 列名 数据类型 约束 主外键 职员编号 varchar(10) not null 主键 职员姓名 varchar(10) 职员类别 varchar(10) 客户 列名 数据类型 约束 主外键 客户编号 varchar(10) not null 主键 客户姓名 varchar(10) not null 客户性别 varchar(2) 客户的电话 varchar(20) 仓库 列名 数据类型 约束 主外键 仓库编号 varchar(10) not null 主键 仓库类别 varchar(10) 仓库地址 varchar(20) 采购 列名 数据类型 约束 主外键 采购单编号 varchar(10) not null 主键 供应商编号 varchar(10) not null 外键 药品名称 varchar(30) not null 外键 职员编号 varchar(10) not null 外键 发货 列名 数据类型 约束 主外键 发货单编号 varchar(10) not null 主键 供应商编号 varchar(8) not null 外键 药品名称 varchar(30) not null 外键 职员编号 varchar(10) not null 外键 发货量 int not null 发货日期 date 采购退货 列名 数据类型 约束 主外键 采购退货单编号 varchar(10) not null 主键 供应商编号 varchar(10) not null 外键 药品名称 varchar(30) not null 外键 职员编号 varchar(10) not null 外键 退货量 int not null 退货原因 varchar(30) 客户退货 采购量 int not null 采购日期 date 列名 数据类型 约束 主外键 客户退货单编号 varchar(10) not null 主键 客户编号 varchar(10) not null 外键 药品名称 varchar(30) not null 外键 职员编号 varchar(10) not null 外键 退货量 int not null 退货原因 varchar(30) 销售 列名 数据类型 约束 主外键 销售单编号 varchar(10) not null 主键 客户编号 varchar(10) not null 外键 药品名称 varchar(30) not null 外键 职员编号 varchar(10) not null 外键 销售量 int not null 销售日期 date 客户订药 列名 数据类型 约束 主外键 订药单编号 varchar(10) not null 主键 客户编号 varchar(10) not null 外键 药品名称 varchar(30) not null 外键 职员编号 varchar(10) not null 外键 订药量 int not null 订药日期 date 入库 列名 数据类型 约束 主外键 入库单编号 varchar(10) not null 主键 药品名称 varchar(30) not null 外键 仓库编号 varchar(10) not null 外键 职员编号 varchar(10) not null 外键 入库量 int not null 入库日期 date 出库 列名 数据类型 约束 主外键 出库单编号 varchar(10) not null 主键 药品名称 varchar(30) not null 外键 仓库编号 varchar(10) not null 外键 职员编号 varchar(10) not null 外键 出库量 int not null 出库日期 date 报损 列名 数据类型 约束 主外键 报损单编号 varchar(10) not null 主键 药品名称 varchar(30) not null 外键 仓库编号 varchar(10) not null 外键 职员编号 varchar(10) not null 外键 报损量 int not null 报损原因 varchar(30) 盘存 列名 数据类型 约束 主外键 盘存单编号 varchar(10) not null 主键 药品名称 varchar(30) not null 外键 仓库编号 varchar(10) not null 外键 职员编号 varchar(10) not null 外键 盘存量 int not null 四、系统实现 4.1 数据库实施(详见附录) 数据库的物理设计阶段之后就进入了实施阶段,这一阶段要用 SQL2000 来 操作。具体的数据库,数据表,视图,索引和存储过程等都是这个阶段用 SQL 语句创建。 4.1.1 数据库及数据库对象建立 药店的药品管理所涉及的对象主要包括:数据库、基本表、视图、索引、 触发器以及存储过程。以实现对数据的操作的简便和有效。 (详细的 sql 代码见附录) 。 4.1.2 数据入库 对各个主要数据表要录入 20 条以上的记录,方法可用 EXCEL 批量导入,也 可以逐条录入。 4.1.3 数据库测试 主要内容是对建立的数据库及数据库对象进行测试 具体要求: (1)要设计好测试数据 (2)对测试的结果要以图片形式,同时注意图片的格式 (3)对测试结果进行分析,是否满足设计要求。 (数据操作的验证,存储过程的验证详见附录。 ) 五、系统评价 这次数据库的课程设计是医院药品进销存系统,医院药品进销存系统能够 为用户提供充足的信息和快捷的查询手段。例如:检索迅速、查找方便、可靠 性高、存储量大、保密性好等。这些优点能够极大地提高医院药品进销存系统 的效率, 而在本系统中还有很多的遗漏和欠缺,但是基本的医院药品进销存系 统的功能,已经能够实现。 六、课程设计心得、总结 在此次数据库设计中,我有一下心得及体会: 一在这学期的数据库系统概论学习中,因为对数据库系统的认识不够深 刻,以及平时所做的练习都是老师给定的表,自己只是做简单的查询,删除, 更新工作,所以给了我一个很大的误区:数据库系统只是一个很简单的系统, 它只会做简单的工作。在老师说做数据库设计师,我觉得就是一个简单的事情。 但是我错了,在这次实习中我遇到了很多的问题,比如:对于我的题目医药 销售管理系统 ,在对现实的抽象上我遇到了较多的问题,我觉得自己可以做的 业务一经老师的指导才知道看似简单的问题其实是那么的复杂。 二我深刻的感受到了数据库设计是环环嵌套的,只有做好了需求分析, 有了好的数据流图,才会使后期的工作顺利的展开,否则就会在折回来接着做 需求分析,所以我们要花大量的时间去做需求分析。 在此次课程设计中我按时完成了数据库设计的要求。同时经过这次课程设 计我知道了做任何事都要事先考虑好所有可能发生的事情,然后做好相应的准 备。 附录: Sql 语句 create database YYJXC -表 create table Supplier( Supnumber varchar(10) primary key, Supname varchar(30) not null, Supadress varchar(40) not null, Supphone varchar(20) create table Goods( Gname varchar(30) primary key, Gkind varchar(20), Gtype varchar(20), Gprice float not null, Gshelf date) create table Employer( Empnumber varchar(10) primary key, Empname varchar(10), Empkind varchar(10) create table Hourse( Hounumber varchar(10) primary key, Houkind varchar(10), Houaddr varchar(20) create table Customer( Cusnumber varchar(10) primary key, Cusname varchar(10) not null, Cussex varchar(2) check(Cussex in(男, 女), Cusphone varchar(20) create table Buylist( Buynumber varchar(10) primary key, Supnumber varchar(10), Gname varchar(30), Empnumber varchar(10), Buyliang int not null, Buydate date, foreign key (Supnumber) references Supplier(Supnumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Sendlist( Sendnumber varchar(10) primary key, Supnumber varchar(10), Gname varchar(30), Empnumber varchar(10), Sendliang int not null, Senddate date, foreign key (Supnumber) references Supplier(Supnumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Sbacklist( Sbacknumber varchar(10) primary key, Supnumber varchar(10), Gname varchar(30), Empnumber varchar(10), Sbackling int not null, Sbackreas varchar(30), foreign key (Supnumber) references Supplier(Supnumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Dyaolist( Dynumber varchar(10) primary key, Gname varchar(30), Cusmumber varchar(10), Empnumber varchar(10), Dyliang int not null, Dydate date, foreign key (Cusmumber) references Customer(Cusnumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Salelist( Salenumber varchar(10) primary key, Gname varchar(30), Cusmumber varchar(10), Empnumber varchar(10), Saleliang int not null, Saledate date, foreign key (Cusmumber) references Customer(Cusnumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Cbacklist( Cbacknumber varchar(10) primary key, Gname varchar(30), Cusnumber varchar(10), Empnumber varchar(10), Cbackliang int not null, Cbackreas varchar(30), foreign key (Cusnumber) references Customer(Cusnumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Inlist( Innumer varchar(10) primary key, Gname varchar(30), Hounnumber varchar(10), Empnumber varchar(10), Inliang int not null, Indate date, foreign key (Hounnumber) references Hourse(Hounumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Outlist( Outnumber varchar(10) primary key, Gname varchar(30), Hounnumber varchar(10), Empnumber varchar(10), Outliang int not null, Outdate date, foreign key (Hounnumber) references Hourse(Hounumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Lostlist( Lostnumber varchar(10) primary key, Gname varchar(30), Hounnumber varchar(10), Empnumber varchar(10), Lostliang int not null, Lostreas varchar(30), foreign key (Hounnumber) references Hourse(Hounumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) create table Panclist( Pancnumber varchar(10) primary key, Gname varchar(30), Hounnumber varchar(10), Empnumber varchar(10), Pancliang int not null, foreign key (Hounnumber) references Hourse(Hounumber), foreign key (Gname) references Goods(Gname), foreign key (Empnumber) references Employer(Empnumber) -视图 create view Vi_supplier as select * from Supplier create view Vi_goods as select * from Goods create view Vi_sale as select Gname,Saleliang from Salelist create view Vi_baosun as select Gname,Lostliang from Lostlist create view Vi_pancun as select Gname,Pancliang from Panclist -索引 create nonclustered index In_Supname on Supplier(SupName) -触发器 -限制删除 C-02 客户的退货记录 create trigger tri_C02 on Cbacklist instead of delete as begin if exists( select * from deleted where Cusnumber=C-02 ) print 删除记录 end -测试 delete from Cbacklist where Cusnumber=C-02 -限制某一药品入库量不小

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论