Chinaunix

标题: 关系数据库的死穴 [打印本页]

作者: fanyzidb    时间: 2005-07-16 14:19
标题: 关系数据库的死穴
关系数据库存在着之致命的缺陷:不能实现万能查询(或者说非常难以实现)。所谓万能查询就是犹如GOOGLE那样的只用一个框,就可以查询到数据库中的所有内容,不论相应的数据存放在哪个数据库中、哪个表中。
正因为关系数据库的致命缺陷,关系数据库只适用于局域网内部的信息共享,而无法实现互联网范围内的信息共享和交换。关系数据库已走到的尽头!
互联网时代,最重要的问题就是信息共享和交换,要使关系数据库能适应互联网时代,就必须对关系数据进行彻底的改造。《异构数据源及信息孤岛的解决方案》(http://fanyzidb.home4u.china.com/)提出了一种全新的数据库理论,可以从根本上解决互联网时代的信息共享和交换问题
作者: 小小侠    时间: 2005-07-16 14:30
应该说,根本的是关系模型现在停滞不前.而不是关系数据库.你说的万能查询在很多方面不需要,或者说根本不能需要,要看具体的环境.你这样一棒子打死关系数据库,我有点替关系数据库叫冤呀.嘿嘿
作者: luyan126115    时间: 2005-07-16 14:49
楼主是在打广告吧?我认为你的论点根本不成立:
1/有必要实行万能查询,把数据库都暴露在用户面前吗?这样黑客们岂不是做梦都要笑醒了
2/你知道不知道mssql中也有一个syscolumns表,包括该数据库全部的字段信息?因此我认为通过编程的方式完全可以实行楼主要求的功能
3/楼主是否深刻理解关系数据库的概念呢?关系型数据库重在\"关系\"二字,楼主何以认为关系型数据库有这种缺陷呢?就我对关系数据库的理解,认为完全可以改造后实现楼主所说的功能
楼主有打广告的嫌疑,而我,最讨厌有人在pub里面胡说八道了!!
作者: fanyzidb    时间: 2005-07-16 14:49
你说有很有道理

但关系数据库在信息孤岛和信息交换方面的确存在严重的问题
作者: fanyzidb    时间: 2005-07-16 14:54
Luyan:
当然了,万能查询的前提还要加上用户名和权限。
Luyan,下面的实际问题(供应链中经常遇到的)如何解决?

企业信息化中所遇到的现实问题:
每家企业都有几十家、几百家,甚至是成千上万家供应商和客户。企业需要与供应商、客户交换订货、采购信息,也需要查询供应商和客户的中种信息。然而,在实际工作中所遇到的问题是:企业之间交换信息非常困难,企业之间的信息共享也非常困难。虽说很多企业都在内部实现了企业信息化,也用ERP来管理企业,然而目前的企业信息系统只是解决了企业内部的信息问题,未考虑也未解决企业与供应商和客户之间的信息交换和共享问题。
例如,一家大型的百货商店会几百家、几千家供应商,它需要与它们及时交换信息,并查询它们的信息。百货商店的供应商也要向几百家、几千家百货商店、批发商、商售商提供货源,它也需要查询它们的销售情况并与它们及时交换信息。百货商店和供应商都面临着一个同样的问题:如何及时、准确、全面地了解销售信息,从而保证及时、准确、全面地使用百货商店的货物不至于太多,也不至于脱销。货物积压与脱销对方都不利。目前的情况是,供应商要查询百货商店、客户的信息就必须登陆它们的网站,要查询几百家企业,就要登陆几百个网站。现在要解决的问题是,如何让计算机自动登陆其客户的网站并查询与其相关的信息,然后把这些信息发送到自己的数据库中。供应商所关心的信息是自己的产品在每个客户的仓库中、货架上的数量,每天的销售量,以及换货、退货、质量信息。百货商店要与成百上千的供应商联系,它需要解决的问题是如何直接把采购、询价等信息直接写到供应商的数据库中,如何使供应商把反馈的信息直接写到自己的数据库中。
上面的例子是现实中的实际情况,也是每家企业都面临的大问题,也是企业渴望解决的。然而这样的问题还很严重,IT人士早已认识到了此问题的严重性。
XML就是为解决信息交换问题而创立的,然而XML只能解决信息交换问题,却不能解决信息孤岛问题。我们无法利用XML而查询自己的供应商和客户的数据库系统中的数据。
作者: luyan126115    时间: 2005-07-16 14:55
我不喜欢这样的功能,因为我的服务器昨天刚被黑客攻击了,
不过最开始数据库也不是关系型的,创新当然是值得提倡的.而且我也相信数据库有一天也会摆脱关系模型,使用一种更完美高效的模型
作者: chichunhua    时间: 2005-07-16 14:56
首先希望你能吧關係數據庫學好學精再來說他的好或壞,
我認為說的沒有意義
作者: fanyzidb    时间: 2005-07-16 14:56
Luyan::

\"就我对关系数据库的理解,认为完全可以改造后实现楼主所说的功能\"

我所说的问题都是实际工作中所遇到的,若有高招,请贡献出来让俺学一招
作者: fanyzidb    时间: 2005-07-16 15:01
Chichunhua:
你教训的有理,俺还在不断地学关系数据库。
实际情况是信息孤岛与信息交换问题的确是关系数据库还未能很好解决的问题。关系数据库只是在一家企业内部可实现信息共享。在供应链中几十家企业,或一个行业中几百家、几千家企业间就无法实现信息共享。俺所涉及到的问题是几十家以上的企业之间的信息共享和交换问题。
作者: luyan126115    时间: 2005-07-16 15:06
1/我的数据库也有用户名/密码,但当一个职业黑客非要找你麻烦的时候,我是抵挡不了的.我的数据库在tomcat/appach后面躲的好好的,结果也没跑掉........企业间的信息共享只能在某些范围内,决不能放到互联网上.信息共享是好事,但不加以控制就是灭顶之灾
2/楼主给出的例子,现在是可以实现的,只是很麻烦而已.同时我认为这和关系模型搭不上关系.
楼主给的链接我倒是想看看,只是好像有乱码,可否重新发布一次?
作者: fanyzidb    时间: 2005-07-16 15:10
地址在:http://fanyzidb.home4u.china.com/
“楼主给出的例子,现在是可以实现的,只是很麻烦而已”:就是因为很麻烦,才需要改进。
作者: lodge    时间: 2005-07-16 16:27
GOOGLE的检索功能属于INFORMATION RETRIEVAL(简称IR) 的范畴, 和数据库根本是两回事啦.
IR是比数据库更为高级的应用, 它实现方法可能要使用数据库的应用系统和检索命令而已.
就好比物理和数学的关系一样.

BTW, 楼主的观点让偶很是FT
作者: luyan126115    时间: 2005-07-16 17:00
我看了作者的作品,实在觉得荒谬...........具体我不想说了,但是楼主的想法实施起来简直就是天方夜谈.......我可以说出N个理由来说明为什么不可能实现.
另外,有人说我最心爱的关系型数据库要完蛋了..........这和有人说我的女朋友是天下最丑的女人一样让我生气,,,,我生气!楼主要是不服的话我们就来理论一番!
作者: lodge    时间: 2005-07-16 17:48
哦, 经你一说去看了看那篇论文, 论文的内容和楼主说的又是另外, 一回事啦. 那篇论文是说分散数据库中, 一样性质的数据, 可能因为设计和实装方式不同无法统一处理, 打个比方信息产业部想统计各地IT的经营状况, 可是大家用的系统都不一样, 字段名称可能不同, 关系结构也可能不同, 如何进行整合就是一个大问题啦.
当然啦, 那篇论文似乎很古董啦, 利用META信息(就是说一些对于数据本身和环境的描述信息)做数据库统合的方法可是有年头啦, 只少有十五年的历史吧, 论文的参考文献都是上个世纪的古董, 就能看出这篇论文应该早以过时啦.
作者: fanyzidb    时间: 2005-07-17 08:04
最初由 lodge 发布
[B]哦, 经你一说去看了看那篇论文, 论文的内容和楼主说的又是另外, 一回事啦. 那篇论文是说分散数据库中, 一样性质的数据, 可能因为设计和实装方式不同无法统一处理, 打个比方信息产业部想统计各地IT的经营状况, 可是大家用的系统都不一样, 字段名称可能不同, 关系结构也可能不同, 如何进行整合就是一个大问题啦.
当然啦, 那篇论文似乎很古董啦, 利用META信息(就是说一些对于数据本身和环境的描述信息)做数据库统合的方法可是有年头啦, 只少有十五年的历史吧, 论文的参考文献都是上个世纪的古董, 就能看出这篇论文应该早以过时啦. [/B]


互联网时代对数据库的要求与局域网时代有着本质的不同。局域网中的数据的内部结构是都是可知的、基本上是固定的,而互联网中的数据的结构是未知的(对用户而言),数据的结构也是无穷的。
关系数据库在局域网中可以很好地满足用户的需求,然而在互联网时代,它难以解决供应链上下游企业之间的信息共享和交换问题。

就你所说的信息产业部想统计各地IT的经营状况问题,该如何解决,这正是我所关心的问题.这也是关系数据库所难以解决的问题.
作者: fanyzidb    时间: 2005-07-17 08:21
局域网时代所建立的信息系统到了互联网时代就暴露出其严重的问题.下文所说的就是这个问题.

我省消除信息孤岛(http://hbrb.hebeidaily.com.cn/20050520/ca489991.htm)



(2005-05-22 12:09:12)

  本报讯 (记者吴艳荣)前不久,省委组织部门需要建设农村党员干部远程教育系统,农业部门也需要再借助一个新的网络平台向农村传输“三农”信息,如果各自单独建网,势必增加大量的资金投入,怎么办?

  整合信息资源,避免重复建设。省政府信息化工作办公室会同组织、农业、科技等部门,把多项应用服务整合到河北远程教育网这一网络平台,同时传输“三农”、“党教”等信息资源,不仅深受广大农村党员和农民欢迎,而且节省了单独建网所需的费用。

  这一事例,仅是我省大力整合信息资源的一个缩影。据了解,我省有20多个自成体系的纵向网络,且标准不统一,网络不互联,信息共享程度低,被戏称为“信息孤岛”,制约着我省信息化的健康发展。针对这一状况,省信息办着手开展信息资源整合工作,力促我省信息化建设提质提速。

  ———网络平台整合。前不久,我省召开由60多个省直部门参加的网络平台建设调研会,研讨整合思路,确定了河北省公务内网、外网建设整合方案。要求对未建纵向网的单位,一律依托统一的网络平台构建纵向业务应用系统,不得再单独新建纵向网络,原则上都要整合到统一的网络平台上。

  ———信息资源整合。省信息办选择“网上审批系统、农业信息发布及服务系统”和“公共卫生信息系统”以及衡水市,作为信息资源规划试点,对3个应用系统的政务流程进行全面梳理,建立了数据交换标准,为下一步消除信息孤岛、实现信息共享、优化政务流程奠定了坚实的基础。

  ———资源应用整合。依托省级四大机关办公厅,按照统一窗口标识,分别更新维护,共同开发建设,展示整体形象的思路,整合构建“中国河北”统一的门户网站。规划建设全省机关统一的视频会议系统,以扭转目前视频会议系统建设过滥过散,且利用率较低的状况。
作者: lodge    时间: 2005-07-17 08:51
最初由 fanyzidb 发布
[B]

互联网时代对数据库的要求与局域网时代有着本质的不同。局域网中的数据的内部结构是都是可知的、基本上是固定的,而互联网中的数据的结构是未知的(对用户而言),数据的结构也是无穷的。
关系数据库在局域网中可以很好地满足用户的需求,然而在互联网时代,它难以解决供应链上下游企业之间的信息共享和交换问题。

就你所说的信息产业部想统计各地IT的经营状况问题,该如何解决,这正是我所关心的问题.这也是关系数据库所难以解决的问题. [/B]


呵呵, 本质的不同就是通信和信息共享呗.
互联网时代, 如果数据库的内部结构都不能知道那还共享什么捏. 数据库结构未知是不可能地, 问题在于, 你如何把两个结构完全不同的数据库整合到一起, 比如说, 把IT的营业额和纺织业的营业额相加算算总营业额什么的. 这件事情手工操作是能够解决地, 可是如果有成千上万个系统, 并且不断出现新系统的时候这问题不靠程序自动完成是根本不行地.

欧美在这一方面是非常领先地, 你在欧洲的ATM上可以直接从自己在美国银行的户头上取钱, 这就是一个最为典型的这类技术的应用, 因为, 这中间不知道要跨过多少个数据库系统, 多少个银行, 才能完成这样一个操作, 而这个操作只需几秒钟. 欧美人最为骄傲的就是, 他们可以用信用卡在小卖部买小吃, 可见起数据库系统的发达程度啦.

中国目前是很落后地, 异地取个钱不还是挺麻烦的吗?

这项技术欧美基本上在二十年前就已经开始研究, 并派生出很多分枝, 其中最为著名的就是数据仓库了吧. 如果感兴趣可以去查查欧美近年来的技术文献, 至少五年前的杂志上这类文章简直就是铺天盖地的.
作者: fanyzidb    时间: 2005-07-17 10:32
最初由 lodge 发布
[B]

呵呵, 本质的不同就是通信和信息共享呗.
互联网时代, 如果数据库的内部结构都不能知道那还共享什么捏. 数据库结构未知是不可能地, 问题在于, 你如何把两个结构完全不同的数据库整合到一起, 比如说, 把IT的营业额和纺织业的营业额相加算算总营业额什么的. 这件事情手工操作是能够解决地, 可是如果有成千上万个系统, 并且不断出现新系统的时候这问题不靠程序自动完成是根本不行地.

欧美在这一方面是非常领先地, 你在欧洲的ATM上可以直接从自己在美国银行的户头上取钱, 这就是一个最为典型的这类技术的应用, 因为, 这中间不知道要跨过多少个数据库系统, 多少个银行, 才能完成这样一个操作, 而这个操作只需几秒钟. 欧美人最为骄傲的就是, 他们可以用信用卡在小卖部买小吃, 可见起数据库系统的发达程度啦.

中国目前是很落后地, 异地取个钱不还是挺麻烦的吗?

这项技术欧美基本上在二十年前就已经开始研究, 并派生出很多分枝, 其中最为著名的就是数据仓库了吧. 如果感兴趣可以去查查欧美近年来的技术文献, 至少五年前的杂志上这类文章简直就是铺天盖地的. [/B]



一家大企业,其客户和供应商有成百上千个,甚至更多。在电子商务中,一家大企业要想与其客户和供应商完成电子商务交易,它需要与成百上千个系统进行信息共享和交换,对它而言,其客户和供应商的数据库系统的数据结构就是未知的。
我所提出的解决方案可以把所有的异构数据源变成同构的信息源,从而解决异构信息源和信息孤岛问题。也许你未看俺所写的文章。

正如你所说“可是如果有成千上万个系统, 并且不断出现新系统的时候这问题不靠程序自动完成是根本不行地”,这些问题就是现在与将来所要解决的问题。这也是俺所真正关心的。互联网中的确是成千上万个系统,且不断出现新系统。
作者: lodge    时间: 2005-07-17 11:19
最初由 fanyzidb 发布
[B]


一家大企业,其客户和供应商有成百上千个,甚至更多。在电子商务中,一家大企业要想与其客户和供应商完成电子商务交易,它需要与成百上千个系统进行信息共享和交换,对它而言,其客户和供应商的数据库系统的数据结构就是未知的。
我所提出的解决方案可以把所有的异构数据源变成同构的信息源,从而解决异构信息源和信息孤岛问题。也许你未看俺所写的文章。

正如你所说“可是如果有成千上万个系统, 并且不断出现新系统的时候这问题不靠程序自动完成是根本不行地”,这些问题就是现在与将来所要解决的问题。这也是俺所真正关心的。互联网中的确是成千上万个系统,且不断出现新系统。 [/B]


不能同意未知的说法, 如果做调查是能够知道地, 只是结构上不能统一而已, 不过偶以为在标准化上动脑筋是不可行地, 在通信协议这一层次上作文章还差不多.

偶理解信息孤岛问题, 也并非仅仅是数据库的问题, 网络通信协议上的问题更大.

至于数据库不统一的问题, 完全可以利用OO的概念统一通信协议来解决. 实施上可以考虑, 为需要统合的数据库开发GATEWAY程序按照协议标准把数据库接到网络上去就可以啦.

BTW, 上面的思路并非是偶的想法, 而且已经相当成熟, 具体案例可参见EDI 技术.
作者: fanyzidb    时间: 2005-07-17 11:41
最初由 lodge 发布
[B]

不能同意未知的说法, 如果做调查是能够知道地, 只是结构上不能统一而已, 不过偶以为在标准化上动脑筋是不可行地, 在通信协议这一层次上作文章还差不多.

偶理解信息孤岛问题, 也并非仅仅是数据库的问题, 网络通信协议上的问题更大.

至于数据库不统一的问题, 完全可以利用OO的概念统一通信协议来解决. 实施上可以考虑, 为需要统合的数据库开发GATEWAY程序按照协议标准把数据库接到网络上去就可以啦.

BTW, 上面的思路并非是偶的想法, 而且已经相当成熟, 具体案例可参见EDI 技术. [/B]


通过调查是可以知道的,问题是面对成千上万个数据库系统,所涉及到的表的数量是非常惊人的!面对结构各不相同的几十万、几百万个表,要了解其结构,是相当困难的.

从通信协议的角度解决不了问题,因为这并未解决异构数据源问题.信息孤岛是同异构数据源而引起的.EDI  和 XML 所解决的只是数据交换问题,而未能解决最根本的异构数据源问题。
作者: RobinH    时间: 2005-07-17 12:26
看到http://fanyzidb.home4u.china.com ... 频谋斫峁,越看越晕,
看到這一句\"基本上不考虑数据冗余问题,以空间换取智能和使用方便\", 有明白楼主要干什么
使用绝对是不方便的
作者: lodge    时间: 2005-07-17 18:57
最初由 fanyzidb 发布
[B]

通过调查是可以知道的,问题是面对成千上万个数据库系统,所涉及到的表的数量是非常惊人的!面对结构各不相同的几十万、几百万个表,要了解其结构,是相当困难的.

从通信协议的角度解决不了问题,因为这并未解决异构数据源问题.信息孤岛是同异构数据源而引起的.EDI  和 XML 所解决的只是数据交换问题,而未能解决最根本的异构数据源问题。 [/B]


是的, 能自动辨别当然是理想的, 不过事实证明这种想法和人工智能一样, 是不成熟地. 在多的数据库也是人建出来地, HTML能让亿万网民共享互连网的资源, XML和EDI一样也能, 只要大家在自己的数据库上提供一个支持该协议的通信口, 所谓异构数据库就可以当黑盒子, 不必理会它的内部构造啦.
作者: fanyzidb    时间: 2005-07-22 10:14
http://fanyzidb.home4u.china.com/   中所介绍的正如你所说\"不必理会其内部结构\"
作者: lodge    时间: 2005-07-22 11:32
偶看了这篇文章, 偶觉得它比较落伍的地方是万能的准一维数据结构只考虑了数据库的逻辑结构, 把表名, 字段名, 类型之类的所谓META信息, 写到了一张标准结构的表里(它把内部结构写到了自己的结构里), 它并没有对原来的信息做任何提高通用性的改进, 无法令系统理解的表名, 字段名等等, 都是老样子, 数据库依然无法整合.
作者: fanyzidb    时间: 2005-07-22 14:24
最初由 lodge 发布
[B]偶看了这篇文章, 偶觉得它比较落伍的地方是万能的准一维数据结构只考虑了数据库的逻辑结构, 把表名, 字段名, 类型之类的所谓META信息, 写到了一张标准结构的表里(它把内部结构写到了自己的结构里), 它并没有对原来的信息做任何提高通用性的改进, 无法令系统理解的表名, 字段名等等, 都是老样子, 数据库依然无法整合. [/B]


不是落伍,而是还未能由理论变成现实.俺在20年前就考虑此问题,还写了三篇论文.

大脑如何存放和检索信息
准一维数据结构来源于何处


要说“信息孤岛和异构数据源的解决方案”中所提到的准一维数据结构的来源,话就长了。那是一个很久很久以前的故事。

    一九八一年,我从杂志上看到一篇文章,这篇文章提到了“电脑能否超过人脑”这个问题。这篇文章给我留下了很深刻的印象。从此之后,我经常考虑这个问题。
开始研究人工智能时,完全是业余爱好,并未想着把研究人工智能当作自己的事业,也没有想取得什么成果。 当我掌握了计算机原理之后,我曾尝试着设计人工智能计算机。我认为要想设计出人工智能计算机就必须弄清两个问题,一个是大脑如何处理信息,另一个是大脑如何存贮与提取信息。当时我认为人脑之所以比电脑聪明,在很大程度上取决于人脑的记忆能力比电脑强大。与此同时我注意到人的大脑提取信息的方式与计算机不同。计算机要提取任何一个信息都必须首先确定信息在存贮器中的准确地址。而大脑在提取信息时好象就不需要地址。当我有此发现后,就开始研究大脑的记忆,特别是大脑是以何种方式来存贮与检索信息的。
凭我自己的能力,我根本不可能设计出人工智能计算机。这一点我很清楚。我研究大脑记忆的最初想法是希望通过模拟大脑存贮和检索信息的方式来提高计算机存贮和检索信息的能力,我根本未想到花大精力来研究大脑记忆。为此我开始根据前人的理论来分析大脑是怎样存放和检索信息的。可惜的是心理学书中虽说有大量的篇幅来描述大脑的记忆,却未说明大脑是怎样存放信息的,也未说明大脑是如何检索信息的。
我在研究大脑记忆时所考虑的问题是:当一信号输入到大脑后,该信号存放于大脑中什么位置(哪个神经元中)?怎么存放?以什么方式存放?然而心理学书中都未提到这些问题。所有这些问题都让我头疼。然而更让我头疼的是“复习可以巩固记忆,从而使记忆更加牢固”。我也希望使计算机拥有这种功能,然而无论我如何模拟,也无法使计算机实现这一点。
    复习是怎样巩固已形成的记忆痕迹的?如果说当前的信息巩固了以前存放到大脑中的信息,那么这种巩固是怎样实现的?对这些问题,心理学书中都未介绍。当时我想用链表的方式来模拟大脑的联想功能。我希望通过“计算机”一词而使计算机能“联想”到与计算机有关的一些信息。当我着手设计时,我发现与“计算机”有关的信息实在是太多太多了,用链表和指针的方式使计算机模拟大脑的联想根本行不通!当时我认为“计算机”一词在大脑中只占据一个存贮空间。
大约是83年的一天晚上,我在学校的图书做作业,我的脑海里突然出现了一个念头,“计算机”一词在大脑中应该存放多次,而且是每当我们看到“计算机”一词时,该词都会在大脑中留下一个新的记忆痕迹。当我把这个想法用来解释大脑记忆与思维时,我发现几乎所有问题都可以迎刃而解!
直到1993年至1998年间,在解决实际数据处理问题中逐步在模仿大脑记忆的模式而提出并完善了“准一维数据结构”,并发表了三篇论文。很多人对这三篇论文给予了很高的评价。

大脑是如何存放信息的
1、        大脑有视、听、触、嗅、味等感觉器官,各种感觉器官在大脑中有相应的“存贮空间”。
2、        检索信息:相似联想、接近联想(时间、空间、不同感觉器官)
3、        大脑存放信息的方式:准一维数据结构
大脑存放信息的模式:
|------|------|------|------|------|------|
| 视觉 | 听觉 | 触觉 | 嗅觉 | 味觉 | 其它 |
|------|------|------|------|------|------|
|------|------|------|------|------|------|
“准一维数据结构”就是模仿大脑存放信息的方式而提出的一种数据结构。
1996年,我曾用C语言来开发以“准一维数据结构”为基础的数据库,结果只是开发出了一个演示版。我知道,凭个人的力量来开发一人数据库系统实在地太难了!后来由于工作比较忙,就放弃了。“准一数据结构”需要用可变长的数据类型,而当时的数据库中还没有可变长的数据类型。
目前的数据库中已有可变长的数据类型,所以可在现有的数据库系统的基础上,再编写少量的程序,就可以以“准一维数据结构”而开发出一种新型的数据库系统“独立数据库”。现在已开发出了初始版本的“独立数据库”系统,下载地址:http://fanyzidb.home4u.china.com/
作者: fanyzidb    时间: 2005-07-22 14:29
标题: 关系数据库由理论变为现实经历了十多年,很多人反对
http://blog.yesky.com/21/sunmuse/107021.shtml
[Oracle] 书写历史的甲骨文--ORACLE公司传奇
整理:Fenng
日期:09-Sep-2004  
出处:http://www.dbanotes.net
版本:1.01 (本文已经发表在《程序员》杂志)
________________________________________

ORACLE公司之起源

很难想象,ORACLE公司的这一段传奇居然要从IBM开始。

1970年的6月,IBM公司的研究员埃德加•考特 (Edgar Frank Codd) 在 Communications of ACM 上发表了那篇著名的《大型共享数据库数据的关系模型》(A Relational Model of Data for Large Shared Data Banks)的论文。这是数据库发展史上的一个转折。要知道,当时还是层次模型和网状模型的数据库产品在市场上占主要位置。从这篇论文开始,拉开了关系型数据库软件革命的序幕。

虽然早在1970年就诞生了关系模型理论,但是市场上迟迟不见关系型数据库管理软件的推出。主要原因是很多反对者认为关系型数据库速度太慢,比不上当时的层次式数据库。值得好笑的是,IBM虽然1973年就启动了System R的项目来研究关系型数据库的实际可行性,也没有及时推出这样的产品,因为当时IBM的的IMS(著名的层次型数据库)市场不错,如果推出关系型数据库,牵涉到IBM很多人的自身利益。再者,IBM庞大复杂的官僚机构处在决策上远不那么灵活。

1977年6月,Larry Ellison与Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的计算机公司(ORACLE公司的前身)。那个时候,32岁的Larry Ellison,这个读了三家大学都没能毕业的辍学生,还只是一个普通的软件工程师。公司创立之初,Miner是总裁,Oates为副总裁,而Ellison,因为一个合同的事情,还在另一家公司上班。没多久,第一位员工Bruce Scott(用过ORACLE数据库软件的人都知道有个Scott用户的吧?没错,就是这个Scott,至于Scott用户的密码Tiger,那是Scott养的猫的名字)加盟进来,在Miner和Oates有些厌倦了那种合同式的开发工作后,他们决定开发通用软件,不过们还不知道自己能开发出来什么样的产品。Oates最先看到了埃德加•考特的那篇著名的论文连同其他几篇相关的文章并推荐Ellison和Miner也阅读一下。Ellison和Miner预见到数据库软件的巨大潜力(跟着IBM走,没错),于是,SDL开始策划构建可商用的关系型数据库管理系统(RDBMS)。

图1 左起 Ed Oates、Bruce Scott、Bob Miner、Larry Ellison

很快他们就弄出来一个不太像样的产品,或者具体的说,更像一个Demo。根据Ellison和Miner他们在前一家公司从事的一个由中央情报局投资的项目代码,他们把这个产品命名为ORACLE。因为他们相信,ORACLE(字典里的解释有“神谕, 预言”之意)是一切智慧的源泉。1979年,SDL更名为关系软件有限公司(Relational Software,Inc.,RSI),毕竟“软件开发实验室”不太像一个大公司的名字。1983年,为了突出公司的核心产品,RSI再次更名为ORACLE。

图2 美国 Oracle 公司总部一瞥

________________________________________

发展与壮大

RSI在1979年的夏季发布了可用于DEC公司的PDP-11计算机上的商用ORACLE产品,这个数据库产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。但不得不说,软件不是很稳定,并缺少事务处理这样的重要功能。出于市场策略,公司宣称这是该产品的第二版,但却是实际上的第一版。之所以被命名为第2版而不是第1版,是因为Ellison认为潜在的客户更愿意购买第2个版本,而不是初始版本。(虽然这样做有些不太诚实,还是要承认这是个十分高明的技巧。到现在还有一些公司把自己卖给客户的版本叫做1.0 ,学学1979年的ORACLE吧!)多年以后的今天,ORACLE公司声称是他们第一个提供了第一个SQL关系型数据库管理系统。

虽然软件不是很好,但是客户还是有的。美国中央情报局迫不及待的想买一套这样的软件来满足他们的需求。但在咨询了IBM公司之后发现IBM没有可以商用的产品,他们联系了RSI。于是RSI有了第一个客户。在当时,政府和军方的机构往往同时有几种计算机,而那时还没有什么“软件可移植”这样的说法,当然,也几乎没有具有这样的能力的应用软件。也就是说,给PDP-11开发的ORACLE数据库不能用在IBM主机和DEC的VAX上。很快用户就表现出来这样的需求:ORACLE能否同时在不同的操作系统上运行?这给RSI带来了新的挑战(主要是Miner和Scott)。70年代末期和80年代早期的软件一般都设计成在单一操作系统上运行,具有可移植能力的软件很少。

1983年3月,RSI发布了ORACLE第三版。Miner和Scott历尽艰辛用C语言重新写就这一版本。要知道,C语言当时推出不久,用它来写ORACLE软件也是具有一定的风险的,但除此之外,别无他法。很快就证明了这样做是多么的正确:C编译器便宜而又有效,还有很好的移植性。从现在起,ORACLE产品有了一个关键的特性:[可移植性]。ORACLE第3版还推出了SQL语句和事务处理的“原子性”--SQL语句要么全部成功,要么全部失败,事务处理要么全部提交,要么全部回滚。ORACLE第3版还引入了非阻塞查询,使用存储在\"Before Image File\"中的数据来查询和回滚事务,从而避免了读锁定(read lock)的使用(虽然通过使用表级锁定限制了它的吞吐量)。同样是1983年,IBM发布了姗姗来迟的Database 2(DB2),但只可在MVS上使用。不管怎么说,ORACLE已经占取了先机。
作者: fanyzidb    时间: 2005-07-22 14:41
最初由 lodge 发布
[B]偶看了这篇文章, 偶觉得它比较落伍的地方是万能的准一维数据结构只考虑了数据库的逻辑结构, 把表名, 字段名, 类型之类的所谓META信息, 写到了一张标准结构的表里(它把内部结构写到了自己的结构里), 它并没有对原来的信息做任何提高通用性的改进, 无法令系统理解的表名, 字段名等等, 都是老样子, 数据库依然无法整合. [/B]


如果所有数据库都是用\"准一维数据结构\"来建立,信息孤岛异构数据源问题就可以比较容易地解决.

而整合目前的关系数据库则是非常非常困难的,问题的根源就在于关系数据库不能解决异构数据源问题.
作者: lodge    时间: 2005-07-22 15:07
你如果把表结构写进你的一维表里, 就意味这接受方的数据库仍然要分析对方的数据结构以及数据项目的含义. 而无法解析, 数据项目的含义, 正是妨碍数据交换的主要原因之一. 因此, 偶才觉的你的方案不解决问题.

若干年前, XML出现的时候, 微软, IBM等几个巨头都准备提出按照XML标准写成的数据字典, 其目的就在于统一数据库的整合方式, 解决所谓的数据孤岛问题, 这一企图因牵扯经济利益过大, 大家争执不下至今也没有结论. 说白了这套数据词典就是按照业务常识和标准做出来的一整套规范化了的商用通信术语逻辑规则, 各数据库系统都可以按照该逻辑规则解析数据,然后进行计算和处理. 偶以为这才是解决数据孤岛问题的途径.你说关系型数据库造成了数据孤岛就太夸张啦(写论文嘛, 可以理解地 :p).

除了关系型数据库以外, 同样经典的数据库逻辑型数据库以及OO数据库, 不过因为在性能上的不足, 主要是无法处理以百万甚至是千万计数的数量, 这些数据库主要应用于, 智能分析, 文件管理等领域

偶觉得既然你的数据库理论不是关系型数据库, 你就不应该使用表存储的概念, 脑记忆中没有表, 它应该是通过神经网络进行记忆地, 这方面的研究, 叫神经元网络系统,
作者: lodge    时间: 2005-07-22 15:12
最初由 fanyzidb 发布
[B]

如果所有数据库都是用\"准一维数据结构\"来建立,信息孤岛异构数据源问题就可以比较容易地解决.

而整合目前的关系数据库则是非常非常困难的,问题的根源就在于关系数据库不能解决异构数据源问题. [/B]


如果所有的数据库都按照同样的方法建立, 也就没有了异构的问题了嘛. 可是这是不可能地,
而独特的数据结构只能加剧异构的矛盾, 是无法解决这一矛盾地. 试想你如何能让一个关系型的数据库从你的准一维数据结构数据库中得到数据捏, 如果你无法做到这一点, 你的数据库只是增加了一座孤岛而已.
作者: fanyzidb    时间: 2005-07-22 15:30
最初由 lodge 发布
[B]

如果所有的数据库都按照同样的方法建立, 也就没有了异构的问题了嘛. 可是这是不可能地,
而独特的数据结构只能加剧异构的矛盾, 是无法解决这一矛盾地. 试想你如何能让一个关系型的数据库从你的准一维数据结构数据库中得到数据捏, 如果你无法做到这一点, 你的数据库只是增加了一座孤岛而已. [/B]



目前,关系数据库在市场上占据着统治地位,人们都习惯于用关系数据库的思维方式来处理问题,在心理学上这叫做心理定势.

您老兄现在是用关系数据库的思维方式来考虑问题.

日本的一个禅师曾经这样说过:人的思想好比一个茶杯,只有把原来的茶倒掉,才能接收新的茶水.

你若对准一维数据结构感趣,不妨就彻底"抛弃"关系数据库的"茶水",然后再用准一维数据结构来考虑问题.

我的论文发表后,有很多人给予了很高的评价,也有很多人表示强烈的反对.在一般情况下,我很少试图说服持反对意见者,因为让他人改变观点很困难.
作者: lodge    时间: 2005-07-22 15:42
最初由 fanyzidb 发布
[B]


目前,关系数据库在市场上占据着统治地位,人们都习惯于用关系数据库的思维方式来处理问题,在心理学上这叫做心理定势.

您老兄现在是用关系数据库的思维方式来考虑问题.

日本的一个禅师曾经这样说过:人的思想好比一个茶杯,只有把原来的茶倒掉,才能接收新的茶水.

你若对准一维数据结构感趣,不妨就彻底"抛弃"关系数据库的"茶水",然后再用准一维数据结构来考虑问题. [/B]


呵呵, 偶的思维方式, 受到所学专业的影响, 更接近于网络信息共享和知识管理的思考方法, 比较概括和抽象, 对于数据结构等具体实现手法考虑的很少啦.

偶对异构数据库的整合问题比较感兴趣, 几年前写过一篇关于使用AGENT技术整合异构数据库的文章, 现在想想当初的想法还很不成熟, 甚至有些可笑捏.

讨论一下, 偶也有所收获, 希望偶的胡言乱语对你的研究能有所帮助.

作者: fanyzidb    时间: 2005-07-22 15:45
最初由 lodge 发布
[B]

如果所有的数据库都按照同样的方法建立, 也就没有了异构的问题了嘛. 可是这是不可能地,  [/B]


关系数据库在理论变为现实时也有很多人反对,但事实表明关系数据库取得了巨大的成功.但在互联网时代,关系数据库却难以解决异构数据源问题.


是不是可能,关键在于准一维数据结构能不能发挥出作用,能不能让大家接受.大家都接受了,也就可能.
作者: fanyzidb    时间: 2005-07-22 15:48
最初由 lodge 发布
[B]

呵呵, 偶的思维方式, 受到所学专业的影响, 更接近于网络信息共享和知识管理的思考方法, 比较概括和抽象, 对于数据结构等具体实现手法考虑的很少啦.

偶对异构数据库的整合问题比较感兴趣, 几年前写过一篇关于使用AGENT技术整合异构数据库的文章, 现在想想当初的想法还很不成熟, 甚至有些可笑捏.

讨论一下, 偶也有所收获, 希望偶的胡言乱语对你的研究能有所帮助.
[/B]



与其说对异构数据库的整合,还不如彻底抛弃它.准一维数据结构从根本上保证了不会出现异构数据源.
作者: lodge    时间: 2005-07-22 16:07
最初由 fanyzidb 发布
[B]


与其说对异构数据库的整合,还不如彻底抛弃它.准一维数据结构从根本上保证了不会出现异构数据源. [/B]


统一标准是不可能的, 前面说啦, 微软, IBM这些巨头们又何尝不想统一, 和垄断, 他们都无法做到, 谁还能做到捏. 而且要是能统一就算是关系型数据库也就没有异构问题啦.

你的准一维数据结构, 仍然使用表名字段这样的概念, 是不可能不出现异构地, 试问, 法语的表名和中文的表名如何对应啊. 偶的观点仍然是, 要彻底抛弃逻辑的结构和算法, 用纯粹的业务概念来构筑商用数据模型才有可能具备通用性
作者: fanyzidb    时间: 2005-07-22 16:37
最初由 lodge 发布
[B]

统一标准是不可能的, 前面说啦, 微软, IBM这些巨头们又何尝不想统一, 和垄断, 他们都无法做到, 谁还能做到捏. 而且要是能统一就算是关系型数据库也就没有异构问题啦.

你的准一维数据结构, 仍然使用表名字段这样的概念, 是不可能不出现异构地, 试问, 法语的表名和中文的表名如何对应啊. 偶的观点仍然是, 要彻底抛弃逻辑的结构和算法, 用纯粹的业务概念来构筑商用数据模型才有可能具备通用性 [/B]


具体是如何实现的?



在准一维数据结构中,表名、数据库名只是一个对象的属性。字段是对象的属性。

在准一维数据结构中之所以还用表名和数据库名是为了与关系数据库兼容。

准一维数据结构其独特之处。要对其深入了解,需要对大脑的联想有一定的了解。大脑是用类似准一维数据结构来存放信息的。
作者: fanyzidb    时间: 2005-07-22 16:46
最初由 lodge 发布
[B]

统一标准是不可能的, 前面说啦, 微软, IBM这些巨头们又何尝不想统一, 和垄断, 他们都无法做到, 谁还能做到捏. 而且要是能统一就算是关系型数据库也就没有异构问题啦.

你的准一维数据结构, 仍然使用表名字段这样的概念, 是不可能不出现异构地, 试问, 法语的表名和中文的表名如何对应啊. 偶的观点仍然是, 要彻底抛弃逻辑的结构和算法, 用纯粹的业务概念来构筑商用数据模型才有可能具备通用性 [/B]



我花了多年业务时间才提出了一个准一维数据结构,就这样已把我累得半死。统一标准问题就让别人去解决吧。
作者: lodge    时间: 2005-07-23 00:13
最初由 fanyzidb 发布
[B]

具体是如何实现的?



在准一维数据结构中,表名、数据库名只是一个对象的属性。字段是对象的属性。

在准一维数据结构中之所以还用表名和数据库名是为了与关系数据库兼容。

准一维数据结构其独特之处。要对其深入了解,需要对大脑的联想有一定的了解。大脑是用类似准一维数据结构来存放信息的。 [/B]


呵呵, 这回该偶劝你忘记数据库忘记数据结构啦, 仅仅按照商业的方式来做描述, 比如说你可以把商业行为定义成为不同ACTION, 再为它配上语气, 和信息, 举个例子,
ACTION(行动): 送信
语气: 请求
内容: 价格

作为回答:

ACTION(行动): 送信
语气: 回答
内容: 2000
作者: fanyzidb    时间: 2005-07-23 09:20
最初由 lodge 发布
[B]

呵呵, 这回该偶劝你忘记数据库忘记数据结构啦, 仅仅按照商业的方式来做描述, 比如说你可以把商业行为定义成为不同ACTION, 再为它配上语气, 和信息, 举个例子,
ACTION(行动): 送信
语气: 请求
内容: 价格

作为回答:

ACTION(行动): 送信
语气: 回答
内容: 2000 [/B]


对!
正是如此。

数据库和数据结构是程序员考虑的问题,对用户而言,他只要按商业的方式来描述即可。

无论是关系数据库的二维表,还是准一维表,都是为用户服务的。
作者: fanyzidb    时间: 2005-07-23 09:51
数据结构的不同,对数据处理过程的影响是巨大的。

二维表与人们在日常工作中所用的表几乎完全一样,其优点是很直观,容易理解。但其缺点是以此方式存放信息时,检索信息需要大量的程序支持。

准一维表是模仿大脑存放和检索信息的方式而建立的表,其优点是可以对所有信息(TEXT、NTEXT、IMAGE除外)进行索引,可以象大脑那样实现联想,检索信息非常方便。用准一维表而建立的数据库不存在异构数据源问题。

从目前开发出的用准一维表而建立的数据库系统表明,该系统完全可以GOOGLE那样,只用一个输入框而实现对数据库系统中的所有信息进行检索----万能检索。而二维表就很难实现万能检索。
作者: mafei19    时间: 2006-03-08 01:49
标题: 看不到全文,我!#&($&
信息孤岛,,,,,,,,,,,,XML能不能有所作为,能不能在XML的基础上连接别的数据库?!我是新手,希望大家指教




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2