|||
1 主键必须是非空而且不能重复的,但外键无此要求。外键允许有重复值,而且有时外键可以为空。
2 数据库系统的三级模式结构包括:
(1)外模式[也称用户模式或子模式]: 是最接近用户的,也就是用户所看到的数据视图,描述的是数据的局部逻辑结构,对于每个外模式,数据库系统都有一个”外模式/模式映像”,它定义了该外模式和模式之间的对应关系。这些映像定义通常包含在各自的外模式描述中。
(2)内模式: 是最接近物理存储的,也就是数据的物理存储方式。
(3)模式: 是介于内模式和外模式之间的中间层次,描述的是数据的全局逻辑结构,是数据库的中心与关键,它独立于数据库的其他层次。设计数据库时,也是首先设计数据库的逻辑模式。对于同一个模式,可以有任意多个外模式。
3 数据库系统的二级模式映像功能包括:
(1):外模式/模式映像, 当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),可由数据库管理员用”外模式/模式”定义语句,调整外模式/模式映像定义,从而保持外模式不变。由于应用程序是依据数据的外模式编写的,因此应用程序也不必修改,保证了数据与程序的逻辑独立性,简称为数据的逻辑独立性。
(2):模式/内模式映像,定义了数据库的逻辑结构与存储结构之间的对应关系,该映像通常包含在模式描述中。当数据库的存储结构改变了,比如选择了另一种存储结构,只需要对”模式/内模式映像”做相应的修改,就可以保持模式不变,从而应用程序也不必改变。因此,保证了数据与程序的物理独立性,简称数据的物理独立性。
正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性,使数据库应用程序不随数据库数据的逻辑或存储结构的变动而变动。
4 了解了二级模式映像功能,就可以知道数据库管理系统是如何实现数据访问的。例如:应用程序从数据库中读取数据的步骤如下:
1)应用程序向数据库管理系统发出读数据的指令。
2)数据库管理系统对该命令进行语法与语义检查,并调用该应用程序对应的外模式,检查该应用程序对将要读取的数据拥有什么样的存取权限,决定是否执行该命令,如果拒绝执行,就返回错误信息。
3)在决定执行该命令后,数据库管理系统调用模式,根据外模式/模式映像,确定应该读取模式中的哪些数据记录。
4)数据库管理系统调用内模式,根据模式/内模式映像,确定应该从哪些文件、采用什么样的存取方法、读取哪些物理记录。
5)数据库管理系统向操作系统发出读取物理记录的指令。
6)操作系统执行读取物理记录的有关操作,将物理记录送至缓冲区。
7)数据库管理系统根据子模式/模式映像,给出应用程序所要求读取的数据记录格式,返回给应用程序。
5 关系模式的设计是关系数据库设计的核心,关系模式的设计直接决定着关系数据库的性能。目前,在指导关系模式的设计中,规范化设计占主导地位,它是在数据库几十年的长期发展中产生并成熟起来的。规范化将导致满足某些特定规则并代表某些范式的表的形成。范式用于确保数据库中不存在各种类型的异常和不一致。表结构总是属于某个特定的范式。已经定义了一些范式,其中最重要的、最常用的范式有:
◎第一范式(1NF): 当表中的每个单元含且仅含一个值时,这个表叫做第一范式
◎第二范式(2NF): 当一个表是1NF且一行中的每个属性都依赖于整个关键字时(不仅仅是关键字的一部分)时,该表就可以称为第二范式。
◎第三范式(3NF): 当一个关系是2NF,且其中的每个非关键字属性仅函数依赖于主关键字时,这样的关系称为3NF.
◎Boyee-Codd范式(BCNF)
3NF的原始定义在某些情况下是不充分的,它无法满足下列情况:
①表中有多个候选关键字。
②表中的多个候选关键字时复合的。
③表中的多个候选关键字是重合的(至少有一个共同属性)。
因此,一种新的范式--Boyee-Codd范式产生了。注意,对于不符合上面3个条件的表,可以在第三范式上停止规范化。
当且仅当每个决定因子都是候选关键字时,关系属于Boyee-Codd范式。
其中,第一、第二和第三范式是由Dr.E.F.Codd最先定义的。以后,Boyee和Codd提出了另一范式,称为Boyee-Codd范式。
还有4NF和5NF,但不常用到。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 10:39
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社