关系型数据库对象《Expert MySQL》翻译——chapter2.解剖数据库系统(2) 关系型数据库对象

查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记载吧!

    上一篇文章翻译到用使对象-系关型数据库来撑支面向对象用应会到遇的一些问题,这一篇续继翻译。

    续:

    虽然后面讲到的问题都蛮严峻的,但是通过在用应与数据库之间加增一层面向对象层来作为媒介互相流交,这些问题还是够能减缓的。这个面向对象层可以将对象转化(或者持久化)成数据存储。只不过这类做法使得你用面向对象的法办去拜访数据,这与对象-系关型数据库的思惟相背违。它们本该是要通过对象-系关型数据库对查询语句的展扩来取得和检索数据对象的。

    尽管对象-系关型数据库跟面向对象型数据库很似类,但是它们在计设时候所用采的思惟是很不同的。面向对象数据库的初志是想通过给对象加增数函或者是供提一个平台,来让对象实现数据库的一些能功,然而对象-系关型数据库是想通过传统的查询语句和展扩,使得富数据的多种类型够能添加进来。面向对象数据库是想实现与面向对象程序的无缝集成。而对象-系关型数据库不并会去做这类层次的整合,它反而经常要需通过面向对象层将对象转化成对象-系关型乃至是系关型数据库够能懂得的信息。似类的,面向对象数据库的众受是跟它一样用采面向对象视角的下层用应。对象-系关型数据库是给大型数据做了一种化优,同时也是一个够能撑支大数据的基于对象的统系。近来,面向对象数据库的查询言语机制更加注关如何用使面向对象的查询言语来对一个对象行进作操,而对象-系关型数据库的查询机制则是在传统查询言语的基础上通过展扩,来放慢检索量大数据。真正的面向对象数据库有更加秀优的查询机制,它们用采对象述描言语(Object Description Language,ODL)和对象查询言语(Object Query Language, OQL)。对象-系关型数据库跟他们不一样,对象-系关型数据库用使的查询机制只是在传统查询言语上的一种展扩。

    ERSI的GIS品产套件里头有一个叫Geodatabase(是geographic database的简化述描)的玩艺儿,它够能存储和管理地舆数据素元。Geodatabase是一个撑支特殊数据的对象-系关型数据库,它是对象-系关型数据库撑支特殊数据存储的一个典范例子。

NOTE:
    不并是全部特殊数据的存储都要需通过面向对象数据库或者对象-系关型数据库来实现。仅仅只是ESRI将Geodatabase作为对象-系关型数据库来实现而已。更主要的是,GIS数据也可以存储在展扩以后撑支存储特殊数据的系关型数据库里。呔!MySQL就这么做了,你看MySQL AB就在系关型数据库的基础上添加了针对特殊数据的撑支。
系关型数据库

    系关型数据库统系是E.F.Codd在1970年基于数据的系关型模提出的存储数据和供提检索务服的数据库统系。对于结构化的数据来讲,这是一种标准存储机制。C.J.Date在《The Database Relational Model: A Retrospective Review and Analysis》这篇论文中对Codd的系关型模做了一个提炼。《The Third Manifesto》对这个理论的化进和实际做了细详的记载。

    每日一道理
微笑,是春天里的一丝新绿,是秋日里的一缕阳光,是骄阳下的一片浓荫,是冬雪中的一株梅红……微笑着去面对吧,你会感到人生是那样的温馨与甜蜜!

    基于系关的型模是数据库存储最符合直觉的念概。它也能通过“查询言语”这类机制很方便地对数据行进增编削查。由于系关型模的统系理论善完、数学基础实扎和结构简略的点优,很多第三方都实现了这类系关型模。最广泛用使的查询机制就是似类于自然言语的结构化查询言语(Structured Query Language,SQL)。尽管SQL不并括包在系关型模中,SQL是却系关型数据库在现实用应中不可或缺的一部份。

    数据在实体中作为互相关联的几条信息(属性)而存在。这些属性的值的集合被组织成所谓的元组(有时候也叫记载)。然后一个表就专门存储这些有拥雷同属性的元组。表和表之间可以基于元组、元组的属性、域而建立系关。

元组与记载有什么别区?
    有种错误的意识以为记载是元组的集合。它们其中一个主要的别区就是,元组是一系列有序的素元成组的集合,而记载只是相关联的素元成组的集合,它们不一定有序。但是,在记载的每个素元中,序顺是很主要的。在SQL查询的结果中可能返回的都是记载,但是在系关型模的理论中,结果该应都是元组。很多文献混用了这些术语,困惑了不少人。
很多查询言语都选择用使SQL作为其实现。SQL在80年代被议提作为标准,在现它已经成为了业界标准。幸不的是,很多人以为SQL是基于系关理论的,因此SQL就有一个善完的理论基础。这个错误意识可能来自于业界带来的影响。差不多全部的系关型数据库都撑支SQL。这类用应的广泛性致导了对SQL一些陷缺的疏忽,它们括包如下几点:
1.SQL不撑支系关型模理论中的域(domain)。
2.在SQL中,表可以有重复的行。
3.查询结果(表)会括包未命名的列和重复的列。
4.数据库统系中对“空”的实现被证明是不一致,不完整的。因此,多许现实上有些结果数据库统系够能返回,但是SQL基本上不返回这些数据。这类景象会跟对“空”作操的失误错误地联系在一起。
在系关型数据库中用使的巧技有很多种。有些统系计设时就是为了要化优部份系关型模,或者是化优数据型模的用应。系关型数据库的用应面涵盖通普的数据存储和检索乃至庞杂的由茫茫多数据,处理程序,工作流所形成的用应套件。这可以简略到像存储你的CD或者DVD集,也可以庞杂到旅店预订统系,甚至更庞杂一点,比如说用来管理网络数据的分布式数据统系。正像我在第一章提到的那样,很多网络用应(尤其是那些web2.0的网络用应,接下来会讲到。)用采LAMP构架来实现。在这儿MySQL作为数据库管理统系来存储和管理数据。
WEB2.0:
    web2.0是近来的一个流行语。它达表了互联网的大巨变化。如今的互联网够能让人们更加方便地线在分享和集收数据。web2.0用应作为一个新的用应也展扩了寰球电子社区对用应的念概。比如说照片分享,客博,信息和视频务服等。随这些用应而来的是与去过几十年的互联网大巨的转变,比如LAMP。大多数用应都用采开源件软的解决方案。毫无疑问,web2.0对互联网的影响是大巨的。
系关型数据库统系供提了最壮强的数据独立和数据抽象。基于系关型模的念概,系关型数据库供提一个真正标准的数据存储和检索机制。这些统系当然都很庞杂,要需很全面的思考以及专业的巧技才能构建和修改。

    我将会向你展示一个典范的系关型数据库统系的构架以及这个构架的每个件组。接下来,我要展示的就是系关型数据库的一个特殊案例。(特喵的干货MySQL于终要来了)

 

    (未完待续)

文章结束给大家分享下程序员的一些笑话语录: 问:你觉得让你女朋友(或者任何一个女的)从你和李彦宏之间选一个,你觉得她会选谁?  
  答:因为李艳红这种败类,所以我没女友!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值