- 1、本文档共151页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
22数据库编程
第22章 数据库编程
数据库(database)是存储在计算机里的结构化数据的集合,可以分为关系、层次和网络三种类型,通常由数据库管理系统(DBMS = DataBase Management System)软件(如Oracle、DB2、SQL Server等)对数据库进行管理和操作,应用程序通过(标准)编程接口(如ODBC/JDBC、DAO/ADO.NET、DOM/SAX等)来访问数据库,参见图22-1。
图22-1 数据库应用系统结构
Visual Studio为程序员提供了多种数据库编程的接口和类库,传统上是采用MFC进行ODBC、DAO和ADO编程,现在则一般采用C# 和VB进行ADO.NET的Web应用编程。
22.1 数据库与编程接口
关系型数据库可以视为结构变量的集合,有专用的系统RDBMS进行管理,通过标准的查询语言SQL进行操作。微软平台中有多种数据库编程接口可供使用,早期常用ODBC和DAO,现在则多为ADO.NET。
22.1.1 数据库与DBMS
数据库(DataBase,DB)是一种记录(record)或数据的集合。数据库的结构按一定的数据模型来组织,最常用的是关系模型(relational model),其它还有层次模型(hierarchical model)和网络模型(network model)。
DBMS(DataBase Management System,数据库管理系统)是用来维护数据库的软件。数据库模型决定访问数据库的查询语言。但是,DBMS的大量内部操作则是独立于数据模型的,它们取决于诸如性能(performance)、并发性(concurrency)、完整性(integrity)和从硬件故障中恢复等管理因素。在这些方面,不同的产品之间存在很大差异。
早期的计算机数据存储在穿孔卡片和磁带上,后来有了磁盘的文件系统,然后才是数据库管理系统。DBMS所用的各种数据库模型中,最初是网络和层次型数据库的强势,后来是关系数据库一统天下,然后又时兴面向对象的数据库,现在热门的则是XML这种层次型数据库。
最早的DBMS出现在1960年代,先驱者之一是(图灵奖获得者)Charles Bachman,他设计了首批DBMS之一IDS(Integrated Data Store,集成数据存储,1960年通用电气GE公司)及其后续版本IDMS(Integrated Database Management System,集成数据库管理系统,1971年推出,可在IBM大型机上运行),因其高性能,曾被业界广泛使用。
1.三种数据库模型
依据数据组织的方式,可以将数据库划分成如下三种模型:
网络型——典型的网络数据库模型是(COBOL语言的开发者)CODASYL(Conference on Data Systems Languages,数据系统语言协会)下属的DBTG(Data Base Task Group,数据库工作组),在Charles Bachman思想的基础上开发的,于1969年发布了网络数据库模型语言规范——通常称为Codasyl数据模型。上面提到的IDS和IDMS就是网络型数据库管理系统。
层次型——层次模型将数据组织成(一)父(多)子关系的树状结构,IBM公司于1968年推出的IMS(Information Management System,信息管理系统,由Vern Watts主持开发)就是一种层次型数据库管理系统,它在1970~1980 年代占DBMS的统治地位。现在十分热门的XML数据库也属于层次模型。
关系型——关系数据库模型(relational database model)最早由IBM公司的Edgar F. Codd于1969年提出,但最初并没有受到足够的重视,例如IBM于1970年代开发的System R也只是一个研究原型。只是到了1980年代后,关系数据库才异军突起,并迅速独霸天下。主流的商用关系数据库管理系统(RDBMS = Relational DBMS)有Oracle、DB2、SQL Server和MySQL等。
网络模型可真实反映现实世界中,事物之间所存在的错综复杂的网状相互关系(如人际关系)。层次模型可以看成是网络模型的子集或特例(如家族谱系),多个层次模型可以组成一个网路模型。关系模型反映的则是事物间的链接或二元关系(如父子关系、夫妻关系等),简单且高效。层次和网络模型可以用多个二元关系来表示。
2.关系数据库模型
关系数据库由表示二元关系的实体——表(table)所组成,表中的列(column)称为字段(field)、行(row)称为记录(record)。如:
表22-1 学生信息表
元数据→ 学号 姓名 性别 年龄 身高 电话
您可能关注的文档
- 2016地方标准申报.docx
- 2016唐山世界园艺博览会通信保障专项预案v1-增加传输保障方案.docx
- 2016传输练功试题.docx
- 2016届二轮 空间中的平行与垂直 专题能力训练(全国通用).doc
- 2016届二轮复习 专题7 第2讲 机械振动与机械波 光 电磁波 集训作业.doc
- 2016导与练第5课时 实验二验证力的平行四边形定则.ppt
- 2016导与练 第4课时 实验一探究弹力和弹簧伸长的关系.ppt
- 2016年浙江省中职单考单招计算机真题卷.doc
- 2016年物理中考复习课件《欧姆定律》.ppt
- 2016年秋九年级物理全册 第15章 探究电路 第4节 电阻的串联和并联导学案.doc
文档评论(0)