数据库系统核心知识点梳理
一、 数据库系统基础
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复