医药销售管理系统_第1页
医药销售管理系统_第2页
医药销售管理系统_第3页
医药销售管理系统_第4页
医药销售管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

目录 1. 需求分析 2 2数据库概念设计 2 3.数据库逻辑设计 .4 4数据库与数据表设计 5 5触发器和存储过程设计 7 5.1 存储过程 7 5.2 触发器 .11 6数据库的用户与权限管理 .12 7数据库的备份 .12 8.数据的导入与导出 13 9课程设计小结 .17 10参考文献 17 2 医药销售管理系统 1. 需求分析 本系统要求实现以下主要功能: 基本信息模块:包括药品信息、员工信息、客户信息、供应商信息四个子模块。 (1)进货管理功能:包括入库登记、入库登记查询二个子功能。 (2)库房管理功能:包括库存查询、库存盘点、退货处理三个子功能。 (3)销售管理功能:包括销售登记、销售退货、销售报表查询三个子功能。 (4)财务统计功能:包括当日统计、当月统计二个子功能。 (5)系统维护功能:包括数据安全管理、操作员管理、权限设置三个功能。 说明:根据对现实中医药销售管理业务,将用户分为二类超级管理员(经理) 、 普通管理员(操作员) 。 用户主要活动: (1)经理主要参与活动有: 查询销售情况和财务状况以便了解本企业的经营状况,作出相应的决策; 管理员工,了解不同员工的上班时间和他的相关的业绩; 客户的管理,了解客户的数量,注销有问题的客户; 供应商的管理,了解供应信息,选择最合适的供应商。 (2)营业员主要活动有: 医药销售管理是指对药品信息的录入、更新、修改和删除; 查询药品信息,以了解是否有该药品和库存等信息; 销售药品,出库记录; 退还药品,入库记录; 现金收支是指对进出帐目的记录统计。 (3)顾客主要活动: 查询药品信息; 选购药品。 2数据库概念设计 数据库的概念设计就是画出 E-R 图。分析前面的系统功能要求,需要一个 表来存储和管理客户信息,使系统能够接受客户查询药品时输入的各项数据, 以实现数据录入、查询或统计客户信息等功能。客户是本系统的第一个实体。 为了能实现查询和统计药品情况等功能,必须有一个表来存储和管理所有 药品的信息。药品是本系统的第二个实体。 据此可以绘出医药销售管理系统数据库的 E-R 图如下: 3 3 经理 供应商 员工 药品销售 客户 药品 查询1 n 管理 供应 管理 查询 查询 更新 n m n m n m n m 销售 1 n 实体属性列表如下: 实体 属性 药品编码 药品名称 药品类别代码 售价 进价 库存量 供应商 药品 有效期至 客户编码 客户名称 联系人 联系方式 客户 所在城市 供应商编码 供应商名称 联系人 联系电话 供应商 所在城市 销售编码 销售员编码 药品销售 销售日期 4 总金额 职工号 姓名 用户登录名 用户口令 用户身份 员工 用户权限 3.数据库逻辑设计 3.1 将数据库的概念模型转换为关系模型 药品信息(药品编号,药品名称,药品类别代号,售价,进价,库存量,供应 商,有效期) 外码:药品类别代号、 供应商 药品分类索引信息(药品类别代号,类别说明) 员工信息(员工号,姓名,用户名,密码,职位,权限) 客户信息(客户号,客户名称,联系人,联系方式,客户所在城市) 供应商信息(供应商号,供应商名称,联系人,联系方式,供应商所在城市) 药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,供 应商,总额,销售员编码) 外码:销售员编码、药品编码 3.2 关系模式优化: 在上述关系模式中,每一个分量都是不可分割的数据项所以都符合第一范 式;而且前四个关系模式都是单个属性作为码,没有任何非主属性对码部分函 数依赖,在药品销售信息内虽由三个属性作为码,但也不存在非主性对码的部 分函数依赖,所以上都符合第二范式;药品信息、药品类别索引、客户信息、 供应商信息四个关系模式中都不存在非主属性对码的传递函数依赖,都属于第 三范式。 在员工信息关系模式中,员工是按照权限分类的,职位不同权限也不同, 这样该关系模式就存在了非主属性对码的传递依赖:职工号-职位,职位-权 限,所以就将用员工信息分解为如下现个模式: 员工信息(员工号,姓名,用户名,用户口令,职位) 职位权限信息(职位,权限) 本系统不考虑职工信息的管理,为了使销售员编号与销售员的职工号连系 起来,并能通过职工姓名和职位来修改用户信息所以把员工的部分信息(职工 号,姓名,职位)和经理(用户名,密码)合成了员工信息(员工号,姓名, 用户名,密码,职位,权限)以便系统功能的实现,所以在此不采用模式分解。 药品销售信息中有大量的数据冗余,表达不明确,将其分解为如下两个模 式: 药品销售主表(销售编码,销售日期,销售员编号,总金额) 药品销售子表(销售编码,销售日期,药品编码,药品名称,单价,数量, 供应商) 5 5 4数据库与数据表设计 数据库设计是根据系统功能的要求和数据规模规划数据库服务器选型、数 据表结构定义、分配数据库服务器端的功能实现以及创建数据库对象。 在 SQL 数据库中需要建立 7 个数据表:医药销售主表、医药销售子表、药 品信息表、员工信息表、药品类别索引信息表、客户信息表和供应商信息表。 (1)数据表设计 a.客户信息数据表 其中,GuestCode(序号)是表的主键,惟一标识一个客户。设计时定义它为标识 列,系统自动地产生连续的永不重复的序号。 b.药品信息数据表 其中,MedcineCode( 药品编码) 是该表的主键,惟一标识一种药品。 c.医药销售主表 d.医药销售子表 6 e.供应商信息表 f.员工信息表 g.药品类别索引信息表 (2)数据完整性设计 设计好表的结构后,需要根据实际应用和操作规则为表制定一系列约束和规 则,从而达到保证数据完整性原则的目的。 主键约束、非空值约束 在七个表的设计中已经规定了每个表的主键列、非空列,这些规定都是在实 际应用环境中所必需的。比如 MedInfor 表中定义了药品编号 MedicineCode 为 主键,则在表 MedInfor 中 MedicineCode 必须 是惟一的一个药店不可能 出现两个编号相同的药品; FirmInfor 表中定义了 FirmName 非空。 例如:create table MedInfor/* 创建药品信息表*/ (MedicineCode char(6) constraint M_PRIM PRIMARY KEY, MedicineName varchar(8) NOT NULL, MedKindeCode char(10) FOREIGN KEY REFERENCES MedID(MedKindeCode), Price Money, ListPrice Money, Number Int, FirmCode char(10) FOREIGN KEY REFERENCES FirmInfor(FirmCode), Userfulllife Datetime) 7 7 参照完整性 例如:create table sellMain/*创建医药销售主表*/ (SaleNo int constraint SM_PRIM PRIMARY KEY, WorkNo char(10) FOREIGN KEY REFERENCES WorkInfor(WorkNo), SaleDate DateTime, Amount Money) 5触发器和存储过程设计 首先需要确定哪些业务处理和数据处理的功能使用 MS SQL Server 来实现, 哪些数据处理的功能由应用程序实现。下面将讨论系统需要设计并创建的触发 器和存储过程。 5.1 存储过程 (1) 客户选择药品 客户登陆系统后查询需要的药品信息,可以通过建立存储工程实现单表查询 (2)客户信息查询处理 8 (3)员工信息查询处理 (4)供应商信息查询处理 (5)某个药品代码对应的药品类型的信息查询 建立名为“单表查询5”的存储过程,用来查询某个药品代码对应的药品类型的 信息 create proc 单表查询5 MedKindeCode char(10) AS select * from MedID where MedKindeCode=MedKindeCode (6)建立存储过程实现连接查询 建立名为“连接查询1”的存储过程,用来查询某个药品名称对应的药品类型的 9 9 信息 create proc 连接查询1 MedicineName varchar(8) as select MedicineName ,KindExplanation from MedInfor,MedID where MedID.MedKindeCode=MedInfor.MedKindeCode and MedicineName=MedicineName 建立名为“连接查询2”的存储过程,用来查询某个供应商提供的药品类型 create proc 连接查询2 FirmName varchar(16) as select FirmName,KindExplanation from MedInfor,MedID,FirmInfor where MedID.MedKindeCode=MedInfor.MedKindeCode and MedInfor.FirmCode=FirmInfor.FirmCode and FirmName=FirmName 建立名为“连接查询3”的存储过程,用来查询某个销售员销售某种药品的数量 create proc 连接查询3 Name varchar(12),MedicineName varchar(8) as select name ,MedInfor.MedicineName,sellChild.Number from WorkInfor,sellChild,MedInfor,sellMain where WorkInfor.WorkNo=sellMain.WorkNo and sellMain.SaleNo=sellChild.SaleNo and sellChild.MedicineCode=MedInfor.MedicineCode and name=Name and MedInfor.MedicineName=MedicineName 建立名为“连接查询4”的存储过程,用来查询某类药品的销售量 create proc 连接查询4 KindExplanation varchar(12) as select KindExplanation,sellChild.Number from sellChild,MedID,MedInfor where MedID.MedKindeCode=MedInfor.MedKindeCode and MedInfor.MedicineCode=sellChild.MedicineCode and KindExplanation=KindExplanation 建立名为“连接查询5”的存储过程,用来查询某个员工销售的药品类型 create proc 连接查询5 Name varchar(12) as select Name,KindExplanation from sellChild,MedID,MedInfor,sellMain,WorkInfor where MedInfor.MedicineCode=sellChild.MedicineCode and 10 MedID.MedKindeCode=MedInfor.MedKindeCode and WorkInfor.WorkNo=sellMain.WorkNo and sellMain.SaleNo=sellChild.SaleNo and Name=Name 建立存储过程实现嵌套查询 建立名为“嵌套查询1”的存储过错,用来查询某类药品的销售量 create proc 嵌套查询1 KindExplanation varchar(12) as select Number from sellChild where MedicineCode In(select MedicineCode from MedID where KindExplanation=KindExplanation) 建立名为“嵌套查询2”的存储过错,用来查询某个供应商提供的商品 create proc 嵌套查询2 FirmName varchar(16) as select MedicineName from MedInfor where FirmCode In (select FirmCode from FirmInfor where FirmName=FirmName) 建立存储过程实现集合查询 建立名为“集合查询1”的存储过错,用来查询提供某类商品的供应商数 create proc 集合查询1 MedicineName varchar(8) as select avg(FirmCode) from FrimInfor where FirmCode in(select FirmCode from MedInfor,FrimInfor where MedInfor.FirmCode=FrimInfor.FirmCode and MedicineName=MedicineName) 建立名为“集合查询2”的存储过错,用来查询药品种类数 create proc 集合查询2 as select count(MedKindeCode) from MedID 11 11 5.2 触发器 对表的操作有 INSERT ,DELETE,UPDATE,相应的触发器也分为 INSERT 触发器,DELETE 触发器和 UPDATE 触发器。 12 6数据库的用户与权限管理 员工可进行客户的录入,查询 经理可进行统计 7数据库的备份 对于 MedicalManagerSystem 数据库进行完全备份。 13 13 8.数据的导入与导出 利用 SQL Server 数据导入与导出的数据转换服务可以实现不同数据源间 的数据传输和数据格式的转换。 (1)数据的导出服务 将 MedicalManagerSystem 数据库中的 tblclient 表

温馨提示

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

评论

0/150

提交评论