医药管理系统数据库大作业.docx
《医药管理系统数据库大作业.docx》由会员分享,可在线阅读,更多相关《医药管理系统数据库大作业.docx(19页珍藏版)》请在冰豆网上搜索。
医药管理系统数据库大作业
医药管理系统数据库大作业
班级:
学号:
姓名:
1、数据库介绍:
选题:
医药销售管理系统
所用数据库:
2008
编程环境:
2008
编程技术:
2、用户需求分析
1.软件涉及的用户和主要业务
管理人员:
查询、删除和添加职工信息、供应商信息;查询销售情况和库存情况,并进行财务统计。
销售人员:
对库房药品信息进行添加和删除操作;查询、增加和删除销售记录,可视为对销售、退货和采购新药品的操作。
注:
只有管理人员可登录对登录记录进行删除。
2.数据字典
数据流定义:
(1)职工信息数据流
数据流名:
职工信息
说明:
根据职工信息建立职工记录,与登录用户相对应。
来源去向:
E1职工->P1职工管理
数据结构:
D1职工记录
(2)登录管理数据流
数据流名:
登录管理
说明:
根据登录数据库的时间和用户名、退出软件的时间建立登录记录信息,即工作记录。
来源去向:
D7职工记录->P2登录管理
数据结构:
D7工作记录
(3)库房管理数据流
数据流名:
库房管理
说明:
根据采购、销售、和退货记录库房药品存量信息。
来源去向:
E2药品->P3库房管理
数据结构:
D2药品记录
(4)销售管理数据流
数据流名:
销售管理
说明:
根据销售药品信息和录入记录时间生成销售记录。
来源去向:
E4客户->P4销售管理
数据结构:
D3记录
(5)业绩统计数据流
数据流名:
业绩统计
说明:
根据销售记录计算一定时间范围内的营业额。
来源去向:
D3销售记录->P5统计管理
数据结构:
D4业绩记录
(6)供应商管理数据流
数据流名:
供应商管理
说明:
根据供应商信息建立供应商信息管理。
来源去向:
E3供应商->P6供应商管理
数据结构:
D5供应商记录
(7)客户管理数据流
数据流名:
客户管理
说明:
根据客户信息建立客户信息管理。
来源去向:
E4客户->P7客户管理
数据结构:
D6客户记录
数据存储定义:
(1)D1职工记录
说明:
记录职工信息(管理人员和销售人员),职工号为主码。
输入:
P1,P2
输出:
P2
存取方式:
以职工编号为非聚集索引的存取方法
(2)D2库房药品记录
说明:
记录库房药品信息
输入:
P3,P4
输出:
P4,P5
存取方式:
随机检索为主
(3)D3销售记录
说明:
记录销售记录信息
输入:
P4,P5
输出:
P5
存取方式:
以售出时间为聚集索引的存取方法
(4)D4业绩记录
说明:
记录一段时间内的销售统计信息
输入:
P5
输出:
存取方式:
(5)D5供应商记录
说明:
记录供应商信息,供应商编号为主码。
输入:
P6
输出:
P2
存取方式:
以供应商编号为非聚集索引的存取方法
(6)D6客户记录
说明:
记录客户信息,客户编号为主码。
输入:
P7
输出:
P2
存取方式:
以客户编号为非聚集索引的存取方法
(7)D7工作记录
说明:
记录登录记录信息
输入:
P2
输出:
P2
存取方式:
随机检索为主
数据处理过程定义
(1)P1职工管理
说明:
记录职工信息,职工编号为主码。
输入:
E1职工
输出:
D1职工记录
(2)P2登录管理
说明:
记录登录记录信息
输入:
D1职工记录
输出:
D1,D5,D7,D6
(3)P3库房管理
说明:
记录库房当前存有药品的信息
输入:
D5,D3,D2
输出:
D2,D3
(4)P4销售管理
说明:
记录销售有关的信息
输入:
D2,E4
输出:
D2,D3
(5)P5统计管理
说明:
统计并显示销售统计信息
输入:
D2,D3
输出:
D4
(6)P6供应商管理
说明:
记录供应商有关的信息
输入:
E3
输出:
D5
(7)P7客户管理
说明:
记录客户有关的信息
输入:
E4
输出:
D6
数据流图细分:
3、软件模块划分
4、概念结构设计
各实体图:
联系方式
所在地
供应商号
职工编号
客户编号
销售记录编号
销售数量
销售记录
药品编号
销售日期
整体图:
5、逻辑结构设计
1、图向逻辑模型转:
数据库名:
医药管理销售系统
职工信息(职工编号,职工名称,联系方式,职位)
登录记录信息(用户名,登录时间,注销时间)
登录用户信息(用户名,密码,类型)
供应商信息(供应商编号,供应商名称,联系方式,所在地)
客户信息(客户编号,客户名称,联系方式)
库房信息(药品编号,库存量)
销售记录(销售记录编号,药品编号,售出量,销售人员编号,客户编号,销售时间)
药品信息(药品编号,药品名称,生产厂家,药品类型,单位,销售价格)
2、关系模式优化——函数依赖集
F职工信息={职工编号->U}
F登录记录信息={(用户名,登录时间)->注销时间}
F登录用户信息={用户名->U}
F供应商信息={供应商编号->U}
F客户信息={客户编号->U}
F库房信息={药品编号->库存量}
F销售记录={销售记录编号->U}
F药品信息={药品编号->U}
分析:
不存在非主属性和主属性对码的部分依赖和函数传递依赖,故为范式。
3、逻辑设计结果
表1:
职工信息
属性名
数据类型
长度
允许值
主码或索引
约束条件
职工编号
否
主码,索引
职工姓名
(20)
2
否
联系方式
(20)
2
是
职位
(20)
2
是
表2:
登录记录信息:
属性名
数据类型
长度
允许值
主码或索引
约束条件
用户名
否
主码
外码
登录时间
否
主码
注销时间
是
注销时间大于
登录时间
表3:
登录用户信息:
属性名
数据类型
长
度
允许值
主码或索引
约束条件
用户名
否
主码
外码
密码
(20)
2
否
类型
(20)
2
否
表4:
供应商信息:
属性名
数据类型
长度
允许值
主码或索引
约束条件
供应商编号
否
主码
供应商姓名
(20)
2
否
联系方式
(20)
2
是
所在地
(20)
2
是
表5:
客户信息
属性名
数据类型
长度
允许值
主码或索引
约束条件
客户编号
否
主码
客户姓名
(20)
2
否
联系方式
(20)
2
是
表6:
库房信息
属性名
数据类型
长度
允许值
主码或索引
约束条件
药品编号
否
主码
外码
库存量
否
库存量>=0
表7:
销售记录
属性名
数据类型
长度
允许值
主码或索引
约束条件
销售记录编号
否
主码
药品编号
否
外码
售出量
否
售出量>=0
销售人员编号
否
外码
客户编号
是
外码
售出时间
否
表8:
药品信息:
属性名
数据类型
长度
允许值
主码或索引
约束条件
药品编号
否
主码,索引
药品名称
(20)
2
否
生产厂家
(20)
2
否
类型
(20)
2
否
单位
(20)
2
否
销售价格
是
销售价格>0
6、编程实现
1.在数据库中建立数据库,建立各种表并输入数据。
2.配置:
3.在2008中用编程实现。
具体代码参见工程。
7、软件界面与使用说明
1、运行,首先进入登录界面,连接数据库之后与中用户名记录中进行用户名和密码的匹配。
2、人员信息管理部分,分为如图内容模块。
以下是各部分的使用过程截图:
3、退出软件时,点击注销,完成当条记录信息的录入。
8、实验体会
这次大作业花费了很长时间,对是初次使用,对整个控制流程和机制不是很熟悉,所以也是边学边用,加上课程比较紧,有部分预先设计的功能没有实现,整体做的比较简单。
刚刚设计的时候考虑了很多细节,包括药品名称什么的,但是到最后很多都没有来不及做,界面也相对比较粗糙。
整个设计过程中,对概念模型的设计、逻辑结构的设计和图想关系模式的转化有了更深的理解。
在代码实现的过程中,由于很多操作都需要表格显示,逻辑有些混乱,慢慢做下来才越来越顺,最后终于完成了这次实验。