欢迎来到天天文库
浏览记录
ID:41037027
大小:1.57 MB
页数:85页
时间:2019-08-14
《12数据库编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第12章数据库编程用户用户数据库(database)是存储在计算机里的结构化数据的集合,可以分为关系、层次和网络三种类型,通常由数据库管理系统(DBMS=DataBaseManagementSystem)软件(如Oracle、DB2、SQLServer等)对数据库进行管理,应用程序通过(标准)编程接口(如ODBC/JDBC、DAO/ADO.NET、DOM/SAX等)来访问数据库,参见图12-1。数据库管理系统……图12-1数据库应用系统结构VisualStudio为程序员提供了多种数据库编程的接口和类库,传统上是采用VC的MFC进行ODBC、DAO和ADO编程,现在则一般采用C#和VB进行A
2、DO.NET的Web应用编程。12.1数据库与编程接口关系型数据库可以视为结构变量的集合,有专用的系统RDBMS进行管理,通过标准的查询语言SQL进行操作。微软平台中有多种数据库编程接口可供使用,早期常用ODBC和DAO,现在则多为ADO.NET。12.1.1数据库与DBMS数据库(DataBase,DB)是一种记录(record)或数据的集合。数据库的结构按一定的数据模型来组织,最常用的是关系模型(relationalmodel),其它还有层次模型(hierarchicalmodel)和网络模型(networkmodel)。DBMS(DataBaseManagementSystem,数据库
3、管理系统)是用来维护数据库的软件。数据库模型决定访问数据库的查询语言。但是,DBMS的大量内部操作则是独立于数据模型的,它们取决于诸如性能(performance)、并发性(concurrency)、完整性(integrity)和从硬件故障中恢复等管理因素。在这些方面,不同的产品之间存在很大差异。早期的计算机数据存储在穿孔卡片和磁带上,后来有了磁盘的文件系统,然后才是数据库管理系统。DBMS所用的各种数据库模型中,最初是网络和层次型数据库的强势,后来是关系数据库一统天下,然后又时兴面向对象的数据库,现在热门的则是XML这种层次型数据库。最早的DBMS出现在1960年代,先驱者之一是(图灵奖获
4、得者)CharlesBachman,他设计了首批DBMS之一IDS(IntegratedDataStore,集成数据存储,1960年通用电气GE公司)及其后续版本IDMS(IntegratedDatabaseManagementSystem,集成数据库管理系统,1971年推出,可在IBM大型机上运行),因其高性能,曾被业界广泛使用。1.三种数据库模型依据数据组织的方式,可以将数据库划分成如下三种模型:l网络型——典型的网络数据库模型是(COBOL语言的开发者)CODASYL(ConferenceonDataSystemsLanguages,数据系统语言协会)下属的DBTG(DataBaseT
5、askGroup,数据库工作组),在CharlesBachman思想的基础上开发的,于1969年发布了网络数据库模型语言规范——通常称为Codasyl数据模型。上面提到的IDS和IDMS就是网络型数据库管理系统。l层次型——层次模型将数据组织成(一)父(多)子关系的树状结构,IBM公司于1968年推出的IMS(InformationManagementSystem,信息管理系统,由VernWatts主持开发)就是一种层次型数据库管理系统,它在1970~1980年代占DBMS的统治地位。现在十分热门的XML数据库也属于层次模型。l关系型——关系数据库模型(relationaldatabasem
6、odel)最早由IBM公司的EdgarF.Codd于1969年提出,但最初并没有受到足够的重视,例如IBM于1970年代开发的SystemR也只是一个研究原型。只是到了1980年代后,关系数据库才异军突起,并迅速独霸天下。主流的商用关系数据库管理系统(RDBMS=RelationalDBMS)有Oracle、DB2、SQLServer和MySQL等。网络模型可真实反映现实世界中,事物之间所存在的错综复杂的网状相互关系(如人际关系)。层次模型可以看成是网络模型的子集或特例(如家族谱系),多个层次模型可以组成一个网路模型。关系模型反映的则是事物间的链接或二元关系(如父子关系、夫妻关系等),简单且
7、高效。层次和网络模型可以用多个二元关系来表示。2.关系数据库模型关系数据库由表示二元关系的实体——表(table)所组成,表中的列(column)称为字段(field)、行(row)称为记录(record)。如:表12-1学生信息表元数据→学号姓名性别年龄身高电话记录→1001张三男201.8012345678→1002李四女181.6123456789→1003王五男211.7234567890↑↑↑↑↑↑
此文档下载收益归作者所有