▊ 数据库系统(DBS, DataBase System)
▍数据库管理系统(DBMS,Management)
数据库管理系统是数据库系统的核心,常见的DBMS有SQL Sever,MySQL,Access,Oracle等
其主要功能包括数据库定义功能,数据存取功能,数据库运行管理,数据库的建立和维护四个方面
▍DDL与DML
DDL(Data Definition Langage,数据定义语句):create, alter, drop
DML(Data Manipulation Language,数据操纵语句):即增删改查,insert, delete, update, select
▍数据库系统的三级模式和两级映像(重点)
▍数据模型vs概念模型
关于数据模型:
数据模型的三要素:数据结构,数据操作,数据的约束性条件
三种基本的数据模型:层次模型(树),网状模型(图),关系模型(表);我们在数据库着重使用关系模型
关于概念模型:
实体(Entity),属性(Attribute),关系(Relationship)
说到概念模型,最重要的就是E-R图。这里是一个经典的E-R图(戳这里)
这个考点比较简单,稍微注意一下:边都是没有箭头的无向边;标上(数量)关系;给属性中的码(Key)标下划线
常见的题型就是E-R图与关系模型的相互转换(实际上就是在概念模型与数据模型层面上的转换)
▊ 关系数据库
▍相关定义的通俗解释
属性:一列就是一个属性
元组:一行就是一个元组
域:就是属性的取值范围(是一个集合)
笛卡尔积:例如(A,B,C)和(男,女)是两个属性的域,它们的笛卡尔积就是6个元组:(A,男),(B,男)…(C,女)
关系:笛卡尔积的一个有意义的子集(笛卡尔积通常产生大量没有意义的元组数据)
候选码:具有唯一标识的作用。
主码:选定一个候选码作为主码
▍关系的完整性
实体完整性:实体必须可以被唯一标识才可以存在(也就是说,主码必须完整)
参照完整性:引用的外码必须为 1.空值 2.某个元组的主值(可以是自身元组的主值)
用户定义的完整性:比如性别一般只能是男/女,取值必须符合实际语义
▍关系运算
(并不难,主要还是为后来学习操作数据做准备)
并差交,笛卡尔积,与或非,选择(水平角度),投影(垂直角度),连接(自然连接,等值连接),更名,赋值
这里只说两点
一是区分自然连接与等值连接:自然连接会自动去掉重复的属性列;等值连接就是根据给定的条件进行连接
▊ 范式(Normal Form)
▍函数依赖
X→Y 称为 “X决定Y” 或 “Y依赖于X”
① 平凡的函数依赖 / 非平凡的函数依赖
学号→学号 或者 (学号,课程号)→学号,都是平凡的函数依赖
可以看出,研究平凡的函数依赖并没有什么意义,因此之后我们只去考虑非平凡的函数依赖
② 完全函数依赖 / 部分函数依赖
在关系(学号,姓名,课程号,成绩)中:
(学号,课程号)→成绩,是完全函数依赖;(学号,课程号)→姓名,是部分函数依赖
③ 传递函数依赖
如果X→Y,Y不→X,且Y→Z,得到X→Z。
在关系(学号,姓名,系,系主任)中,学号 → 系主任 代入上式成立,是一个典型的传递函数依赖
▍关系规范化(重点)
关系规范化是为了解决:数据冗余,更新异常,插入异常,删除异常
6种范式:1NF ⊆ 2NF ⊆ 3NF ⊆ BCNF ⊆ 4NF ⊆ 5NF
只要每列属性不能再分,就属于第一范式了
★☆★ 如何判断关系模式属于第几范式?
首先,找出码(唯一标识作用的属性或属性组),其余的都为非主属性;然后观察非主属性对于码的依赖:
❶ 1NF→2NF,消除了原关系中非主属性对码的部分函数依赖
❷ 2NF→3NF,消除了原关系中非主属性对码的传递函数依赖
❸ 3NF→BCNF,消除了原关系中主属性对码的部分函数依赖和传递函数依赖