第20章节 数据库.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第20章节 数据库

第20章 数据库 数据库可以被视为能够进行自动查询和修改的数据集。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在开发需要进行大量数据存储的应用程序时,用C语言设计的程序通过数据库的接口对数据进行存储是最好的选择。在Linux系统中可以选择的数据库有很多,有些数据库是嵌入在程序里的格式化文本访问机制,有的数据库是作为独立的程序运行的。 20.1 数据的存储与访问 数据是有一定意义的格式化文本,数据的存储通常是指按照一定的规则将其写入到数据文件或数据库中。我们对数据的访问总结起来有这样几个最基本的任务: 查询数据,按一定的规则将满足条件的数据记录从数据文件或数据库中输出。 插入数据,将符合数据文件或数据库格式的数据存入目标位置。 修改数据,将数据文件或数据库中的数据记录修改。 删除数据,将数据文件或数据库中的数据记录删除。 20.1.1 使用数据文件 数据文件是具有一定格式的文件,对操作系统来说它只是一个普通文件。所以对数据文件的访问并没有与其他普通文件不同之处,但我们必须以约定的格式向数据文件中写入数据,读取数据也必须按格式来处理。 20.1.2 使用数据库 实体关系模型利用图形的方式(实体-关系图,Entity-Relationship Diagram)来表示数据库的概念设计,有助于设计过程中的构思及沟通讨论。话费清单的E-R模型如图20.1所示。 20.2 Berkeley DB数据包 Berkeley DB数据包是由美国甲骨文公司开发(从加里福利亚大学伯克利分校收购)的一套开源嵌入式数据文件访问的函数库,它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的存取和管理提供了一组简洁的函数调用API接口,它是一套机制健全的数据文件访问工具。 20.2.1 Berkeley DB数据包简介 Berkeley DB数据包是一个经典的C语言函数库模式的工具集,为程序员提供广泛丰富的函数集,可用于开发工业级强度的数据库服务。 1.数据存取子系统 2.内存池管理子系统 3.事务子系统 4.锁子系统 5.日志子系统 20.2.2 Berkeley DB数据包连接和使用 Berkeley DB数据包连接和使用可以分为6个步骤,分别是初始化数据包标识符、打开数据文件、数据操作、创建数据包连接、错误处理和关闭数据包标识符。除了数据操作外,实现其他步骤的代码复用性较强。下面介绍Berkeley DB数据包连接的实现方法。 1.初始化数据包标识符 2.关闭数据包标识符 3.打开数据文件 4.数据操作 5.错误处理 6.环境变量 7.创建公用模板 20.2.3 Berkeley DB数据包访问 Berkeley DB数据包的记录由两个部分组成:数据项和一些数值。数据项和它的相应的数据被装入DBT结构中。因此,访问Berkeley DB数据包记录需要两个这样的结构。DBT结构有两个成员,一个是void*类型的成员,可以指向任何数据,另一个是用来定义数据的长度。因此,他们可被用来存储任何简单原始数据类型或各种复杂的数据结构,无论数据有多么长,只需将他们放在一个连续的内存空间中。 20.2.4 Berkeley DB数据包中的游标 Berkeley DB的游标(Dbc)和关系数据库的游标是类似的,是一种可以迭代数据库中的记录的装置。对于重复记录,使用游标来访问他们会更加方便。另外,通过游标可以一条条地操作(修改和删除)记录。在使用游标之前,必须先定义一个Dbc结构的游标指针,然后使用Db-cursor函数打开游标。 20.3 PostgreSQL数据库服务器介绍 PostgreSQL是面向目标的关系数据库系统,它具有传统商业数据库系统的所有功能,同时又含有将在下一代DBMS系统的使用的增强特性。与Berkeley DB相比,PostgreSQL具备更强的数据管理能力和更出色的性能,它支持SQL查询语言,提供给C语言的数据库访问接口也更为抽象。本节主要以PostgreSQL的C语言接口为核心讲解数据库操作的概念和基本方法。 20.3.1 PostgreSQL基本概念 在数据库术语里,PostgreSQL使用一种客户端/服务器的模式。一次PostgreSQL会话由下列相关的进程(程序)组成: 数据库守护进程。 那些需要执行数据库操作的用户的客户端应用。 和典型的客户端/服务器应用(C/S应用)一样,如果客户端和服务器可以在不同的主机上,将通过TCP/IP网络联接通讯。PostgreSQL服务器可同时处理多个客户端的请求,也可以处理同一客户端的多个并发请求。因此,它为每个请求启动fork()一个新的进程。从这个时候

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档