数据库系统原理-读书笔记:数据模型 完整性约束 三级模式与两级映像
数据模型:
目前常用的数据模型有层次模型,网状模型和关系模型。其中层次模型和网状模型统称为非关系模型,现已逐渐被关系模型取代。
关系数据模型的操纵与完整性约束:
关系数据模型的操纵主要包括查询、插入、删除和更新数据,这些操作必须遵循三大完整性约束,分别为:
参照完整性:要求关系中不允许引用不存在的实体
用户自定义完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足语义的要求。
实体完整性:要求每一个表中的主键字段都不能为空或者重复的值。
三级模式与两级映像:
三级模式为:外模式、模式、内模式,如图所示:
模式:模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,实际上模式是数据库数据在逻辑上的视图。一个数据库只有一个模式。
外模式:也称为子模式或用户模式,是模式的子集,一个数据库可以有多个外模式。由于各个用户存在不同应用需求,对数据保密的要求存在差异,所以他们的外模式就是不同的。另一方面,一个外模式可以为多个应用程序所使用,但一个应用程序只有一个外模式。
内模式:内模式也成为存储模式,它是数据物理结构和存储结构的描述,是在数据库内部的表达方式。
两级映像:外模式/模式映像、模式/内模式映像
两级映像的结构能使数据库中的数据有较高的逻辑独立性和物理独立性。
逻辑独立性:当模式改变时(例如,增加新的数据类型、新的数据项、新的关系等),由数据库管理员对各个外模式/模式映像做出改变,可以使外模式保持不变、从而应用程序不必修改,保证了数据的逻辑独立性。
物理独立性:当数据库的存储结构改变了(例如,采用了更先进的存储结构),有数据库管理员对模式/内模式做出改变,可以使
模式不变,从而保证数据的物理独立性。