药品存销信息管理系统(全)
更新时间:2024-01-03 10:45:01 阅读量: 教育文库 文档下载
信息工程学院
《数据库课程设计》论文
题 目:学 号:专业班级:姓 名:指导老师:完成日期:药品存销信息管理系统
*********** 计算机科学与技术103
***** ****** 2012年01月13日
药品存销信息管理系统数据库设计
****
(信息工程学院计算机科学与技术10级3班)
摘 要
本次课程设计是药品存销信息管理系统,伴随着社会的复杂化,传统的“一支笔,一本帐簿”的药品销售管理方式也慢慢的无法适应形势的变化。随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。因此设计药品存销信息系统是当务之急,本系统包括药品采购,药品存储,药品销售。药品采购包括采购员进货,采购员退货。药品存储包括仓库存储以及仓库管理员管理仓库。药品销售包括顾客买药与顾客退药。本系统包括几个视图来使数据库使用者快速的查询想要得到的信息,本系统包括几个PL/SQL语句块,还包括几个触发器,使得数据得到同步修改,使数据库中的数据更加合理。
关键字:数据库;经销存;药品管理系统
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
目录
目录............................................................................................................................. - 1 - 1.需求分析 .................................................................................................................. - 3 -
1.1需求分析阶段处理对象及组织 ......................................................................... - 3 - 1.2信息处理及系统功能 ....................................................................................... - 3 -
1.2.2数据字典 .............................................................................................. - 5 - 2.数据库结构设计 ...................................................................................................... - 5 -
2.1 概念设计........................................................................................................ - 5 -
2.2 逻辑设计........................................................................................................ - 8 -
2.2.1 建立关系模式 ........................................................................................ - 8 -
2.2.2 关系模式规范化处理...........................................................................- 10 - 以上关系模式中的各实体和联系之间不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF。 ......................................- 10 -
2.2.3 用户子模式建立..................................................................................- 10 -
3. 数据库物理设计 ...................................................................................................- 10 -
3.1 物理设计阶段目标和任务 ..............................................................................- 10 - 3.2数据存储方面 ................................................................................................- 11 -
3.2.1 建立索引的原则..................................................................................- 11 - 4.数据库实施与测试 .................................................................................................- 11 -
4.1 数据库实施 ...................................................................................................- 11 - 4.1.1 数据库及数据库对象建立....................................................................- 11 -
5.总结 ......................................................................................................................- 13 - 6.附录 ......................................................................................................................- 13 - 附录1 :....................................................................................................................- 13 -
附录2 ..................................................................................................................- 17 - 附录3 ..................................................................................................................- 22 -
- 1 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
引言
随着全球信息技术的飞速发展,尤其是因特网的出现和普及,企业和决策都
发生 了根本的改变。采用信息技术促进、改造药店的生产、经营、管理,有效采集和处理 信息,增强企业决策的有效性,适应全球发展的要求,将成为企业发展的必由之路。 信息管理系统已经成为现代企业的一个重要标志和衡量企业综合实力的重要组成部分。但是,信息管理系统的开发却非常困难。开发一个成功的企业信息管理系统,不仅要有方方面面的专业知识,还要充分分析企业内部、外部环境的变化和关系,以及 在信息管理系统开发过程中所涉及的设备、技术上的复杂性。这就需要系统开发者不断总结经验,不断探索更好的方法和技术。
如今药品无论在任何时候都是一个国家最重要的东西,也是对一个人最需要的东西,药品管理正处于一个高速发展的时期。药品的信息在供应商与销售部和顾客之间大量的流通,因此,建立一个合适的数据库来管理这些数据是必不可少的。这样药品存销信息管理系统就这样诞生了,它可以高效的来管理这些数据,是药品高效的发货和供应。
本次数据库设计严格按照书上的要求和设计数据库步骤,从需求分析,概念设计,逻辑设计,物理设计,到数据库最后的建立、运行。
- 2 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
1.需求分析
主要包括内容:处理对象及组织;信息处理及系统功能;数据库系统性能需要,数据库系统开发环境需求等。在阐述信息及其处理过程时,要辅助业务流程图、数据流程图及数据字典。对上述三个问题可以以附录的形式详细罗列,但正文中必须指明做了哪些业务流程图、数据流程图和数据字典的规模。
1.1需求分析阶段处理对象及组织
(1)熟悉业务并绘制业务路程图;
(2)根据业务流程图明确有哪些数据流动,绘制数据流程图;
(3)建立数据字典,其中包括数据项、数据结构、数据流、数据存储、处理过程等。
1.2信息处理及系统功能 1.2.1数据流程图
药品存销信息管理系统数据流程图如下
(3)第一层数据流程图
图1-1第一层数据流程图
- 3 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
(2)第二层数据流程图——进货
图1-2 进货数据流程图
(4)第二层数据流程图——销售
图1-3 销售数据流程图
- 4 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
(5)第二层数据流程图——存储
图1-4 存储数据流程图
1.2.2数据字典
包含数据项、数据结构、数据流、处理逻辑、数据存储定义(详见附录1)。
2.数据库结构设计
2.1 概念设计
阶段要求:
(1)能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;
(2)易于理解,因此可以用它和不熟悉计算机的用户交换意见; (3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换。
- 5 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
2.2.1 分E-R图的建立
建立分E-R图的思想:
对需求分析阶段收集到的数据进行分类、组织(聚集),形成实体、实体的属性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n),设计分E-R图;
参照数据流程图画出分E-R图 (1)进货时的分E-R图
图2-1 进货时的分E-R图
- 6 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
(2)销售时的分E-R图
图2-2销售时的分E-R图
(3)盘存时的分E-R图
图2-3盘存时的分E-R图
2.1.2 全局/整体E-R图
1.每次集成局部E-R图是,分两步走
(1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步的E-R图。
- 7 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
(2)修改和重构。消除不必要的冗余。 总E-R图
图2-4 总E-R图
2.2 逻辑设计
概念设计阶段是独立于任何一种数据模型的,而逻辑设计阶段则与现实结合起来,逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为与项目所支持的数据模型相符合的逻辑结构。具体任务包括将E-R图转换成关系模型、模型优化、数据库模式定义、用户模式设计。
2.2.1 建立关系模式
转化规则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。一个1:1联系可以转换为一个独立关系模式,也可以与任意一端关系模式合并;一个1:N联系可以转换为一个独立关系模式,也可以与n端实对应的关系模式合并;一个M:N联系转换为一个独立关系模式,具有相同码的关系模式可以合并
- 8 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
退货单 表6-12 属性名 类型 SupNumber varchar(20) mannum varchar(20) Gnumber varchar(20) Gweight Float Thdate
Date
销售员售货 属性名 类型 mannum varchar(20) Gnumber varchar(20) Cusnum varchar(20) Gweight Float Gprice Float Gjhdate
Date
顾客退货 属性名 类型
mannum varchar(20) Gnumber varchar(20) Cusnum varchar(20) Gweight Float Gthdate
Date
2.SQL语言实现
创建货物表
create table Goods (
Gnumber varchar(20) primary key, Gname varchar(20) not null, Gweight float check (Gweight>0), Gtype varchar(20),
Gprice float check (Gprice>0), Gdate date,
Gstodate int check(Gstodate>0) )
创建供应商表
create table Supplier (
取值范围 >0
表6-13 取值范围 >0 >0
表6-14 取值范围
- 19 - 是否为主键 Y Y Y N N
是否为主键 Y Y Y N N N
是否为主键 Y Y Y N N
是否可为空 N N N Y Y
是否可为空 N N N Y Y Y
是否可为空 N N N Y Y
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
SupNumber varchar(20) primary key, SupName varchar(20) not null, SupAddress varchar(20), SupPhone varchar(20) )
创建仓库存储表
create table Storageage (
StorageSno int primary key, StorageMin int check(storagemin>0),
StorageNow int check(storagenow>0 and storagenow<=1000), StorageMax int check(storagemax>0 and storagemax<=1000), mannum varchar(20) references Worker(mannum), Jhdate date )
创建工人表
create table Worker (
mannum varchar(20) primary key, manname varchar(20) not null, manPho varchar(20), manAdd varchar(20), mantype varchar(20) )
创建顾客表
create table Customer (
Cusnum varchar(20) primary key, Cusname varchar(20) not null, Cusage int,
CusPhone varchar(20), CusAddress varchar(20), Cusnumber varchar(20) )
仓库货物
create table Manger (
StorageSno int primary key ,
- 20 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
Gnumber varchar(20) references goods(gnumber), StorageNow int check(StorageNow>0) ) 订货单
create table Orderbook (SupNumber varchar(20), mannum varchar(20), Gnumber varchar(20),
Gweight float check (Gweight>0), Gprice float check (Gprice>0), Jhdate date,
primary key (SupNumber,mannum,Gnumber),
foreign key (SupNumber) references Supplier(SupNumber), foreign key (mannum) references Worker(mannum), foreign key (Gnumber) references Goods(Gnumber) ) 退货单
create table Returnbook1 (
SupNumber varchar(20), mannum varchar(20), Gnumber varchar(20),
Gweight float check(Gweight>0), Thdate date,
primary key (SupNumber,mannum,Gnumber),
foreign key (SupNumber) references Supplier(SupNumber), foreign key (mannum) references Worker(mannum), foreign key (Gnumber) references Goods(Gnumber) )
销售员售货
create table Salebook (
mannum varchar(20), Gnumber varchar(20), Cusnum varchar(20),
Gweight float check(Gweight>0), Gprice float check(Gprice>0), Gjhdate date,
primary key(mannum,Gnumber,Cusnum),
foreign key (mannum) references Worker(mannum),
- 21 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
foreign key (Gnumber) references Goods(Gnumber), foreign key (Cusnum) references Customer(Cusnum) )
顾客退货
create table Rerurnbook2 (
mannum varchar(20), Gnumber varchar(20), Cusnum varchar(20),
Gweight float check(Gweight>0), Gthdate date,
primary key(mannum,Gnumber,Cusnum),
foreign key (mannum) references Worker(mannum), foreign key (Gnumber) references Goods(Gnumber), foreign key (Cusnum) references Customer(Cusnum) )
附录3
一.数据库视图
1.创建各种商品的单价的视图
create view price as
select Gname,Gprice from goods
select gname,gprice from price
- 22 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
2.查询目前仓库货物数量的试图create view StorageNow as
select StorageSno,StorageNow from manger
select StorageSno,StorageNow from storagenow
3.查询采购员的采购信息
create view Workweight as
select mannum,Gweight from orderbook
select * from workweight
- 23 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
4.查询售货员卖了多少东西
二.存储过程
1.输入一个供应商编号查询其电话号码
create or replace procedure SupPhone(v_supsno in Supplier.Supnumber%type,v_supphone out Supplier.Supphone%type) is begin
select supphone into v_supphone from Supplier
where v_supsno=supnumber; end; 测试 declare
a varchar2(10):='4'; b varchar2(20); supphone(a,b);
begin
- 24 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
dbms_output.put_line(b);
end; 结果输出
2.查询哪些药品价格大于20(用游标) create or replace procedure goodsprice
is
v_Gname goods.gname%type; v_Gprice Goods.Gprice%type; cursor c1 is select Gname, Gprice from Goods where Gweight>20; begin open c1;
loop
fetch c1 into v_Gname,v_Gprice; exit when c1%notfound;
dbms_output.put_line(v_Gname||'---'||v_Gprice);
end loop;
close c1;
end; 检验:
begin goodsprice; end; 输出结果
3.输入仓库号查询其剩余货物量
create or
replace
procedure
Storagenow1(v_storagesno
Storageage.Storagesno%type,v_storagenow out Storageage.Storagenow%type)
is begin
- 25 - in
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
select Storagenow into v_storagenow From manger
where v_storagesno=Storagesno; end; 测试 declare a int:=5; b int; begin
Storagenow1(a,b);
dbms_output.put_line(b); end; 输出结果
4.向员工基本信息表插入一个元组
create
or
replace
procedure
worker_Insert(v_mannum
worker.mannum%type,v_manname worker.manadd%type,v_mantype
worker.manname%type,v_manpho worker.mantype%type) as begin
insert into worker(mannum,manname,manpho,manadd,mantype) values(v_mannum,v_manname,v_manpho,v_manadd,v_mantype); commit; end; 测试:
begin worker_insert('99','99','99','99','售货员'); end;
select * from worker 输出结果
worker.manpho%type,v_manadd
- 26 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
5.向订单基本信息表插入一个元组
create or replace procedure Book_Insert(v_mannum orderbook.SupNumber%type,v_manname orderbook.mannum%type,v_manpho
orderbook.Gweight%type,v_mantype orderbook.Gprice%type) as begin
insert into orderbook(SupNumber,mannum,Gnumber,Gweight,Gprice) values(v_mannum,v_manname,v_manpho,v_manadd,v_mantype); commit; end;
orderbook.Gnumber%type,v_manadd
测试:
begin Book_Insert('1','27','2',5,5); end;
select * from orderbook
结果输出
6.向销售单基本信息表插入一个元组
create
or
replace
procedure
Book_Insert(v_mannum
salebook.mannum%type,v_manname
salebook.Gnumber%type,v_manpho salebook.Cusnum%type,v_manadd salebook.Gweight%type,v_mantype salebook.Gprice%type) as begin
insert into salebook(mannum,Gnumber,Cusnum,Gweight,Gprice) values(v_mannum,v_manname,v_manpho,v_manadd,v_mantype); commit; end;
测试:
begin Book_Insert('1','1','2',1,2); end;
select * from salebook
- 27 -
10级计算机科学与技术专业103班数据库应用系统课程设计课程论文
7.向退货单基本信息表插入一个元组
create begin delete
from returnbook1
where a=supnumber and b=mannum and c=gnumber; commit;
end return_delete;
or
replace
procedure
Return_delete(a
returnbook1.SupNumber%type,b
returnbook1.mannum%type,c returnbook1.gnumber%type) is
begin
delete('1','27','1'); end;
三.触发器
当向订货单插入一条数据时修改仓库数据
create or replace trigger Book_triger after insert on orderbook for each row begin
update manger
set StorageNow=StorageNow+:new.Gweight where manger.Gnumber=:new.Gnumber; end Book_triger;
检验
insert into orderbook(SupNumber ,mannum ,Gnumber, Gweight, Gprice) values('3','27','2',10,2)
- 28 -
正在阅读:
药品存销信息管理系统(全)01-03
第四届东芝杯即席演讲题目11-27
投资学习题及答案6.411-18
高等反应工程试题07-29
燃机运行规程12-23
人美版三年级上册《书法练习与指导》整册教案(最新)01-25
收回你的内心优势10-08
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 管理系统
- 药品
- 信息
- 2018年七年级下册语文教案(含教学反思)6最后一课
- 投资部员工绩效考核管理办法
- 服务业普查表财务部分填报说明 - 图文
- 人教版五年级下册第2单元综合能力检测
- 《绩效管理》课程问题答疑习题集201505
- 工商管理专业金融银行信用风险管理与知识管理毕业论文外文文献翻译及原文
- 浅谈小学三年级起步作文教学
- (目录)2017-2021年中国机床行业前景预测及投资战略研究报告 - 图文
- 铜鼓小学工会申报县级“先进教工之家”的汇报材料
- 2.毕业设计(论文)开题报告表格式- 副本3资料
- 某酒店机电安装工程施工总结-精选模板
- 星座测试测你的抢手程度高达几颗星?
- B高数A(1)期末考试试题2012级补考用
- 西方经济学练习题及答案
- 化学教案-有关化学方程式的计算
- 2015年山东高考理科成绩排名一分一档表
- 二年级下学期语文第三单元测试
- 2016-2021年堆焊市场前景预测及投资规划分析报告(目录)
- 新视野大学英语介词填空(附答案)
- 基础验收自评报告