医药管理系统数据库大作业.docx
- 文档编号:25502706
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:26
- 大小:1.28MB
医药管理系统数据库大作业.docx
《医药管理系统数据库大作业.docx》由会员分享,可在线阅读,更多相关《医药管理系统数据库大作业.docx(26页珍藏版)》请在冰豆网上搜索。
医药管理系统数据库大作业
医药管理系统数据库大作业
班级:
学号:
姓名:
1、数据库介绍:
选题:
医药销售管理系统
所用数据库:
SQL SERVER 2008
编程环境:
VISUAL STUDIO 2008
编程技术:
MFC
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、概念结构设计
各实体 E-R 图 :
姓名
职工编号
联系方式 职位
职工
供应商号联系方式供应商名所在地
供应商
客户编号姓名联系方式
客户
药品名药品编码单位
药品
生产厂家售价类型/描述
药品编号销售日期
销售记录
职工编号客户编号销售记录编号
整体 E-R 图:
5、逻辑结构设计
1、E-R 图向逻辑模型转:
数据库名:
医药管理销售系统
职工信息(职工编号,职工名称,联系方式,职位)
登录记录信息(用户名,登录时间,注销时间)
登录用户信息(用户名,密码,类型)
供应商信息(供应商编号,供应商名称,联系方式,所在地)
客户信息(客户编号,客户名称,联系方式)
库房信息(药品编号,库存量)
属性名
数据类型
长度
允许NULL值
主码或索引
约束条件
职工编号
Smallint
否
主码,索引
职工姓名
Varchar(20
)
n+2
否
联系方式
Varchar(20
)
n+2
是
职位
Varchar(20
n+2
是
属性名
数据类型
长度
允许 NULL 值
主码或索引
约束条件
用户名
Smallint
否
主码
外码
登录时间
Datetime
否
主码
注销时间
Datetime
是
注销时间大于
登录时间
表 1:
职工信息
销售记录(销售记录编号,药品编号,售出量,销售人员编号,客户编号,
销售时间)
药品信息(药品编号,药品名称,生产厂家,药品类型,单位,销售价格)
2、关系模式优化——函数依赖集
F 职工信息 = {职工编号->U}
F 登录记录信息 = {(用户名,登录时间)->注销时间}
F 登录用户信息 = {用户名-> U}
F 供应商信息 = {供应商编号->U}
F 客户信息 = {客户编号->U}
F 库房信息 = {药品编号->库存量}
F 销售记录 = {销售记录编号->U}
F 药品信息 = {药品编号->U}
分析:
不存在非主属性和主属性对码的部分依赖和函数传递依赖,故为
BCDF 范式。
3、逻辑设计结果
属性名
数据类型
长度
允许NULL值
主码或索引
约束条件
供应商编号
Smallint
否
主码
供应商姓名
Varchar(20
)
n+2
否
联系方式
Varchar(20
)
n+2
是
所在地
Varchar(20
n+2
是
属性名
数据类型
长度
允许NULL 值
主码或索引
约束条件
客户编号
Smallint
否
主码
客户姓名
Varchar(20
)
n+2
否
联系方式
Varchar(20
)
n+2
是
属性名
数据类型
长
允许NULL值
度
主码或索引
约束条件
用户名
Smallint
否
主码
外码
密码
Varchar(20
)
n+2
否
类型
Varchar(20
n+2
否
属性名
数据类型
长度
允许 NULL 值
主码或索引
约束条件
销售记录编号
Smallint
否
主码
药品编号
Smallint
否
外码
售出量
Smallint
否
售出量>=0
属性名
数据类型
长度
允许 NULL 值
主码或索引
约束条件
药品编号
Smallint
否
主码
外码
库存量
Smallint
否
库存量>=0
表 3:
登录用户信息:
属性名
数据类型
长度
允许NULL 值
主码或索引
约束条件
药品编号
Smallint
否
主码,索引
药品名称
Varchar(20
)
n+2
否
生产厂家
Varchar(20
)
n+2
否
类型
Varchar(20
)
n+2
否
单位
Varchar(20
)
n+2
否
销售价格
Int
是
销售价格>0
销售人员编号
Smallint
否
外码
客户编号
Smallint
是
外码
售出时间
Datetime
否
6、编程实现
1. 在 SQL 数据库中建立数据库,建立各种表并输入数据。
2. ODBC 配置:
3. 在 VS2008 中用 MFC 编程实现。
具体代码参见工程 MMS。
7、软件界面与使用说明
1、运行 MMS.exe,首先进入登录界面,连接数据库之后与 SQLSever 中用户
名记录中进行用户名和密码的匹配。
2、人员信息管理部分,分为如图内容模块。
以下是各部分的使用过程截图:
3、退出软件时,点击注销,完成当条记录信息的录入。
8、实验体会
这次大作业花费了很长时间,对 MFC 是初次使用,对整个控制流程和机
制不是很熟悉,所以也是边学边用,加上课程比较紧,有部分预先设计的功能
没有实现,整体做的比较简单。
刚刚设计的时候考虑了很多细节,包括药品名称什么的,但是到最后很多
都没有来不及做,界面也相对比较粗糙。
整个设计过程中,对概念模型的设计、逻辑结构的设计和 E-R 图想关系模
式的转化有了更深的理解。
在代码实现的过程中,由于很多操作都需要表格显示,逻辑有些混乱,慢
慢做下来才越来越顺,最后终于完成了这次实验。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 医药 管理 系统 数据库 作业