程序原本(三十五):程序设计的核心思想——数据结构:顺序存储(关系型数据库与顺序表)

阅读数:41 2019 年 9 月 28 日 18:22

程序原本(三十五):程序设计的核心思想——数据结构:顺序存储(关系型数据库与顺序表)

上述的“全部可能性”事实上还应当包括一种泛义的数组,亦即是元素的类型为某种结构体的数组。在数据结构上,它通常被称为顺序表(sequential list,或 list)

设数组A的每一个元素的数据类型为T,基于此前的讨论,元素(结构体)A[n]必然有一个确定的长度值Size(T)。由此,数组的长度——顺序表中的记录数RecordCount——决定了整个数据所占用的连续空间的大小:

复制代码
RecordCount * Size(T)

在该连续空间中,可以通过数组下标——顺序表中的记录号RecordNo——来访问任意元素,它的地址也是确定的:

复制代码
RecordNo * Size(T)

其中RecordNo的取值空间为一个序列值[0...RecordCount-1]

顺序表具有边界判断简单、能快速存取指定位置的特点,到目前为止仍然是关系型数据库的最基本的、最佳的实现方案。关系型数据库中的表格(table)与顺序表在抽象含义上是相同的:每行——每笔记录——的字段列即是数组元素的结构类型定义,行号(RowId)即数组元素的索引下标。因些,结构化查询语言(SQL)中的一行代码:

复制代码
select * from A where RowId = 5

与将A作为数组来存取的时候所采用的操作:

复制代码
A[5]

是完全等义的。

评论

发布