数据库
考点:
1.数据库模型(概念模式、外模式、内模式)
2.数据模型,ER图,第一范式,第二范式,第三范式
3.数据操作(集合运算和关系运算、元组)
4.数据库语言SQL
5.数据库的控制功能(并发控制、恢复、安全性、完整性)
6.数据仓库和分布式数据库基础知识
ER模型
1.ER图的基本概念,如何绘制ER图
2.ER模型转换成关系模式的规则
ER图的基本概念
实体Entity:客观存在的可以相互区别的事物。实体可以是具体的对象(学生、汽车等),也可以是抽象的事件(一次借书、一场足球赛)。实体用矩形表示属性Attribute:实体可以有很多特性,每一个特性称为属性,没一个属性有一个值域。属性用椭圆形表示联系Relation:
一对一的联系(1:1):实体集E1中的每个最多只能和实体集E2中一个实体有联系,反之亦然。联系用菱形表示一对多的联系(1:N):实体集E1中每个实体与实体集E2中任意个实体有联系,而E2中每个实体至多与E1中的一个实体有联系。多对多的联系(M:N):实体集E1中每个实体与实体集E2中任意个实体有联系,反之亦然。 如何绘制ER图
确定给实体类型确定联系类型把实体类型和联系类型组合成ER图确定实体类型和联系类型的属性确定实体类型的键,在属于键的属性名下划一横线 ER模型转换成关系模式
一个实体转换为关系模式,实体的属性就是关系的属性,实体的码就是关系的码一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
如果转换成一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换关系的属性,每个实体的码均是该关系的候选码如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性加入另一个关系模式的码和联系本身的属性 一个1:N联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性转换成关系的属性,而关系的码是N端实体的码如果与N端实体对应的关系模式合并,则在N端实体的关系模式的属性找中加入另一个关系模式的码和联系本身的属性 一个M:N联系可以转换成一个而独立的关系模式(不能与任意一端合并)
与该联系相连的各实体的码以及联系本身的属性均转为关系的属性,而关系的码为各实体码的组合 三个或三个实体间以上的多元联系可以转换成一个而独立的关系模式
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合
键/码,函数依赖和范式
1.理解超键、候选键、主键、外键的含义,并掌握如何求解
2.要求能按题目给出的关系描述,准确写出函数依赖
3.理解1NF、2NF、3NF的含义,能判别关系模式属于哪一级范式;并能按要求拆分关系模式使之满足更高一级的范式
4.模式分解部分的,分解的无损连接性,要学会如何无损分解一个关系
键/码
超键:在关系模式中,能唯一标识元组的属性集称为超键候选键:在关系模式中,能唯一标识元组并且不含多余属性的属性集称为候选键主键:在若干个候选键中随意指定一个作为关键字,此关键字就是主键外键:主属性:候选码中的各属性称为主属性非主属性:不包含在任何候选码中的属性称为非主属性 如何区别超键、候选键、主键
从区分实体的功能来说,这三种键的作用是一样的超键中可能有无关的属性,而主键和候选键中属性都是必要的属性主键和候选键的区别在于主键是被数据库设计者选中的。主键是候选键中的一个,只不过因为它被数据库设计者选中而称为主键而已 函数依赖
设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中有以下情况:不可能存在两个元组在X的属性值相等而在Y中属性值不等,则成X函数确定Y(Y函数依赖X),记作:X——>Y。完全函数依赖:(如果只有单个关键字,那么必定是完全依赖)部分函数依赖传递函数依赖 范式
第一范式1NF:在关系模式R中,当且仅所有域只包含原子值,即每个分量都是不可再分的数据项,则称实体E是第一范式。第二范式2NF:当且仅当实体E是第一范式,且每一个非键属性完全依赖主键时,则称实体E是第二范式。第三范式3NF:当且仅当实体E是第二范式,且E中没有非主属性传递依赖于码时,则称实体E是第三范式。 无损联接分解
有损:不能还原;无损:可以还原无损联接分解:将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式,则称这种分解为无损联接分解初值表法定理法,定理如下
关系代数
1.关系代数的基本运算
2.关系代数的除法运算
3.元组演算
关系代数的基本运算:交、并、差、笛卡尔积、选择和投影
关系表达式实际上就是一种查询语句交操作(n):两个关系都有的记录集合并操作(U):两个关系加起来全部的记录集合差运算(-):计算两个表的区别的集合。R-S表示在R里面却不在S里面的记录集合笛卡尔积(x):两个关系记录的全乘选择:按记录筛选数据,从关系里面抽取出满足给定限制条件的记录投影:按列筛选数据,从一个关系里面抽取指明的属性(列)联接(Join):通过共同属性联接两个表(先笛卡尔积,再选择,最后投影) 关系代数的除法运算
元组演算
元组演算表达式也是一种查询语句(每一行记录表示一个元组)元组演算公式:简称公式,由原子公式和运算符组成。递归定义:
每个原子公式都是公式如果A1、A2是公式,那么它们的与或非也是公式如果A是公式,那么存在t(A)也是公式,t表示一个元组如果A是公式,那么任意t(A)也是公式元组演算公式中,各个运算符的有限次序:
算数比较运算符最高量词次之,且存在量词的优先级高于全称量词逻辑运算符最低,其内部依次:非-与-或加了括号时,括号的运算符优先 有限次地使用上述五条规则得到的公式就是元组关系演算公式 元组演算和代数运算
笛卡尔积、投影等都比较复杂
SQL语言
SQL是一种结构化查询语言,是一种高度非过程化的语言,用户只需要指出“做什么”,而不需要指明“怎么做”SQL的基本功能
数据定义(Data Definition):可以操作数据库对象和对象的属性(数据库对象包括数据库、表、视图等)
create/drop/alter 数据操纵(Data Manipulation):可以操作数据库对象中的数据(增删改查)
select/delete/update/insert 数据控制(Data Control):可以操作数据库对象的权限
grant/revoke