数据库课程设计医药销售管理系统Word文件下载.docx
- 文档编号:5141330
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:39
- 大小:399.01KB
数据库课程设计医药销售管理系统Word文件下载.docx
《数据库课程设计医药销售管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计医药销售管理系统Word文件下载.docx(39页珍藏版)》请在冰点文库上搜索。
2.1.2系统分析
用户活动及活动图
(1)经理主要参与活动有:
①查询销售情况和财务状况以便了解本企业的经营状况,作出相应的决策;
②管理员工,了解不同员工的上班时间和他的相关的业绩;
③客户的管理,了解客户的数量,注销有问题的客户;
④供应商的管理,了解供应信息,选择最合适的供应商。
(2)营业员主要活动有:
医药销售管理是指对药品信息的录入、更新、修改和删除;
查询药品信息,以了解是否有该药品和库存等信息;
销售药品,出库记录;
退还药品,入库记录;
现金收支是指对进出帐目的记录统计。
(3)顾客主要活动:
①查询药品信息;
②选购药品。
2.1.3业务流程图
2.2系统逻辑方案
系统分析的主要成果是系统的逻辑模型。
本系统的逻辑模型主要是以系统的数据流图和数据字典为主要描述工具。
即在无纸化网络考试系统管理方式和业务流程进行认真分析和研究的基础上,排除现有组织机构和业务分工所造成的信息障碍。
2.2.1数据流程图(DFD):
数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
在数据流程图中可以很清楚的看到数据的流向,药品信息的数据分别能够流向经理、员工和顾客。
药品销售信息的信息也流经理。
药品销售信息记录的是药品销售和退还的信息。
顾客表信息从顾客流出又可以流回到顾客和员工、经理。
2.2.2数据字典(简称DD)
绘制DFD,只是对数据处理和彼此之间的联系进行了说明。
为进一步明确数据的详细内容和数据加工过程,应将数据流图中的全部数据流及其组成部分的数据元素,数据存储,数据加工,通过数据字典描述清楚,以便于此后系统设计的进行。
这就需要开发人员编写详细的数据字典,来描述系统开发过程的细节。
下面列出本系统中的数据项、数据流、数据存储、加工处理和数据结构的数据字典。
数据字典可采用图表格式或较紧凑的记录格式描述,本文采用的是图表格式。
数据项的DD表列举如下:
表2.1药品编号的数据字典
数据项
系统名:
医药销售管理系统编号:
I001名称:
药品编码别名:
数据项值:
类型:
字符型长度:
6个字节取值范围:
简述:
每种药品都具有唯一的编号,它是某种药品的唯一标识符,每种药品都有唯一的编号,如“011976”通常用前两位数字表示入库的年份,中间两位表示类别,最后两位表示该药的序号。
如果该类药数超过100种时,可用“0119A0”表示第100种药。
修改记录:
编写
日期
审核
表2.2药品名称
I002名称:
药品名称别名:
32个字节取值范围:
每种药品都具有唯一药品标识。
表2.3密码
I003名称:
售价别名:
数值型长度:
8个字节取值范围:
每种药品都要设置一个销售价格。
三数据库系统结构设计
3.1软件系统总体结构设计
软件系统总体结构设计的主要任务就是将整个系统合理的划分成各个功能模块,正确处理模块之间与模块内部的联系及它们之间的调用关系和数据联系,定义各模块的内部结构等,本系统的软件总体结构按分解-协调的原则,信息隐蔽抽象的原则,自顶向下的原则,一致性原则,面向用户的原则进行设计。
3.2数据存储的总体设计
按用途分类可把本系统文件分成以下几种:
(1)主文件:
系统中的主文件是最重要的共享文件,主要存放具有固定值属性的数据。
它需要长期保存,并不断更新。
(2)处理文件:
处理文件包含下一次更新文件所需要的全部记录,本系统中的处理文件如新闻登录日志文件、待审核项目信息文件。
3.3系统功能模块设计
通过对系统的数据流图进行分析,进一步进行功能分解,直到分解成含义明确,功能单一的功能模块,从而得到系统的功能模块结构图。
3.4数据库详细设计
3.4.1数据库设计
数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。
作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。
对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。
E-R图:
在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。
可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。
E-R图由实体、属性、联系三部分组成。
各分E-R图说明如下:
经理E-R图:
供应商E-R图:
员工E-R图:
药品销售清单E-R图:
客户E-R图:
药品E-R图:
整体E-R图:
关系模式与码:
药品信息(药品编号,药品名称,药品类别代号,售价,进价,库存量,供应商,有效期)外码:
药品类别代号、供应商
药品分类索引信息(药品类别代号,类别说明)
员工信息(员工号,姓名,用户名,密码,职位,权限)
客户信息(客户号,客户名称,联系人,联系方式,客户所在城市)
供应商信息(供应商号,供应商名称,联系人,联系方式,供应商所在城市)
药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商,总额,销售员编码)外码:
销售员编码、药品编码
关系模式优化:
在上述关系模式中,每一个分量都是不可分割的数据项所以都符合第一范式;
而且前四个关系模式都是单个属性作为码,没有任何非主属性对码部分函数依赖,在药品销售信息内虽由三个属性作为码,但也不存在非主性对码的部分函数依赖,所以上都符合第二范式;
药品信息、药品类别索引、客户信息、供应商信息四个关系模式中都不存在非主属性对码的传递函数依赖,都属于第三范式。
在员工信息关系模式中,员工是按照权限分类的,职位不同权限也不同,这样该关系模式就存在了非主属性对码的传递依赖:
职工号->
职位,职位->
权限,所以就将用员工信息分解为如下现个模式:
①员工信息(员工号,姓名,用户名,用户口令,职位)
②职位权限信息(职位,权限)
本系统不考虑职工信息的管理,为了使销售员编号与销售员的职工号连系起来,并能通过职工姓名和职位来修改用户信息所以把员工的部分信息(职工号,姓名,职位)和经理(用户名,密码)合成了员工信息(员工号,姓名,用户名,密码,职位,权限)以便系统功能的实现,所以在此不采用模式分解。
药品销售信息中有大量的数据冗余,表达不明确,将其分解为如下两个模式:
①药品销售主表(销售编码,销售日期,销售员编号,总金额)
②药品销售子表(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商)
数据库设计
对上述E-R图所需的实体需要的几个关键表的设计如下:
表名:
药品信息表
字段名
字段类型
长度
主键或外键
字段值约束
对应中文属性名
MedicineCode
Char
6
PrimaryKey
NotNull
药品编码
MedicineName
Varchar
32
药品名称
MedKindCode
10
Foreignkey
药品类别代码
Price
Money
8
售价
ListPrice
进价
Number
Int
4
库存量
FirmCode
供应商
Usefulllife
Datetime
有效期至
客户信息
GuestCode
客户编码
GuestName
16
客户名称
gLink
12
联系人
gLinkTell
11
联系方式
City
所在城市
供应商信息
供应商编码
FirmName
供应商名称
Link
LinkTell
联系电话
药品销售主表
SaleNo
int
销售编码
WorkNo
销售员编码
SaleDate
DateTime
销售日期
Amount
总金额
药品销售子表
数量
Unit
单位
金额
药品类别索引信息
KindExplanation
类别说明
员工信息
职工号
Name
姓名
UserRegName
用户登录名
Password
用户口令
Position
用户身份
Power
用户权限
3.4.2数据库的完整性和安全性
数据库的完整性
数据库的完整性是指数据的正确性和相容性。
数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。
本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。
实体完整性
例如:
CREATETABLEMedInfor/*创建药品信息表*/
(MedicineCodechar(6)constraintM_PRIMPRIMARYKEY,
MedicineNamevarchar(8)NOTNULL,
MedKindeCodechar(10)FOREIGNKEYREFERENCESMedID(MedKindeCode),
PriceMoney(8),
ListPriceMoney(8),
NumberInt(4),
FirmCodechar(10)FOREIGNKEYREFERENCESFirmInfor(FirmCode),
UserfulllifeDatetime)
参照完整性
createtablesellMain/*创建医药销售主表*/
(SaleNointconstraintSM_PRIMPRIMARYKEY,
WorkNochar(10)FOREIGNKEYREFERENCESWorkInfor(WorkNo),
SaleDateDateTime,
AmountMoney)
数据库的安全性
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。
在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。
本系统包括数据库的安全和服务器的安全。
采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。
在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。
服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。
这是一种简单可行的方法,实现起来比较方便。
没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应用在校园网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性。
四数据库的运行(SQLServer2000语句完成)
4.1创建医药销售管理系统
createdatabaseMedicalManagerSystem/*创建医药销售管理系统*/
useMedicalManagerSystem
4.2创建药品类别索引信息表
createtableMedID//创建药品类别索引信息表
(MedKindeCodechar(10)constraintMI_PRIPRIMARYKEY,
KindExplanationvarchar(12)NOTNULL)
其余略
4.3建立存储过程向表中插入、修改、删除数据
插入数据的存储过程
createprocMedID_proc
@MedKindeCodechar(10),@KindExplanationvarchar(12)
as
insertintoMedID(MedKindeCode,KindExplanation)values(@MedKindeCode,@KindExplanation)
execMedID_proc'
0001'
'
口腔溃疡'
0002'
感冒'
0003'
发烧'
0004'
拉肚子'
0005'
'
外伤'
删除数据的存储过程
createprocMedID_delete_proc
@MedKindeCodechar(10)
deletefromMedId
whereMedKindeCode=@MedKindeCode
execMedID_delete_proc'
修改数据的存储过程
createprocMedID_update_proc
@MedKindeCodechar(10),@KindExplanationvarchar(12),@MedKindeCode1char(10)
updateMedID
setMedKindeCode=@MedKindeCode,KindExplanation=@KindExplanation
whereMedKindeCode=@MedKindeCode1
4.4建立存储过程实现单表查询
/*建立名为“单表查询1”的存储过程,用来查询某种药品的信息*/
createproc单表查询1
@MedicineCodechar(6)
AS
select*
fromMedInfor
whereMedicineCode=@MedicineCode
建立存储过程实现连接查询
/*建立名为“连接查询1”的存储过程,用来查询某个药品名称对应的药品类型的信息*/
createproc连接查询1
@MedicineNamevarchar(8)
selectMedicineName,KindExplanation
fromMedInfor,MedID
whereMedID.MedKindeCode=MedInfor.MedKindeCodeand
MedicineName=@MedicineName
/
建立存储过程实现嵌套查询
/*建立名为“嵌套查询1”的存储过错,用来查询某类药品的销售量*/
createproc嵌套查询1
@KindExplanationvarchar(12)
selectNumber
fromsellChild
whereMedicineCodeIn(selectMedicineCode
fromMedID
whereKindExplanation=@KindExplanation)
/*建立名为“嵌套查询2”的存储过错,用来查询某个供应商提供的商品*/
createproc嵌套查询2
@FirmNamevarchar(16)
selectMedicineName
fromMedInfor
whereFirmCodeIn(selectFirmCode
fromFirmInfor
whereFirmName=@FirmName)
建立存储过程实现集合查询
/*建立名为“集合查询1”的存储过错,用来查询提供某类商品的供应商数*/
createproc集合查询1
selectavg(FirmCode)
fromFrimInfor
whereFirmCodein(selectFirmCode
fromMedInfor,FrimInfor
whereMedInfor.FirmCode=FrimInfor.FirmCodeand
MedicineName=@MedicineName)
4.5视图建立
由供应商信息表“FirmInfor”建立一个视图,该视图由供应商信息表的所有列构成*/
createview供应商信息(供应商编码,供应商名称,联系人,联系电话,所在城市)
select*fromFirmInfor
4.6建立INSERT触发器
/*建立INSERT触发器*/
createtriggerMedID_insertonMedID
forinsert
asif(selectcount(*)
fromMedID_med,inserted
whereMedID_med.MedKindeCode=inserted.MedKindeCode)=0
rollbacktransaction
4.7建立DELETE触发器
createtriggerdelete_MedIDonMedID
fordelete
select*fromMedID
declare@MedKindeCodechar(10)
select@MedKindeCode=MedKindeCodefromdeleted
deletefromMedID
whereMedKindeCode=@MedKindeCode
select*fromMedID
4.8建立UPDATE触发器
createtriggerMedID_updateonMedID
forupdate
ifupdate(MedKindeCode)
begin
raiserror('
youcannotmodifythiscolumn'
16,1)
end
五数据库系统程序
医药销售管理系统SQL语句,如下:
created
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 医药 销售 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)