当前位置:首页>> >>


基于C 的小型关系型数据库的设计与实现.rar

收藏

资源目录
    文档预览:
    编号:20180913212648181    类型:共享资源    大小:17.26MB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    45
    金币
    关 键 词:
    基于 小型 关系 数据库 设计 实现
    资源描述:
    太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸基于 C++的小型关系型数据库的设计与实现摘 要数据库是按一定结构组织的,各种应用相关的所有数据的集合。它包含了数据库管理系统处理的全部数据。其内容主要分为两个部分:一是物理数据库,记载了所有数据;二是数据字典,描述了不同数据之间的关系和数据组织的结构。数据库技术自产生以来,发展到今日已形成了坚实的理论基础和独特的数据处理技术,并获得了广泛的应用。数据库技术是信息社会的重要基础之一,是计算机科学领域中发展最为迅速的分支。关系型数据库是目前最流行的数据库系统。数据库管理系统已经成为软件产业的重要组成部分,是信息化过程中最重要的技术基础之一。我国要振兴软件产业,就必须发展自己的数据库软件产业。本系统运用计算机程序来实现关系型数据库的数据管理,建立一个模拟的关系型数据库,并能够解析 SQL 语句,并执行相应的数据操作。关键词: 关系型数据库;数据库技术;系统设计太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸iBased on the C + + A Small Relational Database Design and ImplementationAbstractDatabase 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太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸目 录摘 要 ....................................................................iAbstract.................................................................ii1 绪论 ...................................................................11.1 课题研究背景 ......................................................11.2 课题研究现状 ......................................................21.3 课题研究的意义 ....................................................21.4 本文主要研究工作和章节安排 ........................................32 需求分析 ...............................................................42.1 需求分析的任务 ....................................................42.2 需求分析的方法 ....................................................42.3 主要开发内容 ......................................................42.4 基本功能需求 ......................................................52.5 可行性分析 ........................................................52.5.1 经济可行性 ..................................................52.5.2 技术可行性 ..................................................52.5.3 操作可行性 ..................................................52.6 系统用例分析 ......................................................52.7 开发平台及核心技术简介 ............................................62.7.1 开发环境 ....................................................62.7.3 开发语言简介 ...............................................102.7.4 关系数据库模型简介 .........................................102.7.5 关系数据库模型的设计、实现与维护简介 .......................113 总体设计 ..............................................................133.1 关系型数据库的设计过程 ...........................................133.2 总体设计原则 .....................................................133.2.1 实用性原则 .................................................133.2.2 可扩展性与可维护性原则 .....................................133.2.3 安全性原则 .................................................133.2.4 用户界面设计原则 ...........................................133.3 总体设计方案 .....................................................143.3.1 系统模块关系与划分 .........................................143.3.2 开发技术、开发工具和开发环境 ...............................154 详细设计 ..............................................................164.1 用户前台模块设计 .................................................164.1.1 登录界面设计 ...............................................164.1.2 主窗口设计 .................................................164.2 后台数据解析模块设计 .............................................164.3 系统实现 .........................................................174.3.1 登录与主界面的实现 .........................................174.3.2 CMyAnylise 类的实现 ........................................194.3.3 CDBControl 类的实现 ........................................20太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸5 系统调试与测试 ........................................................295.1 程序调试 .........................................................295.2 测试概要 .........................................................295.2.1 测试的重要性及目的 .........................................305.2.2 测试的步骤 .................................................305.3 系统的测试用例 ...................................................305.3.1 登录与注册的测试 ...........................................315.3.2 建表的测试 .................................................325.3.3 插入数据的测试 .............................................335.3.4 删除数据的测试 .............................................345.3.5 更新数据的测试 .............................................355.3.6 查找数据的测试 .............................................355.3.7 删除表的测试 ...............................................36结 论 .................................................................38参考文献 .................................................................39致 谢 .................................................................40外文原文 .................................................................41中文翻译 .................................................................53太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸01 绪论 1.1 课题研究背景 数据库(Databases ,简称 DB)是指长期保存在计算机的存储设备上、并按照某种模型组织起来的、可以被各种用户或者应用共享的数据的集合。数据库管理系统(Database Management Systems,简称 DBMS)是指提供各种数据管理的服务的计算机软件系统,这种服务包括数据对象定义、数据存储和备份、数据访问和更新、数据统计和分析、数据的安全保护、数据库运行管理及数据库建立与维护等。数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。数据库是数据管理的最新技术,是计算机科学的重要分支之一。今天信息资源已经成为各个部门的重要财富,建立一个能够满足各级部门信息处理要求的,行之有效的信息系统已经成为一个企业或组织生存和发展的重要条件。因此作为信息系统核心和基础的数据库技术也将得到越来越广泛的应用,从小型的单项事务处理系统到大型的信息系统,从联机的事务处理到联机的分析处理,从一般企业管理到计算机的辅助设计与制造,计算机集成制造系统,电子政务,电子商务地理信息系统等,越来越新的应用领域采用数据库技术来存储和处理信息资源。数据库系统的出现使信息系统从加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。这样既便于数据的集中管理,也有利于应用程序的研制与维护,提高了数据的利用率与相容性,提高了决策的可靠性。数据库已成为现代信息系统的重要组成部分。关系型数据库是目前应用最广泛的数据库,它通过提供完善的结构化查询语言(SQL)和功能强大的数据检索功能,被广泛的应用到各个方面的项目开发中。但因其与系统的关联紧密度很大,所以数据库本身的性能也是被大家所关注的主要问题之一,如何保证项目应用中使用高效的 SQL 语句,是保障数据库的服务性能的主要手段。目前关系型数据库是项目中使用的最常见的一种数据库,特别是商业产品中因其业务的实现比较复杂,对关系型数据库的依赖会更加的紧密。但关系型数据库的一个比较大的缺点就是它的扩展方面比较差,实施扩展的成本也是比较高。所以为了追求高的性能,就得保证与关系数据库的交互是高效的。除了对数据库表结构上进行较优的设计外,还需要确保在 SQL 语句的使用上,避免那些低效的编写方案。但对于如何保障 SQL 语句编写是高效的,在实施上就变得非常困难,单纯的通过人为保障的可行性比较低。所以能很好的使用高效 SQL 语言进行系统编写实现,可以很大程度上提升系统运行性能,确保商业产品可以更好的为商业用户提供服务。由于企业信息化的目的是要以现代信息技术为手段,对伴随着企业生产与经营过程而产生的数据进行收集、加工、管理以及利用,以改善企业的生产经营的整体效率,增强企业的竞争力。所以,作为常用的数据库之一的关系型数据库已经是企业信息化不可缺少的工具,是绝大部分企业信息系统的核心。纵观整个数据库行业的发展,三大数据库巨头公司纷纷推出自己的最新产品,数据库市场竞争日益加剧。从最新的 IDC 报告可以看出,在关系型数据库管理系统(RDBMS)的软件市场上,Oracle 继续领先对手 IBM 与微软,但是微软在 2006 年取得太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸1了更快的销售增长率……1.2 课题研究现状 数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库” ,并根据管理的需要进行相应的处理。数据库管理系统历经了 30 多年的发展演变,已经取得了相对辉煌的成就,发展成了内容丰富的学科之一,形成了总量达到数百亿美元的一个软件产业。根据 Gartner Dataquest 公司的调查报告显示,2000 年的国际数据库市场销售总额达到 88 亿美元,比 1999 年增长了 10%。根据 CCID 的报告显示, 2000 年的中国数据库管理系统市场销售总额达到 24.8 亿元,比 1999 年增长了 41.7%,占软件市场总销售额的 10.8%。由此可见,数据库已发展成为一个巨大规模、迅速增长的市场。目前,软件市场上具有代表性的数据库产品有 Oracle 公司的 Oracle 与 IBM 公司的 DB2 以及微软的 SQL Server 等。在某种意义上,这些产品的特征也反映了当前数据库产业界的最高水平与发展趋势。 目前,关系数据库技术依然是主流的数据库技术。关系数据库技术出现在 20 世纪70 年代、经过 80 年代的发展,到了 90 年代已经相对成熟,在 90 年代初期曾经一度受到面向对象数据库的严峻挑战,但是软件市场最后还是选择了关系数据库。不管是Oracle 公司的 Oracle 9i 以及 IBM 公司的 DB2、还是微软的 SQL Server 等都是关系型数据库。Gartner Dataquest 的报告显示了关系数据库管理系统(RDBMS)的市场份额已经最大,2000 年 RDBMS 的市场份额占整个数据库市场的 80%,这个比例比 1999 年增长 15%。这组数据充分说明了 RDBMS 仍然是当今最为流行的数据库软件。1.3 课题研究的意义关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于 1970 年首先提出的,並配合“科德十二定律” 。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言 SQL 就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系型数据库技术出现在 20 世纪 70 年代,经过 80 年代的发展到 90 年代已经比较成熟,在 90 年代初期曾一度受到面向对象数据库的巨大挑战,但是市场最后还是选择了关系数据库,而且关系型数据库有一个很好地安全性,一个关系数据库的访问权限,允许数据库的管理员的实施需要为基础的权限来访问数据库表中的数据。关系型数据库支持的概念,用户和用户权限,从而满足数据库的安全需求。关系相关的特权,如创建权限,授予特权,选择,插入,删除权限,授权不同的用户对数据库的相应的操作。关系型数据库的另外一个重要优势,包括其性能,功耗,并支持新的硬件技术的灵活性和能力,以满足所有类型的数据的需求。由于自身的优势和应用程序的数据存储和检索的操作中,已经彻底改变了关系型数据库的数据库管理系统。但是,许多商业数据库功能非常强大,相应的占用资源也很大,很多嵌入式设备无法移植,更重要的是嵌入式设备并不需要性能如此强大的数据库,所以设计简单而又高效的小型关系太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸2型数据库迫在眉睫,使它在嵌入式等设备上能发挥巨大的优势!1.4 本文主要研究工作和章节安排根据现有的知识水平只能做一些比较简单的关系型数据库设计与实现,本系统要实现的功能包括实现控制台命令词法分析,语法分析,语义响应;实现通过文件批处理命令。提高了输入效率;实现对表建立数据字典;为了提高数据字典的读取速度,对数据字典使用索引文件;实现记录的插入,删除,修改;实现数据字典索引文件查看以及数据字典文件查看;实现数据表文件查看。 本文通过第一章绪论对数据库研究的背景和现状以及意义进行了阐述,分析了当今研究关系型数据库的必要性,在第二章介绍了需求分析,主要包括开发内容,基本功能需求,可行性分析与系统用例分析以及开发环境和核心技术以及开发语言的介绍。在第三章介绍了总体设计,主要包括总体设计原则和总体设计方案。在第四章介绍了用户前台模块设计,后台数据解析模块设计以及系统实现。在第五章介绍了系统的调试与测试,组要包括程序调试,测试概要以及系统测试用例。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸32 需求分析 2.1 需求分析的任务从数据库设计的设计角度来看,需求分析的任务是对现实世界中要处理的对象进行详细的调查,明确用户的各种需要,在此基础上确定系统功能调查分析用户的活动:调查组织结构情况,调查用户业务活动的情况、收集和分析需求数据。确定系统边界:保护用户的信息需求、处理需求、安全性和完整性的需求等。信息需求:目标范围内涉及的所有实体、实体的属性以及实体间的联系等数据对象。处理需求:用户为了得到需求的信息而对数据进行加工处理的要求。安全性和完整性需求:在定义信息需求和处理需求的同时必须给出相应完全性和完 整性约束收集各种需求数据后,对前面调查结果进行初步分析,确定哪些功能由计算机完成,哪些由人完成。由计算机完成的功能即是新系统应该实现的功能。2.2 需求分析的方法包括自顶向下和自底向上两种方法。自顶向下的结构和方法是最简单实用的方法,采用逐层分解的方法,用数据流图是数据字典来描述系统。数据流图表达了数据和处理过程的关系。数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。数据字典的内容:数据项、数据结构、数据流、数据存储、处理过程1、数据项:不可再分的数据单位。对数据项的描述。数据项描述={数据项名,含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}。2、数据结构:反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成。数据结构描述={数据结构名,含义说明,组成}。3、数据流:数据结构在系统内传输的路径。数据流描述={数据流名,说明,来源,去向,组成:{数据结构},平均流量,高峰期流量}。4、数据存储:数据结构停留或保存的地方。数据存储描述={名字,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}。5、处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述。处理过程描述={名字,说明,输入:{数据刘},输出:{数据刘},处理:{简要说明}}。经过这个过程,需求分析人员应该已经了解了对象的组织结构,对象中的业务处理活动。明确了用户的信息要求(实体、属性、联系) ,处理要求(处理过程) ,安全性、完整性要求。然后按照自顶向下的需求分析方法,用数据流图和数据字典来描述这系统,分离用户完成功能和计算机完成功能,明晰系统功能。2.3 主要开发内容关系数据库,是建立在关系数据库模型基础上的数据库,它借助于集合代数等概念与方法来处理数据库中的数据,同时它也是一个被组织成一组拥有正式的描述性的表格,这种形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能够以许多不同的方式被存取或重新召集,而不需要重新组织数据库表格。关系数据库的定义造成原数据的一张表格或者造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸4一的数据实体,这些数据是被列定义的种类。当创造一个关系数据库的时候,用户能够定义数据列的可能值的范围与可能应用于那个数据值的进一步约束。而 SQL 语言是标准用户和应用程序到关系数据库的接口。它的优势是容易扩充,且在最初的数据库创造之后,一个新的数据种类能够被添加而不需要修改所有的现有的应用软件。在关系数据模型中,现实世界中的实体以及实体与实体之间的联系均可用关系来表示。从逻辑或者用户的观点来看,关系就是二维表。本系统主要是根据关系数据模型来创建数据库,实现数据库数据的增删改查。项目开发要求: (1)项目开发要规范统一,模块划分、代码编写等均按照命名规范文档;(2)程序执行速度快,数据安全。系统要具有良好的可扩展性;(3)用户界面简单明了,操作简单实用;(4)具有一定的鲁棒性,能够处理大部分异常。 2.4 基本功能需求 作为关系型数据库,最基本的功能就是存储数据。该关系型数据库系统能够解析输入的标准 SQL 语句命令,并执行相关操作,实行数据库数据存储,查找,修改,删除。从关系型数据库的安全性来考虑,数据库系统需要进行用户管理,并进行权限设置。2.5 可行性分析该阶段通过对系统目标的初步调研与分析,提出可行性方案并且进行论证。我们在这里主要从经济可行性、技术可行性、操作可行性等方面进行分析。2.5.1 经济可行性开发该系统所需要的相关资料可以通过已存在的相关系统进行采集调查,所需要的其他应用软件、硬件系统也比较易于获得。因此,开发成本较低。所以,从经济的角度来看,该系统可行。2.5.2 技术可行性技术可行性需要考虑现有的技术条件是否能够顺利的完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是 C++开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,因此软件的开发平台成熟可行,它们速度快、容量大、可靠性能强、价格低,完全能够满足系统的需求。2.5.3 操作可行性本系统使用命名规范的文档,程序执行速度快,数据安全,具有良好的可扩展性,用户界面简单明了,操作简单实用,由于当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在操作运行上是可行性的。综上所述,本系统的开发从经济上、从技术上、从操作上都是完全可靠的。2.6 系统用例分析以下是小型关系型数据库的用户操作用例图。它包括了用户进行的创建表、插入数据、修改数据、查找数据、删除数据以及删除表,创建用户、规定用户身份以及用户权限。如图 2-1 所示:太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸5图 2-1 用户操作用例图2.7 开发平台及核心技术简介2.7.1 开发环境本系统使用的是 Microsoft 的 Visual C++ 6.0 作为开发工具。Visual C++ 6.0,简称 VC 或者 VC6.0,是微软推出的一款 C++编译器,将“高级语言”翻译为“机器语言(低级语言) ”的程序。 Visual C++是一个功能强大的可视化软件开发工具。自 1993 年 Microsoft 公司推出 Visual C++1.0 后,随着其新版本的不断问世,Visual C++已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了 Visual C++.NET(Visual C++7.0),但它的应用的很大的局限性,只适用于 Windows 2000、Windows XP 和 Windows NT4.0。所以实际中,更多的是以 Visual C++6.0 为平台。Visual C++6.0 不仅是一个 C++ 编译器,而且是一个基于 Windows 操作系统的可视化集成开发环境(integrated development environment,IDE) 。Visual C++6.0 由许多组件组成,包括编辑器、调试器以及程序向导 AppWizard、类向导 Class Wizard 等开发工具。这些组件通过一个名为 Developer Studio 的组件集成为和谐的开发环境。主要部分:Developer Studio,这是一个集成开发环境, 我们日常工作的 99%都是在它上面完成的,再加上它的标题赫然写着“Microsoft Visual C++”,所以很多人理所当然的认为,那就是 Visual C++了。其实不然,虽然 Developer Studio 提供了一个很好的编辑器和很多 Wizard,但实际上它没有任何编译和链接程序的功能,真正完成这些工作的幕后英雄后面会介绍。我们也知道,Developer Studio 并不是专门用于 VC 的,它也同样用于 VB,VJ,VID 等 Visual Studio 家族的其他同胞兄弟。所以不要把 Developer Studio 当成 Visual C++, 它充其量只是 Visual C++的一个壳子而已。用 户
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于C 的小型关系型数据库的设计与实现.rar
    链接地址:http://www.gold-doc.com/p-139105.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开