1、前言随着计算机技术发展和普及,各行各业管理机构需要由计算机解决大量信息。在国内药物品种繁多,规模甚大,以往手工记载、查询操作容易出错且工作效率低,已经不能适应时代发展规定,并且手工管理要挥霍许多人力和物力,从管理角度来看,对管理者会导致诸多不便,尚有也许疏忽某些细节。运用计算机进行药物管理,堵塞了药物流失。规范了价格管理,避免了人为物价损失,从而明显地提高了经济效益。将销售行为纳入规范化、公开化轨道。21世纪是信息时代,在这个信息时代里竞争异常激烈,手工管理这种老式管理办法必然被计算机为基本信息管理所取代,因此实现药物信息智能化管理特别重要。因而,本人本次决定选取药物销售管理系统作为数据库课程
2、设计。我在分析和设计这个系统时,参照了大量有关资料,程序设计采用了面向对象设计办法,这种成熟、高效设计办法为系统开发带来了便利。本设计成功运用了Power Designer、SQL Server开发技术,设计出了药物销售系统。本次设计具有供应商信息,客户信息,药物信息,仓库信息,管理员信息,销售信息,供应信息,供应明细,销售明细,供应商往来账,退货返厂。 本设计实现了对这些信息查询、插入、修改、删除等操作。工程概况2.1 项目题目药物销售系统数据库设计2.2 课程设计开发环境开发操作系统是Windows XP。硬件、软件规定不高,当前市场上普通计算机软硬件都能满足系统开发规定。本次系统设计使用
3、前台开发工具是Power Designer。后台数据库使用是SQL server。2.3 项目设计背景及意义开发药店药物销售管理系统可以提高药物销售管理工作效率、扩大服务范畴、增长药店收入、及时获取信息、减少决策失误、减少库存积压、提高员工素质。可以及时提供药物基本信息、库存信息、销售业务信息和药店财务信息。在此基本上,通过对各种信息综合分析,以改进药物品种、提高服务质量、满足前来购药顾客不同规定,使药店管理向高质量、科学化发展。对提高仓储管理工作效率和对市场反映能力,能高效益、低库存、保证服务质量满足药店药物销售寻常管理需要,使其采用当代化管理手段以适应药店药物批发、零售业发展。 正文该药物
4、销售系统设计成功运用了Power Designer、SQL Server开发技术,设计出了对药物销售管理信息。为了以便顾客操作,在设立了系统功能,基本信息管理,查询等功能。在基本信息管理项供应商信息、客户信息、药物信息、仓库信息等,可以进行添加修改删除等操作,在销售明细中可以查询销售信息,此外也可以查询供应信息及退货返厂信息。 3.1 设计目和意义3.1.1 设计目通过本次数据库系统概论课程学习与课程设计制作,使我纯熟掌握了Power Designer、SQL Server技术设计基本办法,并学会了SQL Server查询分析器和公司管理器使用以及如何进行数据库备份还原基本知识,还学会了Pow
5、er Designer制图办法。同步通过两周数据库课程设计制作我还理解了数据库间关系模型及SQL语言特点,从而学会了如何建立基本表、定义、插入、删除与修改数据。通过该课程设计,使我对课本所学知识得以巩固,将Power Designer、SQL Server开发技术相结合开发药物销售系统,这次设计使咱们将理论知识和实践有机相结合,达到了学以致用真正目。 3.1.2 设计意义使用Power Designer、SQL Server开发数据库。规定将程序设计完整,编写出美观界面、操作简朴易懂数据库程序。运用所学课程知识分析解决实际问题,使咱们掌握数据库设计基本设计思想、通用办法和环节。同步培养咱们调查
6、研究、查阅技术文献、资料、手册动手能力。3.2 设计目的和总体方案3.2.1 设计目的药物销售系统重要任务是对药物销售进行管理,使药店销售管理以便化、智能化,向高质量、科学化发展。 3.2.2 设计总体方案药物销售系统重要功能涉及一下几种方面:(1)供应商信息管理:对药物销售系统中药物供应商进行管理,以便业务联系。(2)药物信息管理:对销售药物进行管理,能查询药物各项信息,还可以对药物价格调节,药物信息修改。(3)仓库信息管理:对存储药物进行管理,可以清晰理解药物存储状况。(4)销售信息管理:对药物销售状况进行管理,可以清晰查询药物销售额。(5)客户信息管理:对交易客户进行管理,可以查询、录入
7、、修改客户信息。(6)管理员信息管理:对药物销售员工进行管理,涉及对员工基本信息(如管理员姓名、年龄、联系电话等)进行检索、录入和修改。3.3 设计办法和内容3.3.1 需求分析开发者一方面要理解顾客需求,然后严格地定义该系统需求规格阐明书,这就是先要进行需求分析。需求分析是从客户需求中提取出软件系统可以协助顾客解决业务问题,通过对顾客业务问题分析,规划出系统功能模块,即定义用例。这个环节是对理解需求升华,直接关系到该系统质量。药店信息化实行是很急迫。依赖于系统重要业务有:进药单登记与保存,库存盘点,药物信息整顿与修改,销售药单整顿记录,销售额记录等。通过开发者同客户需求分析后,拟定药物销售系
8、统功能模块涉及:1)供应商信息管理 2)药物信息管理3)仓库信息管理 4)销售信息管理5)客户信息管理 6)管理员信息管理 依照需求分析,所设计系统有关数据流程如下:1、基本数据录入:涉及对供应商信息录入,药物信息录入,销售信息录入。2、数据查询:对进药信息、售药信息、药物基本信息等查询。3、数据分析:对药物销售状况记录,即对一段时间内销售额状况记录与图形分析。3.3.2 软硬件配备可以依照顾客量大小选取不同操作系统。固然,普通状况下,顾客对微软Windows界面比较熟悉,因而,建议客户端都使用Windows 或者Windows XP操作系统。3.3.3 设计过程在创立表之前,本人一方面绘制出
9、了设计流程图,如下图:药物销售系统供应商信息管理药物信息管理仓库信息管理销售信息管理客户信息管理管理员信息管理此数据库包括一下表:客户信息表 (Customer)、分派表 (Distribution)、药物信息表 (Drugs)、管理员信息表 (Manager)、退货返厂表 (Return Fanchang)、销售明细表 (SaleDetail)、销售表 (Sales table)、供应商往来帐 (Supplier current account)、供应商信息表(Suppliers)、供应信息表 (Supply)、供应明细表 (SupplyDetail)、仓库信息表 (Warehouse)。药
10、物销售系统设计E-R图:在Power designer 中完毕了药物销售系统数据库设计,设计图如下:导出表:下面简介这些表构造:(1)客户信息表 (Customer)(2)分派表 (Distribution)(3)药物信息表 (Drugs)(4)管理员信息表 (Manager) (5)退货返厂信息表 (Return Fanchang) (6)销售明细表 (SaleDetail)(7)销售信息表 (Sales table) (8)供应商往来帐 (Supplier current account)(9)供应商信息表 (Suppliers) (10)供应信息表 (Supply) (11)供应明细表
11、(SupplyDetail)(12)仓库信息表 (Warehouse)在Power designer中设计好后,可以生成脚本文献:(1)创立客户信息表 (Customer)脚本文献如下:create table Customer ( ID char(8) not null, Full title char(30), Abbreviation char(10), Address varchar(30), Respective area varchar(20), Telephone varchar(15), Contact person varchar(20), Bank account numb
12、er varchar(18), Taxpayer registration varchar(20), constraint PK_CUSTOMER primary key (ID);(2)创立分派表 (Distribution)脚本文献如下: create table Distribution ( War_ID char(8), ID char(8), Quantity int);(3)创立药物信息表 (Drugs)脚本文献如下: create table Drugs ( ID char(8) not null, Name varchar(20), Unit price money, Spec
13、ifications varchar(20), Origin varchar(20), Packing char(15), Quantity int, Durability char(10), Authorized document number char(15), constraint PK_DRUGS primary key (ID);(4)创立管理员信息表 (Manager) 脚本文献如下:create table Manager ( ID char(8) not null, Name varchar(20), Age int, Sex char(2), tel bigint, adre
14、ss char(20), constraint PK_MANAGER primary key (ID);(5)创立退货返厂信息表 (Return Fanchang)脚本文献如下: create table Return Fanchang ( ID char(8) not null, Return Date char(20), Returned goods quantity int, Unit price moeny, constraint PK_RETURN FANCHANG primary key (ID);(6) 创立销售明细表 (SaleDetail)脚本文献如下: create tab
15、le SaleDetail ( ID int not null, Dru_ID char(8), Sells the money shop varchar(20), Sales volume varchar(20) not null, Unit price money not null, Specification varchar(20), constraint PK_SALEDETAIL primary key (ID);(7) 创立销售信息表 (Sales table)脚本文献如下: create table Sales table ( Sells the money shop varch
16、ar(20) not null, ID int, Time DateTime, Has the amount money, constraint PK_SALES TABLE primary key (Sells the money shop);(8) 创立供应商往来帐 (Supplier current account)脚本文献如下: create table Supplier current account ( Account serial number char(8) not null, ID char(8), Time varchar(15), Billing method varch
17、ar(10), Settlement amount money, constraint PK_SUPPLIER CURRENT ACCOUNT primary key (Account serial number);(9) 创立供应商信息表 (Suppliers)脚本文献如下: create table Suppliers ( ID char(8) not null, Full title varchar(20), Abbreviation varchar(10), Telephone varchar(15), Address varchar(20), Respective area varc
18、har(10), Bank account number char(20), Taxpayer registration varchar(20), constraint PK_SUPPLIERS primary key (ID);(10) 创立供应信息表 (Supply)脚本文献如下: create table Supply ( ID char(8) not null, Supply time char(20), Has the amount money, constraint PK_SUPPLY primary key (ID);(11) 创立供应明细表 (SupplyDetail)脚本文献
19、如下: create table SupplyDetail ( ID char(8) not null, Dru_ID char(8), Supply float not null, Unit price money not null, Specifications varchar(20), constraint PK_SUPPLYDETAIL primary key (ID);(12) 创立仓库信息表 (Warehouse)脚本文献如下:create table Warehouse ( ID char(8) not null, Name varchar(20), Administrator
20、char(15), Category char(15), Area float, constraint PK_WAREHOUSE primary key (ID);3.4 设计创新和核心技术3.4.1 Power Designer设计 启动Power Designer,在工具栏中选取了Table工具,建立了Table表,她们分别是客户信息表 (Customer)、分派表 (Distribution)、药物信息表 (Drugs)、管理员信息表 (Manager)、退货返厂表 (Return Fanchang)、销售明细表 (SaleDetail)、销售表 (Sales table)、供应商往来帐
21、 (Supplier current account)、供应商信息表(Suppliers)、供应信息表 (Supply)、供应明细表 (SupplyDetail)、仓库信息表 (Warehouse)。在各个表中输入相应信息,研究各个表之间存在关系,拟定主键辅键,调试并生成代码。3.4.2 SQL Server设计启动SQL Server查询分析器,运营代码并生成表。进入公司管理器,生成Power Designer中建关系图,新建一种数据库,点击右键,在所有任务中选取导入数据,按提示操作最后生成表,然后备份数据库。3.4.3 核心技术应用程序运用了Power Designer、SQL Serve
22、r软件开发技术。在Power Designer中建了12个关系图,运营后生成代码,在SQL Server查询分析器里调试,生成了12个表,运用SQL Server公司管理器,新建数据库,导入数据,然后备份数据。3.5 调试及性能分析本设计在开始时错误诸多,重要是在需求分析方面没有理解清晰,通过指引教师和同窗协助,程序设计思路变清晰了,通过多次修改,发展到能运营限度,它从开始单一形式发展到了当前形式多样而操作简朴限度。程序做出了对供应商信息、药物信息、仓库信息、销售信息、客户信息、管理员信息管理,在此可以对基本数据录入,涉及对供应商信息录入,药物信息录入,销售信息录入。可以对数据进行查询,例如对
23、进药信息、售药信息、药物基本信息等查询。还可以进行数据分析,如对药物销售状况记录,即对一段时间内销售额状况记录与图形分析。如下是插入数据后表:(1)客户信息表 (Customer)(2)药物信息表 (Drugs)(3)管理员信息表 (Manager)(4)退货返厂信息表 (Return Fanchang)(6)销售明细表 (SaleDetail)(7)销售信息表 (Sales table)(8)供应商往来帐 (Supplier current account)(9)供应商信息表 (Suppliers)(10)供应信息表 (Supply)(11)供应明细表 (SupplyDetail)(12)仓
24、库信息表 (Warehouse)3.6 成果分析在设计中使用了Power Designer制作关系图,形象突出了系统之间存在内在关系,使用SQL Server成功建立和备份了数据库,使设计者节约了时间,提高了设计效率,最后成功完毕了该设计欲要达到真正目。在本次数据库课程设计中,我遇到了好多问题难以解决,在建立关系时候,由于没有清晰理解需求分析,关系建反了。尚有我数据库表格已经建成了,但在生成代码时浮现错误,系统提示是主键和外键设立不当,我仔细检查了Power Designer中框图,还是没有发现错误,然后请教了教师,教师给我仔细分析了各个表之间一对一,一对多等关系,在指引教师协助下,该问题最后
25、得以解决。 道谢为期两周课程设计结束了,本次课程设计中本人借助了上网查资料和图书来完毕,在整个课程设计过程中我遇到了诸多问题,通过指引教师和同窗们协助,进一步改进和完善了该系统设计,我运用Power Designer制图,用SQL Server建数据库,完毕了本次数据库设计。在这次数据库课程设计中,我进一步学习了Power Designer数据库开发技术,不但仅用到了SQL Server,还用到了Power Designer开发技术,以及与之有关计算机知识。在这里要感谢学校学院领导和教师们给咱们实际操作机会和为创造了良好学习条件。在本次课程设计中,指引教师认真负责工作态度,严谨治学精神和深厚理
26、论水平都使我受益匪浅。无论在理论上还是在实践中,都给与我很大协助,使我得到不少提高这对于我后来工作和学习均有一种巨大协助。在系统开发过程中陈立平教师予以咱们很大协助,协助解决了不少难点,使得系统可以及时开发完毕,尚有许多同窗同样给与了我不少协助,衷心感谢陈立平教师和同窗们精心指引和协助。实践是巩固所学知识最佳办法。这次系统设计使我学到了诸多知识和编程技巧。也使我自己水平提高到了一种新台阶。再次感谢予以我协助教师和同窗们。参照文献1王鹏.数据库技术及其应用.第1版,北京:人民邮电出版社,2月.2萨师煊,王珊.数据库系统概论.第一版,北京:高等教诲出版社,1983.3邱玉辉主编.数据库实用技术.重
27、庆西南师范大学出版社,.4胡铮.数据库管理.第1版,北京:华夏出版社,1月.5李代平.中文SQL Server 数据库系统管理.第1版,北京:冶金工业出版社,6月.6夏邦贵,郭胜.SQL Server数据库开发入门与范例解析.第一版,北京:机械工业出版社:第50页7蔡翠平.数据库技术-SQL.第1版,北京:清华大学出版社,1月.8C.J.Date.数据库系统导论.第一版,北京:机械工业出版社,.9王珊,陈红.数据库系统原理教程.第一版,北京:清华大学出版社,.10丁宝康,董健全.数据库实用教程.第二版,北京:清华大学出版社,.11张莉,王强,赵文,董莉.SQL Server数据库原理及应用教程
28、.第二版,北京:清华大学出版社,.12耿冲.SQL Server数据库管理.第二版,北京:机械工业出版社,.13章立民.SQL Server Transact_SQL 程序设计.第二版,北京:中华人民共和国铁道出版社,.14朱克勤.数据库系统性能优化办法.第一版,北京:中华人民共和国铁道出版社,.15宋世斌,李存华.SQL Server中存储过程技术研究与应用.第二版,北京:电脑知识与技术学院,.16王洪香.基于SQL Server数据库完整性约束几点探讨.第二版,北京:清华大学出版社,.18王新龙.存储过程应用研究.第一版,北京:中华人民共和国铁道出版社,.19宋大伟,马凤娟,安庆森.SQL
29、 Server中如何在日记文献丢失时恢复数据库.第二版,北京:教诲学院,.20梁宾,胡天云.SQL Server中数据库表构造动态修改.第一版,浙江:万里学院,.21王奇成.Sybase数据库存储过程性能优化.第二版,北京:铁路计算机应用,.22张义德,于西俭.基于SQL Server存储过程技术研究.第二版,北京:航空计算技术, .23王洪香.基于SQL Server数据库完整性约束几点探讨.第二版,北京:办公自动化,.24 耿文兰.SQL Server 数据库管理与开发.第1版.北京:电子工业出版社,10月.25 刘大玮主编.QL Server 数据库项目案例导航.京清华大学出版社,:第3
30、3页-35页26 刘赛锦.Transact-SQL 实例大全.第1版.北京:国防工业出版社,1月:第7页27 牛勇.SQL Server编程篇.第1版.北京:电子工业出版社,1月:第31页-74页28 丁宝康.数据库原理.第1版.北京:北京经济科学出版社,1月:第51页-68页29 姜力.高群.SQL Server数据库设计与管理.第1版.北京:北京大学出版社,8月:第49页-92页30 邱玉辉.数据库实用技术.第1版.重庆:西南师范大学出版社,12月:第25页附录A 程序代码/*=*/* DBMS name: Sybase AS Anywhere 9 */* Created on: -6-1
31、4 17:33:55 */*=*/if exists(select 1 from sys.sysforeignkey where role=FK_CUSTOMER_REFERENCE_MANAGER) then alter table Customer delete foreign key FK_CUSTOMER_REFERENCE_MANAGERend if;if exists(select 1 from sys.sysforeignkey where role=FK_DISTRIBU_REFERENCE_WAREHOUS) then alter table Distribution del
32、ete foreign key FK_DISTRIBU_REFERENCE_WAREHOUSend if;if exists(select 1 from sys.sysforeignkey where role=FK_DISTRIBU_REFERENCE_SUPPLYDE) then alter table Distribution delete foreign key FK_DISTRIBU_REFERENCE_SUPPLYDEend if;if exists(select 1 from sys.sysforeignkey where role=FK_RETURN F_REFERENCE_S
33、UPPLYDE) then alter table Return Fanchang delete foreign key FK_RETURN F_REFERENCE_SUPPLYDEend if;if exists(select 1 from sys.sysforeignkey where role=FK_SALEDETA_REFERENCE_DRUGS) then alter table SaleDetail delete foreign key FK_SALEDETA_REFERENCE_DRUGSend if;if exists(select 1 from sys.sysforeignk
34、ey where role=FK_SALEDETA_REFERENCE_SALES TA) then alter table SaleDetail delete foreign key FK_SALEDETA_REFERENCE_SALES TAend if;if exists(select 1 from sys.sysforeignkey where role=FK_SALES TA_REFERENCE_CUSTOMER) then alter table Sales table delete foreign key FK_SALES TA_REFERENCE_CUSTOMERend if;
35、if exists(select 1 from sys.sysforeignkey where role=FK_SUPPLIER_REFERENCE_SUPPLIER) then alter table Supplier current account delete foreign key FK_SUPPLIER_REFERENCE_SUPPLIERend if;if exists(select 1 from sys.sysforeignkey where role=FK_SUPPLY_REFERENCE_SUPPLIER) then alter table Supply delete for
36、eign key FK_SUPPLY_REFERENCE_SUPPLIERend if;if exists(select 1 from sys.sysforeignkey where role=FK_SUPPLYDE_REFERENCE_DRUGS) then alter table SupplyDetail delete foreign key FK_SUPPLYDE_REFERENCE_DRUGSend if;if exists(select 1 from sys.sysforeignkey where role=FK_SUPPLYDE_REFERENCE_SUPPLY) then alt
37、er table SupplyDetail delete foreign key FK_SUPPLYDE_REFERENCE_SUPPLYend if;if exists( select 1 from sys.systable where table_name=Customer and table_type in (BASE,GBL TEMP) then drop table Customerend if;if exists( select 1 from sys.systable where table_name=Distribution and table_type in (BASE,GBL
38、 TEMP) then drop table Distributionend if;if exists( select 1 from sys.systable where table_name=Drugs and table_type in (BASE,GBL TEMP) then drop table Drugsend if;if exists( select 1 from sys.systable where table_name=Manager and table_type in (BASE,GBL TEMP) then drop table Managerend if;if exist
39、s( select 1 from sys.systable where table_name=Return Fanchang and table_type in (BASE,GBL TEMP) then drop table Return Fanchangend if;if exists( select 1 from sys.systable where table_name=SaleDetail and table_type in (BASE,GBL TEMP) then drop table SaleDetailend if;if exists( select 1 from sys.sys
40、table where table_name=Sales table and table_type in (BASE,GBL TEMP) then drop table Sales tableend if;if exists( select 1 from sys.systable where table_name=Supplier current account and table_type in (BASE,GBL TEMP) then drop table Supplier current accountend if;if exists( select 1 from sys.systable where table_name=Suppliers and table_type in (BASE,GBL TEMP) then drop table Suppliersend if;if exists( select 1 from sys.systable where table_name=Supp