实现数据开放共享的方法
当前之所以存在严重的信息孤岛问题、数据难以开放共享,根本原因在于当前的信息系统设计的理论体系有问题。信息孤岛犹如爱滋病,一旦产生就不可医治,BI、EAI、EDI、ETL、ESB只是减缓症状的方法,治标不治本。本文的方法是在系统的设计阶段实现数据的开放共享,从根本上避免信息孤岛问题的产生。火车是以标准的钢轨为基础避免了铁路交通孤岛而实现了互联互通,本文借鉴了此方法。
目 录
第1章 概要.. 3
第2章 信息孤岛的根源在于关系数据库理论有问题.. 4
2.1 当前的信息孤岛为什么是不治之症.. 4
2.2 关系数据库理论是以服务器为中心的孤岛型理论.. 5
2.3 当前的信息系统软件开发模式的特点.. 6
2.4 从技术上分析关系数据库理论所存在的问题.. 7
2.5 关系数据库理论是单机时代的产物,不适应互联网时代.. 8
第3章 利用万能数据结构表实现数据开放共享.. 10
3.1 火车的互联互通及机械零部件的互换性对信息系统设计的启示:标准化.. 10
3.2 数据结构的标准化:万能数据结构.. 11
第4章 两种完全不同的软件设计模式的对比.. 15
4.1 万能数据结构表是一门全新的数据库理论.. 15
4.2 数据的标准化、数据的完整性.. 15
4.3 独立数据库与关系数据库理论的对比.. 19
第5章 独立数据库简介.. 21
5.1 独立数据库的技术特点:是一种数据优化、查询技术.. 22
5.2 如何证明“万能数据结构表”是万能的.. 24
5.3 独立数据库的一项重要任务就是根除关系.. 28
当前的数据之所以难以开放共享,根本原因在于当前的信息系统设计的理论体系有问题。实现数据开放共享、互联互通可以借鉴火车的设计思路。我国的火车之所以可以在全国各地互联互通,是因为我国各地的钢轨都是标准的,各种火车是以标准的钢轨为基础而设计。
我国的钢轨与前苏联的钢轨是不相同的,我国的火车要经过前苏联国家时,就要换车轮,换一次车轮需要80分钟。当前的各种信息系统中的数据全都是异构的,犹如钢轨的宽度各不相同,当前的系统之间互联互通是通过转换数据结构的方式而实现,犹如换车轮。BI、EAI、EDI、ETL、ESB等都是通过“换车轮模式”而实现互联互通。
铁路交通只是利用钢轨的标准化这种非常简单的方法就从根本上避免了铁路交通孤岛问题的产生。本文解决信息孤岛问题的方法也很简单,本文是通过对数据及数据结构的标准化而从根本上避免信息孤岛问题的产生,犹如火车通过钢轨的标准化而实现互联互通。本文中的方法与当前的信息系统设计的理论体系完全不同,是一种全新的信息系统设计模式。
当前设计各种信息系统的特点:数据及数据结构完全由设计人员自己决定,因此各信息系统中的数据完全是异构的,这犹如全国各地都是分别设计自己的火车,各地的火车钢轨都是不相同的。
本文借鉴了铁路交通的设计思路:在设计各种信息系统时,必须按标准的数据及标准的数据结构为基础而设计,不允许设计人员随意地定义数据及数据结构。万能数据结构表就是标准的数据结构表。万能数据结构表可以存贮各种各样的结构化数据。如果各个信息系统中的数据及数据结构都是标准的,那么数据就可以象火车一样在各个信息系统之间互联互通。
当前的实现数据开放共享、互联互通的方法可称作是“换车轮模式”。
本文实现数据开放共享的方法所采有的模式可称作是“标准化模式”。“标准化模式”是以“独立数据库”为基础而设计的。“独立数据库”是一种与关系数据库理论完全不同的全新的数据库理论。
【作者:[email protected]】
在信息化领域,关系数据库独占鳌头!当前的大部分信息系统都是以关系数据库为基础。本文之所以要介绍独立数据库,是因为以关系数据库理论为基础而设计的信息系统都不能有效地实现数据的开放共享、互联互通。
在介绍独立数据之前,非常有必要研究清楚以关系数据库为基础的信息系统为什么都是孤岛型的系统。也可以为什么只有抛弃关系数据库理论才能从根本上解决信息孤岛问题。
通过下面的分析、计算就会发现当前的信息孤岛是不治之症。这是由当前的信息孤岛的实际情况及解决信息孤岛的方式所决定的。
当前的实际情况:当前的各种信息系统都是孤岛型的,因为设计人员在开发各种信息系统时都没有考虑数据的互联互通问题,没有通用的数据接口。如果需要与某个系统实现数据的互联互通,则需要开发专用的“点对点式的数据接口”。如果与N个系统实现数据的互联互通,那么至少要开发N个数据接口。
用现有的技术为什么不能根除信息孤岛?从理论上而言,利用现有技术可以通过转换数据结构的方式而实现任意两个信息系统之间的特定数据的互联互通、开放共享,然而由于全球的各种信息系统的数量超过千万,全球所产生的数据超过数万亿条,而且信息系统及数据还在不断地增加,面对如此海量的异构的、不标准的数据,“转换数据结构”的方法所花的成本非常高、不可承受。因此,当前的信息孤岛只能在局部进行缓解,而不能整体上得到根治。利用现有技术设计信息系统时,每增加一个信息系统,就增加了一个孤岛。
两个系统之间的互联互通约需要1个人月的工程量;三个系统之间的互联互通约需要(3-1)+(3-2)=3个人月的工程量;四个系统之间的互联互通约需要(4-1)+(4-2)+(4-3)=6个人月的工程量;N个信息系统之间的互联互通约需要((N-1)+(N-2)+(N-3)+……+3+2+1)个人月的工程量。由计算公式可看出,随着信息系统的数量的增多,系统之间的互联互通的工程量十分巨大,无法承受。因此,当前的信息孤岛是不治之症。这与当前的事实是相符的,自从关系数据库理论产生的40多年来,世界各地的信息孤岛问题都未能得到有效解决。
用关系数据库理论开发信息系统,会产生无穷无尽的数据结构,也会产生无穷无尽的不标准、不规范的数据。对于用关系数据库理论所设计的信息系统而言,随着信息系统的数量的增加,信息孤岛问题也将会更加严重。也可以说关系数据库理论是信息孤岛的发源地,人们虽说想尽各种方法来解决信息孤岛让数据互联互通,然而信息孤岛问题不降反增。
信息孤岛一旦产生,就不可根治。因为当前的信息系统中的数据的数据结构是不标准的、数据是不标准的,数据与数据库系统密不可分,数据与应用程序密不可分,数据只有在原系统中才是有意义的,一旦脱离了原来的系统,就会变成无意义的数据。当前解决信息孤岛实现互联互通的方法(例如BI、EAI、EDI、ETL、ESB等等)都是通过转换数据结构(换车轮模式)、开发点对点式的数据接口而实现,然而这种方法只能治标,不能治本。利用现有技术无法开发出通用的数据接口。
关系数据库理论建立在封闭的局域网的基础之上:“所有的数据都处于一个完全封闭的系统中”。关系数据库理论中没有互联互通的内容,也没有数据接口的内容。关系数据库理论是一种以自我为中心的孤岛型理论:“我只处理我的数据,不处理你的数据,你只处理你的数据,你也不能处理我的数据,你我之间没关系。”关系数据库理论的创始人根本就没有考虑互联互通的问题,关系数据库理论是一种仅适用于单机、局域网的数据库理论。
互联互通的信息系统没有中心:“我要处理我的数据,还要处理你的数据和他的数据,你要处理你的数据,也要处理我的数据和他的数据,你我他之间的数据要互联互通。”
关系数据库理论是“独立王国”的孤岛型理论,关系数据库设计人员是“独立王国”的国王,国王就是法律,数据类型、数据结构全由国王任意定义。互联互通需要的是没有国王的民主社会的民主型理论,数据库的设计人员不再是国王而是民主社会中的一员,他的一言一行(数据、数据结构)都必须受到民主社会的“法律、行为规范(通信协议)”的制约。问题是当前的关系数据库理论中没有结构化数据互联互通的通信协议。
关系数据库的问题:由设计人员任意定义数据和数据结构,各方的数据和数据结构各不相同。因此,数据的接收方无法直接把数据存贮到自己的数据库中。关系数据库中的数据是一种有结构的数据,然而对方又没有这样的结构,因此,数据发送到对方的数据库之后就是不可识别的数据。只要是用关系数据库理论所设计的信息系统,其数据必定不可能在各个数据库之间互联互通,必定是孤岛型系统。
30多年来关系数据库在结构化数据处理方面独占鳌头,为全球的信息化建设立下了汗马功劳,是信息化社会的大功臣!当前之所以会出现严重的信息孤岛问题、互联互通问题、数据难挖掘问题,与关系数据库密不可分,关系数据库是信息孤岛问题的罪魁祸首!人们曾花费巨额资金,希望通过BI、EAI、ETL、EDI、ESB等技术来解决信息孤岛,实现数据的互联互通,然而全球的大量事实表明,效果很不理想。
当前的信息系统软件开发模式是:先设计出数据结构各不相同的系统,然后再通过转换数据结构而实现互联互通,犹如先设计出“结构各不相同的车轮”的火车,然后再换车轮互通,这种软件开发模式可称作是“换车轮模式”、“后ETL模式”。用本文中的方法设计软件时,其开发模式是:各信息系统必须按照标准的、统一的“事物信息表”而设计信息系统,犹如按标准的钢轨而设计火车,这种软件开发模式可称作是“标准化模式”、“先ETL模式”,按这种模式所开发出的信息系统实现数据的互联互通、开放共享交换非常容易,在技术上不存在信息孤岛问题。
在小数据时代,各行各业的信息系统中的数据及数据结构基本上都是不标准、不规范的,各个信息系统中的数据完全由系统的设计人员任意定义,因此,各信息系统中的数据都是异构的、不标准的,结果导致了非常严重的信息孤岛问题。不同的信息系统要实现互联互通、共享交换,就必须通过转换数据结构的方式来实现。然而面对全球数千万个以上的信息系统,数万亿条以上的异构的、不标准的数据,要实现各个信息系统之间的互联互通、共享交换,用传统的转换数据结构的方法就非常困难,甚至可以说根本不可能在可承受的时间内实现。现有软件开发模式的根本错误在于“数据治理的先后次序”搞反了。当前的BI、EAI、ETL、EDI等技术都是在“疾病”产生了之后再“治疗疾病”。
在大数据时代,应该是在设计各种信息系统之前就对各行各业的数据进行“数据治理”,并形成各行各业的国际数据标准、国家数据标准、行业数据标准,而不是等到数千万个软件系统产生了无比海量的不标准、不规范的数据之后再治理数据。
下面的两张表中的数据对关系数据库而言是合格的,然而这两张表中的数据是普通人难以看懂的:
表3:关系数据库中的表
ID |
XM |
XB |
NL |
TZ |
SG |
1 |
张三 |
男 |
56 |
72 |
180 |
表4:关系数据库中的表
ID |
XM |
XB |
ZYF |
XYF |
QTFY |
2146 |
张三 |
男 |
56 |
72 |
180 |
上面两表中的数据的实际含义如下:
表5:表2的实际内容
ID |
姓名 |
性别 |
所龄 |
体重 |
身高 |
1 |
张三 |
男 |
56 |
72 |
180 |
表6:表3的实际内容
ID |
姓名 |
性别 |
中药费 |
西药费 |
其它费用 |
2146 |
张三 |
男 |
56 |
72 |
180 |
下表是用发明专利技术万能数据结构表“事物信息表”而设计的表,该表中的数据无论是谁,只要懂汉语,就可以看懂表中内容:
事物信息表存贮数据的例子
ID |
事物代号 |
事物属性 |
事物属性值 |
超长属性值 |
单位 |
附件 |
时间 |
|
100 |
280 |
事物分类 |
体育管理系统 |
|
|
|
2014.3.2 |
|
101 |
280 |
事物分类 |
教练信息 |
|
|
|
2014.3.2 |
|
102 |
280 |
事物分类 |
教练基本情况 |
|
|
|
2014.3.2 |
|
103 |
280 |
身份证号 |
XXXXXXXXXX |
|
|
|
2014.3.2 |
|
105 |
280 |
姓名 |
张三 |
|
|
|
2014.3.2 |
|
106 |
280 |
性别 |
男 |
|
|
|
2014.3.2 |
|
107 |
280 |
年龄 |
56 |
|
|
|
2014.3.2 |
|
108 |
280 |
体重 |
72 |
|
KG |
|
2014.3.2 |
|
109 |
280 |
身高 |
180 |
|
CM |
|
2014.3.2 |
|
|
|
|
|
|
|
|
|
|
1100 |
1280 |
事物分类 |
病历 |
|
|
|
2014.5.3 |
|
1101 |
1280 |
事物分类 |
住院病历 |
|
|
|
2014.5.3 |
|
1102 |
1280 |
事物分类 |
医疗费用 |
|
|
|
2014.5.3 |
|
1103 |
1280 |
身份证号 |
XXXXXXXXXX |
|
|
|
2014.5.3 |
|
1104 |
1280 |
住院号 |
XXXXXXXXXX |
|
|
|
2014.5.3 |
|
1105 |
1280 |
姓名 |
张三 |
|
|
|
2014.5.3 |
|
1106 |
1280 |
性别 |
男 |
|
|
|
2014.5.3 |
|
1107 |
1280 |
中药费 |
56 |
|
元 |
|
2014.5.3 |
|
1108 |
1280 |
西药费 |
72 |
|
元 |
|
2014.5.3 |
|
1109 |
1280 |
其它费用 |
180 |
|
元 |
|
2014.5.3 |
关系数据库中的数据与数据结构密不可分。关系数据库中的每一个数据都是有数据结构的,一旦失去相应的数据结构,就成了无意义的数据。
关系数据库中的数据与应用程序密不可分。目前的信息系统都是通过应用程序来解读关系数据库中的数据,然而每个应用程序只能解读自己的系统中的数据而无法解读其它系统中的数据。关系数据库中的数据不具独立性、完整性,数据一旦脱离相应的数据库系统及相应的应用程序就变成了无意义的数据。
信息孤岛问题是IT领域的一个非常严重的问题。人们在20年前就注意到了信息孤岛问题,并开始寻找解决信息孤岛问题的方法,然而20多年过去了,全世界无数的非常聪明的IT人士想尽了各种方法,例如BI、EAI、EDI、ETL、ESB,然而当前的众多事实表明,信息孤岛问题不但没有从根本上加以解决,反而越来越严重。
人们为什么无法根除信息孤岛问题呢?产生信息孤岛的根本原因在于关系数据库理论,因为关系数据理论单机时代的产物,创始人当时未考虑数据在各个信息系统之间的互联互通问题!关系数据库理论是在互联网产生之前的单机时代创立的。关系数据库理论于1970年6月由IBM公司的埃德加考特(Edgar Frank Codd)创立。ORACLE诞生于1979年。互联网诞生于1973年至1984年之间。1984年,美国国防部将TCP/IP作为计算机网络的标准。
关系数据库理论中没有数据交换共享的概念,也没有数据接口的概念。关系数据库所关心的只是如何处理自己的数据(单机中的数据),而未考虑如何处理从其它数据库发过来的数据,也未考虑如何把数据发送到其它数据库。关系数据库的特点是:“你的数据库处理你的数据,我的数据库处理我的数据。我不处理你的数据,你也不处理我的数据,你我之间是没有关系的。”
在单机时代、局域网时代,关系数据库在处理结构化数据方面发挥出了巨大的作用。然而,随着互联网时代的到来,人们不但希望信息系统处理自己的数据,还希望各个信息系统之间可以共享交换数据,希望数据可以互联互通。为了解决信息孤岛问题,人们发明了BI、EAI、EDI、ETL、ESB等等很多方法。随着IT技术的飞速发展,全世界的各行各业建立了大量的信息系统,然而20多年来全世界花费了巨大的人力、物力来解决信息孤岛问题,到如今,信息孤岛问题不但没有根除,反而比以前更严重,信息系统之间的互联互通、数据的开放共享还是非常困难!
本文解决信息孤岛实现数据开放共享的方法非常简单,犹如火车通过钢轨的标准化而实现了铁路交通的互联互通,万能数据结构表就是信息系统的标准的钢轨。
火车之所以能够在全国各地互联互通,是因为全国的钢轨都是标准的,我国的各种火车都是以标准的钢轨为基础而设计的。机械零部件的互换性是机械中的一个非常重要特性。机械工程师在设计机械设备时都要尽量采用标准的零部件。火车的互联互通及机械零部件的互换性都是以“标准化”为基础。如果说全国各地的钢轨各不相同,那么无论采用什么样的换车轮的方法,都不可能从根本上解决铁路交通的孤岛问题。这个道理大家都能理解。奇怪的是在IT领域,人们到目前为止还是采用“换车轮的模式”来解决信息孤岛问题。
IT行业的软件工程师几乎没有标准的概念。软件设计人员在设计软件系统时几乎不考虑任何标准,各种信息系统中的数据完全由软件设计人员自己任意定义,其结果就是各种信息系统中的数据全是不标准、不规范的异构数据。
铁路交通以“钢轨的标准化”而从根本上避免了“铁路交通孤岛”问题的产生。如果各种信息系统的数据及数据结构也采用标准化的数据和数据结构,那么,也可以从根本上实现各种信息系统之间的互联互通!然而利用关系数据库技术,不可能使数据结构标准化、统一化。本文中的“事物信息表”可存贮各种各样的结构化数据,可以成为标准的数据结构表。
关系数据库理论存在致命缺陷的一个重要原因在于“由设计人员自己随意定义数据结构”,其结果就产生了大数据时代的“数据类型多”的大问题。为了从根本上解决“数据类型多”的问题,利用本文的方法在设计信息系统时,不充许数据库的设计人员随意地定义数据结构,为了使数据可以互联互通,存贮任何数据都必须采用统一的、标准的、固定的数据结构表“万能数据结构表”来存贮。本文之所以自始至终强调“只用一张表或若干张结构完全一样的事物信息表存贮数据、数据的完整性”,目的就是让数据可以在不同的信息系统之间互联互通”。
下面的表1是“事物信息表”,“事物信息表”是万能数据结构表,可以只用一张表而存贮各种关系数据库中的任意结构的数据。表1只用一张表就存贮了“1、动物档案;2、销售订单表;3、销售订单明细表;4、患者基本情况;5、症状;6、员工身高体重;7、通信录;8、医疗费用”的数据。若用关系数据库理论中的方法来存贮这些数据就需要8张结构各不相同的表。
表1:事物信息表只用一张即可存贮各种各样的结构化数据
ID |
事物代号 |
事物特征 |
事物特征值 |
超长特征值 |
单位 |
附件 |
时间 |
65 |
2367 |
事物分类 |
动物管理系统 |
|
|
|
|
66 |
2367 |
事物分类 |
企鹅 |
|
|
|
|
67 |
2367 |
事物分类 |
帝企鹅 |
|
|
|
|
68 |
2367 |
事物分类 |
动物档案 |
|
|
|
|
69 |
2367 |
动物编号 |
3 |
|
|
|
|
70 |
2367 |
名字 |
汉武帝 |
|
|
|
|
81 |
2367 |
动物简介 |
|
帝企鹅(学名:Aptenodytes forsteri):也称皇帝企鹅,是企鹅家族中个体最大的,一般身高在90厘米以上,最大可达到120厘米,体重可达50千克。其形态特征是脖子底下有一片橙黄色羽毛,向下逐渐变淡,耳朵后部最深。全身色泽协调。颈部为淡黄色,耳朵的羽毛鲜黄橘色,腹部乳白色,背部及鳍状肢则是黑色,鸟喙的下方是鲜桔色。 |
|
|
|
71 |
2367 |
购入日期 |
2013/3/21 |
|
|
|
|
72 |
2367 |
身高 |
1.2 |
|
m |
|
|
73 |
2367 |
体重 |
20 |
|
kg |
|
|
74 |
2367 |
出生日期 |
2011/4/2 |
|
|
|
|
75 |
2367 |
照片 |
|
|
|
JPG |
|
76 |
2367 |
笼舍编号 |
98 |
|
|
|
|
77 |
2367 |
管理员 |
张三 |
|
|
|
|
78 |
2367 |
父 |
1 |
|
|
|
|
79 |
2367 |
母 |
2 |
|
|
|
|
80 |
2367 |
性别 |
雄 |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
128 |
事物分类 |
销售订单表 |
|
|
|
|
3 |
128 |
订单ID |
10248 |
|
|
|
|
4 |
128 |
客户名称 |
山泰企业 |
|
|
|
|
5 |
128 |
销售负责人 |
赵军 |
|
|
|
|
6 |
128 |
订购日期 |
1996/7/4 |
|
|
|
|
7 |
128 |
到货日期 |
1996/8/1 |
|
|
|
|
8 |
128 |
发货日期 |
1996/7/16 |
|
|
|
|
9 |
128 |
运货商 |
联邦货运 |
|
|
|
|
10 |
128 |
运货费 |
32.38 |
|
元 |
|
|
11 |
128 |
货主名称 |
余小姐 |
|
|
|
|
12 |
128 |
货主地址 |
光明北路12号 |
|
|
|
|
|
|
|
|
|
|
|
|
14 |
9813 |
事物分类 |
产品销售系统 |
|
|
|
|
15 |
9813 |
事物分类 |
销售订单明细表 |
|
|
|
|
16 |
9813 |
订单ID |
10248 |
|
|
|
|
17 |
9813 |
产品名称 |
猪肉 |
|
|
|
|
18 |
9813 |
单位 |
14 |
|
元 |
|
|
19 |
9813 |
数量 |
12 |
|
Kg |
|
|
20 |
9813 |
折扣 |
0 |
|
% |
|
|
|
|
|
|
|
|
|
|
37 |
28 |
事物分类 |
住院病历 |
|
|
|
|
38 |
28 |
事物分类 |
患者基本情况 |
|
|
|
|
39 |
28 |
病案号 |
199109-2-215 |
|
|
|
|
40 |
28 |
身份证号 |
XXXXXXXXXXXX |
|
|
|
|
41 |
28 |
姓名 |
徐XX |
|
|
|
|
42 |
28 |
工作单位 |
石化总厂 |
|
|
|
|
43 |
28 |
职务 |
机械工 |
|
|
|
|
44 |
28 |
地址 |
上海市南京路 |
|
|
|
|
45 |
28 |
年龄 |
43 |
|
|
|
|
46 |
28 |
入院日期 |
1991/8/19 |
|
|
|
|
47 |
28 |
婚否 |
已婚 |
|
|
|
|
48 |
28 |
病史采取日期 |
1991/8/19 |
|
|
|
|
49 |
28 |
籍贯 |
浙江省宁波市 |
|
|
|
|
50 |
28 |
病史记录日期 |
1991/8/19 |
|
|
|
|
51 |
28 |
民族 |
汉 |
|
|
|
|
52 |
28 |
病情陈述者 |
患者本人 |
|
|
|
|
|
|
|
|
|
|
|
|
54 |
29 |
事物分类 |
住院病历 |
|
|
|
|
55 |
29 |
事物分类 |
现病历 |
|
|
|
|
56 |
29 |
事物分类 |
症状 |
|
|
|
|
57 |
29 |
病案号 |
199108-2-215 |
|
|
|
|
58 |
29 |
身份证号 |
XXXXXXXXXXX |
|
|
|
|
59 |
29 |
姓名 |
张三丰 |
|
|
|
|
60 |
29 |
症状 |
寒战 |
|
|
|
|
61 |
29 |
症状 |
腹泻 |
|
|
|
|
62 |
29 |
诱因 |
洗澡时着凉 |
|
|
|
|
63 |
29 |
症状开始时间 |
1991/8/16 |
|
|
|
|
|
|
|
|
|
|
|
|
82 |
280 |
事物分类 |
人事管理系统 |
|
|
|
|
83 |
280 |
事物分类 |
员工身高体重 |
|
|
|
|
84 |
280 |
姓名 |
张三 |
|
|
|
|
85 |
280 |
性别 |
男 |
|
|
|
|
86 |
280 |
年龄 |
56 |
|
岁 |
|
|
87 |
280 |
体重 |
72 |
|
KG |
|
|
88 |
280 |
身高 |
180 |
|
CM |
|
|
89 |
280 |
身份证号 |
410305XXXXX |
|
|
|
|
|
|
|
|
|
|
|
|
91 |
9753 |
事物分类 |
通信录 |
|
|
|
|
92 |
9753 |
姓名 |
张三 |
|
|
|
|
93 |
9753 |
手机 |
1366086XXXX |
|
|
|
|
94 |
9753 |
单位 |
广州软件公司 |
|
|
|
|
95 |
9753 |
|
6667567XXX |
|
|
|
|
96 |
9753 |
邮件 |
|
|
|
|
|
97 |
9753 |
地址 |
广州大道2号 |
|
|
|
|
98 |
9753 |
照片 |
|
|
|
JPG |
|
|
|
|
|
|
|
|
|
100 |
1280 |
事物分类 |
住院病历 |
|
|
|
|
101 |
1280 |
事物分类 |
医疗费用 |
|
|
|
|
102 |
1280 |
身份证号 |
XXXXXXXXXX |
|
|
|
|
103 |
1280 |
住院号 |
XXXXXXXXXX |
|
|
|
|
104 |
1280 |
姓名 |
张三 |
|
|
|
|
105 |
1280 |
性别 |
男 |
|
|
|
|
106 |
1280 |
中药费 |
56 |
|
元 |
|
|
107 |
1280 |
西药费 |
72 |
|
元 |
|
|
108 |
1280 |
其它费用 |
180 |
|
元 |
|
|
109 |
1280 |
事物分类 |
住院病历 |
|
|
|
|
|
|
|
|
|
|
|
|
对于关系数据库领域的技术人员而言,随机地挑选100个信息系统,这100个信息系统中的数据的结构肯定是各不相同的,肯定不可能做到使这100个信息系统中的所有数据的数据结构都是相同的。然而万能数据结构表可以做到“只要一张表(如上面的表1所示)就可以存贮各种各样的结构化数据”,利用万能数据结构表而设计的各种各样的信息系统的所有数据的数据结构都是相同的。因为万能数据结构表是一种“通用表”,可以只用一张“事物信息表”即可存贮各种各样的结构化数据。
万能数据结构表不仅仅是一种表,其实是一门全新的数据库理论,可称作是独立数据库理论。之所以称作是独立数据库是为了与关系数据库相区别。关系数据库中的数据是依靠与关系数据库的关系、与表结构的关系、与应用程序的关系、与其它表的关系才能表达出相应的含义。独立数据库中的数据则要求其中的数据必须独立地、完整地表达出相应的含义,与数据库、与应用程序、与其它没有任何关系。
独立数据库与关系数据库理论的最大区别主要有两点:1、独立数据库全部采用万能数据结构表这一种数据结构表存贮数据,因此所有数据的数据结构都是相同的;2、独立数据库要求数据必须满足“数据的完整性”。
利用独立数据库所设计的信息系统的特点:实现数据的互联互通、共享开放非常容易,对多个信息系统中的数据挖掘非常容易,不存在信息孤岛问题,可高效地实现医学信息的结构化存贮。
独立数据库与现有技术的最大区别就是:现有技术都是先让信息孤岛产生,然后再通过转换数据结构(犹如换车轮)而实现互联互通。独立数据库所考虑的不是如何治理现有的信息孤岛问题,而是通过数据结构及数据的标准化(犹如标准的钢轨及车轮)而从根本上避免信息孤岛问题的产生。由于利用独立数据库所设计的各种信息系统实现互联互通非常容易,不存在信息孤岛问题,所以就不用考虑治理信息孤岛的问题。
万能数据结构表犹如标准的钢轨,数据的标准化(数据的完整性)犹如使火车的车轮适应标准的钢轨。
公知常识中并没有“什么样的数据才是可以互联互通的结构化数据”的概念,也没有相应的名词来表达这个概念,也没有准确的定义来说明什么样的数据才是可以互联互通的数据,也没有人能列举出哪个结构化数据是可以互联互通的数据。因为目前并不存在可以互联互通的结构化数据,当前的任何一个关系数据库中的任何一条数据都只是在自己的数据库系统中、在自己的信息系统中才是有意义的,当关系数据库中的某条数据发送到其它信息系统时,就成了无意义的数据,对方就不能把数据直接存贮到数据库中并且直接对数据进行识别处理,因为数据的接收方没有相应的数据结构。
人们所希望的互联互通就是让结构化数据可以发送到各种信息系统中,数据的接收方可以直接把数据存贮到数据库中,而且可以识别处理该数据,然而到目前为止,现有技术未能解决此问题。当前的各种关系数据库中的所有数据都不是可以互联互通的数据,因为关系数据库中的数据都是有数据结构的,关系数据库中的数据一旦脱离了原来的环境而发送到其它数据库时,就会因为对方的数据库中没有相应的数据结构而导致数据的接收方不能把数据存贮到数据库中。
只有满足“数据的完整性”的数据才是可以互联互通的结构化数据。“数据的完整性”是独立数据库所提出的新概念,与当前的“数据完整性”的含义是完全不同的。
独立数据库中的“数据的完整性”所针对的问题:在关系数据库理论创立了40多年的今天,人们并未有效地解决结构化数据互联互通的问题,甚至可以说关系数据库中的结构化数据都是孤岛型数据,因为关系数据库中的数据只能在特定的系统中才是有意义的,一旦脱离了原来的系统而发送到其它的系统之中时,就会变成无意义的数据。
独立数据库创立“数据的完整性”的概念的目的就是使数据无论被发送到任何一个信息系统中都是有意义的,可以被数据的接收方识别、处理。需要说明的是:独立数据库中的“数据的完整性”的适用范围是“利用医学信息的结构化存贮方法而设计的各种信息系统”。
当前的关系数据库中的数据为什么一旦脱离了原来的系统就会变成无意义的数据?根本原因在于关系数据库中的数据都是有结构的,数据的结构都是由数据库的设计者随意地定义的,只能自己识别,其它系统、其它人不能识别,因为数据的接收方的数据库中不一定就有相应的数据结构。
独立数据库中的“数据的完整性”的含义:医学信息的结构化存贮方法要求数据与数据库系统及相应的应用程序的耦合度为零。这是实现互联互通的最重要的基础。
“事物信息表”中的数据与数据库系统及相应的应用程序是相互独立的,即“事物信息表”中的任一事物的数据都具有比较好的完整性,“事物信息表”中的数据脱离相应的数据库系统及应用程序后还能保持原来的意义,数据的完整性是确保信息系统之间可以互联互通和信息共享的基础。
独立数据库注重的是数据的完整性。数据的完整性是指数据可以不依靠其它注释、解释、翻译、加工处理而独立地、准确地、完整地表达出某种完整的含义。医学信息的结构化存贮方法要求各个事物的数据要尽量独立地、准确地、完整地表达出某种含义。在“事物信息表”中,事物之间的关系不是靠各种表来表达,而是靠各事物原来所具有的自然特征和特征值而自然地建立关系,各事物之间的关系与数据库系统以及应用系统无关,或者说各事物之间的关系完全独立于数据库系统及应用系统而独立地、准确地、完整地具有某种含义,这就可以确保一个事物的信息在任何信息系统中都有相同的含义。百分之百合格的“事物信息表”中的数据与数据库系统、表结构、应用系统的耦合度为零。
关系数据库是用各种关系来表达各种事物间的关系。正如关系数据库名中的“关系”的含义:关系数据库中的数据与关系数据库系统、表结构以及相应的应用程序密不可分,一旦分开,关系数据库中的数据将会变成无意义的数据,然而,正是这种“关系”而导致关系数据库必然产生“信息孤岛”。“事物信息表”中的数据与数据库系统、表结构及应用程序无关,可以完全脱离数据库系统、表结构及应用程序而独立地存在,这是医学信息的结构化存贮方法非常突出的特点。正因为关系数据库中的数据与关系数据库系统、表结构及应用程序密不可分,所以当进行数据交换时,数据到了另一个环境中就变成了失真的数据,这也是关系数据难以实现互联互通、易产生信息孤岛的根本原因。
“事物信息表”中的数据与“数据库系统、表结构及应用程序”无“关系”,可以完全脱离数据库系统及应用程序而独立存在,所以用医学信息的结构化存贮方法所建立的信息系统实现互联互通非常容易,因为它的数据无论发送到什么地方,都能独立地、准确地、完整地表达出原有的含义。
数据完整性的重要意义:可以很容易地实现信息系统之间的互联互通,可以有效地解决当前的信息孤岛问题。当前之所以存在严重的信息孤岛问题,根本原因就在于各个信息系统中的数据不具完整性,数据与数据库系统、表结构、应用系统的“关系”密不可分。关系数据库的数据不具完整性,这是因为关系数据库中的数据离不开表的结构,离开了表结构,数据就失真,而带表结构进行交换时,接收数据的关系数据库中往往没有结构完全相同的表结构而不认识所接收到的数据。“事物信息表”中的数据本身就是完整的、自带结构的。
独立数据库提倡用自然语言,尽量避免用代码。为了实现数据的完整性,要尽量少用、甚至不用代码。因为代码会使数据变得难以理解,会使数据与应用程序的耦合度增高,使数据失去完整性。传统的数据库系统设计者爱使用代码,这样做的结果就使数据库系统中的数据与应用程序密不可分,需要由专用的应用程序才能正确解读数据的真实含义。这也是产生信息孤岛的一个重要原因。
要成为互联互通的结构化数据必须满足两个条件:1、数据必须能够存贮到接收数据方的数据库中(然而要使数据存贮到数据接收方的数据库中的前提是对方的数据库中有相同的数据结构表,然而目前的信息系统都不可能做到这一点);2、数据必须能够让数据接收方的信息系统识别、处理(当前的各种信息系统都不能做到这一点)。
要使数据能够存贮到数据接收方的数据库中,就必须使数据的数据结构与数据的接收方的数据结构完全相同,否则就不可能把数据存贮到数据的接收方的数据库中。然而,当前的各种信息系统基本上都是利用关系数据库理论而建立的,各个信息系统的数据结构基本上都是完全不相同的,有相同的数据结构是非常偶然的。正因如此,各个信息系统中的数据基本上都不可能直接发送到其它的信息系统并存贮到相应的数据库中,这也就是当前的信息系统产生信息孤岛的根本原因。
关系数据库只考虑如何处理自己的数据,从不考虑如何处理来自其它系统的数据,也不考虑如何让其它系统处理。独立数据库的核心则是“不但要识别处理自己的数据,也要考虑如何让大家都可以识别处理”。
独立数据库是一门全新的数据库理论,完全不同于当前的关系数据库理论。
关系数据库的最大问题就是只能处理自己的数据,不能有效地实现数据在各个信息系统之间的互联互通。利用关系数据库理论设计各种信息系统时肯定要采用多种结构各不相同的表来存贮各种数据。然而利用独立数据库设计各种信息系统时,存贮任何结构化数据都全部采用标准的、统一的、固定不变的“事物信息表”,这样做的目的是为了使数据可以在各信息系统之间互联互通。
独立数据库所要解决的主要技术问题是:1、数据在各信息系统之间的互联互通。
独立数据库解决技术问题的方案是:1、“用一张或若干张结构完全相同的事物信息表存贮各种各样的数据”;2、要求数据库中的数据必须满足“数据的完整性”。
独立数据库所产生的效果是:用独立数据库设计的各种信息系统时,这些信息系统全部采用“事物信息表”存贮数据,不存在异构数据问题,在技术上不存在信息孤岛问题,实现数据的互联互通、共享交换、数据挖掘非常容易。
独立数据库与关系数据库的对比
|
对比的内容 |
关系数据库 |
医学信息的结构化存贮方法 |
1 |
存贮数据时所用的表 |
横向的表 |
纵向的表 |
2 |
存贮不同的数据时所用表的结构 |
多张结构不相同的表 |
全部采用事物信息表这一种结构表 |
3 |
数据冗余 |
考虑数据冗余,数据冗余小 |
不考虑数据冗余问题,以适当的数据冗余而换取智能、使用方便,使数据满足“数据的完整性”。 |
4 |
使用代码的情况 |
大量使用代码 |
极力反对使用代码 |
5 |
数据的关系 |
与表结构、与信息系统、与其它表密切相关。 |
极力反对“关系”,提倡数据与数据之间、数据与数据库之间、数据与应用程序之间尽量独立、没关系。因为关系是产生信息孤岛的主要原因。 |
6 |
是否允许设计人员随意设计数据结构 |
完全由设计人员随意设计数据的结构 |
不允许技术人员随意设计数据的结构,存贮任何数据都必须采用统一的、标准的事物信息表 |
7 |
数据的互联互通 |
实现互联互通非常困难 |
非常容易 |
8 |
在互联互通时是否需要转换数据的结构 |
需要 |
不需要,因为在用独立数据库所设计的信息系统的所有数据的结构都是相同的 |
9 |
是否要求数据满足“数据的完整性” |
未要求 |
要求数据必须满足“数据的完整性” |
10 |
软件开发模式 |
后ETL模式 |
先ETL模式、以标准化为基础的软件开发模式 |
11 |
关注的重点 |
以用户的功能需求为中心 |
以数据的互联互通中心 |
独立数据库以两项发明专利技术“医学信息的结构化存贮方法”及“结构化大数据通信协议”为基础。独立数据库非常简单:只有一张万能数据结构表,关键在于数据优化技术。
关系数据库以“横向”的N个字段存贮一个事物的信息:
ID |
姓名 |
性别 |
所龄 |
体重 |
身高 |
1 |
张三 |
男 |
56 |
72 |
180 |
“独立数据库”以“纵向”的N(或N+X)条记录存贮一个事物的信息:
ID |
事物代号 |
事物属性 |
事物属性值 |
超长属性值 |
单位 |
附件 |
时间 |
1201 |
280 |
事物分类 |
人事管理系统 |
|
|
|
|
1202 |
280 |
事物分类 |
员工身高体重 |
|
|
|
|
1203 |
280 |
姓名 |
张三 |
|
|
|
|
1204 |
280 |
性别 |
男 |
|
|
|
|
1205 |
280 |
年龄 |
56 |
|
岁 |
|
|
1206 |
280 |
体重 |
72 |
|
KG |
|
|
1207 |
280 |
身高 |
180 |
|
CM |
|
|
1208 |
280 |
身份证号 |
410305XXXXX |
|
|
|
|
1231 |
32 |
病案号 |
199108-2-215 |
|
|
|
|
1232 |
32 |
身份证号 |
XXXXXXXXXXXX |
|
|
|
|
1233 |
32 |
事物分类 |
住院病历 |
|
|
|
|
1234 |
32 |
事物分类 |
现病历 |
|
|
|
|
1235 |
32 |
事物分类 |
症状详情 |
|
|
|
|
1236 |
32 |
症状 |
腹痛 |
|
|
|
|
1237 |
32 |
开始时间 |
1991-8-16 |
|
|
|
|
用上表的形式的万能数据结构表所建立的数据库即可称作是“独立数据库”,独立数据库系统中只有一张表,或若干张结构完全一样的表。
独立数据库适用于处理各行各业的结构化大数据。
由于开发全新的“独立数据库”需要的投资非常大,目前可在关系数据库中实现“独立数据库”,只要在关系数据库中建立一张,或若干张结构完全一样的“万能数据结构表”即可。
“独立数据库”所关心的重点是不数据处理,而是“数据”及“数据结构”的优化,因为采用最优的“数据”和“数据结构”之后,数据处理就会变得非常简单。
用关系数据库之所以无法解决信息孤岛,难以实现数据共享及互联互通,关键在于关系数据库中的“数据”和“数据结构”有问题,关系数据库中的数据都是失真数据,关系数据库所用的“数据结构”是一种非常低效的“数据结构”、非常不合格的“数据结构”。
“大数据的最关键技术是查询技术”:谷歌实现的是非结构化大数据的查询,独立数据库所实现的是结构化大数据的查询。大数据的特点是大,正因为大,要想获得所需数据特别困难,因此,从大数据中查询到所需要的数据就是最关键的,然后才是对查询到的数据的分析、统计。因此,可以说“大数据的最关键的技术就是查询技术”,大数据的前期工作是为查询做准备,大数据的后期工作是对查询到数据进行统计、分析,大数据的各种工作都是以查询为中心而开展。
独立数据库是纯粹的“数据优化技术”。独立数据库只用一张,或若干张结构完全一样的“万能数据结构表”即可存贮各行各业的各种结构化数据,“万能数据结构表”从根本上解决了“异构数据”、大数据的“数据类型多样性”问题。用独立数据库所建立的信息系统不存在“异构数据”问题,也不存在信息孤岛问题,实现互联互通非常容易。
独立数据库不是通过复杂的技术、程序来实现结构化大数据的高效处理,而是通过对“数据”及“数据结构”的优化而大幅度提高结构化数据的处理性能、灵活性。利用独立数据库,只要用现有技术即可非常高效地处理各行各业的结构化大数据。
独立数据库的数据优化技术类似于商业智能、ETL,然而商业智能、ETL是治病,独立数据库是避免疾病产生。
“万能数据结构表”的数据结构与关系数据库中的表的数据结构有本质的区别。目前可采用关系数据库系统ORACAL 、DB2、SQLSERVER、Access等来实现“万能数据结构表”。
“万能数据结构表”在SQL SERVER中的结构形式:
列名 |
数据类型 |
Id |
bigint |
事物代号 |
bigint |
事物属性 |
nvarchar |
事物属性值 |
Nvarchar |
超长属性值 |
Ntext |
单位 |
Nvarchar |
附件 |
Image |
时间 |
Datatime |
“万能数据结构表”中各字段的含义:
1. “id”为每个记录的ID。
2. “事物代号”为各事物的代号,每个事物拥有唯一的“事物代号”。关系数据库中的一个完整的数据是记录,“医学信息的结构化存贮方法”中一个完整的数据是“事物”,一个“事物”的信息由若干条拥有相同“事物代号”的记录组成。
3. “事物属性”的含义为事物的特征。
4. “事物属性值”的含义为事物的特征值。
5. “超长属性值”的含义也是事物属性值,用来存放超过“事物属性值”字段的长度的字符型数据。
6. “单位”字段代表事物属性值的单位(次、米、吨等)。
7. “附件”字段:用来存放图象、附件等信息量比较大的、不适合转换为字符型数据的数据。
8. “时间”字段:该字段为每一个事物的特征写入数据库时的时间,一般可由系统自动可生成。
“万能数据结构表”的规定:
1. 数据结构必须统一化、标准化,不能作任何改变。这是确保信息系统互联互通的基础。
2. 同一张表中的同一事物拥有一个唯一的事物代号,不同的事物不能拥有相同的事物代号,不同的事物代号代表不同的事物。
3. 数据的独立性、数据的完整性、数据的可识别性:医学信息的结构化存贮方法要求数据与数据库系统及相应的应用程序的耦合度为零。要实现数据与数据库系统及相应的应用程序的耦合度为零,就必须完全让数据自己表达出应有的含义。这是实现互联互通的最重要的基础。
在关系数据库中实现“万能数据结构表”时,只要用“id、事物代号、事物属性、事物属性值、超长属性值、单位、附件、时间”8个字段的表就可以存贮各种各样的数据,对“事物代号、事物属性、事物属性值”字段建立索引以便查询。当关系数据库中的数据转换到“万能数据结构表”中时,“万能数据结构表”把关系数据库表中的一条记录当作一个事物,并为该事物分配一个唯一的事物代号,关系数据库表的字段名转换为“万能数据结构表”所用的表中的“事物属性”,相应字段中的数据则转换为“事物属性值”,超过“事物属性值”字段长度的数据则存放在“超长属性值”字段中,图片、附件等信息量比较大的信息、不适合转换为字符型数据的数据则存放在“附件”字段中。
一个事物的数据:在关系数据库中一个事物的信息用一条记录来表示,在“万能数据结构表”中“一个事物的数据”用多条记录来表示,拥有相同的“事物代号”的记录都是同“一个事物的数据”。
当前之所以存在着严重的信息孤岛,互联互通困难,数据挖掘困难,一个很重要的原因就是“数据类型多(Variety)”。
结构化数据类型多的根本原因在于关系数据库,关系数据库是结构化数据类型多的发源地。
万能数据结构表巧妙地解决了“数据类型多(Variety)”的问题。从而使各种各样的结构化数据都可以采用同一种数据结构来存贮。解决了“数据类型多(Variety)”的问题,信息孤岛问题、互联互通问题、数据挖掘难的问题也就随着得到有效解决。
一张万能数据结构表可以存贮各种关系数据库中各种各样的表中的任何数据,下面用一个比较简单的方法来证明。
下面的表是关系数据库中的表:
下面用一种简单的形式来证明如何把上面的各个表中的内容转换到万能数据结构表中。把上表逐一向上移,让上表变成如下形式:
然后再将上表逆时针转90度,则成下表形式:
仔细观察下表,就会发现下表的数据结构全是相同的! 都只有两列。
上面的方法可以非常简单地证明关系数据库中的各种数据都可以转换成相同的数据结构。然后用发明专利技术“医学信息的结构化存贮方法”就可以把上面的数据全部存贮入“万能数据结构表”中。
如果你感觉那张表中的数据不能存贮到万能数据结构表中,那么,你只要把表反时针转90度,只看原来的“表头及第一行数据”就会发现,这张表是可以转换到万能数据结构表中的。
上面的方法证明了“万能数据结构表”可以存贮关系数据库中的各种数据,所以是万能的。
关系数据库以“关系”而自豪,然而独立数据库的一项非常重要的任务就是彻底根除“关系”,因为关系是信息孤岛的根源。独立数据库则是要求任何一条数据都必须独立地、完整地表达出相应的含义。
对于大数据环境下的数据挖掘而言,例如对全国各级政府部门的数十万个信息系统中的数据挖掘、对全国97.8万家医疗机构的数据挖掘,如果各个系统中大量使用代码,那么就需要编写数量非常庞大的程序才能解读其中的数据。据统计,数据挖掘前的ETL的工程量是整个数据挖掘工程量的50%左右。采用代码可以减少存贮空间,然而代码也为数据挖掘和数据交换带来了非常严重的问题。独立数据库之所以大力提倡用标准的自然语言,极力反对使用代码,目的就是为了在数据交换、数据挖掘时大幅度降低编写程序的量。例如,程序员在设计信息系统时习惯用代码来表达数据,有的用“1”代表男性,用“0”代表女生,而另一些人则用“M”代表男性,用“W”代表女性。在医院信息系统中,各个信息系统可由应用程序来解读各个代码,然而,在医疗大数据挖掘中,这种不规范、不标准、不统一的代码带给数据挖掘人员的将是灾难!因为医疗大数据挖掘人员所面临的是全国数十万家医院的数百万个信息系统。若要对数百万个信息系统的数据中的代码进行分析、转换,将是一项工程量非常巨大的工程。因此,对大数据而言,尽量不要在数据库中采用代码。
关系数据库理论非常强调减少数据冗余,而独立数据库则反其道其行,目的是数据让可以在各个信息系统之间互联互通,也为了提高大数据环境下的数据挖掘效率,因此独立数据库要求无论花费多高的代价,都必须优先满足“数据的完整性”。在一般情况,采用独立数据库所设计的信息系统中的数据所占用的存贮空间会比采用关系数据库理论所设计的信息系统多一倍左右。上世纪80年代初期,硬盘容量为10M,因此软件设计人员特别注重数据冗余,而目前的硬盘容量比原来提高了10万倍以上,因此多占用一倍左右的存贮空间的代价很低。对独立数据库而言,“数据的完整性”优先于“数据冗余”,为了“数据的完整性”可以不考虑“数据冗余”。因此,独立数据库用如下所示的表26的事物信息表来表达“对比文件4中的表3”中的数据,而“对文件4”需要用“表2+表3”两张结构完全不相同的表才能完整地表达一个事物的数据。由此可见,“对比文件4中的表3”与独立数据库具有本质的差异。
关系数据库引以自豪的是关系,然而独立数据库认为“关系”才是产生信息孤岛的根本原因,因此,独立数据库不惜一切代价而使数据不依赖数据库系统、不依赖应用程序、不依赖表与表之间的关系而独立地、完整地表达出相应的含义。
关系数据库是用各种关系来表达各种事物间的关系。正如关系数据库名中的“关系”的含义:关系数据库中的数据与关系数据库系统、表结构以及相应的应用程序密不可分,一旦分开,关系数据库中的数据将会变成无意义的数据,然而,正是这种“关系”而导致关系数据库必然产生“信息孤岛”。“事物信息表”中的数据与数据库系统及应用程序无关,可以完全脱离数据库系统及应用程序而独立地存在,这是医学信息的结构化存贮方法非常突出的特点。正因为关系数据库中的数据与关系数据库系统、表结构及应用程序密不可分,所以当进行数据交换时,数据到了另一个环境中就变成了失真的数据,这也是关系数据难以实现互联互通、易产生信息孤岛的根本原因。
“事物信息表”中的数据与“数据库系统及应用程序”无“关系”,可以完全脱离数据库系统及应用程序而独立存在,所以用独立数据库所建立的信息系统实现互联互通非常容易,因为它的数据无论发送到什么地方,都能独立地、准确地、完整地表达出原有的含义。
利用独立数据库所设计的各种信息系统之间之所以可以实现数据的互联互通,是因为利用独立数据库所设计的各种信息系统全部采用事物信息表,这些信息系统的数据结构都是相同的。