数据库应用操作系统综合实践设计说明书.docx

上传人:b****1 文档编号:10328573 上传时间:2023-05-25 格式:DOCX 页数:37 大小:1.15MB
下载 相关 举报
数据库应用操作系统综合实践设计说明书.docx_第1页
第1页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第2页
第2页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第3页
第3页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第4页
第4页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第5页
第5页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第6页
第6页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第7页
第7页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第8页
第8页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第9页
第9页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第10页
第10页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第11页
第11页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第12页
第12页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第13页
第13页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第14页
第14页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第15页
第15页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第16页
第16页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第17页
第17页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第18页
第18页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第19页
第19页 / 共37页
数据库应用操作系统综合实践设计说明书.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库应用操作系统综合实践设计说明书.docx

《数据库应用操作系统综合实践设计说明书.docx》由会员分享,可在线阅读,更多相关《数据库应用操作系统综合实践设计说明书.docx(37页珍藏版)》请在冰点文库上搜索。

数据库应用操作系统综合实践设计说明书.docx

数据库应用操作系统综合实践设计说明书

数据库应用操作系统综合实践设计说明书

1.引言

1.1编写目的

详细设计书的编写,是为了搭构整个小项目具体代码实现的框架,说明一个软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑。

面向的读者是具体进行代码实现的程序员们。

1.2项目背景

基于体系的数据库理论知识的学习和实践训练的要求,在运用数据库之前首先实现对数据库的设计管理。

1.3参考资料

1.软酷网的相关资料

例如:

0-ProjectIntroduction.pdf

1-CreateProject.pdf

2-InterfaceDesign.pdf

3-DataStructureDesign.pdf

4-ExceptionHandling.pdf

5-CreateDatabase.pdf

6-CreateTableDescriptionFile.pdf

7-DefineTableStructure.pdf

8-ShowTableStructure.pdf

2.数据库课程资料

3.《深入浅出MFC》第二版(侯俊杰编)

2.总体设计

2.1需求概述

对界面上的各个按钮实现对应功能,最后整体实现数据库、表、属性、记录等的创建、修改和删除。

明确不同功能模块类以及其中包含的成员变量和成员函数,分清各个函数之间的调用。

3.程序详细设计

3.1程序中用到的抽象数据类型:

Global.h全局定义文件

BoolDB,Table,Column,Record;

//用于记录当前数据库或表或属性或记录是否已读入存

intCur_DB,Cur_Table;

//记录当前系统正在使用的数据库和表对应的数组下标

intDBs_NUM,Tables_NUM,Columns_NUM;

//记录数据库、表、属性的数量,以初始化相应的动态数组

CString*DBs,*Tables,*Columns;

//动态数组,用于存储文件中的数据库

3.2函数的调用关系图

3.3类和相关函数的详细介绍

3.3.1Doc类

1.成员变量

类型

名称

说明

 

2.成员函数

编号

函数

参数

说明

返回值

1

CDBMSDoc();

序列化创建

2

DECLARE_DYNCREATE(CDBMSDoc)

CDBMSDoc

序列化创建

3

virtualBOOLOnNewDocument()

重写函数

true/false

4

virtualvoidSerialize(CArchive&ar)

CArchive&ar

重写函数

5

virtual~CDBMSDoc();

析构函数

6

voidSelectDB(CStringDB_Name)

CStringDB_Name

设置数据库名

7

intGetNum(CStringFilename)

CStringFilename

读取文件有多少行

行数

8

voidWriteFile(CStringFilename,CStringRecord)

CStringFilename,CStringRecord

将记录写入文件

9

voidRefreshWriteFile(CStringFilename,CString*Record,intnum)

CStringFilename,CString*Record,intnum

重新写入文件

10

voidWriteLog(CStringszlog,CStringfilename);

CStringszlog,CStringfilename

用于写日志文件

3.重要函数介绍

intGetNum(CStringFilename)

功能描述:

读取对应的文件,计算共有多少行。

读取对应的文件,参数i用于函数部调用计算对应的数量,初始化对应数组0代表数据库,1代表表格,2代表属性,3代表记录。

被调用:

调用:

流程图:

voidWriteFile(CStringFilename,CStringRecord)

功能描述:

将记录写入文件

被调用:

调用:

流程图:

voidRefreshWriteFile(CStringFilename,CString*Record,intnum)

功能描述:

重新写入文件

被调用:

调用:

流程图:

voidWriteLog(CStringszlog,CStringfilename)

功能描述:

写日志文件

被调用:

调用:

流程图:

3.3.2DBMSView类

1.成员变量

类型

名称

说明

CTreeCtrl

*treeCtrl

HTREEITEM

hRoot,hSubItem,hSubItem1,tree

CImageList

m_ImageList

Global

Global_Element

CDBMSDoc

*pDoc

 

2.成员函数

编号

函数

参数

说明

返回值

1

virtualvoidOnInitialUpdate()

2

afx_msgvoidOnTvnSelchanged(NMHDR*pNMHDR,LRESULT*pResult)

NMHDR*pNMHDR,LRESULT*pResult

3

virtualBOOLPreCreateWindow(CREATESTRUCT&cs)

CREATESTRUCT&cs

true/false

4

virtualvoidOnUpdate(CView*/*pSender*/,LPARAM/*lHint*/,CObject*/*pHint*/)

CView*/*pSender*/,LPARAM/*lHint*/,CObject*/*pHint*/

更新树结构

5

afx_msgvoidOnNMDblclk(NMHDR*pNMHDR,LRESULT*pResult)

NMHDR*pNMHDR,LRESULT*pResult

更新菜单栏

3.重要函数介绍

virtualvoidOnInitialUpdate()

功能描述:

初始化树。

被调用:

调用:

流程图:

virtualvoidOnUpdate(CView*/*pSender*/,LPARAM/*lHint*/,CObject*/*pHint*/)

功能描述:

更新树结构。

被调用:

调用:

流程图:

afx_msgvoidOnNMDblclk(NMHDR*pNMHDR,LRESULT*pResult)

功能描述:

获取选定的层次,更新菜单栏。

被调用:

调用:

流程图:

3.3.3DBlistView类

1.成员变量

类型

名称

说明

CListCtrl

*listCtrl

Global

Global_Element

CDBMSDoc

*pDoc

 

2.成员函数

编号

函数

参数

说明

返回值

1

CDBlistView()

构造函数

2

~CDBlistView()

析构函数

3

virtualvoidOnInitialUpdate()

初始化列表

4

virtualvoidOnUpdate(CView*/*pSender*/,LPARAM/*lHint*/,CObject*/*pHint*/)

CView*/*pSender*/,LPARAM/*lHint*/,CObject*/*pHint*/

更新列表

3.重要函数介绍

virtualvoidOnInitialUpdate()

功能描述:

初始化列表,绘制列表各项显示区域。

被调用:

调用:

流程图:

 

virtualvoidOnUpdate(CView*/*pSender*/,LPARAM/*lHint*/,CObject*/*pHint*/)

功能描述:

更新列表

被调用:

调用:

流程图:

3.3.4Logical类

1.成员变量

类型

名称

说明

 

2.成员函数

编号

函数

参数

说明

返回值

1

boolIs_DB_Repeat(CStringName,intDB_NUM,CDBMSView*pView)

CStringName,intDB_NUM,CDBMSView*pView

判断数据库是否重复

true/false

2

boolIs_Table_Repeat(CStringName,intDB_NUM,CDBMSView*pView)

CStringName,intDB_NUM,CDBMSView*pView)

判断数据表是否重复

true/false

3

boolIs_Field_Repeat(CStringName,intDB_NUM,CDBMSView*pView)

CStringName,intDB_NUM,CDBMSView*pView

判断字段是否重复

true/false

3.重要函数介绍

boolIs_DB_Repeat(CStringName,intDB_NUM,CDBMSView*pView)

功能描述:

判断数据库是否重复

被调用:

调用:

流程图:

boolIs_Table_Repeat(CStringName,intDB_NUM,CDBMSView*pView)

功能描述:

判断所给表名是否已经存在

被调用:

调用:

流程图:

 

boolIs_Field_Repeat(CStringName,intDB_NUM,CDBMSView*pView)

功能描述:

判断所给属性名是否已经存在

被调用:

调用:

流程图:

3.3.5Global类

1.成员变量

类型

名称

说明

int

DB_NUM

int

TABLE_NUM

CString*

All_DB

保存所有数据库到存

CString*

Cur_DB

记录当前选中的数据库

CString*

All_TABLE

保存所有表格到存

CString*

Cur_TABLE

记录当前选中的表格

CString*

All_FIELD

保存所有字段到存

CString*

Cur_FIELD

记录当前选中的字段

 

2.成员函数

编号

函数

参数

说明

返回值

1

voidOnInigital_DB(intNum_DB)

IntNum_DB

初始化数据库

2

voidOnInigital_TABLE(intNum_Table,CStringFilename)

intNum_Table

CStringFilename

初始化表格

3

voidOnInigital_FIELD(intNum_Field,CStringFilename)

intNum_Field

CStringFilename

初始化字段

4

voidSetDB_Num(intNum_DB)

intNum_DB

设置数据库数量

5

CStringGetDB_Name(inti)

inti

设置数据库名称

CString

6

voidSetCur_DB(CStringDB);

CStringDB

设置数据库

7

voidSetCur_TABLE(CStringTABLE);

CStringTABLE

设置表格

8

voidSetCur_FIELD(CStringFIELD);

CStringFIELD

设置字段

9

intGetDB_Num();

得到数据库数量

10

intGetTABLE_Num();

得到数量

3.重要函数介绍

voidOnInigital_DB(intNum_DB)

功能描述:

初始化

被调用:

调用:

voidCDBMSView:

:

OnInitialUpdate(),

voidCDBMSView:

:

OnUpdate()

voidOnInigital_TABLE(intNum_DB)

功能描述:

初始化

被调用:

调用:

voidCDBMSView:

:

OnInitialUpdate(),

voidCDBMSView:

:

OnUpdate()

voidOnInigital_FIELD(intNum_DB)

功能描述:

初始化

被调用:

调用:

voidCDBMSView:

:

OnInitialUpdate(),voidCDBMSView:

:

OnUpdate()

3.3.6MainFrm类

1.成员变量

类型

名称

说明

CToolBar

m_wndToolBar

CStatusBar

m_wndStatusBar

CSplitterWnd

m_wndSplitter

CDBMSView

m_wndCTreeView

CDBlistView

m_wndCListView

 

2.成员函数

编号

函数

参数

说明

返回值

1

afx_msgintOnCreate(LPCREATESTRUCTlpCreateStruct);

LPCREATESTRUCTlpCreateStruct

2

afx_msgvoidOnAddfield();

3

afx_msgvoidOnTableNewtable();

4

afx_msgvoidOnDatabaseCreatedatabase();

5

afx_msgvoidOnDatabaseOpendatabase();

6

afx_msgvoidOnDatabaseDeletedatabse();

7

afx_msgvoidOnTableDeletetable();

8

afx_msgvoidOnDatabaseOpenTable();

9

afx_msgvoidOnFieldDeletefield();

3.重要函数介绍

intCMainFrame:

:

OnCreate(LPCREATESTRUCTlpCreateStruct)

功能描述:

初始化工具栏、状态栏

被调用:

调用:

3.4对话框

3.4.1databaseoperations(数据库操作)

CreateDatabaseDlg对话框

功能:

创建一个数据库。

程序流程:

用户点击创建数据库按钮,输入数据库名称,如果该数据库已经存在,则无法创建,否则创建一个新的数据库,保存到文件之中,全部操作记录保存到日志文件里。

功能流程图:

OpenDatabaseDlg对话框

功能:

打开一个已经创建好的数据库。

程序流程:

用户点击打开数据库按钮,显示所有数据库名称,用户选择一个数据库,打开,显示所有数据表名称,全部操作记录保存到日志文件里。

功能流程图:

DeleteDatabaseDlg对话框

功能:

删除一个已经创建好的数据库

程序流程:

用户点击删除数据库按钮,读取文件,显示当前所有的数据库名称。

用户根据自己的需要选择一个数据库进行删除,系统将自动删除数据库以及数据库里面的所有数据表和字段信息,将剩余的数据库信息写入到文件中,全部操作记录保存到日志文件里。

功能流程图:

3.4.2tableoperations(表格操作)

NewTableDlg对话框

功能:

创建一个数据表。

程序流程:

用户先选择一个数据库,创建数据表,输入数据表名称,判断是否存在,存在时不能创建数据表,不存在时创建一个数据表,写入到文件中并显示出来,全部操作记录保存到日志文件里。

功能流程图:

OpenTableDlg对话框

功能:

打开一个数据表。

程序流程:

用户选择一个数据库里的数据表,点击打开,读取文件,弹出数据表里的字段信息,全部操作记录保存到日志文件里。

功能流程图:

ModifyTableDlg对话框

功能:

更改一个数据表名称。

程序流程:

用户选择一个数据库里的数据表,读取文件,进行更改操作,输入新的数据表名称,保存写入到文件里,全部操作记录保存到日志文件里。

功能流程图:

DeleteTableDlg对话框

功能:

删除一个数据表。

程序流程:

用户点击删除数据表按钮,读取文件,显示选择的数据库里的所有数据表,用户选择一个待删除的数据表,确认删除,保存,写入到新的文件里,全部操作记录保存到日志文件里。

功能流程图:

3.4.3fieldoperations(字段操作)

AddFieldDlg对话框

功能:

向已有的数据表里加入字段。

程序流程:

用户点击增加字段按钮,向数据表里增加新的字段,首先判断字段在数据表里是否存在,如果存在,则无法输入信息。

如果不存在,向数据表理添加属性信息,包括(数据类型、字段默认值、是否为主键、是否为空),然后加上系统当前时间存入文件,全部操作记录保存到日志文件里。

功能流程图:

DeleteFieldDlg对话框

功能:

删除数据表里的字段信息。

程序流程:

用户点击删除字段信息对话框,首先输入需要删除的字段名称,进行判断,如果不存在这个字段,则无法删除,如果存在这个字段,从文件里读取数据表里的字段信息,然后再将除了需要删除的字段信息写入原文件,达到删除的目的,全部操作记录保存到日志文件里。

功能流程图:

ModifyFieldDlg对话框

功能:

修改数据表字段信息。

程序流程:

用户点击修改数据表字段修改按钮,首先系统提示用户输入需要更改的字段名称,然后进行判断,如果不存在该条字段,则无法修改字段信息。

如果存在该字段信息,则先在对话框上显示原有的字段信息,然后再让用户输入字段新的信息,继而读取文件,再将新的信息写入文件,全部操作记录保存到日志文件里。

功能流程图:

QueryFieldDlg对话框

功能:

查询数据表的字段信息。

程序流程:

用户点击查询按钮,系统提示用户输入需要查询的字段信息,用户输入字段名称,系统进行判断,如果不存在该字段,则无法查询,否则,读取文件保存到动态数组里面,显示需要查询的信息,全部操作记录保存到日志文件里。

功能流程图:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2