版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库设计 1 系统数据库分析 数据库设计是建立数据库及其应用系统的技术,是系统开发和建设中的核心技术。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效的存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库结构设计的好坏直接对应用系统的效率以及实现的效果产生影响。 根据超市会员管理系统功能设计的需要,数据库结构设计如下所示: (1). 用户登录信息数据表(Login):(用户账号,密码,登录身份); (2). 会员基本信息数据表(Member):(用户账号,用户姓名,身份证号,联系方式,联系地址); (3). 职员基本信息数据表
2、(Employee):(职员号,职员姓名,职员职位); (4). 会员积分信息数据表(Score):(会员账号,会员积分,会员等级,会员折扣); 2 数据库概念结构设计 根据上节的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。 各种实体具体的描述E-R图如下。 1. 用户登录信息实体图主要描述了登录用户的基本情况,包括了用户的用户账号,密码,登录身份。如图3-11所示,用户登录信息实体E-R图。 用户登录 *用户账号 登录身份密码 图E-R用户登录实体的3-12 图2.
3、 会员基本信息实体图主要描述会员的基本情况,包括了会员基本信息的用户账号,用户姓名,身份证号,联系方式,联系地址,得出如图3-12所示会员基本信息实体E-R图。 会员基本信联系方用户姓用户账* 联系地址身份证号 E-R图3-13 图会员基本信息实体的包括了职员基本信息的职员基本信息实体图主要描述新生的基本情况,3. E-R图。职员号,职员姓名,职员职位,得出如图3-13所示职员基本信息实体 职员基本信息 职员职位 职员姓名 *职员号 E-R图图3-14 职员基本信息实体的会员积分信息实体图主要描述会员积分的基本情况,包括了会员积分基4. 所示会员本信息的会员账号,会员积分,会员等级,会员折扣,
4、得出如图3-14 E-R图。积分信息实体 会员积分信息 会员账号* 会员折扣 会员积分会员等级 E-R图会员积分信息实体的图3-15 图主要描述实体间的关系。E-R实体之间的关系用户姓名 联系方式 用户账号*联系地址 身份证职员会员基本信管获职员姓会员积分信职员职会员账会员折会员积会员等 图3-16 各实体之间的关系 3.系统数据库的设计 根据需求分析与概念结构设计,建立数据库系统支持的数据模型,即数据库的逻辑结构。本系统利用Microsoft Access 2003创建了名为SuperMarket的数据库。 本系统主要建立了以下四张表: 表 用户登录数据表 字段名 数据类字 是否主键 型 段
5、大小 6是DNO(登陆账号) 文本 (密码) 12否 文本DCode DUserSta否 50 (登录文本 身份) 表会员基本信息数据表 是否主键字类据数 字段名 型 段大小 6 是 MNO(用户账号) 文本 否 MName(用户姓20 文名1文MI(身份证号MTe(联系电话5文5MAd(联系地址文本 职员基本信息数据表表 是否主字段段大型是文本 6EID(职员号) 否 文本 20员(EName职姓 名)50 文本(职员职 否 EStatus 位) 会员积分信息数据表表 字是否主键 据数 字段名类 型段大小是 (会员账号)MNO 6 文本否字数MScore(用户积 (double) 分) 数字
6、否MGrade(用户等 (long) 级) 数字MDiscount(用户否 ) 折扣)double( 表之间的关系4. 表之间存在的关系如下:1在会员基本信息表(Member)中添加信息的同时,把信息添加到用户登录信息表(Login)中,同时将信息添加到积分信息表(Score)中。 2在会员基本信息表(Member)中删除会员信息的同时,把用户登录信息表(Login)和用户积分信息(Score)中该会员信息删除。 3在职员基本信息表(Member)中添加信息的同时,将志愿的基本信息添加到用户登录信息表(Login)中。 4在职员基本信息表(Member)中删除职员信息的同时,把用户登录信息表(
7、Login)中该职员信息删除。 详细设计与实现 1. 系统首页 图4-1 超市会员管理系统首页 自定义工具栏按钮及鼠标提示信息的设计与实现: 图4-2 主页面工具栏 在对话框的OnInitDialog方法中常见工具栏窗口和图像列表窗口,关联图像列表,设置工具栏按钮文本,启动工具栏的EnableToolTip方法激活提示功能。 鼠标提示信息的实现,处理TTN_NEEDTEXT消息的响应函数OnToolTipText(),通过函数的参数获得工具栏按钮的ID,从而根据ID获取提示信息文本。 1. 添加消息映射(最好写在AFX_MSG_MAP宏外,否则可能出现编译错误) ON_NOTIFY_EX_RA
8、NGE(TTN_NEEDTEXTW,0,0xFFFF,OnToolTipText) ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA,0,0xFFFF,OnToolTipText) 2. 添加事件声明(最好写在AFX_MSG宏外,否则可能出现编译错误) afx_msg BOOL OnToolTipText(UINT nID, NMHDR* pNMHDR, LRESULT* pResult); 2 登录页面 系统运行后,首先展现给用户的是用户登录界面,用户登录成功后进入到主 页面,用户登录界面如下图所示: 图4-3 用户登录界面 用户登录有三种身份,管理员、普通职员、会员。管理员
9、登录成功后,可以对系统各模块进行操作;普通职员登录成功后,除对职员的添加、删除外,均可实现操作;会员,则只能对自己的一些基本信息进行操作。 登录界面由函数void CLoginDlg:OnOK()实现处理,具体代码如下: ?提示,64); CDialog:OnOK(); 4.3.2 积分信息模块 (1) 积分查询 该功能实现界面如下: 图4-7 积分查询界面 输入会员账号后,点击确定按钮,系统首先检查账号是否存在,若存在则输出该会员积分信息;若不存在,输出提示信息。 实现原理如会员信息模块中的会员查询。 实现函数为:void CJQueryDlg:OnOK()。 在编辑框中的显示实现为: va
10、r = m_pRs-GetCollect(MScore); if != VT_NULL) str1 = (LPCSTR)_bstr_t(var); GetDlgItem(IDC_EDIT_Jifen)-SetWindowText(str1); var = m_pRs-GetCollect(MGrade); if !=VT_NULL) str2=(LPCSTR)_bstr_t(var); GetDlgItem(IDC_EDIT_Grade)-SetWindowText(str2); var = m_pRs-GetCollect(MDiscount); if !=VT_NULL) str3=(LP
11、CSTR)_bstr_t(var); GetDlgItem(IDC_EDIT_Discout)-SetWindowText(str3); (2) 积分兑换 积分兑换功能的实现界面如下: 图4-8 积分兑换功能实现界面 首先检查用户合该按钮的实现中,点击兑换按钮,用户输入账号和密码后,法性。若用户已兑换过积分,则提示及兑换;若积分不够兑换等级,则提示积分不够;若兑换成功后,则显示用户等级和优惠折扣。 该模块实现单击事件函数处理为:void CEXchangeDlg:OnOK(),具体实现如下: 员信息管理 (1). 查询基本信息 该模块功能实现基本与会员基本信息查询相同,在此不再赘述。实现该功能
12、的函数为:void CEmployeeDlg:OnOK();实现该功能的SQL语句为: sql=select * from Employee where EID=+EmpID+; (2). 修改职员信息 该模块功能修改超市职员的基本信息。 函数实现:void CMIMDlg:OnOK()。 其实现如下: GetDlgItem(IDC_EDIT1_EmpName)-GetWindowText(EXm); GetDlgItem(IDC_COMBO_EmpSta)-GetWindowText(EZw); 晩?睚?管理员) EZw= 汥敳椠?婅?尽普通职员) EZw=; sql=Update Empl
13、oyee set EName=+EXm+,EStatus=+EZw+ where EID=+EMId+; try Execute(_bstr_t)sql,NULL,adCmdText); catch(_com_error &e) AfxMessageBox(); 晁?獥慳敧潂?修改成功); (3). 修改密码 职员修改密码模块与会员密码修改类似,实现函数为:void CMModifyDlg:OnOK(),此处不再赘述。 具体SQL语句实现为: sql=Update Login set DCode=+NewCode+ where DNO=+Name+; try Execute(_bstr_t)s
14、ql,NULL,adCmdText); catch(_com_error &e) AfxMessageBox(); (4). 添加职员信息 管理员进入系统后可以按照需求添加职员信息,该模块首先检验输入是否为空,若不为空,则可以进行添加,此功能同时将信息添加到Login表和Employee表中,界面实现如图: 图4-10 添加职工信息 实现该事件的函数为:void CEAddEmplyeeDlg:OnOK(),下面是添加职员信息的具体实现: Employee(EID,EName,EStatus) into sql=Insert values(+Eno+,+Ename+,+Esta+); SQL=
15、Insert into Login(DNO,DCode,DUserSta) values(+Eno+,+Ecode+,+Esta+); try Execute(_bstr_t)sql,NULL,adCmdText); Execute(_bstr_t)SQL,NULL,adCmdText); catch(_com_error &e) AfxMessageBox(); 晁?獥慳敧潂?添加成功); (5). 删除职员信息 该模块只能由管理员进行操作,管理员成功登录后,可以按照职员号删除职员信息,如图所示: 图4-11 删除职工信息图 在删除前,系统会给出提示,提醒用户是否确定要删除。点击是,则将该记
16、录从数据库中删除;点击否,则撤销删除行为。 实现函数为void CDelEmpDlg:OnOK(),代码如下: 晩?獥慳敧潂?确定要删除该记录吗?提示,MB_YESNO)=IDYES) sql=delete from Employee where EID=+EmpNO+; SQL=delete from Login where DNO=+EmpNO+; try Execute(_bstr_t)sql,NULL,adCmdText);Execute(_bstr_t)SQL,NULL,adCmdText); catch(_com_error &e) AfxMessageBox(); 晁?獥慳敧潂?
17、删除成功); 2 会员信息管理 会员信息管理包括会员信息查询、会员信息修改、会员注册、会员删除四个模块,功能实现同职员信息管理模块中响应功能。 实现函数分别为:void CMemberDlg:OnOK()、void CModifyMemDlg:OnBUTTONModify()、void CMemAddDlg:OnOK()、void CModifyMemDlg:OnBUTTONDel()。 此处以会员信息修改和删除为例,其他功能实现略写。 图4-12 会员信息修改 图中,灰色编辑框表示不可改。如果要修改信息则填入要修改的值,点击“确定修改”,即可修改成功;如果要删除该条记录,则点击“确定删除”,
18、系统会提示,是否真的删除,若是,则从数据库表中将该记录删除,若否,则退出删除。 此处实现的相关的SQL语句为: /修改 set Member sql=Update MName=+UserName+,MTel=+UserTel+,MAdd=+UserAdd+ where MNO=+UserNO+; try Execute(_bstr_t)sql,NULL,adCmdText); catch(_com_error &e) AfxMessageBox(); );晁?獥慳敧潂?修改成功 删除/ ,MB_YESNO)=IDYES)?提示晩?獥慳敧潂?确定要删除该记录吗 sql=delete from M
19、ember where MNO=+UserNO+; SQL=delete from Login where DNO=+UserNO+; try Execute(_bstr_t)sql,NULL,adCmdText); Execute(_bstr_t)SQL,NULL,adCmdText); catch(_com_error &e) AfxMessageBox(); );晁?獥慳敧潂?删除成功 统计6 统计模块是对超市会员积分进行统计,可以统计出各登记人数及所占百分 比,并以柱形图的形式显示出来。 图4-13 统计分析功能实现图 实现该功能的函数为:void CStatDlg:OnOK() 具体
20、实现: (1) 打开记录集,获得各等级人数; (2) 绘制柱形图 /获取静态图片空间大小 CWnd * pWnd=this-GetDlgItem(IDC_DRAW); pWnd-GetClientRect(&rectPic); / 获取设备环境指针 CDC *pDC=pWnd-GetDC(); / 重新填充静态图片区域 CBrush NewBrush; (RGB(238,238,237); CBrush * pOldBrush=pDC-SelectObject(&NewBrush); pDC-Rectangle(&rectPic); pDC-SelectObject(pOldBrush); /
21、 确定每个柱形条的宽度 int nLength= 定义五种颜色,用来填充柱形图 COLORREF RGBArray6=RGB(0,255,0),RGB(128,0,255),RGB(0,0,255), RGB(255,255,0), RGB(255,0,0),RGB(0,128,255);/ 定义一个矩形,表示柱形条 CRect rect; for ( int i=0; iSelectObject(&NewBrush); pDC-Rectangle(&rect); pDC-SelectObject(pOldBrush); / 释放设备环境 this-ReleaseDC(pDC); 7 系统信息 1 用户帮助 系统调用帮助文件,对于不熟悉本系统的用户可以通过阅读帮助文件了解系统如何使用。 点击用户帮助菜单或帮助工具栏按钮后,即打开帮助文件,如图所示: 图4-14 用户帮助功能实现图 具体实现为: void CCMarketDlg:OnMENUHelp() char bufMAX_PATH; :GetCurrentDirectory(MAX_PATH,buf);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店垃圾房工作制度规范
- 建立接待层级规范制度
- 煤气净化回收工操作规程模拟考核试卷含答案
- 规范化阶梯诊疗管理制度
- 坚持底稿制度规范流程
- 学校专室利用制度规范
- 玻纤及制品检验工岗前技术操作考核试卷含答案
- 装饰美工操作知识模拟考核试卷含答案
- 不坐班弹性工作制企业考勤管理制度
- 酒店厨房间卫生制度规范
- 教育培训加盟合同协议
- 影视立项转让合同范本
- 胸痛救治单元培训
- 2026年孝昌县供水有限公司公开招聘正式员工备考题库及1套完整答案详解
- DZ∕T 0399-2022 矿山资源储量管理规范(正式版)
- 安保员巡查记录表
- 中考数学常见几何模型简介
- 铁路工程施工组织设计指南-2009版(常用版)
- 新媒体数据分析与应用学习通课后章节答案期末考试题库2023年
- 老年人综合能力评估实施过程-评估工作文档及填写规范
- cobas-h-232心肌标志物床边检测仪操作培训
评论
0/150
提交评论