临沧市住房和城乡建设局门户网站,青少年编程培训教育,网站建设与网页设计课程,上海广告公司排名前十强第6章 数据库系统基础知识
一、基本概念
1、数据库
数据库#xff08;Database #xff0c;DB#xff09;是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储#xff0c;具有较小的冗余度、较高的数据独立性和扩展…第6章 数据库系统基础知识
一、基本概念
1、数据库
数据库Database DB是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储具有较小的冗余度、较高的数据独立性和扩展性并可为各种用户共享。
2、数据库管理系统
数据库管理系统Database Management SystemDBMS是数据库系统的核心软件要在操作系统的支持下工作解决如何科学地组织和存储数据、如何高效地获取和维护数据的系统软件问题其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据组织、存储、管理和数据库的建立与维护。
1.1 DBMS的特征与分类
1、DBMS的特征
数据结构化且统一管理有较高的数据独立性提供数据控制功能
2、DBMS的分类
关心数据库系统是支持关系模型的数据系统。面向对象的数据库系统是支持以对象形式对数据建模的数据库系统。对象关系数据库系统在传统的关系数据模型基础上提供元组、数组、集合等更丰富的数据类型以及处理新的数据类型操作能力这样形成的数据模型称为对象关系数据模型基于对象关系数据模型的DBS称为对象关系数据系统。
二、数据库三级模式两级映像
数据库系统采用三级模式结构这是数据库管理系统内部的系统结构。
外模式也称用户模式或子模式是用户与数据库系统的接口是用户用到的那部分数据的描述由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。概念模式也称模式是数据库中全体数据的逻辑结构和特征的描述它由若干个概念记录类型组成只涉及行的描述不涉及具体的值。概念模式的一个具体值称为模式的一个实例同一个模式可以由很多实例、内模式也称存储模式是数据物理结构和存储方式的描述是数据在数据库内部的表示方式定义所有内部记录类型、索引和文件的组织方式以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。外模式/模式映像该映像存在于外部级和概念级之间实现了外模式到概念模式之间的相互转换。模式/内模式映像该映像存在于概念级和内部级之间实现了概念模式之间的相互转换。DBMS的两级映像功能保证了数据的独立性。
三、数据库的分析与设计过程
四、数据模型
模型就是对现实世界特征的模拟和抽象。
数学模型是对现实世界数据特征的抽象。
数据模型是用来描述数据的一组概念和定义。
数据模型的三要素
数据机构是所研究的对象类型的集合是对系统静态特性的描述。数据操作是对数据库中各种搞对象的实例值允许执行的操作的集合包括操作及操作规则。数据操作时对系统动态特性的描述。数据的约束条件是一组完整性规则的集合。对于具体的应用数据必须遵循特定的语义约束条件以保证数据的正确、有效、相容。
4.1 E-R模型
实体-联系模型简称E-R模型所采用的3个主要概念是实体、联系和属性。
4.2 关系模型
关系数据库系统采用关系模型作为数据的组织方式在关系模型中用表格结构表达实体集以及实体集之间的联系其最大特色是描述的一致性。
关系模型是由若干个关系模型组成的集合。一个关系模式相当于一个记录型对应程序设计语言中类型定义的概念。
关系模型的优点是概念单一存储路径对用户是透明的所以具有好的数据独立性和安全保密性简化了程序的开发和数据库建立工作。
教学数据库的4个关系模式如下
关系模式中有下划线的属性是主码属性
一个实体型转换为一个关系模式 1:1联系1n联系m:n联系 三个以上实体间的一个多元联系 在数据库逻辑结构的设计中将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n:p最少可转换为 个关系模式。 A. 2 B.3 C. 4 D.5 C 五、关系代数
教学数据库的4个关系模式如下
候选码键若关系中的某一属性或属性组的值能唯一标识一个元组则称该属性或属性组为候选码
主码键若一个关系有多个候选码则选定其中一个主码。
主属性包含在任何候选码中的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性。
外码键如果公共属性在一个关系中是主属性那么这个公共属性被称为另一个关系的外码。由此可见外码表示了两个关系之间的相关联系。
全码若关系模式的所有属性组都是这个关系模式的候选码则称为全码。 S(Sno,Sname,SD,Sage,Sex:学生 S 关系模式属性为学号、姓名、系、年龄和性别 T (Tno,Tname,Age,Sex):教师T关系模式属性为教师号、姓名、年龄和性别 C (Cno,Cname,Pcno):课程C关系模式属性为课程号、课程名和先修课程号 SC (Sno,Cno,Grade):学生选课SC 关系模式属性为学号、课程号和成绩 5.1 关系的三种类型
下面介绍关系的三种类型
基本关系又称基本表、基表是实际存在的表它是实际存储数据的逻辑表示。查询表查询结构对应的表。视图表是由基本表或其他视图表导出来的表。由于本身不独立存储在数据库中数据库中只存放它的定义所以称为虚表。 数据库系哦推给你通常采用三级模式结构外模式、模式和内模式。这三级模式分别对应数据库的。 A. 基本表、存储文件和视图 B.视图、基本表和存储文件 C.基本表、视图和存储文件 D.视图、存储文件和基本表 B 5.2 七种基本运算 连接Join,也坐联接)分为 θ \theta θ连接、等值连接、自然连接3种连接运算是从两个关系的笛卡尔积中选取满足条件的元组。 θ \theta θ连接从关系R和S的笛卡尔积中选取属性间满足一定条件的元组记作 等值连接当 θ \theta θ为“”时称为等值连接记作 自然连接是一种比较特殊的等值连接它要求两个关系中进行比较的分量必须是相同的属性组并且结果集中把重复的属性列去掉。 给定关系RA,B,C,D)和关系S(A,C,E,F)对其进行自然连接运算 R ⋈ S R\bowtie S R⋈S后属性列位 1与 σ R . B S . E ( R ⋈ S ) \sigma R.BS.E(R \bowtie S) σR.BS.E(R⋈S) 等价的关系代数表达式为2 1A. 4 B. 5 C. 6 D. 8 (2) KaTeX parse error: Got function \hskip with no arguments as superscript at position 1: \̲h̲s̲k̲i̲p̲1em\relax CB 下列查询B“大数据”且F“开发平台”结果集属性列为A,B,C,D,F的关系代数表达式中查询效率最高的是 六、数据库完整性约束
完整性规则提供了一种手段来保证当授权用户对数据库做修改时不会破坏数据的一致性因此完整性规则是为了防止对数据的以外破坏。
关系模型的完整性规则是对关系的某种约束条件。完整新共分为3类
实体完整性规定基本关系R的主属性A不能取空值.参照完整性若F是基本关系R的外码它与基本关系S的主码相对应基本关系R和S不一定是不同的关系则对于R中的每个元组在F上的值必须为或者取空值F 的每个属性值均为空值或者等于S中某个元组的主码值。用户定义完整性就是针对某一具体的关系数据库的约束条件反应某一具体应用所涉及的数据必须满足的语义要求由应用的环境决定。
S(Sno,Sname,SD,Sage,Sex):学生S关系模式属性为学号、姓名、系、年龄和性别
T(Tno,Tname,Age,Sex):教师T关系模式属性为教师号、姓名、年龄和性别关系代数表达式查询优化的原则如下
最早执行选取运算对于有选择运算的表达式应优化尽可能先执行选择运算的等价表达式以得到较小的中间结果减少运算量以及从外存读块的次数。合并乘积与其后的选择运算为连接运算。将投影运算与其后的其他运算同时进行以避免重复扫描关系。将投影运算和其前后的二目运算结合起来因为没有必要为去掉某些字段再扫描一遍关系。在执行连接前对关系适当地预处理就能快速地找到要连接的元组。存储公共子表达式对于有公共子表达式的结果应存于外存中间结果这样当从外存读出它的时间比计算机的时间少时就可以节约操作时间。
七、关系型数据库SQL简介
SQL是在关系数据库中最皮鞭使用的语言它不仅包含数据查询功能还包括插入、删除、更新和数据定义功能。
SQL具有综合统一、高度非过程化、面向集合的操作方式两个使用方式语言简洁且易学易用等特点。
SQL支持关系数据库的三级模式结构视图对应外模式、基本表对应模式、存储文件对应模式。
1、SQL数据定义
创建表修改和删除表创建和删除索引创建和删除视图
2、SQL数据查询
select查询简单查询连接查询子查询和聚集函数
3、SQL数据更新
插入删除修改
八、关系数据库的规范化
8.1 函数依赖
函数依赖设RU)是属性集U上的关系模式X和Y是U的子集。若对R的任何一个可能的关系rr中不可能存在的两个元组在X上的属性值相等而在Y上的属性值不等则称X函数决定Y或Y函数依赖于X记作X-Y.非平凡的函数依赖如果X-Y,但Y$\not\subset $X则称X→Y是非平凡的函数依赖。平凡的函数依赖如果X→Y但Y$\subset $X则称X→Y是平凡的函数依赖。完全函数依赖在R(U)中如果X→Y并且对于X的任何一个真子集X’都有X’不能决定Y则称Y对X完全函数依赖记作 X — f Y X{—}^fY X—fY。部分函数依赖如果X→Y但Y不完全函数依赖于X则称Y对X部分函数依赖记作XY。部分函数依赖也称局部函数依赖。传递依赖在R(U,F)中如果X→Y Y ⊊ X Y \subsetneq X Y⊊XY不能函数决定XY→Z则称Z对X传递依赖。
8.2 求候选码键
第一步将关系模式的函数依赖用“有向图”的方式表示。
第二步找入度为0的属性并以该属性集合为起点尝试遍历有向图若能正常遍历图中的所有结点则该属性即为关系模式的候选键。
第三步若入度为0的属性集不能遍历图中所有结点则需要尝试性的将一些中间节点既有入度也有出度的结点并入入度为0的属性集中直至该结合能遍历所有结点集合为候选键。 若给定的关系模式为RU{A,B,C},F{AB-C,C-B},则关系R 。 A.有2个候选关键字AC和BC并且有3个主属性 B.有2个候选关键字AC和AB并且有3个主属性 C.只有一个候选关键字AC,并且有1个非主属性和2个主属性 D.只有一个候选关键字AB并且有1个非主属性和2个主属性 解关系模式R的函数依赖关系表达式为 B 8.3 规范化理论非规范化存在的问题
非规范化的关系模式可能存在的问题包括
数据冗余、更新异常、插入异常、删除异常
SNOSNameDNODNAMELOCATIONS01张三D01计算机系1号楼S02李四D01计算机系1号楼S03王五D01计算机系1号楼S04赵六D02信息系2号楼…………………………
8.4 规范化理论概念
关系数据库设计的方法之一就是满足适当范式的模式。通常可以通过判断分解后的模式达到几范式来评价规范化的程度。
范式有1NF、2NF、3NF、BCNF巴斯克斯范式、4NF和5NF其中1NF级别最低。这几种范式之间有 5 N F ⊂ 4 N F ⊂ B C N F ⊂ 3 N F ⊂ 2 N F ⊂ 1 N F 5NF\subset 4NF \subset BCNF \subset 3NF \subset 2NF \subset 1NF 5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF成立。
通过分解可以将一个低一级范式的关系模式转换成若干个高一级范式的关系模式这种过程叫做规范化。
8.5 规范化理论范式
1、1NF第一范式
若关系模式R的每一个分量都是不可再分的数据项则关系模式R属于第一范式1NF。 【高级职称人数】可再分
2、 2NF第二范式
若关系模式$R\in 1NF , 且每个非主属性完全依赖于主键则关系模式 ,且每个非主属性完全依赖于主键则关系模式 ,且每个非主属性完全依赖于主键则关系模式R\in2NF$.换句话说当1NF消除了非主属性对码的部分函数依赖则称为2NF。
学生选课SC关系模式属性为学号Sno、课程号Cno)、成绩Grade和学分Credit 3、3NF第三范式
若关系模式R(U,F)中不存在这样的码X、属性组Y及非主属性Z(Z不属于Y),使得 成立则称关系模式R∈3NF。
换句话说当2NF消除了非主属性对码的传递函数依赖则称为3NF。3NF的模式必是2NF的模式。产生冗余和异常的两个重要原因是部分依赖和传递依赖 学生S关系模式属性为学号、姓名、系、年龄和性别
SnoSnameSDAgeSex01001贾皓听IS20男01002姚勇IS20男01003李晓红CS19女
4、BCNF(巴克斯范式)
【定义7-7】若关系模式REINF若X→Y且Y属于XX必含有码则关系模式R ∈ \in ∈EBCNF。
换句话说当3NF消除了主属性对码的部分和传递函数依赖则称为BCNF。
一个满足BCNF的关系模式应具有以下性质。
所有非属性对每一个码都是完全函数依赖。所有非主属性对每一个不包含它的码也是完全函数依赖。没有任何属性完全函数依赖于非码的任何一组属性。 设有关系模式R(A1,A2,A3,A4,A5,A6)其中函数依赖集F{A1→A2,A1A3→A4,A5A6→A1,A2A5→A6,A3A5→A6}则_55_是关系模式R的一个主键R规范化程度最高达 到(56) (55) A.A1A4 B.A2A4 C. A3A5 D.A4A5 (56) A. INF B.2NF C. 3NF D.BCNF CB 8.6 关系模式分解
对一个给定的模式进行分解使得分解后的模式是否与原来的模式等价有3种情况
分解具有无损连接性分解有要保持函数依赖。分解既要有无损连接性又要保持函数依赖。 例如有关系模式RA,B,C并且存在函数依赖A-B,B-C 分解为 R 1 ( A , B ) 和 R 2 ( B , C ) R_1(A,B)和R_2(B,C) R1(A,B)和R2(B,C)就是保持了函数依赖 若是分解为 R 3 ( A , C ) R_3(A,C) R3(A,C)就是破坏函数依赖 无损连接分解指将一个关系模式分解成若干个关系模式后通过自然连接和投影等运算仍然能还原到原来的关系模式。 有关系模式成绩学号姓名课程号课程名分数其中函数依赖学号-姓名课程号-课程名学号课程号)—分数 若将其分解为 成绩学号课程号分数 学生学号姓名 课程课程号课程名 由于有函数依赖学号→姓名 所以成绩(学号课程号分数姓名) 由于有函数依赖课程号一课程名 所以有成绩(学号课程号分数姓名课程名) 九、数据库的控制功能
9.1 事务管理
事务是一个操作序列是数据库环境中不可分割的逻辑工作单位。
事务的4个特性是原子性、一致性、隔离性、持久性
原子性事务的所有操作在数据库中要么全做要么全都不做。一致性一个事务的独立执行的结果将保持数据的一致性即数据不会因为事务的执行而遭受破坏。隔离性一个事务的执行不能被其他事务干扰。持久性一个事务一旦提交它对数据库中数据的改变必须是永久的即便系统出现故障时也是如此。
9.2 并发控制
并发操作时指在多用户共享的系统中许多用户可能同时对同一数据进行操作。
并发操作带来问题的原因是事务的并发操作破坏了事务的隔离性。
DBMS的并发控制子系统负责协调并发事务的执行保证了数据库的完整性不受破坏避免用户得到不正确的数据。 并发控制的主要技术是封锁。
排他锁X锁又称写锁若事务T对数据对象A加上X锁则只允许T读取和修改A其他事务都不能再对A加任何类型的锁直到T释放A上的锁。共享锁S锁又称读锁若事务T对数据对象加上S锁则只允许T读取A但不能修改A其他事务只能再对A加S锁直到T释放A上的S锁。 若事务T1对数据D1加了共享锁事务T2、T3分别对数据D2、D3加了排他锁则事务T1对数据1事务T2对数据2 1 A.D2、D3加排他锁都成功 B.D2、D3加共享锁都成功 C.D2加共享锁成功D3加排他锁失败 D.D2、D3加排他锁和共享锁都失败 2 A.D1、D3加共性锁都失败 B.D1、D3加共享锁都成功 C.D1加共享锁成功D3加排他锁失败 D.D1加排他锁成功D3加共享锁失败 DC 9.3 备份和恢复
人为错误、硬盘损坏、计算机病毒、断电或是天灾人祸等都有可能造成数据的丢失所以应该强调备份的重要性。
1静态转储和动态转储。静态转储是指在转储期间不允许对数据库进行任何存取、修改操作;动态转储是指在转储期间允许对数据库进行存取、修改操作因此转储和用户事务可并发执行。 2海量转储和增量转储。海量转储是指每次转储全部数据增量转储是指每次只转储上次转储后更新过的数据。 (3日志文件。在事务处理的过程中DBMS把事务开始、事务结束以及对数据库的插入、删除和修改的每一次操作写入日志文件。一旦发生故障DBMS的恢复子系统便利用日志文件撤销事务对数据库的改变回退到事务的初始状态。因此DBMS利用日志文件来进行事务故障恢复和系统故障恢复并可协助后备副本进行介质故障恢复。
数据恢复有3个步骤
反向扫描日志文件查找该事务的更新操作。对事务的更新操作执行逆操作。继续反向扫描日志文件查找该事务的其他更新操作并做同样的处理直到回到事务的开始标志。
十、数据仓库与数据挖掘基础
数据仓库DataWarehouse可简写为DW或DWH,数据仓库是为了企业所有级别的决策制定计划过程提供所有类型数据类型的战略集合。它出于分析性报告和决策支持的目的而创建。为需要业务智能的企业,为需要指导业务流程改进、监视时间成本质量以及控制等。数据仓库是依照分析需求、分析维度、分析指标进行设计的。 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合它用于支持企业或组织的决策分析处理。是为了便于多维分析和多角度展现而将数据按特定的模式进行存储所建立起来的关系型数据库它的数据基于OLTP源系统。 数据挖掘(DataMining)就是从大量的数据中提取隐藏在其中的事先不知道的但潜在有用的信息的过程。数据挖掘的目标是建立一个决策模型根据过去的行动数据来预测未来的行为。
分类
关联分析挖掘出隐藏在数据间的相互关系。序列模式分析侧重点是分析数据监的前后关系因果关系分类分析为每一个记录赋予一个标记再按标记分类。聚类分析分类分析法的逆过程。
方法
决策树神经网络遗传算法关联规则挖掘算法
十一、大数据基本概念
大数据一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
大数据处理系统应该具有的重要特征
高度可扩展性高性能高度容错支持异构环境支持异构环境较短的分析延迟易用且开放的接口较低成本向下兼容性
比较维度传统数据大数据数数据分析需求现有数据的分析与检测PB级或以上数据分析需求现有数据的分析与检测深度分析关联分析、回归分析硬件凭条高端服务器集群平台
数据库完结~~