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