版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、洛洛 阳阳 理理 工工 学学 院院 课课 程程 设设 计计 报报 告告 课程名称 数据库课程设计 设计题目 药店管理系统 专 业 计算机科学与技术 班 级 学 号 姓 名 完成日期 2016.12.30 课课 程程 设设 计计 任任 务务 书书 设计题目:设计题目: 药店管理系统 设计内容与要求:设计内容与要求: 设计内容:设计实现药店管理系统。能够实现药品库存管理、销售信息管理 和查询功能: 库存管理:包括药品入库、出库管理,药品库存报警,药品有效期管理(过 期报警)。 销售管理:根据实际销售自动生成销售单据。如果是会员,则药品价格按 95 折计算。 查询及统计功能:对指定时间段内的出/入库
2、进行查询/统计,对药品有效期 进行查询/统计,对药品过期进行查询/统计,对指定时间段内的药品销售进行查 询/统计以及利润查询/统计等。能帮顾客查询药品信息,能按品名、生产厂家、 药品类别、存货量进行查询。 设设计计要要求求: 1.完成数据库概念结构设计、逻辑结构设计、物理结构设计; 2.创建数据库,完成表、存储过程、触发器等数据库对象设计; 3.用 java 语言,完成信息系统的部分程序界面设计与调试运行。 指导教师: 2016 年 12 月 24 日 课课 程程 设设 计计 评评 语语 成绩:成绩: 指导教师:_ 2017 年 1 月 3 日 目录目录 1 概述.1 1.1 本设计的背景和意
3、义.1 1.2 采用的数据开发工具及应用开发工具.1 2 需求分析.1 2.1 功能需求.1 2.2 数据需求.1 3 概念结构设计.2 4 逻辑结构设计.2 4.1 建立关系模式.3 4.2 关系模式规范化处理.3 5 物理结构设计.3 5.1 建立数据库.3 5.2 数据表创建.3 5.2 存储过程创建.6 5.3 数据触发器创建.11 6 java 对数据库系统的实现.12 6.1 登录界面及系统主界面.12 6.2 库存管理.13 6.3 销售管理.14 6.4 信息查询.15 7 设计总结.17 附录.18 1 概述概述 1.1 本设计的背景和意义本设计的背景和意义 了解到部分药店因
4、为规模较小没有专业的药店管理系统,本设计能够适应于 规模较小的药店。通过运用数据库库技术,不仅可以使药店的管理更加方便,并 且还能提高数据的正确性。该药店管理系统以进货、存储、销售为主要业务,分 别实现其他具体功能。 1.2采用的数据开发工具及应用开发工具采用的数据开发工具及应用开发工具 本设计采用的数据开发工具为 sql server 2008,应用开发工具为 eclipse 2 需求分析需求分析 2.1 功能需求功能需求 药店管理系统能够实现药品库存、销售信息管理和查询功能,根据实际销 售自动生成销售单据。能帮顾客查询药品信息,能按品名、生产厂家、药品类别、 存货量进行查询。 2.2 数据
5、需求数据需求 经过对学校附近的药店的调研以及在网上查找的资料,药店药品管理系统的 处理对象主要包括:药品信息、供应商信息、顾客信息、药品销售信息、药品存 储信息等几个方面。根据市场需求需要的数据组成如下需要的数据有操作员、会 员、药品、订单、厂家、进货单这些实体的组成数据有,操作人员需要包括:账 号、密码、姓名、联系电话、邮箱、地址;会员表:账号、姓名、年龄、联系电 话、邮箱、地址;药品信息中含有:药品 id、药品名、类别、生产日期、有效 期、进价、售价、生产厂家;订单详情中含有的有:订单编号、药品名、购买数 量、售价、购买人员、销售日期;厂家信息包括:厂家编号、厂家名、电话、地 址;进药表、
6、药品 id、操作员、进药日期、进药数量 3概念结构设计概念结构设计 将需求分析阶段得到的用户需求抽象为信息结构即概念模型的过程就是 概念结构设计,它是整个数据库设计的关键,它通过对用户需求进行综合、 归纳、抽象,形成一个独立于具体 dbms 的概念模型。 根据需求分析,在该系统中存在以下实体集:药品信息实体集、顾客信 息实体集、厂家信息实体集、销售信息实体集等等。 根据需求做出的 e-r 图如下图 2-1 总体 e-r 图 2-3-1 n n n 1 n 姓名 管理 1 n 存储 n 仓库 n 1 年龄 姓名 账号 电话 邮箱 编号 品名 数量 售价 买家 日期 账号 密码 姓名 电话 邮箱
7、地址 药品 操作员 订单 会员 提交 参照 处理 厂家生产 1 1 厂名 类别 id 电话 地址 名称 编号 编号 数量 生产期有效期 进价 售价 批次 id 4 逻辑结构设计逻辑结构设计 4.1 建立关系模式建立关系模式 操作人员(账号、密码、姓名、联系电话、邮箱、地址) 会员(账号、姓名、年龄、联系电话、邮箱、地址) 药品(药品 id、药品名称、类别、生产厂家编号) 仓库(批次 id、药品 id、药品名、类别、生产日期、有效期、进价、售价、 生产厂家) 订单详情(订单编号、药品名、购买数量、售价、购买人员、销售日期、操 作员姓名) 厂家(厂家编号、厂家名、电话、地址) 进药(药品 id、操
8、作员姓名、进药日期、进药数量) 4.2 关系模式规范化处理关系模式规范化处理 根据函数依赖关系,分析得每一个关系模式均满足 3nf。 5 物理结构设计物理结构设计 5.1 建立数据库建立数据库 物理设计时为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储 结构和存取方法) ,数据库的物理结构通常分为两步: (1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间效率。 由于本次课程设计的数据库数据量不大,再加上数据库实施软件会自动建立 一些索引,所以这里没有必要特别建立索引。 需要创建一个数据库文件,命名为 drugcontr
9、ol 创建数据库语句为 create database drugcontrol 5.2 数据表创建数据表创建 (1)创建 drug 表,如图 5-1 create table drug(-品名 dno varchar(10) primary key,-药品编号 dname varchar(20) not null,-药品名 dclass varchar(20),-药品类别 sname varchar(20)-生产厂家 ) 图 5-1 (2)创建供应商 suppliter 表如图 5-2 create table supplier(-供应商 sno varchar(10) primary key
10、, sname varchar(20) not null, sphone char(11), semail varchar(20), saddress varchar(50) 图 5-2 (3)创建管理员表 opert 如图 5-3 create table opert(-管理员 mno varchar(10) primary key, mpassw varchar(20), mname varchar(20) not null mphone char(11), memail varchar(20), maddress varchar(50) ) 图 5-3 (4)创建会员表 customer
11、 如图 5-4 create table customer(-会员 cno varchar(10) primary key, cname varchar(20) not null, cage int check(cage0 or cage is null), cphone char(11), cemail varchar(20), caddress varchar(50) ) 图 5-4 (5)创建库存表 dugstore 如图 5-5 create table drugstore(-库存 lno varchar(10) primary key,-入库编号 dno varchar(10) ,-
12、药品编号 dname varchar(20) not null,-药品名 dclass varchar(20),-药品类别 pquantity int,-药品数量 idate date,-入库时间 out_date date, dbidd float, dprice float, sname varchar(20),-厂家名 mname varchar(20),-操作员姓名 foreign key(dno) references drug(dno), ) 图 5-5 (6)创建出售表 sale 如图 5-6 create table sale(-出售 slno varchar(10), dno
13、 varchar(10), cno varchar(10), ddprice float, mquantity int,-销售数量 amoney float, idate date,-销售日期 foreign key(dno) references drug(dno), ) 图 5-6 (7)创建缺货单 a 如图 5-7 create table absence(-缺货单 lno varchar(10) primary key, dno varchar(10), pquantity int, pdade date, astate varchar(10), foreign key(dno) re
14、ferences drug(dno) ) 图 5-7 (8)数据视图创建 根据需求仅需要创建一个视图就可以完成所需要的功能,需要创建的视图为“即将过期的药 品”如图 5-8 create view 即将过期药品单(lno,dname,dclass,pquantity,lessdate) as select lno ,dname,dclass,pquantity,datediff(day,getdate(),out_date) from drugstore 图 5-8 5.2 存储过程创建存储过程创建 (1)创建增加会员存储过程 *增加会员*/ create procedure 增加会员 cna
15、me varchar(20), cage int, cphone char(11), ccemail varchar(20), caddress varchar(50) as declare i int,n varchar(10) select i=max(cast(substring(cno,2,len(cno)-1)as int)+1 from customer -获取最大值+1 select n=substring(c0000,1,5-len(i)+cast(i as varchar(5)-转 换成编号 insert into customer values(n,cname,cage,c
16、phone,ccemail,caddress) 验证存储过程如图5-9 exec 增加会员 没,12,111111,理工 图5-9 (2)创建增加操作人员存储过程 /*增加操作人员*/ create procedure 增加操作员 mpassw varchar(20), mname varchar(20), mmphone char(11), mmemail varchar(20), mmaddress varchar(50) as declare i int,n varchar(10) select i=max(cast(substring(mno,2,len(mno)-1)as int)+
17、1 from opert -获取最大值+1 select n=substring(c0000,1,5-len(i)+cast(i as varchar(5)-转 换成编号 insert into opert values(n,mpassw,mname,mmphone,mmemail,mmaddress) 验证存储过程如图5-10 exec 增加操作员 1,感冒,11111111,洛阳理工 图5-10 (3)创建增加品名存储过程 /*增加品名*/ create procedure 增加品名 dname varchar(20), dclass varchar(20), sname varchar(
18、20) as declare i int,n varchar(10) select i=max(cast(substring(dno,2,len(dno)-1)as int)+1 from drug -获取最大值+1 select n=substring(d0000,1,5-len(i)+cast(i as varchar(5)-转 换成编号 insert into drug values(n,dname,dclass,sname) 验证存储过程如图5-11 exec 增加品名 感冒灵颗粒,感冒用药类,蜀川 图 5-11 (4)创建增加入库存储过程 /*增加入库*/ create proced
19、ure 增加药品 ddno varchar(10),-入库编号 dname varchar(20), dclass varchar(20), pquantity int, sname varchar(20), out_date date, dbidd float, dprice float, mname varchar(20) as declare i int,n varchar(10) select i=max(cast(substring(lno,2,len(lno)-1)as int)+1 from drugstore -获取最大值+1 select n=substring(d0000,
20、1,5-len(i)+cast(i as varchar(5)-转 换成编号 insert into drugstore values(n,ddno,dname,dclass,pquantity,getdate(),out_date,dbi dd,dprice,sname,mname) 验证存储过程如图5-12 exec 增加药品 d0002,感冒灵颗粒,感冒用药类,5,蜀川,2017-11-11,1,2,ll 图5-12 (5)创建增加供应商存储过程 /*增加供应商*/ create procedure 增加供应商 sname varchar(20), sphone char(12), sa
21、ddress varchar(50), semail varchar(20) as declare i int,n varchar(10) select i=max(cast(substring(sno,2,len(sno)-1)as int)+1 from supplier -获取最大值+1 select n=substring(s0000,1,5-len(i)+cast(i as varchar(5)-转 换成编号 insert into supplier values(n,sname,sphone,semail,saddress) 验证存储过程如图5-13 exec 增加供应商 111,
22、222,洛阳理工, 图5-13 (6)创建增加销售存储过程 /*增加销售单*/ create procedure 增加订单 dno varchar(20), cno varchar(20), ddprice float, mquantity int as declare i int,n varchar(10) select i=max(cast(substring(slno,2,len(slno)-1)as int)+1 from sale -获取最大值+1 select n=substring(m0000,1,5-len(i)+cast(i as varchar(5)-转 换成编号 inse
23、rt into sale values(n,dno,cno,ddprice,mquantity,getdate() update drugstore set pquantity=pquantity-mquantity where lno=dno 验证存储过程如图5-14 exec 增加订单 m0003,d0002,c0001,22,15,440 图5-14 (7)创建缺货单存储过程 /*更新缺货单*/ create procedure 更新缺货单 as declare dno varchar(5),pquantity int,i int,n varchar(5),astate varchar(
24、10),con int declare c cursor for select dno,sum(pquantity) from drugstore group by dno open c fetch c into dno,pquantity while(fetch_status=0) begin if(pquantity19) begin declare c3 cursor for select count(astate),astate from absence group by dno,astate open c3 fetch c3 into con,astate while(fetch_s
25、tatus=0) begin if(astate=未处理 and con=1) begin update absence set astate=已处理 where dno=dno end fetch c3 into con,astate end close c3 deallocate c3 end fetch c into dno,pquantity end close c deallocate c 5.3 数据触发器创建数据触发器创建 根据数据要求在出售过程中会出现库存不足即需要创建触发器需要达到的功能为在库存 表中更新数据时执行存储过程缺货单 create trigger drug_sho
26、rt on drugstore after update as begin exec 更新缺货单; end; 验证触发器如图5-14 update drugstore set pquantity=1 where dno=d0002 如图5-15原缺货单 图 5-15 执行过后 6 java 对数据库系统的实现对数据库系统的实现 6.1 登录界面及系统主界面登录界面及系统主界面 (1)药店登录界面如图6-1 图6-1 (2)药店主页面如图6-2 图6-2 6.2 库存管理库存管理 (1)入库管理界面如图6-3能够根据名称和药品类型进行搜索单击要入库的药品会在下 面文本框中显示出来防止药品入库错误
27、 图6-3 (2)增加药品界面如图6-4,能够进行药品类型输入,增加药品类型扩充药品库 图6-4 (3)修改药品信息页面如图 6-5,能够对药品信息更改,用来修改和删除药品信息 图6-5 6.3 销售管理销售管理 销售管理页面如图 6-6,用来出售药品,能够实时获取购买数量和会员 id 中 输入的信息,如果输入正确的会员 id 后并且在数据库中检测到有这个会员信息 则会自动在后面的会员由否改为是,计算总价的时候打折,在提交订单后库中数 量减少并且插入销售表。 图6-6 6.4 信息查询信息查询 (1)进行利润查询如图 6-7,如果是匿名用户购买就显示为匿名,能够根据 销售中的出售时间来进行规定时间内的利润查询并且能够显示出来每笔订单和总 价 图 6-7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度校园智能教学触摸一体机购置合同4篇
- 二零二五年度矿产资源承包经营合同样本3篇
- 2025年度个人经营贷款保证担保合同样本3篇
- 2025年度绿色建筑项目承包经营合同4篇
- 二零二五年度新能源项目出口合同3篇
- 跨文化背景下的学校体育活动策划研究
- 二零二五年度甘肃陇东南地区荒山绿化桉树种植承包合同3篇
- 二零二五版路灯广告媒体资源整合与推广合同4篇
- 2025年度城乡畜牧饲养产业融合发展合作合同4篇
- 2025年度电商平台运营专员劳动合同协议(升级版)3篇
- GB/T 10739-2023纸、纸板和纸浆试样处理和试验的标准大气条件
- 《心态与思维模式》课件
- 物流服务项目的投标书
- C语言程序设计(慕课版 第2版)PPT完整全套教学课件
- 行业会计比较(第三版)PPT完整全套教学课件
- 值机业务与行李运输实务(第3版)高职PPT完整全套教学课件
- 高考英语语法填空专项训练(含解析)
- 危险化学品企业安全生产标准化课件
- 巨鹿二中骨干教师个人工作业绩材料
- 《美的历程》导读课件
- 心电图 (史上最完美)课件
评论
0/150
提交评论