基于 C++的小型关系型数据库的设计与实现
摘 要
数据库是按一定结构组织的,各种应用相关的所有数据的集合。它包含了数据库管
理系统处理的全部数据。其内容主要分为两个部分:一是物理数据库,记载了所有数据;
二是数据字典,描述了不同数据之间的关系和数据组织的结构。数据库技术自产生以来,
发展到今日已形成了坚实的理论基础和独特的数据处理技术,并获得了广泛的应用。数
据库技术是信息社会的重要基础之一,是计算机科学领域中发展最为迅速的分支。关系
型数据库是目前最流行的数据库系统。数据库管理系统已经成为软件产业的重要组成部
分,是信息化过程中最重要的技术基础之一。我国要振兴软件产业,就必须发展自己的
数据库软件产业。本系统运用计算机程序来实现关系型数据库的数据管理,建立一个模
拟的关系型数据库,并能够解析 SQL 语句,并执行相应的数据操作。
关键词:
关系型数据库;数据库技术;系统设计
Based on the C + + A Small Relational Database Design
and Implementation
Abstract
Database is organized according to certain structure, a collection of all data related to
all kinds of application.It contains a database management system to deal with all the
data.The main content is divided into two parts: one is the physical database, all data
recorded;Second, data dictionary, describes the relationship between the different data and
data structure of the organization.Database technology since the produce, development to this
day it has formed a solid theoretical foundation and the unique data processing technology,
and access to a wide range of applications.Database technology is one of the important basis
of information society, is the most rapid development in the area of computer science.A
relational database is by far the most popular database system.Database management system
has become an important part of the software industry, is one of the most important
technology in the process of informatization.To the revitalization of software industry in our
country, it must develop its own database software industry.This system use computer
programs to implement the relational database data management, establishing a simulation of
the relational database system, and be able to parse SQL statements,and perform the
corresponding data operation.
Keywords: a relational database;Database technology;System design
目 录
摘 要 ................................................................... i
Abstract ................................................................ ii
1 绪论 .................................................................. 1
1.1 课题研究背景 ..................................................... 1
1.2 课题研究现状 ..................................................... 2
1.3 课题研究的意义 ................................................... 2
1.4 本文主要研究工作和章节安排 ....................................... 3
2 需求分析 .............................................................. 4
2.1 需求分析的任务 ................................................... 4
2.2 需求分析的方法 ................................................... 4
2.3 主要开发内容 ..................................................... 4
2.4 基本功能需求 ..................................................... 5
2.5 可行性分析 ....................................................... 5
2.5.1 经济可行性 ................................................. 5
2.5.2 技术可行性 ................................................. 5
2.5.3 操作可行性 ................................................. 5
2.6 系统用例分析 ..................................................... 5
2.7 开发平台及核心技术简介 ........................................... 6
2.7.1 开发环境 ................................................... 6
2.7.3 开发语言简介 .............................................. 10
2.7.4 关系数据库模型简介 ........................................ 10
2.7.5 关系数据库模型的设计、实现与维护简介 ...................... 11
3 总体设计 ............................................................. 13
3.1 关系型数据库的设计过程 .......................................... 13
3.2 总体设计原则 .................................................... 13
3.2.1 实用性原则 ................................................ 13
3.2.2 可扩展性与可维护性原则 .................................... 13
3.2.3 安全性原则 ................................................ 13
3.2.4 用户界面设计原则 .......................................... 13
3.3 总体设计方案 .................................................... 14
3.3.1 系统模块关系与划分 ........................................ 14
3.3.2 开发技术、开发工具和开发环境 .............................. 15
4 详细设计 ............................................................. 16
4.1 用户前台模块设计 ................................................ 16
4.1.1 登录界面设计 .............................................. 16
4.1.2 主窗口设计 ................................................ 16
4.2 后台数据解析模块设计 ............................................ 16
4.3 系统实现 ........................................................ 17
4.3.1 登录与主界面的实现 ........................................ 17
4.3.2 CMyAnylise 类的实现 ........................................ 19
4.3.3 CDBControl 类的实现 ........................................ 20
5 系统调试与测试 ....................................................... 29
5.1 程序调试 ........................................................ 29
5.2 测试概要 ........................................................ 29
5.2.1 测试的重要性及目的 ........................................ 30
5.2.2 测试的步骤 ................................................ 30
5.3 系统的测试用例 .................................................. 30
5.3.1 登录与注册的测试 .......................................... 31
5.3.2 建表的测试 ................................................ 32
5.3.3 插入数据的测试 ............................................ 33
5.3.4 删除数据的测试 ............................................ 34
5.3.5 更新数据的测试 ............................................ 35
5.3.6 查找数据的测试 ............................................ 35
5.3.7 删除表的测试 .............................................. 36
结 论 ................................................................ 38
参考文献 ................................................................ 39
致 谢 ................................................................ 40
外文原文 ................................................................ 41
中文翻译 ................................................................ 53
1
1 绪论
1.1 课题研究背景
数据库(Databases,简称 DB)是指长期保存在计算机的存储设备上、并按照某种
模型组织起来的、可以被各种用户或者应用共享的数据的集合。数据库管理系统
(Database Management Systems,简称DBMS)是指提供各种数据管理的服务的计算机
软件系统,这种服务包括数据对象定义、数据存储和备份、数据访问和更新、数据统计
和分析、数据的安全保护、数据库运行管理及数据库建立与维护等。
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集
合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据
结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。
从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
数据库是数据管理的最新技术,是计算机科学的重要分支之一。今天信息资源已经
成为各个部门的重要财富,建立一个能够满足各级部门信息处理要求的,行之有效的信
息系统已经成为一个企业或组织生存和发展的重要条件。因此作为信息系统核心和基础
的数据库技术也将得到越来越广泛的应用,从小型的单项事务处理系统到大型的信息系
统,从联机的事务处理到联机的分析处理,从一般企业管理到计算机的辅助设计与制造,
计算机集成制造系统,电子政务,电子商务地理信息系统等,越来越新的应用领域采用
数据库技术来存储和处理信息资源。数据库系统的出现使信息系统从加工数据的程序为
中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,也有利于应
用程序的研制与维护,提高了数据的利用率与相容性,提高了决策的可靠性。数据库已
成为现代信息系统的重要组成部分。
关系型数据库是目前应用最广泛的数据库,它通过提供完善的结构化查询语言(SQL)
和功能强大的数据检索功能,被广泛的应用到各个方面的项目开发中。但因其与系统的
关联紧密度很大,所以数据库本身的性能也是被大家所关注的主要问题之一,如何保证
项目应用中使用高效的 SQL 语句,是保障数据库的服务性能的主要手段。
目前关系型数据库是项目中使用的最常见的一种数据库,特别是商业产品中因其业
务的实现比较复杂,对关系型数据库的依赖会更加的紧密。但关系型数据库的一个比较
大的缺点就是它的扩展方面比较差,实施扩展的成本也是比较高。所以为了追求高的性
能,就得保证与关系数据库的交互是高效的。除了对数据库表结构上进行较优的设计外,
还需要确保在 SQL 语句的使用上,避免那些低效的编写方案。但对于如何保障 SQL 语
句编写是高效的,在实施上就变得非常困难,单纯的通过人为保障的可行性比较低。所
以能很好的使用高效 SQL 语言进行系统编写实现,可以很大程度上提升系统运行性能,
确保商业产品可以更好的为商业用户提供服务。
由于企业信息化的目的是要以现代信息技术为手段,对伴随着企业生产与经营过程
而产生的数据进行收集、加工、管理以及利用,以改善企业的生产经营的整体效率,增
强企业的竞争力。所以,作为常用的数据库之一的关系型数据库已经是企业信息化不可
缺少的工具,是绝大部分企业信息系统的核心。
纵观整个数据库行业的发展,三大数据库巨头公司纷纷推出自己的最新产品,数据
库市场竞争日益加剧。从最新的 IDC 报告可以看出,在关系型数据库管理系统(RDBMS)
的软件市场上,Oracle 继续领先对手 IBM 与微软,但是微软在 2006 年取得了更快的销
售增长率„„