大型数据银行的未来一定是用户无需了解数据在机器中的组织方式(即内部表示)的。当数据的内部表示发生变化时,甚至当外部表示的某些方面发生变化时,终端用户的活动和大多数应用程序应保持不受影响。
现有的非推理型格式化数据系统为用户提供了树状结构文件或稍广义的网络数据模型。第一部分将讨论这些模型的不足之处,并引入基于n元关系(n-ary relations)的模型、数据库关系的范式(normal form)以及通用数据子语言(universal data sublanguage)的概念。第二部分将讨论关系上的特定操作(除逻辑推理外),并将其应用于解决用户模型中的冗余和一致性问题。
1 Relational Model and Normal Form
1.1 介绍
本文探讨了初等关系理论在共享访问大型格式化数据库系统中的应用。
相比之下,本文探讨的是数据独立性问题——即应用程序和终端活动不受数据类型扩展和数据表示形式变更的影响,以及某些在非演绎(nondeductive )系统中也可能引发问题的数据不一致性。
演绎系统的推理方向是从一般到个别,非演绎系统是从个别到一般或个别到个别。 在人工智能、法律论证等领域,非演绎系统处理模糊性、不完全信息的问题,弥补了纯演绎系统的局限性。
第1节中描述的数据关系视图(或模型)在多个方面优于当前非演绎系统中流行的图模型或网状模型。它仅通过数据的自然结构来描述数据——即无需为机器表示去叠加任何额外结构。因此,它为高级数据语言提供了基础,这种语言能实现程序与数据的机器表示及组织之间的最大独立性。
关系模型的另一优势在于,它为处理关系的可推导性、冗余性和一致性提供了可靠基础(这些将在第2节讨论)。而网络模型则引发了许多混淆,其中最严重的是将连接的推导误认为关系的推导(参见第2节关于’连接陷阱’的论述)。
最后,关系模型视角使得我们能够更清晰地评估当前格式化数据系统的范围与逻辑局限性,同时也能从逻辑角度评估同一系统内不同数据表示方式的相对优劣。本文多处引用了体现这一清晰视角的实例。但支持关系模型的系统实现不在讨论范围内。
1.2 现有系统中的数据依赖性
在最新开发的信息系统中,数据描述表的引入是实现数据独立性目标的重要进展。这类表格使得修改数据银行中存储的数据表示特性成为可能。然而,能在不影响应用程序逻辑的情况下修改的数据表示特性种类仍然相当有限。此外,用户交互的数据模型仍混杂着过多表示性属性,特别是在数据集合(而非单个数据项)的表示层面。目前仍需消除的三大主要数据依赖性包括:顺序依赖性、索引依赖性和访问路径依赖性。在某些系统中,这些依赖性彼此交织难以明确区分。
1.2.1 顺序依赖性
数据银行中的数据元素可采用多种存储方式:有些无需考虑顺序,有些仅允许元素参与单一排序,还有些允许多重排序。现考察那些要求或允许数据元素至少按一种全序存储的现有系统,该排序与硬件决定的地址顺序紧密关联。例如,零件文件的记录可能按零件序列号升序存储。此类系统通常允许应用程序假设从该文件提取的记录顺序与存储顺序相同(或是其子序)。若因故需改用其他排序方式,那些依赖文件存储顺序的应用程序很可能运行异常。此结论同样适用于通过指针实现的存储顺序。
零件文件(PART file)是记录机械零件几何属性、材料参数、精度要求等特征的结构化文档。
无需特指任何系统作为例子,因为当今市场上所有知名的信息系统都未能明确区分数据呈现顺序与存储顺序。要实现这种独立性,必须解决重大的实现难题。
1.2.2 索引依赖性
本文发表于 0001-01-01,最后修改于 0001-01-01。
本站永久域名「 jiavvc.top 」,也可搜索「 极客油画 」找到我。

