计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文

上传人:w****i 文档编号:94404990 上传时间:2019-08-06 格式:DOC 页数:10 大小:84KB
返回 下载 相关 举报
计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文_第1页
第1页 / 共10页
计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文_第2页
第2页 / 共10页
计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文_第3页
第3页 / 共10页
计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文_第4页
第4页 / 共10页
计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文》由会员分享,可在线阅读,更多相关《计算机英语教程 译文 作者 吕云翔 杨雪 林珣_ 6_中文(10页珍藏版)》请在金锄头文库上搜索。

1、第6章 数据库第一部分 阅读和翻译A部分 关系型数据库1. 简介关系型数据库(Relational Database)利用各种数据集共有的性质来匹配数据,匹配结果以一种更易于常人理解的方式呈现(参见图6.1)。例如,一个包含一个城市的所有房产交易数据的数据集可以将交易记录按照交易年份、价格、购买者的姓等条件进行分组,这样的分组方式本质上使用了一种称为关系模式(Relational Schema)的数据模型,使用这一模型的数据库就是关系型数据库,具体实现这一模型的软件称为关系型数据库管理系统(Relational Database Management System, RDBMS)。值得注意的是

2、,我们通常提到“关系型数据库”时实际所指的是RDBMS。如今,关系型数据库是储存金融信息、医疗记录、个人资料和工业数据等的首选数据模型。2. 内容严格来说,关系型数据库是关系的集合,并以表的方式呈现。关系型数据库还包含其它的一些帮助组织和结构化数据,以及使数据库满足某些要求的组件。3. 术语“关系型数据库”这一术语最初由IBM Almaden研究中心的Edgar Codd在1970年定义,使用了一系列的数学词汇,这些数学词汇和今天的SQL数据库的一些词汇等价。下表总结了这样的一些重要的互相等价的术语。“关系”数学术语对应的SQL术语关系(基础关系变量)表继承的关系变量视图, 查询结果, 结果集

3、元组行属性列4. 关系和表一个元组代表一个事物(可以是实物或者概念)和这个事物的属性,具有相同属性的元组构成的集合称为关系,这个关系也是我们通常所称的由行列组成的表。表中一个属性的数据,或者说某一列的所有数据都属于同一个域并遵守相同的限制。为了方便使用,和数学上通常研究的有序的“关系”不同,数据库的关系模型使用的是顺序无关的关系,也就是说表中的属性的顺序是不重要的。目前,访问数据库的程序通常通过SQL(Structural Query Language)语句来操作数据库,SQL语句使用select语句来选择一个或多个元组(行),通过project语句来选择属性,通过join语句来联合关系,以及

4、insert, delete和update语句来修改数据。应注意的是,负责选择语句必须能够唯一地确定一个或多个行,选择属性的语句也必须能够唯一地确定一个或多个属性。数据库的许多操作,包括查询、删除和更新都离不开行和属性的选择。为了实现一个表中某些行能被唯一地选中,必须存在这样一列,该列的不同行的值必须是不同的,这一列就是后面要提到的主键(Primary Key)。5. 主键一个属性成为主键的必要条件是,它的值在不同的行中必须是不同的,并且通常还要求它在所有数据库操作下值不能发生改变。有一些属性天生就可以成为主键,例如行的序号,因为每一行的序号必定是唯一的(要注意,序号一旦生成不会改变,即使前面

5、行被删除或者插入行)。其它的例如学号这样的人造属性也是常用的主键,因为一个学号不可能被两个人使用,这种人造属性还被称为代理键(Surrogate Key)。有时,如果不存在单一的属性能作为主键,但是两个或多个属性的组合是唯一的,例如在小学校中每个学生的学号通常在班级内是唯一的,但是在整个学校不是,但是我们仍然能通过年级+班级+学号这样的组合来唯一确定一个学生,这样这三个属性可以作为一个整体成为唯一标识一行的组合键(Composite Key)。当然,如果一个属性可以作为主键,这个属性和其它任何属性的组合都是组合键,但是这样做并没有什么意义。无论主键还是组合键,都可以作为唯一标识表中行的键(Ke

6、y)。6. 外键如果一个或多个属性存在于表A和表B中,而表A中存在键,则这些属性可以作为通过表A引用表B中行的外键(Foreign Key),主键自身也可作为外键使用。例如,表A存在主键学号和每个学生的基本信息,表B中保存了学号和每个学生的选课信息,那么表A可以通过指定学号引用表B中学生的选课信息。7. 存储过程存储过程是存储在数据库中的,操作数据库中数据的一段可执行代码。存储过程支持一系列通用的数据操作,如选择、添加、删除、更新以及数据统计等。存储过程通常作为公开的数据操作接口提供一些和当前数据库最相关、最有用的操作,数据库的使用者不必为这些通用的操作各自重复编写代码。虽然存储过程并非关系模

7、型的一部分,但是所有的市场上销售的关系型数据库都支持存储过程。8. 索引索引是一种快速访问数据的方式,关系型数据库支持对任意数据的组合建立索引。使用索引的查询不必检查每一行就能迅速地选中相关的行,就如同我们使用书本的目录来找到我们需要的内容而不用翻过每一页一样。关系型数据库支持多种说明方式,如B+树,R树,位图索引和哈希码,每种索引针对不同类型的数据或数据组合。通常来讲,索引不认为是数据库的一部分,但都得到数据库的支持。对主键和外键的索引能大幅提高查询效率,例如B树能使得查询的时间复杂度从N降低到logN。9. 规范化规范化(Normalization)作为关系模型的必要组成由Codd首先提出

8、,它包括一系列的规则来衡量数据的重复程度,并防止数据冗余、数据不一致和数据损失。最常见的用于数据库的规范化称为范式(Normal Forms)。规范化的缺点是提高了数据库逻辑关系的复杂性,使得数据处理效率降低。为了满足规范化的要求,有时在概念上属于一个实体的数据必须被拆分到多个表中。10. 关系型数据库管理系统关系型数据库由关系型数据库管理系统来实现,简单易懂,符合人的思维范式,成功替代了之前的层次型数据库和网络型数据库,成为当今经济、制造、服务、私人事务各个领域信息存储、处理的首选。尽管关系型数据库需要更多的计算机开销,但是计算机快速的硬件升级使得这种额外开销能被接受。然而,关系型数据库也受

9、到了一种全新的,称为对象数据库的挑战,后者弥补了关系型数据库在描述事物上的不足。目前,关系型数据库的主要销售商包括甲骨文(Oracle),微软(Microsoft)和IBM。而开源的关系型数据库主要有MySQL, PostgreSQL和SQLite。B部分 对象数据库1. 简介对象数据库(Object Database),也指面向对象的数据库管理系统(Object-Oriented Database Management System, OODBMS),其中的数据都以对象的形式呈现出来,并用于面向对象的程序(图6.2)。对象数据库在1980年代和1990年代得到相当的研究,今天虽然不如关系型数

10、据库应用广泛,没有像后者是主流的数据库,但是占有不可或缺的一席之地,在特定领域得到很好的应用。2. 概述面向对象程序设计对数据的需求催生了对象数据库及其管理系统,这个数据库系统允许程序员以对象的方式保存数据。对象数据库和C+,Objective-C和Smalltalk这样的面向对象的程序高度整合,程序员可以用正常的面向对象的语言操作数据库,使得面向对象语言对数据的操纵更加容易。对象数据允许数据从各种其它类型的数据库中读出,统一转化为接受面向对象程序操控的对象,从而搭建起底层数据库和应用程序开发之间的桥梁。随着Web技术的广泛使用,各个公司逐渐展现出对对象数据库这样能够用简单方式表达复杂数据的数

11、据库的兴趣,因为对象这一概念更有利于各种使用计算机辅助设计(Compute-Aided Design, CAD)的多媒体展示、组织等需求。3. 历史对象数据库起源于1970年代中期,用于支持图结构的对象的有关操作,而“面向对象的数据库”这一术语最早出现于1985年。在这段时间内,出现了一系列关于对象数据库的重要研究,包括Encore-Ob/Server(布朗大学),EXODUS(威斯康辛-麦迪逊大学),IRIS(惠普),ODE(贝尔实验室),ORION(MCC),Vodak(GMD-IPSI) and Zeitgeist(德州仪器)。ORION在对象数据库方面贡献了最多的论文,MCC的Won

12、Kim 将这些论文中的精华收集成册并由麻省理工学院出版社出版。早期的对象数据库的商业化产品包括Gemstone(Servio Logic, 后改名为GemStone Systems),Gbase(Graphael)和Vbase(Ontologic)。1990年代早期有更多的商业化产品进入市场,如ITASCA(Itasca Systems),Jasmine(富士通),Matisse(Matisse Software),Objectivity/DB(Objectivity公司.),ObjectStore(Progress软件,后备eXcelon收购),ONTOS(Ontos),O2(O2 Tech

13、nology, 后被Informix并购,最终成为IBM的一部分),POET(现在的合并了Poet Software的FastObjects公司),Versant对象数据库(Versant 公司),VOSS(Logic Arts) 和 JADE(Jade软件公司)。这些产品的一部分如今仍然在市场上销售。对象数据库管理系统为面向对象编程语言增加了“持久”(Persistent)概念。 早期的商品数据库集成了多种语言: GemStone(Smalltalk),Gbase(Lisp)和 Vbase(COP)。 COP 即“C Object Processor”(C 对象处理器),是一种基于 C 的专

14、有语言,比 C+ 早。 1990 年代大部分时间里,C+ 统治着商用对象数据库管理系统市场。 厂商在 1990 年代晚期加入了 Java 并于最近加入了 C#。2004 年以来,当出现了易用和普遍可支付的开放源代码对象数据库时, 对象数据库进入了第二次增长期。这些开放源代码的对象数据库完全用OOP语言如Java,C+或 C#写出。 ObjectDB 是对象关系数据库的一个例子。4. 对象数据库的应用基于持久编程的对象数据库在一些应用领域获得了认可,如工程和空间数据库,通信和科学领域如高能物理和分子生物。他们对主流的商业数据处理没有什么影响,尽管获得了一些应用在部分特殊领域如金融服务。以“软件即

15、服务”为宗旨的销售商Workday公司开创性地构造了一个以内存为核心存储的对象数据库管理系统,一些观察家认为这意味着对象数据库的新的潜力。另一些对象数据库则专注于嵌入式系统、软件包和实时系统。5. 标准对象数据管理组织(Object Data Management Group, ODMG)由对象数据库供应商、学术研究组织和有关各方财团组成,它的目标是要建立一套规范,满足便携式应用的存储对象的数据库管理系统。ODMG先后推出了几个不同的标准,最新的ODMG版本是ODMG 3.0。到2001年,大部分的对象数据库供应商声称符合ODMG-Java语言规范,尽管满足规范的细节上不尽相同。2001年,O

16、DMG Java语言绑定被提交给Java社区称为Java数据对象规范的基础,此后各大公司决定将它们的精力集中到Java数据对象标准上,使得ODMG在2001年被解散。许多对象数据库的想法也被吸收进SQL1999标准,并被许多关系型数据库实现。在2005年,Cook, Rai, 和 Rosenberger建议停止所有试图引入更多面向对象的查询的程序接口的努力,而应直接利用面向对象的程序语言本身。此后,本地化查询逐渐成为主流,并得到Java和.NET的支持。微软在2005年推出了语言整合查询(Language Integrated Query, LINQ)及其实现DLINQ,实现了对象数据库和程序语言C#、VB.NET的无缝整合。2006年2月,对象管理组织(Object Management Group , OMG)宣布,他们已经被授权在ODMG 3.0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号