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