数据库系统基础知识
目录
考点概览

一.数据库的基本概念
1.数据库(DB)
数据库(Database,缩写为DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
2.数据库管理系统(DBMS)
数据库管理系统(DatabaseManagement System,DBMS)是数据库系统的核心软件,要在操作系统的支持下工作,解决如何科学地组织和存储数据、如何高效地获取和维护数据的系统软件问题。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据组织存储、管理和数据库的建立与维护。
3.DBMS的特征与分类
①特征
- 数据结构化且统一管理
- 有较高的数据独立性
- 提供数据控制功能
②DBMS的分类
二.数据库三级模式两级映像


三.数据库的分析与设计过程

四.数据模型
1.基本概念

2.E-R模型
- 实体:矩形
- 联系:菱形
- 属性:椭圆

3.关系模型


结论1:多对多(m:n)可以转换为一个关系模式
举例:


可见此时转换的关系模式中,
- 主键:分别是学生的主键(即学号)、课程的主键(即课程号)
- 其他属性:就是“选课”这个联系原来的所有属性,此图是“成绩”
真题

解析:
记住一下两句话即可:
①实体本身就可以转成一个关系模式(比如“学生”、“课程”等等)
②多对多(m:n)也可以转成一个关系模式(比如上面的“选课”)
综上,此题一共可以转换的关系模式数量 = 3 (三个实体)+ 1(一个多对多关系) = 4
故本题选C
五.关系代数
1.关系模式相关名词

2.关系的三种类型

真题

解析:
外模式(External Schema)对应于用户视图(View),即用户看到的数据结构。
模式(Conceptual Schema)对应于基本表(Base Table),即全局逻辑结构。
内模式(Internal Schema)对应于存储文件(Stored File),即物理存储结构。
故本题选B
3.七种基本运算
| 序号 | 操作名称 | 数学符号 | 含义简述 | SQL 对应关键字 |
|---|---|---|---|---|
| ① | 并 | ∪ | 两个结果集合并(去重) | UNION |
| ② | 交 | ∩ | 取两个结果集的公共部分 | INTERSECT |
| ③ | 差 | − | 属于前者但不属于后者的部分 | EXCEPT 或 MINUS |
| ④ | 笛卡尔积 | × | 两个表的所有行进行任意组合 | CROSS JOIN 或 FROM A, B |
| ⑤ | 投影 | π | 选择指定的列(垂直筛选) | SELECT 列名 |
| ⑥ | 选择 | σ | 选择满足条件的行(水平筛选) | WHERE |
| ⑦ | 连接 | ⋈ | 根据条件将两个表关联起来 | JOIN / INNER JOIN |
注意:其中的选择是where,而select是投影。(这一点在开发多了以后,可能会混淆。where是选择符合条件的行(比如年龄大于30岁的人),而select是投影,比如我要看课程表的课程名这一列)
真题

解析:
第一空:
自然连接:两个表连接后,重复的列只保留一次。因此R和S自然连接以后,应该有8-2 = 6列(因为A和C两个列重复了,只能保留一次)。如下图所示:
因此第一空选C
第二空:
- 由题可知R?S是自然选择的意思
- 由于σ这个符号是选择的意思(即where),因此肯定是选自然选择之后的全部的列,即上图的那6列,因此就对应π1,2,3,4,7,8(π就是select的意思,阿拉伯数字表示列的序号)
- ∧ 是与的意思
- σ后面的1=5 2>7 3=6就是三个条件,其中1=5和3=6说白了就是自然连接的条件,即R.A = S.A 和 R.C = S.C(即重复的那两列)。而2>7就是R.B>S.E的意思(这也是题目给的条件)
- 而选项D的7头上加了一个引号,这就不表示第七列了,而是纯阿拉伯数字7,此时这个选项肯定就不能要了,因为肯定和数字7不沾边啊
故第二空选B

解析:
①σ是选择(where)的意思
②选择(σ)出现的越早,效率越高(大多数情况),故本题选D。
而选项ABC都是X(笛卡尔积操作)出现的最早
六.数据库的完整性约束

七.关系型数据库SQL简介


八.关系数据库的规范化
1.函数依赖

2.求候选码(键)

真题

解析:
- 第一步:将函数依赖关系画成有向图,如下:
- 第二步:找到入度为0的属性,此图中只有A(入度为0的就是主属性,可与其他属性共同组成候选码)
- 第三步:将A和其他属性进行组合搭配,能覆盖全图的就是候选码。此时AC组合和AB组合能覆盖全图。(AC组合中,C能推出B,此时ABC凑齐了;AB组合中,AB能推出C,此时ABC也凑齐了。因此AC是候选码,AB也是候选码)。主属性就是包含在候选码中的属性,因此ABC都是主属性。(且一张表的所有属性中,除了主属性,就是非主属性,即二者是互补的)
故本题选B

解析:
- 第一步:将函数依赖关系画成有向图
- 第二步:找入度为0的属性,此题A和D的入度为0,因此A、D是主属性。
- 第三步:将AD与其他属性进行组合,能覆盖全图的就是候选码。此题中ABD组合和ACD组合能覆盖全图。(ABD组合中,AB能推出C,因此凑齐了ABCD,覆盖了全图;ACD组合中,CD能推出B,凑齐了ABCD,覆盖了全图)。因此ABD是候选码,ACD也是候选码。由于主属性就是候选码中的属性,所以此时ABCD都是主属性。
故本题第一空选C,第二空选A
3.非规范化存在的问题

4.规范化理论


①1NF(第一范式)

举一个反例:
下图把一列(高级职称人数)又分成了“教授”和“副教授”两列,这是不允许的。

②2NF(第二范式)

举一个反例:
下图的表,主键是学号+课程号,但是此时学分这一非主属性,只由课程号就可以决定了,这就叫部分依赖。画成图,如下:


③3NF(第三范式)

举一个反例:
下图中,学号是主键,但是非主属性“系主任”,被非主属性“所在系”决定,而所在系才被主键(学号)决定,这就叫非主属性"系主任"被非主属性“所在系”传递依赖。

④BCNF(巴克斯范式)

真题

解析:
由上述推理,可得出A3A5就是主键,第一空选C。
由于A3A5是主键,所以A3A5可推出唯一的一行,说白了就是可以推出其他任意的属性了,
因此A3A5就可以推出A1,但A1还能推出A2,此时形成了A3A5—>A1—>A2,即出现了非主属性的传递依赖,因此不满足3NF。但是经过排查,也没出现非主属性对候选码的部分依赖,所以满足2NF。
故第二空选B。
5.关系模式分解(重要考点:会在下午题出一个小问)

解释:
①模式分解:说白了就是把一张大表,拆成几张小表。
②模式等价的含义:
- 无损连接性(别拆散了): 拆开后,你得保证还能拼回去。要是拼回去发现学生张三变成了两个人,或者数据对不上了,那就是“有损”了,这手术就失败了。
- 保持函数依赖(规矩别丢): 拆开后,原来的规矩还得在。比如原来规定“学号决定姓名”,拆完后不能变成“学号决定不了姓名”,那数据就乱套了。
- 既要...又要...(完美手术): 既没把数据搞丢,也没把规矩搞乱,这才是最牛的分解。
例题:
大白话就是,原来的规矩是需要B来中间倒一手的,你结果拆解的时候,直接把B给抛弃了,那这么重要的属性你给扔了,肯定破坏了原来的依赖关系。
扩展:如果我们额外加了一个A—>C,那这就纯纯是冗余依赖了,因为人家原本A—>B和B—>C就能实现A推出C,你又额外加了这么一手,这是纯多余的。
①无损连接分解

举例

解析:
我们要根据分解后的三个关系模式、题目给的函数依赖,尝试将三个关系模式推导出原来的那一个函数依赖,如果能倒推回去,则说明是无损连接。
如上图所示,成功倒推出原来的那一个大的关系模式,因此这个是无损连接性分解。
注意:上图所谓的关系模式,就是我们日常说的数据库的“表”。
九.数据库的控制功能
1.事务管理
①定义

②事务的四个特性

举例:
- 原子性:比如银行转钱操作,A扣钱和B加钱这两个操作,整体就看成一个事务,这两个操作不可分。你不能说A扣完钱B不加钱,这不就凭空蒸发了一笔钱么,这显然是不允许的。
- 一致性:说白了,你在手机app上查到的账户余额是1万,那等你去线下银行柜台查账户余额也得是1万,而不能不一致,要不就坏菜了。
- 隔离性:就像你在抢演唱会门票,当你正在填写订单还没付款时,别人看到的余票数量依然是你占座之前的数字,直到你真正付完钱,别人才能看到票数减少。
- 持久性:操作完,数据就被写入文件了,不能后悔了。
2.并发控制

①封锁

真题

解析:
规则:
①共享锁就是读锁,加了以后,还能再加读锁(而不能加写锁)
②排他锁就是写锁,加了以后,其他任何锁都不能加了(因为写锁就锁死了,只有自己能访问)
根据上述规则,
本题第一空选D,第二空选C.
3.备份和恢复


十.数据仓库与数据挖掘基础



十一.大数据基本概念

以上就是本篇文章的全部内容,喜欢的话可以留个免费的关注呦~~~
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐














所有评论(0)