数据库系统原理(第二章关系数据库 )

一、关系数据库概述

20世纪80年代后,在商用数据库管理系统中,( 关系模型 )逐渐取代早 期的网状模型和层次模型,成为主流数据模型

SQL3(SQL-99):1999年

SQL2(SQL-92):1992年

SQL(SQL-89) :1989年

 

 关系数据库的基本特征是使用关系数据模型组织数据,这种思想来源于数学。

关系数据库的优点:高级的分过程语言接口、较好的数据独立性,为商品化的关系数据库管理系统的研制做好了技术上的准备

 二、关系数据模型

 

数据模型的要素包括:数据结构、数据操作、数据约束

关系数据模型的组成要素:关系数据结构、关系操作集合、关系完整性约束

********************************1、关系数据结构***************************

 

表(Table): 也称为关系,是一个二维的数据结构,由表名、列、若干行数据组成;每个表有唯一的表名,表中每一行数据描述一条具体的记录值

关系(Relation): 一个关系逻辑上对应一张二维表,可以为每个关系取一个名称进行表示。基本关系 (基本表、 基表)、 查询表、 视图表(导出的虚表)

列(Column) :也称为字段(Field)或属性(Attribute)。属性的个数称为关系的元或度;列的值称为属性值,其取值范围称为值域

行(Row): 也称为元组(Tuple)或记录(Record)。表中的数据按行存储。

分量(Component):(具体的数据项) :元组(行)中的一个属性值,称为分量。

域(Domain) :表示属性的取值范围

数据类型(Data Type): 每个列都有相应的数据类型,它用于限制(或容许)该列中存储的数据。

码或键(Key): 属性(或属性组)的值都能用来唯一标识该关系的元组,则称这些属性( 或属性组)为该关系的码或键

超码或超键(Super Key): 在码中去除某个属性,它仍然是这个关系的码

候选码或候选键(Candidate Key): 在码中不能从中移去任何一个属性,否则它就不再是这个关系的码或键;候选码或候选键是这个关系的最小超码或超键。

主属性(Primary Attribute)或非主属性(Nonprimary Attribute): 包含在任何一个候选码中的属性称为主属性或码属性

主码或主键(Primary Key): 在若干个候选码中指定一个唯一标识关系的元组(行)

全码或全键(All Key) :一个关系模式的所有属性集合是 这个关系的主码或主键,这样的 主码或主键称为全码或全键。

外码或外键(Foreign Key): 某个属性(或属性组)不是这个关系的主码或候选码,而是另一个关系的 主码

参照关系(Referencing Relation)和被参照关系(Referenced Relation): 参照关系也称为从关系,被参照关系也称为主关系,它们是指以外码相关联 的两个关系。

 

 关系模式(Relation Schema): 关系模式是型(type),关系是 值(value),即关系模式是对关 系的描述;关系模式是静态的、稳定的; 关系是动态的、随时间不断变化 的。

 

关系数据库(Relation Database) 所有关系的集合,构成一个关系数据库。 以关系模型作为数据的逻辑模型,并采用关系作为数据组织方式的一类数 据库,其数据库操作建立在关系代数的基础上。

关系数据库对关系的限定/要求:

1)每一个属性都是不可分解的(不允许表中有表);

2)每一个关系仅仅有一种关系模式;

3)每一个关系模式中的属性必须命名,属性名不同;

4)同一个关系中不允许出现候选码或候选键值完全相同的元组;

5)在关系中元组的顺序(即行序)是无关紧要的,可以任意交换;

6)在关系中属性的顺序(即列序)是无关紧要的,可以任意交换。

 

 ******************************2、关系操作集合**************************************

基本的关系操作:

查询 Query (集合的操作方式(一次一集合)

 

 

插入 Insert

 

删除 Delete

 

 

修改 Update

****************************************************************************

关系数据语言的分类

关系代数语言:任何一种操作都包含三大要素: 操作对象、 操作符 、操作结果

SQL:结构化查询语言

关系演算语言: 元组关系演算 、域关系演算

共同特点:具有完备的表达能力,是非过程化的集合操作语言,功能强, 能够独立使用也可以嵌入高级语言中使用。

传统的集合运算:

 

*************************差(DIFFERENCE):R3=R1-R2******************************

 

**********************交(INTERSECTION):R3=R1∩R2**************************

 

 ********************笛卡尔积(CARTESIAN PRODUCT):R3=R1×R2********************

 专门的关系运算

 

 ***************************投影(PROJECTION):πA(R)**************************************

A:是属性序列

关系代数中投影运算是对关系进行的垂直分解

 

 *************************连接(JOIN),也称θ连接:**************************************

 

 ***********************除(DIVISION):R÷S************************************************

 ************************************************例题**********************************************************

 ******************************3、关系的完整性约束**************************************

数据库的数据完整性是指数据库中数据的正确性、相容性、一致性

关系的完整性约束分类:

  • 实体完整性约束:主码的组成不能为空,主属性不能是空值NULL
  • 参照完整性约束:定义外码和主码之间的引用规则 要么外码等于主码中某个元组的主码值,要么为空值(NULL)
  • 用户定义完整性约束:域完整性约束(针对某一应用环境的完整性约束)、其他

执行插入操作的检验

 

执行删除操作
一般只需要对被参照关系检查参照完整性约束(是否被引用)
执行更新操作
上述两种情况的综合

 

三、关系数据库的规范化理论

关系模式中可能存在的冗余和异常问题

  • 数据冗余:指同一数据被反复存储的情况
  • 更新异常:数据冗余造成的,多个内容更改使操作错误
  • 插入异常
  • 删除异常

函数依赖与关键字

函数依赖:关系中属性间的对应关系

X→Y:设R为任一给定关系,如果对于R中属性X的每一个值,R中的属性Y只有唯一 值与之对应,则称X函数决定Y或称Y函数依赖于X,记作X→Y。其中X称为决 定因素。

 

 

X  /→ Y:

 

 

 

 函数依赖分类:完全函数依赖 、部分函数依赖 、传递函数依赖

*****************完全函数依赖************************

 

 *****************部分函数依赖************************

 

  *****************传递函数依赖************************

 

 关键字

 

 

范式与关系规范化过程

规范化(Normalization):一个低一级范式的关系模式通过模式分解(Schema Decomposition)可以转换为若干个高一级范式的关系模式 的集合,这种过程就叫规范化(Normalization)

*****************第一范式1NF***********************

 

 第一范式的缺点:

 

 *********************第二范式2NF*************************

设R为任一给定关系,若R为1NF, 且其所有非主属性都完全函数依赖于候选关键字,则R为第二范式。

 

*************************第三范式3NF*******************

设R为任一给定关系,若R为2NF, 且其每一个非主属性都不传递函数依赖于候选关键字,则R为第三范式

 

********************第三范式的改进形式BCNF******************

 

SQL的主要构成:

 

 

 

转载于:https://www.cnblogs.com/jalja/p/11560835.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《数据库系统概念第六版pdf》是一本经典的数据库理论教材。本书系统地介绍了数据库系统的基本概念、SQL语言、数据模型、数据管理技术等内容。本书的特点是理论联系实践,强调数据库应用的实际场景,且涵盖了最新的数据库技术和概念。 本书主要分为八个章节,每个章节都是有机结合的,内容相互关联,从而构建一个关于数据库系统的完整知识体系。其中,第一章为引言,介绍了数据库的概念和发展历史。第二章介绍了关系模型,包括关系代数、SQL语言、实体关系图等。第三章介绍关系数据库设计的基本原则和步骤,包括ER图、范式设计等。第四章介绍了关系数据完整性和安全性的管理,包括数据约束、授权与角色等。第五章介绍了多表查询和关联查询的使用技巧。第六章介绍了SQL语言的高级特性,如嵌套查询、视图、事务等。第七章介绍了高级数据管理技术,如数据仓库、数据挖掘等。最后一章讨论了高可用性、分布式数据库、NoSQL等主题。 本书的编排清晰、内容全面,对于广大数据库从业者和学生都是一本非常优秀的教材。务实性的描述,让读者更容易理解。文字流畅且通俗易懂,例子或练习题更是帮助读者快速掌握。总体来说,这是一本被广泛认可和推荐的数据库教材。 ### 回答2: 《数据库系统概念第六版PDF》是一本深入介绍数据库系统理论和实践的学术著作,其主要内容包括数据库系统概述、关系模型、数据库语言SQL、关系数据库设计、关系数据库编程和应用等多个方面。 该书的内容涵盖了从数据库设计、实现到运行管理的全过程,对于需要从事数据库相关工作的人员具有非常实用的指导意义。同时,该书也提供了一些典型的数据库设计案例,作者讲述了如何在具体业务场景下进行数据库设计,并进行的详细解释和说明。这些案例不仅适用于初学者的实践训练,也可以为专业人士提供宝贵的参考和借鉴。 总之,《数据库系统概念第六版PDF》是一本综合性、深入剖析且具有实用性的数据库相关著作。无论是想要从事数据库相关的人员,还是已经从事多年的专业人士,都可以从这本书中获取到对数据库理论和实践的增长、更新和加强。 ### 回答3: 《数据库系统概念第六版》是一本有关数据库系统概念和实现的经典教材。本书内容涵盖了数据库的基本概念,关系模型,关系代数和SQL语言,不同类型的数据模型(如面向对象、XML),事务管理和并发控制,数据仓库和数据挖掘等方面。作者以通俗易懂的方式,详细阐述了数据库系统的各个方面,使得读者能够理解数据库的基本原理和技术细节,从而能够更好地应用它们。 本书特点在于其广泛的覆盖面和深入的讲解。书中涵盖的内容包含了数据库系统的各个领域和各个方面,包括基础理论、数据库设计、SQL语言、数据仓库与数据挖掘、事务处理、并发控制等。从此,读者可以全面掌握数据库的概念、基本原理和实际应用。此外,本书还特别强调了实践操作和案例研究,通过大量的实例和练习,帮助读者获得实践经验和实际应用能力。 总之,《数据库系统概念第六版》是一本非常优秀而且值得一读的数据库相关教材。它不仅适合计算机专业的大学生和研究生使用,也适合相关工作者阅读,增进其对数据库系统的理解和掌握,从而更好地应用和发挥它们的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值