数据库系统原理(第二章关系数据库 )
一、关系数据库概述
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
数据库系统原理(第二章关系数据库 )相关推荐
- 数据库系统:第二章关系数据库
2.1 关系数据结构及形式化定义 2.1.1 关系 单一的数据结构->关系:现实世界的实体以及实体间的各种联系均用关系来表示 数据的逻辑结构->二维表:从用户角度,关系模型中数据的逻辑结构 ...
- 数据库系统概论 第二章 关系数据库
目录 2.1 关系数据结构及形式化定义 2.1.1 关系 2.1.2 关系模式 2.1.3 关系数据库 2.1.4 关系模型的存储结构 2.2 关系操作 2.2.1 基本的关系操作 2.2.2 关系数 ...
- 数据库系统概论 第二章关系数据库 知识点总结
目录 1. 关系数据结构及形式化定义 1.1 关系 1.1.1 笛卡儿积 1.1.2 关系 1.2 关系模式 1.3 关系数据库 2. 关系操作 2.1 基本的关系操作 2.2 关系数据语言的分类 ...
- 数据库系统概论第二章总结
数据库系统概论第二章总结 文章目录 数据库系统概论第二章总结 第二章 关系数据库 2.1 关系数据结构及形式化定义 2.1.1 关系 2.2 关系操作 2.2.1 基本的关系操作 2.2.2 关系数据 ...
- 计算机科学与技术第二章ppt,计算机科学与技术-编译原理-第二章重点.ppt
计算机科学与技术-编译原理-第二章重点.ppt * 自下而上分析法举例 例2解: a b b c d e (1) a b b c d e A A (2) a b b c d e A A (3) a b ...
- 数据库期末总结笔记( 零基础 )-第二章 关系数据库
第二章 关系数据库 一.关系代数的五个基本操作 1.选择(δ):把满足条件的基本元组找出来(元组对应行) 分析:题目中出现找条件一般就用选择(学号在一定范围,性别男还是女,年龄在什么范围-) 例:①查 ...
- 数据库系统概述---第二章关系数据库
第二章 关系数据库 1.关系模型三要素:关系数据结构:关系数据操作:关系完整性约束条件 2.关系完整性约束条件:参照完整性:实体完整性:自定义完整性: 3.关系代数 集合操作 并R∪S 交R∩S 差 ...
- 微型计算机的ALU部件包括在( )之中,微机原理第二章复习题(附答案)期末考试题...
微机原理第二章复习题(附答案) 1. 8086 CPU有__________位数据总线和__________位地址总线.直接可寻址 空间为1MB. 2. 如果微机处理器的地址总线为20位,它的最大直接 ...
- 计算机操作系统原理第二章习题
计算机操作系统原理第二章习题 1.什么是并发?什么是并行?用日常生活中的例子举例说明. 2.在操作系统中为什么要引入进程的概念?它会产生什么样的影响? 3.试说明PCB的作用具体表现在那些方面?为什么 ...
- 北邮微型计算机原理及应用阶段二,北邮信通院微机原理第二章.ppt
北邮信通院微机原理第二章 异常模式:系统模式外的其他5种特权模式,常用于处理中断或其它异常. 处理器模式可以通过软件来改变,也可以通过外部中断或处理器异常改变. 特权模式:除用户模式外的其它6种模式 ...
最新文章
- 在struts框架下实现文件的上传
- 大数据时代 如何让用户上网更放心
- 操作api_币安多币种自动化策略API操作指南
- JavaScript单线程和浏览器事件循环简述
- jQuery按钮隐藏与显示
- 5年iPhone用户换小米11 Ultra:惊叹小米变化大
- java 自学网站推荐
- 草根站长胖子讲述做站故事
- (2021系统架构设计师)个人对于软考的一些总结
- app下载 微信扫码打开 提示用户用浏览器打开
- arcgis10.2之Maplex(高级标注扩展模块)
- 厘米和磅的转换程序python_在Python中如何将磅转换成公斤
- animation css 透明度逐渐_基于CSS3实现淡入(fadeIn)淡出(fadeOut)效果
- 如何检测香港虚拟主机的访问速度及稳定性
- 第4阶段 Mysql数据库
- 基于OpenCV-python3实现抠图替换背景图
- python对异常捕获的操作
- 【C4D周练作业061-070】用C4D做了个锤子~
- python人脸识别解锁电脑_Python 实现在 App 端的人脸识别!手机解锁人脸识别!
- [日志]电脑开不了机修理
热门文章
- 关于 命令行参数 main(int argc,char** argv)
- 投影仪投影粉色_DecisionTreeRegressor —停止用于将来的投影!
- 数组和lookup函数
- laravel数据库相关操作
- 人工智能、机器学习、深度学习和神经网络的区别
- 出国?上研?工作?回家种田?(二) 专业与上研相关问题
- 小米蓝牙左右互联_解决不同品牌智能家居的兼容问题,小米米家智能多模网关发布...
- python删除字符串_Python3 - 删除字符串中不需要的字符
- php hex2bin nodejs,Nodejs Serialport文档翻译
- 徐波 博士 计算机,徐波教授:医工联合促进智能肿瘤学发展——探秘肿瘤精准治疗中的AI技术...