大型数据库系统管理综合设计.doc
《大型数据库系统管理综合设计.doc》由会员分享,可在线阅读,更多相关《大型数据库系统管理综合设计.doc(46页珍藏版)》请在沃文网上搜索。
1、本科学生设计性实验报告一、实验名称:企业备忘录管理系统二、实验目的1掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。2初步掌握基于C/S的数据库应用系统分析、设计和实现方法。3进一步提高学生分析与解决问题的综合能力。4培养团队合作精神。三、实验内容在SQL Server2005数据库管理系统上,利用VC+开发工具开发一个企业备忘录系统的数据库应用系统。四、实验过程1 系统需求说明在企业管理中,对于信息的处理是最重要的一环,其方式体现现在信息的采集、清理、分析、保存、失效的生命周期中。设计一个企业备忘录管理系统,可以极大的提高企业的信
2、息流转效率,从而提高生产率。这个系统包含的模块主要用户登陆、备忘录类型社顶、信息录入以及特定信息采集2 数据库结构设计(1)系统功能进入系统前需要身份验证用户可以根据需要定义备忘录的信息拥护可以定义企业员工的信息具体的时间信息有拥护登入根据不同的要求,可以在数据库中对时间进行查询和编辑(2)功能模块划分企业备忘录管理系统身份验证成员信息管理类型管理备忘录管理查询管理增加新成员增加新类型增加条目生日提示修改成员信息修改类型信息修改条目备忘录提示删除成员信息删除类型信息删除条目大事记企业备忘录管理系统模块示意图(3)系统流程分析登陆界面用户验证成员信息管理查询管理类型管理备忘录管理推出系统系统流程
3、图3 数据库设计(1)数据库需求设计企业成员基本信息:成员ID、姓名、出生日期、性别、籍贯、职位。备忘录类型信息:备忘录类型ID、备忘录名称。备忘录信息:备忘录ID、备注企业成员ID、备忘录操作日期、备忘录发生日期、是否有重大事件、时间花费、备忘录类型ID、备忘录内容。(2)数据库逻辑结构设计企业成员基本信息表字段名称数据类型可否为空约束条件说明member_idINTEGERNOT NULL主键成员IDmember_nameVARCHAR(24)NOT NULL无姓名birth_dateDATENOT NULL无出生日期member_genderVARCHAR(2)-member_posit
4、ionVARCHAR(10)NULL 无职位备忘录类型信息表字段名称数据类型可否为空约束条件说明 type_idINTEGERNOT NULL主键备注类型IDtype_nameVARCHAR(24)NOT NULL无备注类型名称备忘录信息表字段名称数据类型可否为空约束条件说明memo_idINTEGERNOT NULL主键备注信息ID、ID值从系统中获取member_idINTEGERNOT NULL外键(family_member_tab)成员IDoper_dateDATENOT NULL无操作备忘录信息时间happen_dateDATENOT NULL无备忘录发生时间is_bigevent
5、INTEGERNOT NULL无是否为重大事件,1代表大事件event_costVARCHAR(20)NULL无时间花费type_idINTEGERNOT NULL外键(memo_type_tab)备注类型IDmemo_textCARCHAR(100)NULL无备注信息企业备忘录管理系统E-R图4 系统实现(1)创建数据库创建表的SQL语句:IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = company_member_tab) DROP TABLE company_member_tab-
6、创建企业成员基本信息表CREATE TABLE company_member_tab(member_id INT IDENTITY(1,1) PRIMARY KEY ,member_name VARCHAR(24) NOT NULL,member_position VARCHAR(10),birth_date DATETIME NOT NULL,member_gender VARCHAR(5),member_hometown VARCHAR(20);IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NA
7、ME = memo_type_tab) DROP TABLE memo_type_tab-创建备忘录类型信息表 CREATE TABLE memo_type_tab(type_id INT PRIMARY KEY ,type_name VARCHAR(24) NOT NULL);IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = memo_info_tab) DROP TABLE memo_info_tab-创建备忘录类型信息表CREATE TABLE memo_info_tab(memo_
8、id INT NOT NULL PRIMARY KEY ,member_id INT NOT NULL,oper_date DATETIME NOT NULL,happen_date DATETIME NOT NULL,is_bigevent INT NOT NULL CHECK (is_bigevent IN (0, 1),event_cost VARCHAR(20),type_id INT NOT NULL,memo_text VARCHAR(1000) NULL,FOREIGN KEY (member_id) REFERENCES company_member_tab ,FOREIGN
9、KEY (type_id) REFERENCES memo_type_tab );表的截图企业成员基本信息表备忘录类型信息表备忘录信息表(2)工程框架设计设计主界面并增添函数 公司成员基本信息管理控件列表控件类型ID属性变量或函数Group BoxIDC_STATIC公司成员基本信息管理无List ControlIDC_LIST_FAMILY_MEMBER无列表控件类型变量m_listMemberButtonIDC_BTN_ADD_MEMBER添加函数OnBtnAddMember()添加公司成员信息ButtonIDC_BTN_MOD_MEMBER修改函数OnBtnModMember()修改公司
10、成员信息ButtonIDC_BTN_DEL_MEMBER删除函数OnBtnDelMember()删除公司成员信息 备忘录配置信息管理控件列表控件类型ID属性变量或函数Group BoxIDC_STATIC备忘录类型信息管理无List ControlIDC_LIST_MEMO_TYPE无列表控件类型变量m_listTypeButtonIDC_BTN_ADD_TYPE添加函数OnBtnAddType()添加备忘录类型信息ButtonIDC_BTN_MOD_TYPE修改函数OnBtnModType()修改备忘录类型信息ButtonIDC_BTN_DEL_TYPE删除函数OnBtnDelType()删
11、除备忘录类型信息备忘录信息管理控件列表控件类型ID属性变量或函数Group BoxIDC_STATIC备忘录信息管理无List ControlIDC_LIST_MEMO_INFO无列表控件类型变量m_listTypeButtonIDC_BTN_ADD_MEMO添加函数OnBtnAddMemo()添加备忘录类型信息ButtonIDC_BTN_MOD_MEMO修改函数OnBtnModMemo()修改备忘录类型信息ButtonIDC_BTN_DEL_MEMO删除函数OnBtnDelMemo()删除备忘录类型信息查询备忘录信息控件列表控件类型ID属性变量或函数Group BoxIDC_STATIC备忘
12、录信息管理无ButtonIDC_BTN_QUERY_BIRTH生日提示函数OnBtnQueryBirth()处理生日提示信息ButtonIDC_BTN_MEMO_INFO备忘录提示函数OnBtnMemoInfo()处理备忘录信息提示ButtonIDC_BTN_MEMO_EVENT大事记函数OnBtnMemoEvent()处理大事记信息主对话框类名称为CMemoDBSDlg,资源ID为IDD_MEMODBS_DIALOG,对话框名称为“公司备忘录管理系统”。主界面用到了3个列表控件分别显示公司成员基本信息,备忘录类型信息和备忘录信息。需要为这3个列表控件添加显示的列,从而显示相应的数据信息。为了
13、代码设计的清晰,在CMemoDBSDlg类中定义了一个InitConcrol私有函数负责添加控件的显示列。InitConcrol函数代码如下:void CMemoDBSDlg:InitControl()/设置列表控件扩展风格DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;m_listMember.SetExtendedStyle(dwExStyle);m_listMemoInfo.SetEx
14、tendedStyle(dwExStyle);m_listType.SetExtendedStyle(dwExStyle);/初始化公司成员列表控件m_listMember.InsertColumn(0,ID,LVCFMT_CENTER,30);m_listMember.InsertColumn(1,姓名,LVCFMT_CENTER,60);m_listMember.InsertColumn(2,职位,LVCFMT_CENTER,60);m_listMember.InsertColumn(3,出生日期,LVCFMT_CENTER,60);m_listMember.InsertColumn(4,
15、性别,LVCFMT_CENTER,40);m_listMember.InsertColumn(5,籍贯,LVCFMT_CENTER,100);/初始化备注类型列表控件m_listType.InsertColumn(0,类型ID,LVCFMT_CENTER,60);m_listType.InsertColumn(1,类型名称,LVCFMT_CENTER,100);/初始化备注信息列表控件m_listMemoInfo.InsertColumn(0,备忘录ID,LVCFMT_CENTER,60);m_listMemoInfo.InsertColumn(1,姓名,LVCFMT_CENTER,60);m
16、_listMemoInfo.InsertColumn(2,备忘录操作日期,LVCFMT_CENTER,140);m_listMemoInfo.InsertColumn(3,备忘录发生日期,LVCFMT_CENTER,140);m_listMemoInfo.InsertColumn(4,大事件,LVCFMT_CENTER,60);m_listMemoInfo.InsertColumn(5,事件花费,LVCFMT_CENTER,60);m_listMemoInfo.InsertColumn(6,备注类型,LVCFMT_CENTER,60);m_listMemoInfo.InsertColumn(7
17、,备注内容,LVCFMT_CENTER,200);在InitConcrol函数中首先调用CListCtrl的SetExtendedStyle方法设置控件的扩展风格。这3个空间设置了相同的风格,以确保界面的一致性,设置扩展风格后的公司成员列表控件获取鼠标选择和鼠标略过情况的样式如图(3)连接数据库系统启动之后,可以将数据库中的数据升秒年十时毫 到界面上,首先需要处理数据库的连接问题,需要3个函数:ODBC数据源名称、数据库用户名称、数据库用户密码。数据库用户的名称和密码均为dbaccess。在CMemoDBSDlg类的OnInitDialog函数中处理数据库的连接。其中关键代码为:BOOL CM
18、emoDBSDlg:OnInitDialog()CLoginDlgdlg; BOOL login=TRUE,DB_SYS_EXIT=FALSE; while (login) if(dlg.DoModal()=IDOK) CString strConnect; strConnect.Format(DSN=%s;PWD=%s,dlg.m_strDBSource,dlg.m_strDBUser,dlg.m_strDBPassword); TRY m_db.OpenEx(strConnect,CDatabase:noOdbcDialog); login=FALSE; CATCH(CDBExceptio
19、n,ex) AfxMessageBox(ex-m_strError); AfxMessageBox(ex-m_strStateNativeOrigin); AND_CATCH(CMemoryException,pEx) pEx-ReportError(); AfxMessageBox(memory exception); AND_CATCH(CException,e) TCHAR szError100; e-GetErrorMessage(szError,100); AfxMessageBox(szError); END_CATCH else login=FALSE; DB_SYS_EXIT=
20、TRUE; if(DB_SYS_EXIT) CDialog:OnCancel(); else InitControl(); InitCtrlData(); OnInitDialog函数首先判断数据库是否打开,如果已打开就退出函数,否则创建一个数据库的连接字符串,利用CDatabase的OpenEx方法打开数据库的连接,并处理数据库的异常。(4)显示数据到界面上连接数据库之后,西药把数据库中的数据显示在3个列表控件中。在CMemoDBSDlg类中定义一个InitCtrlData私有函数,负责从数据库中读取数据并显示到列表控件中。同时还需要定义3个分别把数据插入到列控件中的函数,分别为Insert
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大型 数据库 系统管理 综合 设计