三级模式
三级模式
一、三级模式结构
数据库系统的三级模式结构是指模式、外模式和内模式。
1、模式
模式也称为逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式位于三级结构的中间层。
2、外模式
外模式也称为用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。
3、内模式
内模式也称为存储模式,一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
二、三级模式之间的映射
数据库管理系统在三级模式之间提供了两层映射,分别为外模式/模式映射、模式/内模式映射。
1、外模式/模式映射
对于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映射**。当模式被改变时,数据库管理员对各个外模式/模式映射做相应的改变,可以使外模式保持不变。这样,依据数据外模式编写的应用程序就不用修改,保证了数据与程序的逻辑独立性。**
2、模式/内模式
数据库中只有一个模式和一个内模式,所以模式/内模式的映射是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构被改变时,数据库管理员对模式/内模式映射做相应的改变,可以使模式保持不变,应用程序相应地也不做变动。这样,保证了数据与程序的物理独立性。
DBS,DBMS,DB之间的关系
DB:DataBase, 也就是数据库。数据库是存储数据的集合,可以理解为多个数据表。
DBS:DataBase System,也就是数据库系统。它是更大的概念,包括数据库、数据库管理系统以及数据库管理人员 DBA。
DBMS:DataBase Management System,也就是数据库管理系统,它可以对多个数据库进行管理,可以理解为 DBMS = 多个数据库(DB) + 管理程序。
基本表和视图以及两者之间的联系
基本表是本身独立存在的表,在SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不存在独立存储在数据库中, 是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放在导出视图的基本表中。视图在概念上基本与表等同。视图在概念上与基本表等同,用户可以在基本表那样使用视图,可以在视图上再定义视图。
关系代数中的关系运算
并相容性
参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性
某些关系代数操作,如并、差、交等,需满足“并相容性"
具体定义如下
关系R和关系S的属性数目必须相同
对于任意i,关系R的第i个属性的域必须和关系S的第i个属性的域相同
即R(A1, A2, … , An),S(B1, B2, … ,Bm) ,R和S满足并相容性:n = m && Domain(Ai) = Domain(Bi)
三大完整性
1.实体完整性:在创建表的时候用PRIMARY KEY定义,在单属性码时可以列级约束,但在多熟悉码时要用表级约束
2.参照完整性:用FOREIGN KEY定义
3.用户自定义的完整性:
属性上的约束条件:
列值非空(NOT NULL)
列值唯一(UNIQUE)
检查是否满足条件(CHECK 短语)