药品进销存数据库实训报告.docx

上传人:b****6 文档编号:6747499 上传时间:2023-01-09 格式:DOCX 页数:26 大小:383.84KB
下载 相关 举报
药品进销存数据库实训报告.docx_第1页
第1页 / 共26页
药品进销存数据库实训报告.docx_第2页
第2页 / 共26页
药品进销存数据库实训报告.docx_第3页
第3页 / 共26页
药品进销存数据库实训报告.docx_第4页
第4页 / 共26页
药品进销存数据库实训报告.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

药品进销存数据库实训报告.docx

《药品进销存数据库实训报告.docx》由会员分享,可在线阅读,更多相关《药品进销存数据库实训报告.docx(26页珍藏版)》请在冰豆网上搜索。

药品进销存数据库实训报告.docx

药品进销存数据库实训报告

烟台南山学院

商学院管理科学与工程系

实训实习报告

项目:

数据库课程设计

姓名:

专业:

信息管理与信息系统

班级:

学号:

指导教师:

完成时间:

2015-7-17

 

实训实习报告

课程

名称

数据库课程设计

课程代码

09120352

实训地点

姓名

专业班级

时间

2015年7月6—17日

一、实训目的:

数据库课程设计实验是一门独立开设的实验课程。

数据库课程设计实验对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。

本课程设计实验主要围绕两方面内容:

数据库设计和基本数据库编程实践。

通过本实验,使学生了解数据库系统的理论,掌握数据库的设计方法及数据库的运用和开发技术。

1、掌握数据库设计的基本方法,熟悉数据库设计的步骤;

2、通过设计数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力;

3、学习数据库应用系统开发方法。

培养学生初步的软件设计能力,形成良好的编程风格。

二、实训内容:

1.系统分析与数据库设计阶段

(1)选择一个实际应用数据库系统的课题。

建议通过社会调查获得用户需求,

(2)进行系统需求分析和系统设计,写出系统分析和设计报告。

(3)设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。

2.应用程序设计阶段

(1)完成数据库定义工作,实现系统数据的数据处理和数据录入。

(2)实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性等功能,并针对具体课题问题提出解决方法。

3.系统集成调试阶段

对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。

4.课程设计报告撰写阶段

该阶段应完成以下文档资料的撰写:

(1)课程设计的题目、系统的总功能和各子模块的功能。

(2)系统的总功能和各子模块功能构成和描述。

(3)E-R图、主要界面设计图、程序处理流程图等。

(4)使用的数据库表结构的详细情况。

(5)课程设计的总结,主要包括以下内容。

课程设计中遇到的主要问题和解决方法。

创新和得意之处。

课程设计中存在的不足,需进一步改进的设想。

课程设计的感想和心得体会。

以上内容要求干净整洁,符合课程设计的要求和规范。

实训题目:

药品进销存管理系统的设计与实现.

实训要求:

1.需求分析阶段:

通过个人体会对用户(学生、老师)的需求进行分析,对系统功能进行分类,绘画数据流图,并制作数据字典,以便后面建立数据库而用

2.概念设计阶段:

主要是通过绘制E-R图进行概念结构结构

3.逻辑结构设计阶段:

主要是将概念结构进行转化,从而实现从图到关系模型的一种转变

4.物理设计阶段:

5.数据库的实施与维护:

主要进行创建数据库,建表,建立数据库之间的联系,以及视图的创建

 

1、需求分析

1.1用户需求

药品的进销存是一个复杂的系统工程,本系统主要用于调配和监管药品出库、入库、储存的管理工作,将部分复杂而琐碎的工作自动化,从而提高管理效率降低人员成本。

这个系统主要实现的是药品进销存管理,在得到身份得到验证后,用户可以在该系统进行药品信息的管理。

用户在登录系统后,系统允许用户对系统中的有关内容进行增删改等操作,并调用数据库中的相关数据完成操作。

本系统中,管理员才有最高的权限,管理员要经过身份验证才能进入系统,可以进行全部操作,其他用户只能以游客身份登录,只能浏览查询,保证了系统的安全性。

系统需要有良好的安全性和操作性。

1.2、主要系统功能设计

一个最基本的药品进销存管理系统要有如下几个重要功能:

(1)系统登录功能:

管理员提供用户名和密码,才能登录,保证了数据的安全性和保密性。

其余用户只能用游客登录。

(2)基础模块:

该模块主要包括了药品进、销、存的入库管理、出库管理、库存管理三个部分。

药品入库管理主要是针对入库药品进行登记修改操作,包括药品进库的时间,品种,数量,生产企业,保质期,有无损坏,经手人签名等信息进行登记。

药品出库管理主要是对出库药品进行登记修改,其中包括药品出库时间,品种,数量,生产企业,经手人等信息进行登记。

药品库存管理是对药品入库、出库后产生的数量变化自动改变,也能进行一系列的查询,包括药品名称,入库时间,出库时间,数量,生产企业,保质期,经手人,是否需要补充等信息。

(3)记录修改模块:

该模块主要用于管理员修改药品进销存记录,包括药品信息,员工信息,以及客户信息。

管理员能够修改信息,亦可方便其他用户查询到及时准确的记录,保证信息的通畅性。

 

1.3、数据字典

名字:

入库和出库信息

描述:

药品入库和出库结束后所存储的信息并生成单据

定义:

入库和出库信息=当前库存信息+药品存放位置+入库数量+出库数量。

位置:

存储

输入输出供查询

名字:

药品信息

描述:

仓库内存储的所有药品信息(包括所有药品查询的所需信息)

定义:

药品信息=药品编号+药品名称+生产厂家+生产日期+保质期+用途+价格+数量+经手人。

位置:

存储

输出供查询

名字:

员工信息

描述:

系统用户的信息

定义:

员工信息=员工编号+姓名+性别+年龄+学历+职务。

位置:

存储

输出供查询及维护

名字:

客户信息

描述:

客户的信息

定义:

客户信息=客户编号+姓名+联系方式+购买时间+购买药品编号+名称+数量。

位置:

存储

输出供查询及维护

2、概念结构设计

2.1分E-R图

1)药品信息

 

2)员工信息

3)客户信息

4)入库和出库信息

2.2总E-R图

 

3、逻辑结构设计

3.1将E-R图转化为关系模型

药品信息(药品编号、药品名称、生产日期、保质期、用途、价格、数量、经手人)

员工信息(员工编号、姓名、性别、年龄、学历、职务)

客户信息(客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量)

入库和出库(当前库存信息、药品存放位置、入库数量和出库数量的统计)

购买(客户购买药品的关系)

销售(员工销售药品的关系)

存放(仓库存放药品的数量)

 

3.2关系图

药品信息(药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人)

列名

数据类型

长度

是否允许空

备注

药品编号

char

20

主关键字

药品名称

char

2

生产厂家

char

50

生产日期

char

20

保质期

char

20

用途

char

20

价格

char

20

数量

char

20

经手人

char

20

员工信息(员工编号、姓名、性别、年龄、学历、职务)

列名

数据类型

长度

是否允许空

备注

员工编号

char

20

外键

姓名

char

20

性别

char

20

年龄

har

20

学历

ch

r

20

职务

char

20

客户信息(客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量)

列名

数据类型

长度

是否允许空

备注

客户编号

char

20

外键

姓名

char

20

联系方式

char

20

购买时间

char

20

药品编号

char

20

外键

名称

char

20

数量

char

20

入库和出库信息(当前库存信息、药品存放位置、入库数量和出库数量的统计)

列名

数据类型

长度

是否允许空

备注

药品编号

c

ar

20

外键

药品存放位置

char

20

入库数量

char

20

出库数量

char

20

3.3详细信息

1.药品

药品编号

药品名称

数量

价格

员工编号

010

阿莫西林

1000000

15

011

急支糖浆

1500

00

10

012

芬必得

1250000

16

013

胃舒宁

2000000

20

2.员工

员工编号

姓名

性别

客户编号

职务

102001

刘一辰

61

会计

102002

张贺

61

艺师

102003

612

质检员

102004

邱义程

613

采购员

3.客户

客户编号

姓名

联系方式

药品编号

员工编号

610

李明

12345678901

010

102001

611

刘丽

12345678902

011

102002

612

张鑫

12345678903

012

102003

613

李楠

12345678904

013

102004

4.仓库

仓库号

药品存放位置

药品编号

入库数量

出库数量

01

1号

010

1000

2100

102

2号

011

1

0

25000

201

3号

012

1500

22000

202

4号

013

1200

23000

4、物理设计

数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。

所谓的“合理”主要有两个含义:

一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

主要体现在后者。

4.1建立索引:

1)药品信息表

(药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人)药品编号为主键

药品编号->药品名称,生产厂家,生产日期,保质期,用途,数量,价格,经手人

2)员工信息表

(员工编号,姓名,学历,性别,职务)员工编号为主键

员工编号->姓名,学历,性别,职务

3)客户信息表

(客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量)客户编号为主键

客户编号->姓名,联系方式,购买时间,购买药品编号,名称,数量

4)入库和出库信息表

(当前库存信息、药品存放位置、入库数量和出库数量的统计)

4.2存储结构:

存储过程可以实现数据库操作的增删改功能,在执行时需要调用。

运用想函数一样,也可以有参数的参与。

定义存储过程提供了过程封装的效果,执行只需调用,在更大程度上简化了数据处理过程,并且数据总体容量较小,故数据存储为磁盘的某一个分区。

5、数据库的实施和维护

5.1创建数据库

--建库,建表,添加约束

--插入测试数据

--存在检测

--建库

Createdatabase药品进销存管理信息系统数据库

on

primary(name=药品进销存管理信息系统数据库_data,

filename='f:

\药品进销存管理信息系统数据库.mdf',

size=10mb,

maxsize=50mb,

filegrowth=10%)

logon

(name=药品进销存系统数据库_log,

filename='e:

\药品进销存管理信息系统数据库.ldf',

size=5mb,

maxsize=10mb,

filegrowth=2mb)

go

use药品进销存管理信息系统数据库

5.2建表

1)建药品信息表

Createtable药品

(药品编号nchar(20)primarykey,

名称nchar(20),

数量nchar(20),

价格nchar(20),

用途nchar(20),

员工编号nchar(20),

);

2)建员工信息表

Createtable员工

(员工编号nchar(20)primarykey,

姓名nchar(20),

性别nchar(20),

客户编号nchar(20),

职务nchar(20),

);

3)建客户信息表

Createtable客户

(客户编号nchar(20)primarykey,

姓名nchar(20),

联系方式nchar(20),

药品编号nchar(20),

员工编号nchar(20),

);

4)建入库和出库信息表

Createtable入库和出库

(仓库号nchar(20)primarykey,

药品存放位置nchar(20),

药品编号nchar(20),

入库数量nchar(20),

出库数量nchar(20),

);

5.3数据库的插入、查询、删除、更新等基本操作

5.3.1、插入表格信息

1)药品信息

insertinto药品values('011','急支糖浆','1500000','10','止咳','102004');

insertinto药品values('010','阿莫西林','1000000','15','消炎','102003');

insertinto药品values('012','芬必得','1250000','16','止痛','102002');

insertinto药品values('013','胃舒宁','2000000','20','抗胃溃疡','102001');

2)员工信息

insertinto员工values('102001','刘一辰','男','610','销售');

insertinto员工values('102002','张贺','男','611','总工艺师');

insertinto员工values('102003','赵芸','女','612','质检员');

insertinto员工values('102004','邱义程','男','613','采购员');

3)客户信息

insertinto客户values('0610','李明','12345678901','010','102001');

insertinto客户values('0611','刘丽','12345678902','011','102002');

insertinto客户values('0612','张鑫','12345678903','012','102003');

insertinto客户values('0613','李楠','12345678904','013','102004');

4)入库和出库信息

insertinto入库和出库values('101','010','1号','1000','21000');

insertinto入库和出库values('201','011','2号','1500','22000');

insertinto入库和出库values('202','012','3号','1200','23000');

insertinto入库和出库values('102','013','4号','1600','25000');

5.3.2查询

1)查询药品存放位置

select药品存放位置

from药品

2)查询客户姓名

select姓名

from客户

3)查询员工的职务

select职务

from员工

4)查询药品的价格

select价格

from药品

5.3.3删除

1)删除客户

deletefrom客户where客户

2)删除员工

delectfrom员工where员工

3)删除药品

delectfrom药品where药品

5.3.4插入

1)在员工信息中插入编号为102005的员工数据

insertinto员工values('102005','王强','男','610','销售')

2)在客户中新插入一行数据

insertinto客户values('0614','韩薇','12345678906')

3)在药品列表中插入新进药品数据

insertinto药品values('015','珍视明','1600000','18','眼疲劳')

5.3.5更新

1)更新药品信息

update药品set

2)更新员工信息

update员工set

3)更新客户信息

update客户set

5.3.6排序

1)按药品价格排序

select*

from药品

orderby价格

2)按药品存放位置排序

select*

from药品编号

orderby仓库

3)按员工编号进行排序

select*

from员工

orderby员工编号

5.4数据关系图

5.5视图

5.5.1视图创建

createviewview_1

asselect员工编号,姓名,性别

from员工

createviewview_2

as

select*

from药品

where价格>15

createviewview_3

asselect员工,姓名,联系方式

from员工,客户

where员工,员工编号=客户,员工编号

5.5.2视图撤销

dropview员工view_1;

5.5.3视图查询

select*from药品view_3;

select*from客户view_2;

5.5.4视图更新

insertintoview_1value(‘102005’,‘何方’,‘男’);

5.6存储过程与触发器

5.6.1创建存储过程

createprocproc_zg

as

select员工编号,姓名

from员工

where性别=‘女’;

createprocproc_071012@khvarchar(10)

as

selectx.员工编号,职务,联系方式

from员工x,客户y

wherex.员工编号=y.员工编号and联系方式=@kh

5.6.2存储过程的查询

execproc_zg

execproc_071012‘071021’;

5.6.3存储过程的修改

alterprocproc_zg

as

select员工编号,姓名

from员工

where姓名=‘刘一辰’

5.6.4创建触发器

createtriggerZ_selecton客户

afterinsert

as

select*from客户

select*frominserted

go

insertinto客户(客户编号,姓名)

value(‘0623’,‘徐磊’)

5.6.7删除触发器

droptriggerZ_select;

5.6.8数据查询

select仓库号,药品存放位置

from仓库;

select员工.员工编号,性别,客户.姓名

from员工,客户

where员工.员工编号=客户.员工编号;

select*from员工,仓库;

select姓名,职务from员工

where姓名like‘李%’;

select员工编号,count(*)as员工人数from员工

groupby员工编号;

5.7创建一个新的用户角色

5.8用户映射

5.9权限的设置

(1)用户的权限

(2)入库和出库的权限

6、结论:

药品进销存系统中需要处理大量的库存信息,还要时刻更新每种药品的销售信息,不断添加新药品的进货信息。

针对中小型药品零售企业的实际情况开发出的一个软件能够实时的、准确的控制店内的销售情况,能够实时掌握销售流程及销售情况,能够及时更新库存信息,并合理预测未来需求,满足药店的进货需求,实现零库存管理。

软件还需要对业务人员以及入库和出库的相关信息进行合理管理,减少数据冗余带来的管理混乱。

该系统软件可及时处理药品品流通信息,药品零售企业可以利用系统对药品、对人员、对金钱进行最直观的管理,管理人员能够对进货、销售、库存信息的变更作及时更新,以满足药店的内部需求,具有实用价值。

本软件也存在一定局限性,例如,系统缺少与客户进行交互的环节,缺少药品的作用功效的查询信息,客户不能直观的了解该药品的功能,系统也没有相关单据的添加查询等功能。

在以后的开发中将逐步补充完善系统的一些功能,使之更具有实用性和通用性。

我所设计的这个图书管理系统,最主要的主体就是药品信息、员工信息、客户信息和入库和出库。

最终将它们一些列的信息相联系,从而实现对药品信息、员工信息、客户信息的记录与修改。

员工能够对药品信息的一些插入、删除、修改、更新,对客户信息的记录查看。

用户对药品的查询功能,员工及客户对个人登录密码的设置等功能

7、不足:

该系统存在一些缺点:

(1)应用服务器运行数据负荷较重;

(2)页面需要动态刷新,降低了响应速度,对网速要求较高;

(3)功能弱化,难以实现传统模式下的特殊功能要求

三、实训总结:

通过这次数据库管理系统的设计,这是我运用学过的数据库原理独立完成的一个系统设计,单独完成一项工程对于我来说是一项巨大的挑战,在知识运用熟练度尚不成熟的情况下,一步步摸索,一次次尝试,这不仅仅是考录一个人的知识水平问题,更是锻炼一个人顽强的毅力和持之以恒的态度,以及敢于直面挫折的勇气。

过程总是痛苦的,风雨过后才会迎来晴空。

在短短的两个周之内,先是锁定大体的布局结构,然后就开始查阅大量的资料和文献,统计繁琐的数据,再通过对一个个实际问题的分析、设计与实现,将原理与应用相结合。

由于知识的掌握程度不够和有限的时间等原因,这项系统设计不完善的地方很多,存在最终实验目的达不到设计要求的各项标准,需要改进的地方很多。

在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。

这次课程设计加深了我们对数据库系统设计相关知识以及SQLSERVER相关功能的理解。

比如在建立基本的表、视图、索引、存储过程、触发器等,都比以前更加熟悉了,并在解决各种问题的过程中学到了很多新的知识。

在设计中我基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,由于我们对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。

但我在这方面做的还不够,缺乏人员管理与沟通,导致人力资源浪费,可以说是不足之处,且迫切的需要思考和改进,这一点必须指明。

这在以后的工作与学习中将会非常重要

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1