塔里木大学信息工程学院课程设计第1页共23页前言随着计算机技术的发展和普及,各行各业的管理机构需要由计算机处理大量的信息。在我国药品品种繁多,规模甚大,以往的手工记载、查询操作容易出错且工作效率低,已经不能适应时代发展的要求,而且手工管理要浪费许多人力和物力,从管理的角度来看,对管理者会造成诸多的不便,还有可能疏忽一些细节。利用计算机进行药品管理,堵塞了药品的流失。规范了价格管理,避免了人为的物价损失,从而明显地提高了经济效益。将销售行为纳入规范化、公开化的轨道。21世纪是信息时代,在这个信息时代里竞争异常激烈,手工管理这种传统的管理方法必然被计算机为基础的信息管理所取代,所以实现药品的信息智能化管理特别重要。因此,本人此次决定选择药品销售管理系统作为数据库课程设计。我在分析和设计这个系统时,参考了大量相关资料,程序设计采用了面向对象设计方法,这种成熟、高效的设计方法为系统开发带来了便利。本设计成功运用了PowerDesigner、SQLServer开发技术,设计出了药品销售系统。此次设计含有供应商信息,客户信息,药品信息,仓库信息,管理员信息,销售信息,供应信息,供应明细,销售明细,供应商往来账,退货返厂。本设计实现了对这些信息的查询、插入、修改、删除等操作。工程概况2.1项目题目药品销售系统数据库设计2.2课程设计开发环境开发的操作系统是WindowsXP。硬件、软件要求不高,目前市场上的一般计算机软硬件都能满足系统开发要求。本次系统设计使用的前台开发工具是PowerDesigner。后台数据库使用的是SQLserver2000。2.3项目设计背景及意义开发药店药品销售管理系统能够提高药品销售管理的工作效率、扩大服务范围、增加药店收入、及时获取信息、减少决策失误、减少库存积压、提升员工的素质。能够及时提供药品基本信息、库存信息、销售业务信息和药店财务信息。在此基础上,通过对各种信息的综合分析,以改进药品品种、提高服务质量、满足前来购药顾客的不同要求,使药店管理向高质量、科学化发展。对提高仓储管理的工作效率和对市场的反应能力,能高效益、低库存、保证服务质量的满足药店药品销售日常管理的需要,使其采用现代化管理手段以适应药店药品批发、零售业的发展。塔里木大学信息工程学院课程设计第2页共23页正文该药品销售系统设计成功运用了PowerDesigner、SQLServer开发技术,设计出了对药品销售的管理信息。为了方便用户操作,在设置了系统功能,基本信息管理,查询等功能。在基本信息管理项的供应商信息、客户信息、药品信息、仓库信息等,可以进行添加修改删除等操作,在销售明细中可以查询销售信息,另外也可以查询供应信息及退货返厂的信息。3.1设计目的和意义3.1.1设计目的通过本次数据库系统概论课程的学习与课程设计的制作,使我熟练掌握了PowerDesigner、SQLServer技术设计的基本方法,并学会了SQLServer查询分析器和企业管理器的使用以及如何进行数据库的备份还原的基本知识,还学会了PowerDesigner的制图方法。同时通过两周的数据库课程设计的制作我还了解了数据库间的关系模型及SQL语言的特点,从而学会了如何建立基本表、定义、插入、删除与修改数据。通过该课程设计,使我对课本所学的知识得以巩固,将PowerDesigner、SQLServer开发技术相结合开发药品销售系统,这次设计使我们将理论知识和实践有机的相结合,达到了学以致用的真正目的。3.1.2设计意义使用PowerDesigner、SQLServer开发数据库。要求将程序设计完整,编写出美观的界面、操作简单易懂的数据库程序。运用所学课程的知识分析解决实际问题,使我们掌握数据库设计的基本设计思想、通用方法和步骤。同时培养我们调查研究、查阅技术文献、资料、手册的动手能力。3.2设计目标和总体方案3.2.1设计目标药品销售系统的主要任务是对药品销售进行管理,使药店的销售管理方便化、智能化,向高质量、科学化发展。3.2.2设计总体方案药品销售系统的主要功能包括一下几个方面:(1)供应商信息管理:对药品销售系统中的药品供应商进行管理,方便业务联系。(2)药品信息管理:对销售的药品进行管理,能查询药品的各项信息,还可以对药品价格调整,药品信息修改。(3)仓库信息管理:对存储的药品进行管理,可以清楚的了解药品的存储情况。(4)销售信息管理:对药品的销售情况进行管理,可以清楚的查询药品的销售额。(5)客户信息管理:对交易客户进行管理,可以查询、录入、修改客户信息。(6)管理员信息管理:对药品销售的员工进行管理,包括对员工的基本信息(如管理员的姓名、年龄、联系电话等)进行检索、录入和修改。3.3设计方法和内容3.3.1需求分析开发者首先要了解用户的需求,然后严格地定义该系统的需求规格说明书,这就是先要进行需求分析。需求分析是从客户的需求中提取出软件系统能够帮助用户解决的业务问题,通过对用户业务问题的分析,规划出系统的功能模块,即定义用例。这个步骤是对理解需求的升华,直接关系到该系统的质量。塔里木大学信息工程学院课程设计第3页共23页药店的信息化实施是很紧迫的。依赖于系统的主要业务有:进药单登记与保存,库存盘点,药品信息整理与修改,销售药单整理统计,销售额统计等。经过开发者同客户的需求分析后,确定药品销售系统的功能模块包括:1)供应商信息管理2)药品信息管理3)仓库信息管理4)销售信息管理5)客户信息管理6)管理员信息管理根据需求分析,所设计系统的相关数据流程如下:1、基础数据录入:包括对供应商信息的录入,药品信息的录入,销售信息的录入。2、数据查询:对进药信息、售药信息、药品基本信息等的查询。3、数据分析:对药品销售情况的统计,即对一段时间内销售额情况的统计与图形分析。3.3.2软硬件配置可以根据用户量的大小选择不同的操作系统。当然,一般情况下,用户对微软Windows界面比较熟悉,因此,建议客户端都使用Windows2000或者WindowsXP操作系统。3.3.3设计过程在创建表之前,本人首先绘制出了设计流程图,如下图:此数据库包含一下表:客户信息表(Customer)、分配表(Distribution)、药品信息表(Drugs)、管理员信息表(Manager)、退货返厂表(ReturnFanchang)、销售明细表(SaleDetail)、销售表(Salestable)、供应商往来帐(Suppliercurrentaccount)、供应商信息表(Suppliers)、供应信息表(Supply)、供应明细表(SupplyDetail)、仓库信息表(Warehouse)。药品销售系统供应商信息管理药品信息管理仓库信息管理销售信息管理客户信息管理管理员信息管理塔里木大学信息工程学院课程设计第4页共23页药品销售系统设计E-R图:在Powerdesigner中完成了药品销售系统的数据库设计,设计图如下:塔里木大学信息工程学院课程设计第5页共23页导出的表:下面介绍这些表的结构:(1)客户信息表(Customer)(2)分配表(Distribution)(3)药品信息表(Drugs)塔里木大学信息工程学院课程设计第6页共23页(4)管理员信息表(Manager)(5)退货返厂信息表(ReturnFanchang)(6)销售明细表(SaleDetail)(7)销售信息表(Salestable)(8)供应商往来帐(Suppliercurrentaccount)塔里木大学信息工程学院课程设计第7页共23页(9)供应商信息表(Suppliers)(10)供应信息表(Supply)(11)供应明细表(SupplyDetail)(12)仓库信息表(Warehouse)在Powerdesigner中设计好后,可以生成脚本文件:(1)创建客户信息表(Customer)的脚本文件如下:createtableCustomer(IDchar(8)notnull,Fulltitlechar(30),Abbreviationchar(10),Addressvarchar(30),Respectiveareavarchar(20),Telephonevarchar(15),Contactpersonvarchar(20),Bankaccountnumbervarchar(18),Taxpayerregistrationvarchar(20),constraintPK_CUSTOMERprimarykey(ID));塔里木大学信息工程学院课程设计第8页共23页(2)创建分配表(Distribution)的脚本文件如下:createtableDistribution(War_IDchar(8),IDchar(8),Quantityint);(3)创建药品信息表(Drugs)的脚本文件如下:createtableDrugs(IDchar(8)notnull,Namevarchar(20),Unitpricemoney,Specificationsvarchar(20),Originvarchar(20),Packingchar(15),Quantityint,Durabilitychar(10),Authorizeddocumentnumberchar(15),constraintPK_DRUGSprimarykey(ID));(4)创建管理员信息表(Manager)的脚本文件如下:createtableManager(IDchar(8)notnull,Namevarchar(20),Ageint,Sexchar(2),telbigint,adresschar(20),constraintPK_MANAGERprimarykey(ID));(5)创建退货返厂信息表(ReturnFanchang)的脚本文件如下:createtableReturnFanchang(IDchar(8)notnull,ReturnDatechar(20),Returnedgoodsquantityint,Unitpricemoeny,constraintPK_RETURNFANCHANGprimarykey(ID));塔里木大学信息工程学院课程设计第9页共23页(6)创建销售明细表(SaleDetail)的脚本文件如下:createtableSaleDetail(IDintnotnull,Dru_IDchar(8),Sellsthemoneyshopvarchar(20),Salesvolumevarchar(20)notnull,Unitpricemoneynotnull,Specificationvarchar(20),constraintPK_SALEDETAILprimarykey(ID));(7)创建销售信息表(Salestable)的脚本文件如下:createtableSalestable(Sellsthemoneyshopvarchar(20)notnull,IDint,TimeDateTime,Hastheamountmoney,constraintPK_SALESTABLEprimarykey(Sellsthemoneyshop));(8)创建供应商往来帐(Suppliercurrentaccount)的脚本文件如下:createtableSuppliercurrentaccount(Accountserialnumberchar(8)notnull,IDchar(8),Timevarchar(15),Billingmethodvarchar(10),Settlementamountmoney,constraintPK_SUPPLIERCURRENTACCOUNTprimarykey(Accountserialnumber));(9)创建供应商信息表(Suppliers)的脚本文件如下:createtableSuppliers(IDchar(8)notnull,Fulltitlevarchar(20),