医药销售管理数据库课程设计.doc_第1页
医药销售管理数据库课程设计.doc_第2页
医药销售管理数据库课程设计.doc_第3页
医药销售管理数据库课程设计.doc_第4页
医药销售管理数据库课程设计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

成 绩12信计2013-2014(二)数据库原理及应用课程设计设计题目 医药销售管理系统 设计时间 2014.6.23-2014.6.29 学生姓名 学生学号 所在班级 指导教师 徐州工程学院数学与物理科学学院目 录1 概要设计1.1 系统需求分析1.2 系统结构设计1.3 系统功能模块设计2详细设计 2.1 系统数据库设计 2.1.1 数据库需求分析 2.1.2 数据库概念设计 2.1.3 数据库逻辑设计 2.1.4 数据库物理设计 2.1.5 数据库实施2.2 系统主要功能模块设计2.3 主要模块代码3 系统调试与运行结论致谢参考文献附录附录1附录2 一、概要设计1、系统需求分析1.1 信息需求(基本信息)药品信息:药品编号,药品名称,数量,售价,进价,供应商等供应商信息:供应商号,供应商名称,联系人,所在城市等药品销售信息:销售编码,药品编码,药品名称,售价,单位,数量,总额,销售日期等员工信息:员工号,姓名,用户名,职位,用户密码,用户权限等1.2 功能需求系统要实现的主要功能有:(1)对药品信息的维护和管理,能够万册很能够药品信息的添加、修改和删除,并按一定条件查询药品信息。(2)对供应商信息的管理,能够完成信息的添加、修改和删除,并按一定条件查询信息。(3)对客户和员工信息的管理,能够完成信息的添加、修改和删除,并按一定条件查询信息。(4)仓库管理,能够查询库存药品信息,并对库存进行更新、盘点(5)销售管理,销售登记、销售退货、销售报表及相应的查询等;2、系统结构设计系统结构图如图所示医药管理系统基础信息管理进货管理库房管理销售管理财务统计系统维护药品信息员工信息客户信息供应商信息入库登记入库登记查询入库报表库存查询库存盘点退货处理库存报表销售登记销售退货销售报表销售查询当日统计当月统计报表数据安全管理操作员管理权限设置3、功能模块设计基础信息管理模块:完成对员工,客户,供应商,药品等信息的查询,删除,添加等操作;进货管理模块:完成对入库药品的信息查询等操作;库房管理模块:完成对库房的库存信息,退换货信息的查询,登记入录等操作;销售管理模块:完成销售信息的录入,查询,退货等管理操作;财务统计模块:完成当月统计和当月统计等报表的实现操作;系统维护模块:完成对员工的管理权限的设置等操作;二、详细设计2.1系统数据库设计2.1.1需求分析数据要求:药品信息、员工信息、客户信息、供应商信息药品出入库情况(数量,价格,总价等)库存量,销售量处理要求:a) 基础信息管理:药品信息、员工信息、客户信息、供应商信息等;b) 进货管理:入库登记、入库登记查询、入库报表等;c) 库房管理:库存查询、库存盘点、退货处理、库存报表等;d) 销售管理:销售登记、销售退货、销售报表及相应的查询等;e) 财务统计:当日统计、当月统计及相应报表等;f) 系统维护2.1.1.1数据字典 1、 数据项编号数据项名称说明部分1编号整形类型,具有唯一性2药名字符型,具有唯一性3进价浮点型4数量整形5售价浮点型6供应商字符型,具有唯一性7联系人字符型8所在城市字符型9日期10供应商号整形,具有唯一性11员工号整形,具有唯一性12客户号整形,具有唯一性13名称字符型14联系方式15进货单号整形16姓名字符型17权限字符型18备注文本类型19库存数量整型20销售编码整型2、 数据结构编号数据结构名属性1药品基本信息编号、药名、进价、数量、售价、供应商、2供应商基本信息供应商号、名称、联系人、所在城市3客户基本信息客户号、名称、联系人、所在城市4员工基本信息员工号、姓名、权限、用户名、职位、密码5入库登记编号、药名、数量、单价、总价、备注6仓库查询编号、药名、库存数量、单价、备注7退货处理编号、药名、退货数量、单价、备注8销售登记编号、药名、单价、数量、总价、工号、日期9销售报表编号、药名、单价、数量、总价、工号、日期10销售退货编号、药名、单价、数量、总价、工号、日期11日结算编号、发票号、数额、员工号、日期12月结算编号、余额、收入、支出、余额、工号、日期13年终结算编号、收入、支出、净收入、员工号、日期3、 数据流编号数据流名输入输出1药品信息入库药品药品基本信息2供应商信息新增供应商供应商基本信息3客户信息新增客户客户基本信息4员工信息招新员工员工基本信息4、 数据存储数据存储名输入数据流输出数据流药品信息药品基本信息供应商信息供应商基本信息员工信息员工基本信息药品入库新进购药品的信息仓库中药品信息仓库退货退出货物的基本信息仓库中药品信息销售登记售出药品的信息药品基本信息销售退货退回药品信息药品基本信息财务统计收入和支出情况财务状况5、 处理过程处理过程名输入数据流输出数据流招收新员工终端员工基本信息辞掉老员工终端员工基本信息药品入库终端药品基本信息仓库退货终端药品基本信息销售登记终端药品基本信息销售退货终端药品基本信息财务统计收入、支出情况 财务状况2.1.2 概念结构设计2.1概念结构设计的方法主要有4种(1) 自顶向下(2) 自底向上(3) 逐步扩张(4) 混合政策2.2 数据流程图客 户医药销售管理系统员工供应商发货,退货订 货查 询验 证进货(系统顶层数据流程图)药品入库药品出库药品销售药品退货入库信息库出库信息库销售信息库退货信息库药品信息库员工信息库客户信息库员工管理供货单入库清单入库记录出库记录出货单员工信息出库清 单销售信息退货信息销售清单(系统0层数据流程图)数据库的概念设计就是画出E-R图。分析前面的系统功能要求,需要一个表来存储和管理客户信息,使系统能够接受客户查询药品时输入的各项数据,以实现数据录入、查询或统计客户信息等功能。客户是本系统的第一个实体。为了能实现查询和统计药品情况等功能,必须有一个表来存储和管理所有药品的信息。药品是本系统的第二个实体。据此可以绘出医药销售管理系统数据库的E-R图如下:药品ER图药品名称进价售价编码供应商号客户E-R图客户客户名称联系人所在地客户号员工E-R图员工姓名密码员工号权限用户名职位供应商E-R图供应商供应商名称联系人供应商号所在地销售E-R图药品销售清单销售编码数量日期供应商号员工号药品名称药品编码整体ER图药 品客 户进货供 应 商销售员 工药品编码药品名称进价所在地客户号名称员工号姓名供应商号名称联系人联系人人销售日期进货单号日期销售编码数量数量售价所在地密码权限用户名职位2.1.3逻辑结构设计将数据库的概念模型转换为关系模型药品信息(编码,药名,数量、售价,进价,供应商号)员工信息(员工号,姓名,密码,权限,用户名)客户信息(客户号,名称,联系人,客户所在城市)供应商信息(供应商号,名称,联系人,所在城市)药品销售信息(销售编码,销售日期,药品编码,药品名称,单价,数量,供应商,总额,员工号) 外码:销售员编码、药品编码药品进货信息(进货单号,进货日期,药品编码,药品名称,单价,数量,供应商,)2.1.4物理设计数据库的物理结构是指数据库在物理设备上的存储结构与存取方法,依赖于给定的计算机系统。通过上一阶段的逻辑设计选取了一个最适合应用要求的物理结构的设计。2.1.5数据库的实现数据库实现是运用DBMS提供的DDL数据语言定义数据库结构,组织数据入库,编写与调试应用程序。数据表设计 通过对关系模式的优化,得到六个基本表:表31药品信息表字段名字段类型长度主键或外键字段值约束对应中文属性名MedicineCodeChar6Primary KeyNot Null药品编码MedicineNameVarchar32Not Null药品名称PriceMoney8售价ListPriceMoney8进价StockNum Int4库存量FirmCodeChar4Not Null供应商编码表3-2供应商信息字段名字段类型长度主键或外键字段值约束对应中文属性名FirmCodeChar4Primary KeyNot Null供应商编码FirmNameVarchar16Not Null供应商名称LinkVarchar12联系人CityVarchar8所在城市表3-3药品销售管理表字段名字段类型长度主键或外键字段值约束对应中文属性名SaleNoint4Primary KeyNot Null销售编码MedicinecodeChar6Foreign keyNot Null药品编码MedicineNameVarchar32Not Null药品名称PriceMoney8售价NumberInt4数量AmountMoney8金额SaleDateDatetime8销售日期 表3-4用户信息字段名字段类型长度主键或外键字段值约束对应中文属性名WorkNoChar2Primary KeyNot Null员工号NameVarchar12姓名UserRegNameChar3Not Null用户名Passwordchar3Not Null用户口令Positionvarchar10用户职位PowerInt4用户权限5数据库实现5.1创建数据库(1)打开SQL工具“查询分析器”(2)在查询窗口中键入下列SQL语句create database user执行上述SQL语句即可新建一名为“user”的数据库5.2创建数据表创建药品信息表: create table MedInfor ( MedicineCode char(6) not null, MedicineName varchar(32) not null, Price numeric(8,2), ListPrice numeric(8,2), StockNum int, FirmCode char(4), primary key (MedicineCode);insert into MedInfor values(06001,仁和可立克,14,10,1000,001)insert into MedInfor values(06002,泰诺,8,5,1400,001)insert into MedInfor values(06003,999感冒灵,20,14,54000,002)insert into MedInfor values(06004,白加黑,15,12,95030,002)insert into MedInfor values(06005,双黄连口服液,30,18,95031,003)insert into MedInfor values(06006,康必得,20,19,95310,004)insert into MedInfor values(06007,板蓝根颗粒,8,6,95022,002)insert into MedInfor values(06009,阿莫西林,23,20,9032,003)insert into MedInfor values(06010,复方甘草片,30,19,9533,004)insert into MedInfor values(06011,健胃消食片,10,6,45033,006)insert into MedInfor values(06012,阿司匹林,21,15,65033,005)执行结果:创建供应商信息表: create table FirmInfor ( FirmCode char(4) not null, FirmName varchar(16) not null, Link varchar(12), City varchar(8), primary key (FirmCode);insert into FirmInfor values(001,海南伊顺药业,张三,南通)insert into FirmInfor values(002,唐山吉祥药业,李四,苏州)insert into FirmInfor values(003,广西贝式,小红,张家港)insert into FirmInfor values(004,北京银象药集团,小李,徐州)insert into FirmInfor values(005,沈阳奥吉娜药业,滚滚,上海)insert into FirmInfor values(006,葵花药业,钱玉模,昆山)执行结果:创建药品销售管理表: create table SupplyInfor ( SaleNo int not null, MedicineCode char(6) not null, MedicineName varchar(32) not null, Price Money, Number int,Amount Money,SaleDate Datetime, primary key (SaleNo); insert into SupplyInfor values(01,122,仁和可立克,14,300,4200,2001-1-1)insert into SupplyInfor values(02,123,泰诺,8,1000,8000,2002-1-4)insert into SupplyInfor values(03,124,999感冒灵,20,200,4000,2003-2-3)insert into SupplyInfor values(04,125,复方甘草片,30,1000,30000,2012-4-5)insert into SupplyInfor values(05,126,健胃消食片,10,2000,20000,2013-3-5)insert into SupplyInfor values(06,127,板蓝根颗粒,8,3000,24000,2014-6-7)执行结果:创建用户信息: create table UserInfor (WorkNo char(2) not null,Name varchar(12), UserRegName char(3) not null, Password char(3) not null, Position varchar(10) not null, Power int, primary key (WorkNo );insert into UserInfor values(81,赵亦,zy,111,医生,001)insert into UserInfor values(82,李林,ll,222,护士,002)insert into UserInfor values(83,巧巧,sq,333,护士,001)insert into UserInfor values(84,丁丁,dd,555,教授,003)insert into UserInfor values(85,滚滚,gg,666,护士,002)insert into UserInfor values(86,月月,yy,777,药剂师,004)执行结果:6数据库运行和维护阶段6.1数据定义:表的修改及删除;索引的创建和删除;视图的创建和删除6.2 数据库查询操作(1)查询所有的药品信息select *from MedInfor查询结果如下:(2)查询名为赵亦的员工的基本信息select * from UserInforwhere name=赵亦查询结果如下:(3) 查询药品编号为06001的入库登记信息select * from SupplyInforwhere MedicineCode=06001查询结果为:(4)查询供应药品仁和可立克的客户的编号、名称及联系人姓名select FirmInfor.FirmCode,FirmName,Linkfrom FirmInfor,MedInforwhere FirmInfor.FirmCode=MedInfor.FirmCodeand MedicineName=仁和可立克查询结果为:(5)查询供应商编码为海南伊顺药业生产的药品名称及库存量select MedicineName,StockNumfrom MedInforwhere FirmCode in(select FirmCodefrom FirmInforwhere FirmName=海南伊顺药业)查询结果为:6.3数据库更新操作6.3.1插入数据 向FirmInfor表中添加一条记录:Firmcode:007,FirmName:江中集团Link: 王斌City:南京insert into FirmInfor values(007,江中集团,王斌,南京)执行结果:6.3.2修改数据修改供应商编码为007的联系人姓名为李林update FirmInforset Link=李林where FirmCode=007执行结果:6.3.3删除数据删除表FirmInfor中供应商编码为007的记录delete from FirmInforwhere FirmCode=007执行结果6.4为数据库建立索引创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。6.4.1.创建索引 (1)在SupplyInfor表的MedicineCode列上创建非聚集索引,要求索引键值按MedicineCode升序排列。create index Relationship_1 on SupplyInfor (MedicineCode ASC);(2)在FirmInfor表的FirmCode 列上创建非聚集索引。create index Relationship_2 on FirmInfor (FirmCode );6.4.2删除索引删除FirmInfor表的Relationship_2 列上的索

温馨提示

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

评论

0/150

提交评论