药店管理系统课程设计报告.docx
- 文档编号:827204
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:20
- 大小:258.05KB
药店管理系统课程设计报告.docx
《药店管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《药店管理系统课程设计报告.docx(20页珍藏版)》请在冰豆网上搜索。
药店管理系统课程设计报告
课程设计报告
课程名称数据库课程设计
设计题目药店管理系统
课程设计任务书
设计题目:
药店管理系统
设计内容与要求:
设计内容:
设计实现药店管理系统。
能够实现药品库存管理、销售信息管理和查询功能:
库存管理:
包括药品入库、出库管理,药品库存报警,药品有效期管理(过期报警)。
销售管理:
根据实际销售自动生成销售单据。
如果是会员,则药品价格按95折计算。
查询及统计功能:
对指定时间段内的出/入库进行查询/统计,对药品有效期进行查询/统计,对药品过期进行查询/统计,对指定时间段内的药品销售进行查询/统计以及利润查询/统计等。
能帮顾客查询药品信息,能按品名、生产厂家、药品类别、存货量进行查询。
设计要求:
1.完成数据库概念结构设计、逻辑结构设计、物理结构设计;
2.创建数据库,完成表、存储过程、触发器等数据库对象设计;
3.用JAVA语言,完成信息系统的部分程序界面设计与调试运行。
指导教师:
2016年12月24日
课程设计评语
成绩:
指导教师:
_______________
2017年1月3日
1概述
1.1本设计的背景和意义
了解到部分药店因为规模较小没有专业的药店管理系统,本设计能够适应于规模较小的药店。
通过运用数据库库技术,不仅可以使药店的管理更加方便,并且还能提高数据的正确性。
该药店管理系统以进货、存储、销售为主要业务,分别实现其他具体功能。
1.2采用的数据开发工具及应用开发工具
本设计采用的数据开发工具为SQLServer2008,应用开发工具为Eclipse
2需求分析
2.1功能需求
药店管理系统能够实现药品库存、销售信息管理和查询功能,根据实际销售自动生成销售单据。
能帮顾客查询药品信息,能按品名、生产厂家、药品类别、存货量进行查询。
2.2数据需求
经过对学校附近的药店的调研以及在网上查找的资料,药店药品管理系统的处理对象主要包括:
药品信息、供应商信息、顾客信息、药品销售信息、药品存储信息等几个方面。
根据市场需求需要的数据组成如下需要的数据有操作员、会员、药品、订单、厂家、进货单这些实体的组成数据有,操作人员需要包括:
账号、密码、、联系电话、、地址;会员表:
账号、、年龄、联系电话、、地址;药品信息中含有:
药品ID、药品名、类别、生产日期、有效期、进价、售价、生产厂家;订单详情中含有的有:
订单编号、药品名、购买数量、售价、购买人员、销售日期;厂家信息包括:
厂家编号、厂家名、、地址;进药表、药品ID、操作员、进药日期、进药数量
3概念结构设计
将需求分析阶段得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计,它是整个数据库设计的关键,它通过对用户需求进行综合、归纳、抽象,形成一个独立于具体DBMS的概念模型。
根据需求分析,在该系统中存在以下实体集:
药品信息实体集、顾客信息实体集、厂家信息实体集、销售信息实体集等等。
根据需求做出的E-R图如下图2-1
1
N
N
1
N
N
总体E-R图2-3-1
4逻辑结构设计
4.1建立关系模式
操作人员(账号、密码、、联系电话、、地址)
会员(账号、、年龄、联系电话、、地址)
药品(药品ID、药品名称、类别、生产厂家编号)
仓库(批次ID、药品ID、药品名、类别、生产日期、有效期、进价、售价、生产厂家)
订单详情(订单编号、药品名、购买数量、售价、购买人员、销售日期、操作员姓名)
厂家(厂家编号、厂家名、、地址)
进药(药品ID、操作员姓名、进药日期、进药数量)
4.2关系模式规范化处理
根据函数依赖关系,分析得每一个关系模式均满足3NF。
5物理结构设计
5.1建立数据库
物理设计时为逻辑数据模型选取一个最合适应用环境的物理结构(包括存储结构和存取方法),数据库的物理结构通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
由于本次课程设计的数据库数据量不大,再加上数据库实施软件会自动建立一些索引,所以这里没有必要特别建立索引。
需要创建一个数据库文件,命名为DrugControl
创建数据库语句为createdatabaseDrugControl
5.2数据表创建
(1)创建Drug表,如图5-1
createtableDrug(--品名
Dnovarchar(10)primarykey,--药品编号
Dnamevarchar(20)notnull,--药品名
Dclassvarchar(20),--药品类别
Snamevarchar(20)--生产厂家
)
图5-1
(2)创建供应商Suppliter表如图5-2
createtableSupplier(--供应商
Snovarchar(10)primarykey,
Snamevarchar(20)notnull,
Sphonechar(11),
Semailvarchar(20),
Saddressvarchar(50))
图5-2
(3)创建管理员表Opert如图5-3
createtableOpert(--管理员
Mnovarchar(10)primarykey,
Mpasswvarchar(20),
Mnamevarchar(20)notnull
Mphonechar(11),
Memailvarchar(20),
Maddressvarchar(50)
)
图5-3
(4)创建会员表Customer如图5-4
createtableCustomer(--会员
Cnovarchar(10)primarykey,
Cnamevarchar(20)notnull,
Cageintcheck(Cage>0orCageisnull),
Cphonechar(11),
Cemailvarchar(20),
Caddressvarchar(50)
)
图5-4
(5)创建库存表Dugstore如图5-5
createtableDrugstore(--库存
Lnovarchar(10)primarykey,--入库编号
Dnovarchar(10),--药品编号
Dnamevarchar(20)notnull,--药品名
Dclassvarchar(20),--药品类别
Pquantityint,--药品数量
Idatedate,--入库时间
out_datedate,
Dbiddfloat,
Dpricefloat,
Snamevarchar(20),--厂家名
Mnamevarchar(20),--操作员姓名
foreignkey(Dno)referencesDrug(Dno),
)
图5-5
(6)创建出售表Sale如图5-6
createtableSale(--出售
Slnovarchar(10),
Dnovarchar(10),
Cnovarchar(10),
Ddpricefloat,
Mquantityint,--销售数量
Amoneyfloat,
Idatedate,--销售日期
foreignkey(Dno)referencesDrug(Dno),
)
图5-6
(7)创建缺货单A如图5-7
createtableAbsence(--缺货单
Lnovarchar(10)primarykey,
Dnovarchar(10),
Pquantityint,
Pdadedate,
Astatevarchar(10),
foreignkey(Dno)referencesDrug(Dno)
)
图5-7
(8)数据视图创建
根据需求仅需要创建一个视图就可以完成所需要的功能,需要创建的视图为“即将过期的药品”如图5-8
createview即将过期药品单(Lno,Dname,Dclass,Pquantity,lessdate)
as
selectLno,Dname,Dclass,Pquantity,DATEDIFF(day,GETDATE(),out_date)
fromDrugstore
图5-8
5.2存储过程创建
(1)创建增加会员存储过程
*增加会员*/
createprocedure增加会员
Cnamevarchar(20),
Cageint,
Cphonechar(11),
Ccemailvarchar(20),
Caddressvarchar(50)
as
declareiint,nvarchar(10)
selecti=max(cast(substring(Cno,2,len(Cno)-1)asint))+1fromCustomer--获取最大值+1
selectn=substring('C0000',1,5-len(i))+cast(iasvarchar(5))--转换成编号
insertintoCustomervalues(n,Cname,Cage,Cphone,Ccemail,Caddress)
验证存储过程如图5-9
exec增加会员'没','12','111111','1163.','理工'
图5-9
(2)创建增加操作人员存储过程
/*增加操作人员*/
createprocedure增加操作员
Mpasswvarchar(20),
Mnamevarchar(20),
Mmphonechar(11),
Mmemailvarchar(20),
Mmaddressvarchar(50)
as
declareiint,nvarchar(10)
selecti=max(cast(substring(Mno,2,len(Mno)-1)asint))+1fromOpert--获取最大值+1
selectn=substring('C0000',1,5-len(i))+cast(iasvarchar(5))--转换成编号
insertintoOpertvalues(n,Mpassw,Mname,Mmphone,Mmemail,Mmaddress)
验证存储过程如图5-10
exec增加操作员'1','感冒','11111111','111111qq.','洛阳理工'
图5-10
(3)创建增加品名存储过程
/*增加品名*/
createprocedure增加品名
Dnamevarchar(20),
Dclassvarchar(20),
Snamevarchar(20)
as
declareiint,nvarchar(10)
selecti=max(cast(substring(Dno,2,len(Dno)-1)asint))+1fromDrug--获取最大值+1
selectn=substring('D0000',1,5-len(i))+cast(iasvarchar(5))--转换成编号
insertintoDrugvalues(n,Dname,Dclass,Sname)
验证存储过程如图5-11
exec增加品名'感冒灵颗粒','感冒用药类','蜀
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 管理 系统 课程设计 报告