关系数据库的有关知识点复习

版权声明:严禁转载 https://blog.csdn.net/qq_38452951/article/details/83824570
关系数据库系统是支持关系模型的数据库系统。

关系模型的数据结构非常简单,只包含单一的数据结构——关系。

在用户看来,关系模型中数据的逻辑结构是一张扁平的二维表。

关系数据结构的形式化定义

1.域:一组具有相同数据类型的值的集合。

2.笛卡尔积:域上的一种集合运算。一个域允许不同取值个数称为这个域的基数

3.关系:D1×D2×.......×Dn的子集叫做所在域D1,D2,.....,Dn上的关系,表示为R(D1,D2,.....Dn)

这里R表示关系的名字,n是关系的目或度。

关系中的每个元素是关系的元组,通常用t表示。

n=1时,该关系为单元关系,或一元关系。

n=2时,为二元关系。

若关系中的某一属性组的值能够唯一地标识一个元组,而其子集不能,则称该属性组为候选码。

若一个关系有多个候选码,则选定其中一个为主码。


候选码的诸属性称为主属性,不包括在任何候选码中的属性称为非主属性,或非码属性

在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属于是这个的候选码,称为全码

关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表

基本表是实际存在的表,查询表是查询结果对应的表,视图表是由基本表和其他视图表导出的表,是虚表。

基本关系具有以下6个性质:

1、列是同质的,即每一列中的分理是同一类型的数据,来自同一域。

2、不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。

3、列的顺序无所谓,即列顺序是无关紧要的

4、任意两个 元组的候选码不能取相同的值

5、行的顺序无所谓,即行的顺序可以任意交换。

6、分量必须取原子值,即每一个分量都必须是不可分的数据项

关系的描述称为关系模式。它可以形式化的表示为 R(U,D,DOM,F)
其中R为关系名、U为组成关系的属性名集合、D为U中属性所来自的域。DOM是属性向域的映像集合、F 为属性间数据的依赖关系集合

关系模型的关系操作

基本的关系操作

关系模型中常用的关系操作包括查询、插入、删除、修改

查询又可以分为选择、投影、连接、除、并、差、交、笛卡尔积等、其中选择、投影、并、差、笛卡尔积是5 种基本的操作

关系操作的特点是集合操作方式,即操作的对象的结果都是集合

关系模式与关系的区别:关系模式是型,关系是值,是关系模式的实例。

关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。


关系的完整性约束

关系模型中的三类完整性约束:实体完整性、参照完整性和用户自定义完整性

1.实体完整性

实体完整性规则:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。

对于实体完整性规则说明如下:

1、实体完整性规则是针对基本表关系而言的。一个基本表通常对应现实世界一个实体集。

2、现实世界中的实体是可区分的。即它们具有某种唯一性标识。

3、相应地,关系模型中以主码作为唯一性标识

4、主码中的属性即主属性不能取空值

2.参照完整性

定义: 设F是基本关系R的一个或一组属性,但不是关系R的码、K是基本关系S的主码。如果F与K相对应,则称为F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。

参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本准关系S的主码K相对应,则对于R中第一个元组F上的值必须:

1、或者取空值

2、或者等于S中某个元组的主码值

在参照完整性中,如果外码属性不是其所在关系的主属性,外码属性的值才可以取空值。


3.用户定义完整性

用户定义的完整性就是针对某一具体关系数据库的约束条件。

反映某一具体应用所涉及的数据必须满足的语义要求。


关系代数(这里不方便记录,但是重点!!!)


1、并(union)

U并S: t属于U或者属于S

2、差(excepte)

R 差S:t属于R且不属于S

3、交

R交S:r属于R且也属于S

4、笛卡尔积

R笛卡尔S: R中任意与S任意进行组合


专门的关系运算

1、选择:对行进行操作,

2、投影:对列进行操作


3、连接运算

自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是同名的属性组,并且在结果中把重复的属性列去掉。

4.除运算

SQL 结构化查询语言

特点:1.综合统一 SQL集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一。

2.高度非过程化  只需要提出“做什么”,无需指明“怎么做”

3.面向集合的操作方式 不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

4.以同一种语法结构提供多种使用方式 SQL既是独立的语言,又是嵌入式语言。SQL语句可以嵌入到高级语言程序中。

5.语言简洁,易学易用。

DROP TABLE时,RESTRICT 表示表的删除是有限制条件的。要删除的基本表不能被其他表的约束所引用,不能有视图,不能有触发器,不能有存储过程或函数等,如果存在这些依赖该表的对象,则表不能被删除。

CASCADE表示表的删除没有限制条件,在删除基本表的同时,相关的依赖对象(如视图)都将被删除。

数据库安全性

数据库完整性

数据库完整性指数据的正确性和相容性。

实体完整性 检查主码是否唯一或者为空,若是,则拒绝插入或修改。

参照完整性 不一致时1.拒绝操作 2.级联操作(CASCADE)3.设置为空值

用户定义完整性 列值非空,列值唯一,检查列值是否满足一个条件表达式(CHECK语句)
--------------------

猜你喜欢

转载自blog.csdn.net/qq_38452951/article/details/83824570
今日推荐