|
|
51CTO旗下网站
|
|
移动端

2.1.4 模式、映射和实例

《数据库系统:设计、实现与原理(基础篇)(原书第6版)》第2章数据库环境,本章的许多材料有关DBMS的重要背景信息。然而,对数据库系统领域不熟的读者可能会发现有一些材料在初次阅读时很难理解。不用太纠结,阅读了本书的大部分章节后可重读本章的这些内容。本节为大家介绍模式、映射和实例。

作者:宁洪/贾丽丽/张元昭 译来源:机械工业出版社|2017-09-27 15:24

【51CTO技术沙龙】10月27日,让我们共同探索AI场景化应用实现之道

2.1.4 模式、映射和实例

对数据库的整体描述称为数据库模式。在数据库中存在三种不同类型的模式,这三类模式正是根据图2-1所描述的三层结构所示的三个抽象层次来定义的。在最高层,有若干外部模式(也称为子模式),与不同的数据视图相对应。在概念层,有概念模式,它描述所有的实体、属性和联系及其上的完整性约束。在抽象的最低层,有内部模式,是内部模型的完整描述,包括存储记录的定义、表示方法、数据域,必要时还有所使用的索引和散列方案。一个数据库只有一个概念模式和一个内部模式。

DBMS负责这三类模式之间的映射。它必须检查模式以确保一致性,换句话说,DBMS必须检查每个外部模式能否由概念模式导出,并使用概念模式中的信息,完成内、外模式的映射。概念模式通过概念层到内部层的映射与内部模式相联系。这样,DBMS就能在物理存储中找出构成概念模式中逻辑记录的实际记录或记录集,以及对逻辑记录进行操作过程中应遵守的约束。一般允许两类模式在实体名称、属性名称、属性顺序、数据类型等方面存在不同。最后,每一个外部模式通过外部层到概念层的映射与概念模式相联系。这就允许DBMS将用户视图中的名称映射到概念模式中相应的部分。

图2-2给出了一个不同层的例子。存在两个不同的关于员工详细信息的外部视图:一个包含员工编号(sNo)、名字(fName)、姓氏(lName)、年龄(age)和工资(salary);另外一个包含员工编号(staffNo)、姓氏(lName),以及这个员工所工作的部门编号(branchNo)。这些外部视图归并为一个概念视图。此归并的主要不同之处是将age字段改为DOB(出生日期)字段。DBMS维护外部层到概念层映射。例如,它将第一个外部视图中的sNo字段映射成概念层记录中的staffNo字段。概念层则被映射到内部层,在内部层中包含对于概念记录结构的一个物理描述。在这一层,可看到一个用高级语言定义的结构。这个结构包含一个指针—next,员工记录靠这个指针在物理上连接成一条链。注意,在内部层,数据域的顺序与概念层不同。而且,DBMS还要维护概念层到内部层的映射。

区分数据库的描述和数据库本身是很重要的。数据库的描述是数据库模式。这个模式是在数据库设计过程中指定的,并且不会经常改变。然而,数据库中的实际数据可以经常改变。例如,每次插入一个新员工或者一个新的房产信息时,它都会发生改变。在任一时间点上,数据库中的数据构成一个数据库实例。因此,许多数据库实例可以与相同的数据库模式相对应。模式有时候称为数据库的内含,而实例称为数据库的外延(或者状态)。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网管员必读——网络组建(第2版)

《网管员必读——网络组建(第2版)》仍是以一个中等规模的模拟局域网组建为思路,较全面地介绍了与局域网组建相关的各方面知识和组建、配...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊