数据库应用操作系统综合实践设计说明书.docx_第1页
数据库应用操作系统综合实践设计说明书.docx_第2页
数据库应用操作系统综合实践设计说明书.docx_第3页
数据库应用操作系统综合实践设计说明书.docx_第4页
数据库应用操作系统综合实践设计说明书.docx_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用操作系统综合实践设计说明书1引言1.1编写目的详细设计书的编写,是为了搭构整个小项目具体代码实现的框架,说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑。面向的读者是具体进行代码实现的程序员们。1.2项目背景基于体系的数据库理论知识的学习和实践训练的要求,在运用数据库之前首先实现对数据库的设计管理。1.3参考资料1. 软酷网的相关资料例如:0-Project Introduction.pdf1-Create Project.pdf2-Interface Design.pdf3-Data Structure Design.pdf4-Exception Handling.pdf5-Create Database.pdf6-Create Table Description File.pdf7-Define Table Structure.pdf8-Show Table Structure.pdf2. 数据库课程资料3.深入浅出MFC第二版(侯俊杰 编)2总体设计2.1需求概述对界面上的各个按钮实现对应功能,最后整体实现数据库、表、属性、记录等的创建、修改和删除。明确不同功能模块类以及其中包含的成员变量和成员函数,分清各个函数之间的调用。3程序详细设计3.1程序中用到的抽象数据类型:Global.h 全局定义文件Bool DB,Table,Column,Record;/用于记录当前数据库或表或属性或记录是否已读入内存int Cur_DB,Cur_Table;/记录当前系统正在使用的数据库和表对应的数组下标int DBs_NUM,Tables_NUM,Columns_NUM;/记录数据库、表、属性的数量,以初始化相应的动态数组CString *DBs,*Tables,*Columns;/动态数组,用于存储文件中的数据库3.2函数的调用关系图3.3 类和相关函数的详细介绍3.3.1 Doc 类1.成员变量类型名称说明无无无2.成员函数编号函数参数说明返回值1CDBMSDoc();无序列化创建无2DECLARE_DYNCREATE(CDBMSDoc)CDBMSDoc序列化创建无3virtual BOOL OnNewDocument()无重写函数true/false4virtual void Serialize(CArchive& ar)CArchive& ar重写函数无5virtual CDBMSDoc();无析构函数无6void SelectDB(CString DB_Name)CString DB_Name设置数据库名无7int GetNum(CString Filename)CString Filename读取文件有多少行行数8void WriteFile(CString Filename,CString Record)CString Filename,CString Record将记录写入文件无9void RefreshWriteFile(CString Filename,CString *Record,int num)CString Filename,CString *Record,int num重新写入文件无10void WriteLog(CString szlog,CString filename);CString szlog,CString filename用于写日志文件无3.重要函数介绍int GetNum(CString Filename)功能描述:读取对应的文件,计算共有多少行。读取对应的文件,参数i用于函数内部调用计算对应的数量,初始化对应数组 0代表数据库,1代表表格,2代表属性,3代表记录。被调用:调用:流程图:void WriteFile(CString Filename,CString Record)功能描述:将记录写入文件 被调用: 调用:流程图:void RefreshWriteFile(CString Filename,CString *Record,int num)功能描述:重新写入文件 被调用: 调用:流程图:void WriteLog(CString szlog,CString filename)功能描述:写日志文件 被调用: 调用:流程图:3.3.2 DBMSView 类1.成员变量类型名称说明CTreeCtrl*treeCtrlHTREEITEMhRoot,hSubItem,hSubItem1,treeCImageListm_ImageListGlobalGlobal_ElementCDBMSDoc* pDoc2.成员函数编号函数参数说明返回值1virtual void OnInitialUpdate()无无2afx_msg void OnTvnSelchanged(NMHDR *pNMHDR, LRESULT *pResult)NMHDR *pNMHDR, LRESULT *pResult无3virtual BOOL PreCreateWindow(CREATESTRUCT& cs)CREATESTRUCT& cstrue/false4virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/更新树结构无5afx_msg void OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)NMHDR *pNMHDR, LRESULT *pResult更新菜单栏无3.重要函数介绍virtual void OnInitialUpdate()功能描述:初始化树。 被调用:无调用: 流程图:virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)功能描述:更新树结构。 被调用:无调用: 流程图:afx_msg void OnNMDblclk(NMHDR *pNMHDR, LRESULT *pResult)功能描述:获取选定的层次,更新菜单栏。 被调用:无调用: 流程图:3.3.3 DBlistView类1.成员变量类型名称说明CListCtrl*listCtrlGlobalGlobal_ElementCDBMSDoc*pDoc2.成员函数编号函数参数说明返回值1CDBlistView()无构造函数无2CDBlistView()无析构函数无3virtual void OnInitialUpdate()无初始化列表无4virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/更新列表无3.重要函数介绍virtual void OnInitialUpdate()功能描述: 初始化列表,绘制列表各项显示区域。被调用:无调用:流程图:virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)功能描述:更新列表被调用: 无调用:流程图:3.3.4 Logical 类1.成员变量类型名称说明无无无2.成员函数编号函数参数说明返回值1bool Is_DB_Repeat(CString Name,int DB_NUM,CDBMSView * pView)CString Name,int DB_NUM,CDBMSView * pView判断数据库是否重复true/false2bool Is_Table_Repeat(CString Name,int DB_NUM,CDBMSView * pView)CString Name,int DB_NUM,CDBMSView * pView)判断数据表是否重复true/false3bool Is_Field_Repeat(CString Name,int DB_NUM,CDBMSView * pView)CString Name,int DB_NUM,CDBMSView * pView判断字段是否重复true/false3.重要函数介绍bool Is_DB_Repeat(CString Name,int DB_NUM,CDBMSView * pView)功能描述: 判断数据库是否重复被调用:调用:无流程图:bool Is_Table_Repeat(CString Name,int DB_NUM,CDBMSView * pView)功能描述: 判断所给表名是否已经存在被调用:调用:无流程图:bool Is_Field_Repeat(CString Name,int DB_NUM,CDBMSView * pView)功能描述: 判断所给属性名是否已经存在被调用:调用:无流程图:3.3.5 Global 类1.成员变量类型名称说明intDB_NUMintTABLE_NUMCString*All_DB保存所有数据库到内存CString*Cur_DB记录当前选中的数据库CString*All_TABLE保存所有表格到内存CString*Cur_TABLE记录当前选中的表格CString*All_FIELD保存所有字段到内存CString*Cur_FIELD记录当前选中的字段2.成员函数编号函数参数说明返回值1void OnInigital_DB(int Num_DB)Int Num_DB初始化数据库2void OnInigital_TABLE(int Num_Table,CString Filename)int Num_TableCString Filename初始化表格3void OnInigital_FIELD (int Num_Field,CString Filename)int Num_FieldCString Filename初始化字段4void SetDB_Num(int Num_DB)int Num_DB设置数据库数量5CString GetDB_Name(int i) int i设置数据库名称CString6void SetCur_DB(CString DB);CString DB设置数据库7void SetCur_TABLE(CString TABLE);CString TABLE设置表格8void SetCur_FIELD(CString FIELD);CString FIELD设置字段9int GetDB_Num();得到数据库数量10int GetTABLE_Num();得到数量3.重要函数介绍void OnInigital_DB(int Num_DB)功能描述:初始化 被调用:无调用:void CDBMSView:OnInitialUpdate(),void CDBMSView:OnUpdate()void OnInigital_TABLE(int Num_DB)功能描述:初始化 被调用:无调用:void CDBMSView:OnInitialUpdate(),void CDBMSView:OnUpdate()void OnInigital_FIELD(int Num_DB)功能描述:初始化 被调用:无调用:void CDBMSView:OnInitialUpdate(),void CDBMSView:OnUpdate()3.3.6 MainFrm 类1.成员变量类型名称说明CToolBarm_wndToolBarCStatusBarm_wndStatusBarCSplitterWndm_wndSplitterCDBMSViewm_wndCTreeViewCDBlistViewm_wndCListView2.成员函数编号函数参数说明返回值1afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);LPCREATESTRUCT lpCreateStruct2afx_msg void OnAddfield();3afx_msg void OnTableNewtable();4afx_msg void OnDatabaseCreatedatabase();5afx_msg void OnDatabaseOpendatabase();6afx_msg void OnDatabaseDeletedatabse();7afx_msg void OnTableDeletetable();8afx_msg void OnDatabaseOpenTable();9afx_msg void OnFieldDeletefield();3.重要函数介绍int CMainFrame:OnCreate(LPCREATESTRUCT lpCreateStruct)功能描述:初始化工具栏、状态栏被调用:无调用:3.4对话框3.4.1 database operations(数据库操作)CreateDatabaseDlg对话框功能:创建一个数据库。程序流程:用户点击创建数据库按钮,输入数据库名称,如果该数据库已经存在,则无法创建,否则创建一个新的数据库,保存到文件之中,全部操作记录保存到日志文件里。功能流程图:OpenDatabaseDlg对话框功能:打开一个已经创建好的数据库。程序流程:用户点击打开数据库按钮,显示所有数据库名称,用户选择一个数据库,打开,显示所有数据表名称,全部操作记录保存到日志文件里。功能流程图:DeleteDatabaseDlg对话框功能:删除一个已经创建好的数据库程序流程:用户点击删除数据库按钮,读取文件,显示当前所有的数据库名称。用户根据自己的需要选择一个数据库进行删除,系统将自动删除数据库以及数据库里面的所有数据表和字段信息,将剩余的数据库信息写入到文件中,全部操作记录保存到日志文件里。功能流程图:3.4.2 table operations(表格操作)NewTableDlg对话框功能:创建一个数据表。程序流程:用户先选择一个数据库,创建数据表,输入数据表名称,判断是否存在,存在时不能创建数据表,不存在时创建一个数据表,写入到文件中并显示出来,全部操作记录保存到日志文件里。功能流程图:OpenTableDlg对话框功能:打开一个数据表。程序流程:用户选择一个数据库里的数据表,点击打开,读取文件,弹出数据表里的字段信息,全部操作记录保存到日志文件里。功能流程图:ModifyTableDlg对话框功能:更改一个数据表名称。程序流程:用户选择一个数据库里的数据表,读取文件,进行更改操作,输入新的数据表名称,保存写入到文件里,全部操作记录保存到日志文件里。功能流程图:DeleteTableDlg对话框功能:删除一个数据表。程序流程:用户点击删除数据表按钮,读取文件,显示选择的数据库里的所有数据表,用户选择一个待删除的数据表,确认删除,保存,写入到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论