数据库系统核心知识点梳理

一、 数据库系统基础

1.数据库管理系统 (DBMS)

定义:DBMS是一种在操作系统支持下运行的系统软件(非操作系统的一部分,也非编译系统)。

核心地位:数据库系统 (DBS) 的核心是 DBMS。

功能:DBMS负责科学地组织和存储数据、高效地获取和维护数据。

根本目标:数据库技术的根本目标是解决数据的共享问题。

2.数据库系统 (DBS) 的组成

数据库系统由数据库(DB)、数据库管理系统(DBMS)、应用程序、数据库管理员(DBA) 和用户组成。

正确描述:数据库系统由数据库应用系统、数据库和数据库管理系统组成。

3.数据管理技术的发展阶段

人工管理阶段:无专门软件管理,数据不保存,不共享,冗余度极大。

文件系统阶段:由文件系统管理数据,数据可长期保存,但共享性差,冗余度大,独立性差。

数据库系统阶段:由DBMS统一管理数据,实现了数据的共享性高、冗余度小、独立性高,并对数据进行了统一管理和控制。

总结:数据共享性最好、冗余度最小、独立性最高的是数据库系统阶段。人工管理阶段没有专门的软件对数据进行管理。

4.数据库的基本特点

数据结构化:是数据库与文件系统的根本区别。

数据的共享性高,冗余度低,易扩充。

数据独立性高(包括物理独立性和逻辑独立性)。

数据由DBMS统一管理和控制(安全性、完整性、并发控制、故障恢复)。

5.数据独立性

定义:应用程序与数据之间相互独立,不受影响。

逻辑独立性:当数据库的逻辑结构(如模式)改变时,应用程序无需改变。

物理独立性:当数据库的物理存储结构改变时,应用程序无需改变。

数据库系统通过三级模式结构和两层映像功能保证了数据独立性。


二、 数据库体系结构:三级模式与两级映像

     三级模式:

         外模式 (External Schema) / 子模式 (Subschema):

                                   是数据库用户(应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。

                                  一个数据库有多个外模式,每个用户对应一个。

         模式 (Schema) / 概念模式 (Conceptual Schema):

                                是数据库中全体数据的全局逻辑结构和特征的描述。

                                一个数据库只有一个模式。

         内模式 (Internal Schema) / 存储模式 (Storage Schema):

                                是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(如索引、存储路径等)。

                                一个数据库只有一个内模式

两级映像与功能:

外模式/模式映像:保证了数据的逻辑独立性。当模式改变时,DBA修改此映像,使外模式保持不变,从而应用程序不用改变。

模式/内模式映像:保证了数据的物理独立性。当内模式(存储结构)改变时,DBA修改此映像,使模式保持不变。

索引 (Index) 属于内模式的范畴。


三、 数据模型

1.分类

概念模型:按用户的观点对数据和信息建模,主要用于数据库设计(如E-R模型)。

逻辑模型:按计算机系统的观点对数据建模,用于DBMS实现。主要包括层次模型、网状模型、关系模型。

物理模型:描述数据在系统内部的表示方式和存取方法。

2.数据模型的组成要素

数据结构、数据操作、数据约束。

3.常用逻辑模型

层次模型:用树形结构表示实体及其联系。

网状模型:用图结构表示实体及其联系。

关系模型:用二维表(关系) 表示实体及其联系。它具有坚实的数学理论基础(关系代数),是当前最主流的数据模型。


四、 E-R 模型 (实体-联系模型)

1.E-R图成分

实体 (Entity):用矩形表示。

属性 (Attribute):用椭圆形表示。

联系 (Relationship):用菱形表示。

2.实体间的联系类型

一对一 (1:1):如一个公司只有一个法人代表。

一对多 (1:N):如一个部门有多个雇员 (1:m 或 1:N)。

多对多 (M:N):如一个学生可以选修多门课程,一门课程可以被多个学生选修 (m:n 或 M:N)。

判断技巧:分析“一个A对应几个B,一个B对应几个A”。

3.E-R图向关系模型的转换

  实体 -> 转换为一个关系(表)。

  属性 -> 转换为关系的属性(列)。

  联系:

  1:1 和 1:N 联系:其属性可以合并到任意一端或N端的实体对应的关系中。

  M:N 联系:必须转换为一个独立的关系,该关系的属性包括两端实体的主键(作为外键)和联系本身的属性。


五、 关系数据库

1.基本术语

关系 (Relation):对应一张二维表。

元组 (Tuple):表中的一行,也称为记录。

属性 (Attribute):表中的一列,也称为字段。

候选码 (Candidate Key):能唯一标识一个元组的最小属性组。一个表可能有多个候选码。

主键 (Primary Key):从候选码中选出的一个,作为元组的唯一标识。

外键 (Foreign Key):一个关系中的属性(组)是另一个关系的主键,则称其为外键。

2.关系操作

基本操作:选择 (Selection)、投影 (Projection)、并 (Union)、差 (Set difference)、笛卡尔积 (Cartesian product)。

专门操作:连接 (Join)、除 (Division) 等。

常用操作辨析:

选择 (σ):从行的角度运算,根据条件筛选出若干条记录。σ_{职务='教授'}(教师表)

投影 (π):从列的角度运算,筛选出若干个属性列。π_{姓名, 年龄}(学生表)

自然连接 (⋈):两个关系中进行公共属性上值相等的连接,并去掉重复列。

3.关系的完整性约束

实体完整性:主键的属性值不能为空 (NULL)。

参照完整性:外键的值必须等于另一个关系中某个元组的主键值,或者为空。

用户定义的完整性:针对某一具体应用的约束条件(如年龄必须在0-150之间)。


六、 数据库设计

1.设计阶段

需求分析阶段:产出数据流图 (DFD) 和 数据字典 (DD)。

概念结构设计阶段:产出E-R图(描述数据及其联系,不依赖计算机)。

逻辑结构设计阶段:将E-R图转换为关系模型。

物理设计阶段:设计数据的存储结构和存取方法(如索引设计)。

2.数据库管理员 (DBA) 职责

数据库的设计、维护、改善性能、提高效率等。

不属于DBA职责:数据类型转换(这通常是应用程序开发者的工作)。


七、 SQL 语言 (通过题目间接考察)

数据定义语言 (DDL):负责模式定义(创建、修改、删除表、视图、索引等),如 CREATE, ALTER, DROP。

数据操纵语言 (DML):负责数据的查询、增加、删除、修改,如 SELECT, INSERT, UPDATE, DELETE。

数据控制语言 (DCL):负责授权和权限回收,如 GRANT, REVOKE。



高频考点与易错点总结

1.核心概念:DBMS是系统软件,DBS的核心是DBMS,根本目标是数据共享。

2.发展阶段:牢记三个阶段的特征,特别是数据库系统阶段的优点。

3.三级模式:模式(全局逻辑)、外模式(用户视图)、内模式(物理存储)。数量关系:模式内模式均唯一,外模式多个。

4.数据独立性:逻辑独立性(模式变,程序不变)靠外模式/模式映像;物理独立性(存储变,程序不变)靠模式/内模式映像。

5.E-R图:

图形:矩形(实体)、菱形(联系)、椭圆(属性)。

联系转换:M:N联系必须转成单独的关系表。

6.关系运算:

选择是筛行(元组)。

投影是选列(属性)。

能从结果集看出属性列减少的是投影,元组减少的是选择或交。

7.键(码):能唯一标识元组的最小属性集是候选码。联合主键很常见(如选课表(学号, 课程号))。

8.完整性约束:

主键为空 -> 违反实体完整性。

外键找不到对应主键 -> 违反参照完整性。

9.数据库设计阶段:

画E-R图是概念设计。

转关系模式是逻辑设计。

设计索引是物理设计。

产生数据字典是在需求分析阶段。


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论