资源描述
医药管理系统数据库大作业班级:学号: 姓名:、数据库介绍:选题:医药销售管理系统所用数据库:SQL SERVER 2008编程环境:VISUAL STUDIO 2008编程技术:MFC二、用户需求分析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存取方式:随机检索为主D3销售记录说明:记录销售记录信息输入:P4,P5输出:P5存取方式:以售出时间为聚集索引的存取方法(4) D4业绩记录说明:记录一段时间内的销售统计信息输入:P5输出:存取方式:(5) D5供应商记录说明:记录供应商信息,供应商编号为主码。输入:P6输出:P2存取方式:以供应商编号为非聚集索引的存取方法 D6客户记录说明:记录客户信息,客户编号为主码。输入:P7输出:P2存取方式:以客户编号为非聚集索引的存取方法 D7工作记录说明:记录登录记录信息输入:P2输出:P2存取方式:随机检索为主数据处理过程定义(1) P1职工管理说明:记录职工信息,职工编号为主码。输入:E1职工输出:D1职工记录P2登录管理说明:记录登录记录信息输入:D1职工记录输出:D1,D5,D7, D6P3库房管理说明:记录库房当前存有药品的信息输入:D5,D3,D2输出:D2,D3P4销售管理说明:记录销售有关的信息输入:D2,E4输出:D2, D3(5) P5统计管理说明:统计并显示销售统计信息输入:D2, D3输出:D4(6) P6供应商管理说明:记录供应商有关的信息输入:E3输出:D5P7客户管理说明:记录客户有关的信息输入:E4输出:D6三、软件模块划分员工管理內部管理模蜕人员馆蔑管理) manage.cpp用户蜃录模熾 MMSDlg.cppM離揍块I药品相关管理) funcxpp库磨药品管理客户管理四、概念结构设计各实体E-R图:整体E-R图:-n注:由于时间问遥, 这一部分井未实现记鼻五、逻辑结构设计1、E-R图向逻辑模型转:数据库名:医药管理销售系统职工信息(职工编号,职工名称,联系方式,职位)登录记录信息(用户名,登录时间,注销时间)登录用户信息(用户名,密码,类型)供应商信息(供应商编号,供应商名称,联系方式,所在地)客户信息(客户编号,客户名称,联系方式)库房信息(药品编号,库存量)销售记录(销售记录编号,药品编号,售出量,销售人员编号,客户编 号,销售时间)药品信息(药品编号,药品名称,生产厂家,药品类型,单位,销售价 格)2、关系模式优化函数依赖集F职工信息=职工编号-UF登录记录信息=(用户名,登录时间)-注销时间F登录用户信息=用户名- U F供应商信息=供应商编号-UF客户信息=客户编号-UF库房信息=药品编号-库存量F销售记录=销售记录编号-UF药品信息=药品编号-U分析:不存在非主属性和主属性对码的部分依赖和函数传递依赖,故为BCDF范式。3、逻辑设计结果表1 :职工信息属性名数据类型长度允许NUL值主码或索引约束条件职工编号Smalli nt否主码,索引职工姓名Varchar (20)n+2否联系方式Varchar (20)n+2是职位Varchar (20)n+2是表2:登录记录信息:属性名数据类型长度允许NULL值主码或索引约束条件用户名Smalli nt否主码外码登录时间Datetime否码注销时间Datetime是H J注销时间大于登录时间表3:登录用户信息:属性名数据类型允许NUL值主码或索引约束条件用户名Smalli nt否主码外码密码Varchar (20)n+2否类型Varchar ( 20)n+2否表4:供应商信息:属性名数据类型长度允许NUL值主码或索引约束条件供应商编号Smalli nt否主码供应商姓名Varchar ( 20)n+2否联系方式Varchar ( 20)n+2是所在地Varchar ( 20)n+2是表5:客户信息属性名数据类型长度允许NULL值主码或索引约束条件客户编号Smalli nt否主码客户姓名Varchar( 20)n+2否联系方式Varchar( 20)n+2是表6:库房信息属性名数据类型长度允许NULL值主码或索引约束条件药品编号Smalli nt否主码外码库存量Smalli nt否码库存量=0表7 :销售记录属性名数据类型长度允许NULL值主码或索引约束条件销售记录编号Smalli nt否主码药品编号Smalli nt否码外码售出量Smalli nt否售出量=0销售人员编号Smalli nt否外码客户编号Smalli nt是外码售出时间Datetime否表8:药品信息:属性名数据类型长度允许NULL值主码或索引约束条件药品编号Smalli nt否主码,索引药品名称Varchar ( 20)n+2否生产厂家Varchar ( 20)n+2否类型Varchar ( 20)n+2否单位Varchar ( 20)n+2否销售价格Int是销售价格0六、编程实现1.在SQL数据库中建立数据库,建立各种表并输入数据曰口丟*田口票统表 LJ AleTablesT be登录记录信皀世二毗口登录用户信息 EI詞T bo世贷单信息 圧J dbo,供釜单药品嗚息 +二 血,供应商信息 H d be春户信息 +T bo,库房信息屈J Mbd退货记录& _ dbo,WiB录 i+ J Tbo药品信息 匡口 Hba职工信息s 观圉 LJ同义词十4XJ出封CA-PC匡西d bo里汞记录偌宜X1 1 f固3LinoloqlnTimelogOutTime表41112013-12 11 1-NULLJ_j1112013-L2 11 1.NUtl1A FileTablesill2013-12 11 Ik.2013-12-11 1,H,1dbo負为zi戻,託1112013-12-11 1.NULLTjj d bo一基录闰白信戶1112013-12-11 1.2013* 12vll 1.JI db口用贤单信片1112013-1211 2013-12-11 1.=.二1日bd位贤单药弗仁恳-1112013-12 11 1-2013-12-11 1.陌 d bo枳应商信导Ta d bo胃户信息*NULLNULLNULLE口 d bo膵房信息Sa ubo遐贵记录T_J d bo.捕售记录S Ttra舸品信息E3 dbo$T信息汗二视囹a 一i同义词*nr=T4B ka_Hq 11/? H2. ODBC 配置:3.在VS2008中用MFC编程实现。具体代码参见工程 MMS七、软件界面与使用说明1、运行MMS.exe,首先进入登录界面,连接数据库之后与 SQL Sever中用户名 记录中进行用户名和密码的匹配。2、人员信息管理部分,分为如图内容模块。以下是各部分的使用过程截图:人员信息管理宀医药相关管理返回X玩入添加内容1|dfsgds357777777783saierj取消insert into 虹信息 valuestM3577777了了7呂3:它577777777盟?mAsti职工编号姓名联系方式职拉1坤72W5506100miaocookiescookies111111min111111320320manager11231123MILLsafer111111111111manager165sdaf19641B951964 W95S42dfs.PP38777777. t.3577777777833、退出软件时,点击注销,完成当条记录信息的录入3P771 KB八、实验体会这次大作业花费了很长时间,对 MFC是初次使用,对整个控制流程和 机制不是很熟悉,所以也是边学边用,加上课程比较紧,有部分预先设计的功能 没有实现,整体做的比较简单。刚刚设计的时候考虑了很多细节,包括药品名称什么的,但是到最后很 多都没有来不及做,界面也相对比较粗糙。整个设计过程中,对概念模型的设计、逻辑结构的设计和 E-R图想关系模式的转化有了更深的理解。
展开阅读全文