【软考 高级 系统分析师】第四章 数据库基础
一、数据库系统的结构
1.1、从数据库应用开发人员的角度看:数据库采用三级模式结构,是数据库系统的内部的系统结构;
从数据库最终用户角度看:
(1)单用户结构
(2)主从结构
(3)分布式结构
(4)客户-服务器结构
(5)浏览器-应用服务器/数据库服务器
1.2、三级模式结构
(1)概念模式:概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有—个概念模式。
(2)外模式:外模式(子模式、 用户模式)用以描述用户看到或使用的哪部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。
(3)内模式:内模式定义的是存储记录的类型、 存储域的表示以及存储记录的物理顺序,指引元、索引和存储路径等数据的存储组织。一个数据库只有一个内模式。
1.3、三级模式形成两级映像,体现了两级独立性:
(1)逻辑独立性:当模式改变时(例扣增加新的关系,新的屈性,改变屈性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应的改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
(2)物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做响应的改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。
1.4、真题
1.4.1、在数据库系统中,视图是一个()。
A. 真实存在的表,并保存了待查询的数据
B. 真实存在的表,只有部分数据来源于基本表
C. 虚拟表,查询时只能从一个基本表中导出
D. 虚拟表,查询时可以从一个或者多个基本表或视图中导出
1.4.2、采用三级模式结构的数据库系统中,如果对数据库中的表Emp创建聚簇索引,那么改变的是数据库的()。
A. 模式 B. 内模式 C. 外模式 D. 用户模式
二、数据模型
2.1、数据模型主要有两大类,分别是概念数据模型(实体一联系模型)和基本数据模型(结构数据模型)。
(1)概念数据模型是按照用户的观点来对数据和信息建模,主要用于数据库设计。概念模型主要用实体—联系方法 (Entity-Relationship Approach) 表示,所以也称 E-R模型。
(2)基本数据模型是按照计算机系统的观点来对数据和信息建模,主要用于BMS的实现。基本数据模型是数据库系统的核心和基础。常用的基本数据模型有层次模型、网状模型、关系模型和面向对象模型。
2.2、基本数据模型:数据结构(静态)、数据操作(动态)、数据的约束条件。
(1)数据的约束条件:实体完整性。实体完整性是指实体的主属性不能取空值。
(2)数据的约束条件:参照完整性。在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。
(3)数据的约束条件:用户定义完整性。用户定义完整性反映的某—个具体应用所对应的数据必须满足—定的约束条件。
三、关系型数据库
3.1、概念
(1)关系:可以理解为—张二维表,每个关系都具有—个关系名,就是通常说的表名。
(2)元组:可以理解为二维表中的一行,在数据库中经常被称为记录。
(3)属性:可以理解为二维表中的一列,在数据库中经常被称为字段。
(4)域:属性的取值范围,也就是数据库中某一列的取值限制。
(5)关键字:一组可以唯一标识元组的属性,数据库中常称为主键,由—个或多个列组成。
(6)关系模式:指对关系的描述。其格式为:关系名(属性1,属性2,……,属性N),在数据库中成为表结构。
3.2、例:某学校拟开发一个学校教务的数据库,涉及的对象有:学生的学号 (Sno) 、 所在系 (Sdept) 、 系主任姓名 (Mname) 、 课程号(Cno)和成绩(Grade)。
说明:
(1)—个系有若干学生,但一个学生只属于—个系;
(2)一个系只有一名班主任;
(3)一个学生可以选修多门课程,每门课程有若干学生选修;
(4)每个学生所学的每门课程都有—个成绩。
关系模式:Student (Sno, Sdept, Mname, Cno, Grade)
四、关系代数
4.1、集合运算符
(1)∪:并:关系R与S的并是由属于R或属于S的元组构成的集合。
(2)-:差:关系R与S的差是由属于R但不属于S的元组构成的集合。
(3)∩:交:关系R与S的交是由属于R同时又属于S的元组构成的集合。
(4)×:笛卡尔积:两个元组分别为n目和m目的关系R和S的笛卡尔积是—个 (n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的的一个元组。
4.2、专门的关系运算符
(1)σ:选择:取得关系R中符合条件的行。
(2)π:投影:取得关系R中符合条件的列。
(3):连接:等值连接:关系R、S,取两者笛卡尔积中属性值相等的元组。自然连接:一种特殊的等值连接,它要求比较的属性列必须是相同的属性组,并且把结果中重复属性去掉。注意与笛卡尔积的区别。