数据库重点整理
- 格式:docx
- 大小:33.14 KB
- 文档页数:17
数据库系统概论知识点整理第一章:绪论数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。
概念模型实体,客观存在并可相互区别的事物称为实体。
属性,实体所具有的某一特性称为属性。
码,唯一标识实体的属性集称为码。
域,是一组具有相同数据类型的值的集合。
实体型,具有相同属性的实体必然具有的共同的特征和性质。
实体集,同一类型实体的集合称为实体集。
联系两个实体型之间的联系一对一联系;一对多联系;多对多联系关系模型关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。
这些操作必须满足关系完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。
数据库系统三级模式结构外模式,模式,内模式模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
模式的地位:是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
模式定义的内容:数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求外模式:(子模式/用户模式)数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据库和逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的系统的逻辑表示。
数据库复习资料1、数据库的基本概念概念模型数据模型分成两个不同的层次(1) 概念模型也称信息模型,它是按用户的观点来对数据和信息建模。
(2) 数据模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。
概念模型是现实世界到机器世界的一个中间层次。
相关概念:实体、实体型、实体集、联系、码、属性等实体(Entity)客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念。
实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型实体集(Entity Set)同型实体的集合称为实体集联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系两个实体型一对一联系(1:1)三个实体型一对多联系(1:n)一个实体型多对多联系(m:n)码(Key)唯一标识实体的属性集称为码。
属性(Attribute)实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
表示方法:E-R图数据模型:网状模型:网状模型是一个网络层次模型实际是网状模型的一个特例网状模型的条件允许一个以上的结点无父结点一个结点可以有多于一个的父结点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握;DDL、DML语言复杂,用户不容易使用关系模型:优点1、建立在严格的数学概念的基础上2、概念单一。
数据结构简单、清晰,用户易懂易用。
实体和各类联系都用关系来表示。
数据库基础知识整理与复习总结关系型数据库MySQL1、数据库底层MySQL数据库的底层是B+树。
说到B+树,先说下B树,B树也叫多路平衡查找树,所有的叶⼦节点位于同⼀层,具有以下特点:1)⼀个节点可以容纳多个值;2)除⾮数据已满,不会增加新的层,B树追求最少的层数;3)⼦节点中的值与⽗节点的值有严格的⼤⼩对应关系。
⼀般来说,如果⽗节点有a个值,那么就有a+1个⼦节点;4)关键字集合分布在整棵树中;5)任何⼀个关键字出现且只出现在⼀个节点中;6)搜索可能在叶⼦结点结束,其搜索性能等价于在关键字全集做⼀次⼆分查找。
B+树是基于B树和叶⼦节点顺序访问指针进⾏实现,它具有B树的平衡性,并且通过顺序访问指针来提⾼区间查询的性能,⼀个叶⼦节点中的key从左⾄右⾮递减排列。
特点在于:1)⾮叶⼦节点中含有n个关键字,关键字不保存数据,只作为索引,所有数据都保存在叶⼦结点;2)有的叶⼦节点中包含了全部关键字的信息及只想这些关键字记录的指针,即叶⼦节点包含链表结构,能够⽅便进⾏区间查询;3)所有的⾮叶⼦结点可以看成是索引部分,节点中仅包含其⼦树中的最⼤(或最⼩)关键字;4)同⼀个数字会在不同节点中重复出现,根节点的最⼤元素就是B+树的最⼤元素。
MySQL中的InnoDB引擎是以主键ID为索引的数据存储引擎。
InnoDB通过B+树结构对ID建⽴索引,在叶⼦节点存储数据。
若建索引的字段不是主键ID,则对该字段建索引,然后再叶⼦节点中存储的是该记录的主键,然后通过主键索引找到对应的记录。
因为不再需要全表扫描,只需要对树进⾏搜索即可,所以查找速度很快,还可以⽤于排序和分组。
InnoDB和MyISAM引擎都是基于B+树,InnoDB是聚簇索引,数据域存放的是完整的数据记录;MyISAM是⾮聚簇索引,数据域存放的是数据记录的地址。
InnoDB⽀持表锁、⾏锁、间隙锁、外键以及事务,MyISAM仅⽀持表锁,同时不⽀持外键和事务。
InnoDB注重事务,MyISAM注重性能。
数据库考试要点整理数据库考试要点整理 Last updated on the afternoon of January 3, 2021数据库考试要点整理(一)数据、数据库、数据库管理系统概念,DBMS提供的功能,数据语言(DDL,DML,DCL)数据:是描述事物的符号记录,是数据库存储的基本对象。
数据库:是长期存储在计算机内的、有组织的、可共享的数据集合。
数据库管理系统:是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。
DMBS功能:数据定义,数据操作,数据库的运行管理,数据组织、存储与管理,数据库的保护,数据库的维护、通信。
(二)数据管理的发展阶段及每个阶段的特点。
1.人工管理阶段。
特点:数据不保存、数据不具有独立性、数据不共享、有应用程序管理数据。
2.文件系统阶段。
特点:联机实时处理。
3.数据库系统阶段。
特点:数据独立、数据共享,解决数据冗余、数据完整性、安全性及并发控制等一系列问题。
(三)数据模型的概念,组成数据模型的三要素。
1.数据模型也是一种模型,它是现实世界数据特征的抽象。
2.数据模型的三要素:数据结构、数据操作和数据约束。
(四)概念模型,实体、属性、码、候选码、外码、域、实体型、实体集的概念。
1.实体:现实世界仲客观存在并可互相区分的事物叫做实体。
2.属性:实体的某一特性称为属性,如药品实体有药品代码、药品名称、规格等方面的属性。
3.码:唯一标识一个实体的属性或属性集,如药品的代码。
4.候选码:关系仲的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
5.外码:难以归纳,自行看书。
6.域:属性的取值范围。
7.实体型:若干个属性型组成的集合可以表示一个实体的类型,简称实体型。
8.实体集:同型实体的集合称为实体集。
(五)实体间的联系及E-R模型。
联系的类型:1.一对一联系。
2.一对多联系。
3.多对多联系。
E-R图的建立过程:1.首先确定实体。
2.确定联系类型。
3.把实体类型和联系类型组合成E-R图。
心之所向,所向披靡1、通常,一个数据库的数据模型由数据结构、数据操作和数据的约束条件三部分组成。
其中,数据结构和数据的约束条件为数据的静态特性。
2、数据模型实际上是模型化数据和信息的工具。
根据模型应用的不同目的,可以将模型分为两大类:概念层数据模型(概念模型)从数据的语义视角来抽取模型,是按用户的观点来对数据和信息进行建模。
组织层数据模型(逻辑模型)从数据的组织层次来描述数据。
3、数据模型中的组织层数据模型从数据的组织方式来描述数据,目前主要包括四种组织层数据模型:层次模型、网状模型、关系模型和对象-关系模型。
4、实体之间的联系可分为三种:一对一关系,一对多关系和多对多关系5、关系模型的操作对象是集合,也就是关系。
6、关系数据模型的数据操作主要包括四种:查询、插入、删除和修改数据。
7、关系模型的数据完整性约束包括:实体完整性、参照完整性和用户定义的完整性。
8、数据库系统的三级模式结构分别为:外模式( ),模式()和内模式( )。
9、中提供的整数数据类型有:和10、要在表中存储一个小数数据,具体要求如下:小数位保留三位,整数位最大有10位,应该选用的数据类型为(13,3)或(13,3)。
11、要在要在表中存储个人爱好资料,该资料可以不填,最多可填200汉字,应该选用的数据类型为(400)来定义。
12、统一字符编码字符串类型每个字符占两个字节。
13、一个汉字节两个字节。
名词解释1、什么是数据库,作用是什么?答:1、存放数据的一个有组织,有结构的系统。
2、一个软件系统。
1、数据存储2、数据查询3、数据管理4、数据共享5、数据挖掘6、数据安全2、什么是数据库系统,作用是什么?答:本质上是一个用计算机存储数据的系统,一般由数据库、数据库管理系统(及相关实用工具)、应用程序、数据库管理员组成。
主要作用除保存数据外,还提供对数据进行各种管理和处理:安全管理、数据共享、数据查询。
3、什么是数据库管理系统,作用是什么?答:是一个专门用于实现对数据进行管理和维护的系统软件。
UNIT 1四个基本概念1.数据(Data):数据库中存储的基本对象2.数据库的定义:数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合3.数据库管理系统(简称DBMS):位于用户与操作系统之间的一层数据管理软件(系统软件)。
用途:科学地组织和存储数据;高效地获取和维护数据主要功能: 数据定义功能; 数据操纵功能; 数据库的运行管理; 数据库的建立和维护功能(实用程序)4.数据库系统(Database System,简称DBS):指在计算机系统中引入数据库后的系统数据库系统的构成数据库数据库管理系统(及其开发工具)应用系统数据库管理员(DBA)和用户数据管理技术的发展过程人工管理阶段文件系统阶段数据库系统阶段数据库系统管理数据的特点如下(1) 数据共享性高、冗余少;(2) 数据结构化;(3) 数据独立性高;(4) 由DBMS进行统一的数据控制功能数据模型用来抽象、表示和处理现实世界中的数据和信息的工具。
通俗地讲数据模型就是现实世界数据的模拟。
数据模型三要素。
数据结构:是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面;数据结构是对系统静态特性的描述数据操作:对数据库中数据允许执行的操作及有关的操作规则;对数据库中数据的操作主要有查询和更改(包括插入、修改、删除);数据操作是对系统动态特性的描述数据的约束条件:数据及其联系应该满足的条件限制E-R图实体:矩形框表示属性:椭圆形(或圆角矩形)表示联系:菱形表示组织层数据模型层次模型网状模型关系模型(用“二维表”来表示数据之间的联系)基本概念:●关系(Relation):一个关系对应通常说的一张表●元组(记录): 表中的一行●属性(字段):表中的一列,给每一个属性名称即属性名●分量:元组中的一个属性值,分量为最小单位,不可分●主码(Key):表中的某个属性组,它可以唯一确定一个元组。
●域(Domain):属性的取值范围。
数据库系统概论复习重点第一章绪论1.数据库系统的基本概念:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。
2.数据库管理系统的主要功能:数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护。
3.数据模型的分类:概念模型、逻辑模型。
4.概念模型的表示:层次模型、网状模型、关系模型、面向对象模型、对象关系模型。
5.数据管理技术的产生和发展经历的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段。
6.实体是现实世界中客观存在,且能相互区别的。
7.数据模型的组成要素:数据结构、数据操作、数据的完整性的约束条件。
8.DBS包括DB和DBMS,而DB与DBSM是相互独立的。
9.概念模型独立于操作。
10.数据库三级结构有利于保证数据的安全性和独立性。
11.数据库物理存储视图为内模式12.用户通过DML语言对数据进行操作,其实是在操作外模式中的记录。
13.数据库系统的三级模式结构:外模式、模式、内模式。
14.有了“模式/内模式映像”可以保证数据的物理独立性。
15.数据库系统的核心是——数据库。
16.数据库系统的三级模式存在有二级映像,使之可以有较高的数据独立性。
17.数据库的外部存储方法和存储设备变化不影响逻辑结构,这种情况为物理数据独立性。
第二章关系数据库1.本章重点:关系数据库概念,可以用关系表达式来表达实际问题,可以用元祖表达式来表达实际问题,可以用域表达式来表达实际问题。
可以将这三种表达式相互转换。
2.关系代数运算:并、交、笛卡儿积、选择、投影。
3.常用的关系运算:关系代数、关系演算。
5.“列”可以出自一个域。
6.DBMS和OS之间的关系是:DBMS可以调用OS。
7.关系演算谓词变元可分为:元祖关系、演算关系、域关系演算。
8.若Sno由八位数组成,则此种情况称为:用户定义完整性。
9.一般情况下“R”“S”连接,则“R”“S”必有相同的属性。
数据库原理重点总结1.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
2.定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图。
3.试述关系模型的三个组成部分。
4.试述关系模型的完整性规则。
在参考完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?5.数据库安全性和计算机系统的安全性有什么关系?6.试述实现数据库安全性控制的常用方法和技术。
7.什么就是数据库中的独立自主存取控制方法和强制性存取控制方法?8.sql语言中提供了哪些数据控制(自主存取控制)的语句?举例说明它们的使用方法。
9.什么是数据库的完整性?10.数据库的完整性概念与数据库的安全性概念存有什么区别和联系?11.dbms的完整性掌控机制应当具备哪些功能?12.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(all-key)、1nf、znf、3nf、bcnf、多值依赖、4nf。
13.建立一个关于系、学生、班级、学会等诸信息的关系数据库。
14.在一个订货系统的数据库中,存有顾客、货物和订货单的信息。
15.试述数据库设计过程及各个阶段上的设计描述。
16.什么是数据库的完整性约束条件?可分为哪几类?17.下面的结论哪些就是恰当的?哪些就是错误的?对于错误的恳请得出一个反例表明之。
18.试述数据库概念结构设计的重要性和设计步骤。
19.什么就是数据库的逻辑结构设计?试述其设计步骤。
20.试述查阅优化的通常准则。
21.试述查阅优化的通常步骤。
23.数据库恢复的基本技术有哪些?24.mammalian操作方式可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?1.试述数据模型的概念、数据模型的作用和数据模型的三个要素。
【请问】数据模型就是数据库中用以对现实世界展开抽象化的工具,就是数据库中用作提供更多信息则表示和操作方式手段的形式构架。
数据模型就是严苛定义的概念的子集,这些概念准确叙述了系统的静态特性、动态特性和完整性约束条件。
数据库知识点总结pdf数据库是用于存储、管理和检索大量数据的系统。
以下是一些数据库的常见知识点总结:1. 数据库类型:- 关系型数据库(RDBMS):采用表格结构来组织数据,使用SQL语言进行操作,如MySQL、Oracle、SQL Server等。
- 非关系型数据库(NoSQL):不使用表格结构,可以按照键值对、文档、列族等方式存储数据,如MongoDB、Redis、Cassandra等。
2. 数据库模型:- 层次模型:数据以树形结构组织,父节点与子节点之间有层级关系。
- 网状模型:数据以网状结构组织,允许一个节点有多个父节点。
- 关系模型:数据以二维表格形式组织,通过键值关联实现数据之间的关系。
3. 数据库设计:- 实体-关系模型(ERM):通过实体和实体之间的关系来描述数据结构,包括实体、属性和关系。
- 数据库范式:用于规范化数据库结构,减少数据冗余和依赖。
- 主键和外键:主键用于唯一标识表中的每一行数据,外键用于建立表与表之间的关系。
4. SQL语言:- 数据定义语言(DDL):用于定义数据库结构,如创建表、修改表结构等。
- 数据操作语言(DML):用于对数据库中的数据进行增删改查操作,如插入数据、更新数据、删除数据等。
- 数据查询语言(DQL):用于查询数据库中的数据,如SELECT语句。
5. 数据库索引:- 索引是一种特殊的数据结构,用于加快数据检索的速度。
- 常见的索引类型包括主键索引、唯一索引、聚集索引和非聚集索引等。
6. 数据库事务:- 事务是一组数据库操作,要么全部执行成功,要么全部回滚。
- ACID原则是保证事务的一致性和可靠性的基本要求,包括原子性、一致性、隔离性和持久性。
7. 数据库性能优化:- 合理设计数据库结构,减少冗余和依赖。
- 使用索引来加快数据检索的速度。
- 优化SQL语句,避免全表扫描和大量JOIN操作。
- 设置合适的缓存策略,减少对磁盘IO的访问。
- 定期备份和维护数据库,保证数据的安全和稳定性。
数据库复习总结本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第一章数据库系统概论1.试述数据、数据库、数据库系统、数据库管理系统的概念。
数据:描述事物的符号记录称为数据。
数据的种类有文字、图形、图象、声音、正文等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引入数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。
用于科学地组织和存储数据、高效地获取和维护数据。
DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
2.什么是数据独立性数据独立性又分为哪两个层次为什么需要数据独立性数据独立性是用来描述数据与应用程序之间的依赖程度,包括数据的物理独立性和数据的逻辑独立性,依赖程度越低则独立性越高物理独立性是指用户的应用程序与存储在磁盘上的数据库的数据时相互独立的。
逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。
作用:数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
数据独立性是通过数据库管理系统的两层映像功能来实现3.什么是数据模型数据模型的基本要素有哪些为什么需要数据模型数据模型是描述数据语义、数据与数据之间联系(数据结构)、数据操作,以及一致性约束的概念和工具的集合数据模型的基本要素:①数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。
数据库复习基本知识1、数据库的4个基本概念:数据(描述事物的符号记录)、数据库(长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享概括的讲,数据库数据具有永久存储、有组织和可共享三个基本特点)、数据管理系统(DBMS)和数据库系统(DBS)2、数据库系统的特点:数据结构化(数据库系统实现整体数据的结构化,这是数据库的主要特征这一,也是数据库系统与文件系统的本质区别)、数据的共享性高、冗余度低且易扩充(数据共享可以大大减少数据冗余,节约存储空间,数据共享还能够避免数据之间的不相容性与不一致性)、数据的独立性高(物理独立性和逻辑独立性)、数据由数据库管理系统统一管理和控制(必须具备的4各控制功能1、数据的安全性保护2、数据的完整性检查3、并发控制4、数据库恢复)3、数据库的定义:数据库是长期存储在计算机内有组织、大量、共享的数据集合。
它可以提供各种用户共享,具有最小冗余度和较高的数据独立性。
数据库管理系统在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。
4、两大数据模型:1、概念模型(也称信息模型,主要用于数据库设计)2、数据模型(包括逻辑模型和物理模型逻辑模型主要用于数据库管理系统的实现)数据模型应满足三方面的要求:1、能比较真实的模拟现实世界2、容易为人所理解3、便于在计算机上实现<5、概念模型:它是按用户的观点来对数据和信息建模,主要用于数据库设计,从现实世界到概念模型的转换是由数据库设计人员完成的。
6、数据模型:它是对现实世界数据特征的抽象。
是用来描述数据、组织数据和对数据进行操作的。
数据模型是数据库系统的核心和基础。
包括逻辑模型(主要包括层次模型、网状模型、关系模型等。
它是按计算机系统的观点对数据建模,主要用于数据库管理系统的实现)和物理模型(对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方方法是面向计算机系统的)从概念模型到逻辑模型的转换可以有数据可设计人员完成,也可以用数据可设计工具协助设计人员完成;从逻辑模型到物理模型的转换主要由数据库管理系统完成。
数据库知识点数据库知识点:1. 什么是数据库?数据库是一种提供统一存储、管理、处理以及检索数据的应用程序。
它把大量信息封装到一些表、表中的字段和表之间关系的集合中。
由此存储的数据能够方便地用来生成不同的报表。
数据库的灵活性、稳定性和可靠性确保它能够最大限度地满足当今软件应用所需的高安全性及高可靠性的要求。
2. SQL语句SQL(Structured Query Language,结构化查询语言)是一种用于访问或操作关系数据库,以管理关系数据,进行查询,修改,删除,查看等相关操作的专业语言。
它是数据库软件不可或缺的一种重要交互语言,它提供数据库系统,数据管理系统,数据一体化应用系统,数据仓库等系统的开发和管理的方式。
3. 数据库管理系统数据库管理系统(DBMS)是管理数据库的软件系统,它包括数据库结构管理,数据存取控制,安全服务等内容。
它把用户无需了解复杂的数据库结构和数据存放细节,使用自然语言,如SQL语句来管理数据库和实现某些数据库服务,如数据排序,安全控制,索引等服务。
4. 数据库安全数据库安全是指确保数据库的信息资产,在获取、使用、传播或者变更8期间,不被非法使用,或不因其他原因受到损害的技术和管理制度。
总而言之,它是确保数据库的稳定正常运行,保证数据安全的技术和管理过程。
数据库安全的内容包括备份和容灾、审计、认证、授权、安全策略等方面。
5. 数据库优化数据库优化是指优化数据库查询性能,让数据库能够更高效地工作,提高数据库的可用性。
数据库优化主要包括对存储引擎、数据库设计、数据库查询、系统调优、表级优化等多个环节进行优化,以期达到性能提升的目的。
6. NoSQL数据库NoSQL数据库指的是非关系型数据库,也叫做分布式数据库或Notonly SQL,它是数据库的一种替代方案,它支持大数据量的灵活存储,并具备高度可扩展性,高可用性,高容错性等特点,能够处理结构化,半结构化和非结构化数据,并且不再局限于SQL语句。
数据库期末知识总结一、数据库的基本概念与原理1. 数据库的定义数据库是一个按照特定数据模型组织、存储和管理数据的仓库,可以对数据进行高效的存储和管理。
2. 数据库管理系统(DBMS)数据库管理系统是管理数据库的软件系统,它提供了数据的存储和查询等功能,并保证数据的完整性和安全性。
3. 数据模型数据模型是数据库中数据的表示方式,常见的数据模型有层次模型、网状模型和关系模型。
4. 关系模型关系模型是一种使用表(关系)来表示和管理数据的数据模型,由具有相同结构的元组(行)组成。
5. 数据库的三级模式数据库的三级模式包括外部模式、概念模式和内部模式。
外部模式是用户对数据的逻辑视图,概念模式是数据库的全局逻辑结构,内部模式是数据库的存储方式和物理结构。
6. 数据库的完整性数据库的完整性是指数据的正确性和一致性。
常见的完整性约束有实体完整性、参照完整性和用户定义的完整性。
7. ACID特性ACID是数据库事务的四个基本特性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
二、数据库的设计与规范1. 数据库设计的步骤数据库设计的步骤包括需求分析、概念设计、逻辑设计和物理设计。
需求分析是明确用户需求,概念设计是将需求转化为概念模型,逻辑设计是将概念模型转化为逻辑模型,物理设计是将逻辑模型转化为物理模型。
2. 结构化查询语言(SQL)SQL是用于与数据库进行交互的标准语言,包括数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)等。
3. 关系数据库的规范化关系数据库的规范化是消除冗余和依赖的过程,包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)等。
4. 数据库的索引数据库的索引是提高查询性能的关键,常见的索引有B树索引、哈希索引和全文索引等。
5. 数据库的视图数据库的视图是基于表或查询结果构建的虚拟表,可以简化数据的访问和操作。
数据库知识点总结归纳数据库知识点总结归纳一、基本概念1、数据(1)数据的定义:对客观事物的符号表示,如图形符号、数字、字母等,数据是数据库中存储的基本对象。
(2)数据的种类:文字、图形、图像、声音(3)数据的特点:数据与其语义是不可分的2、数据库数据库(DataBase简称DB)是按照数据结构来组织、存储和管理数据的仓库。
3、数据库管理系统(比如:MySql)(1)数据库管理系统(Database Management System 简称DBMS)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库。
(2)关系型数据库管理系统称为RDBMS,R指Relation。
(3)DBMS的作用:它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
4、数据库系统数据库系统(Database System,简称DBS),是由数据库及其管理软件组成的系统。
5、数据库管理员数据库管理员(Database Administrator,简称DBA),负责全面管理和控制数据库系统。
6、DBA、DBMS、DB和DBS之间的关系7、数据库的优点(1)数据按一定的数据模型组织、描述和储存(2)可为各种用户共享(3)冗余度较小,节省存储空间(4)易扩展,编写有关数据库应用程序二、数据库管理系统(DBMS)1、DBMS的主要功能(1)数据定义功能:提供数据定义语言(DDL)用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列(有时是选键方法)、文件位置和存储策略,包括命令:DROP(删除数据库)删除数据库:drop database if exists 数据库名CREATE(创建数据库)创建表:create table if not exists 表名(列名列名约束)ALTER(修改数据库)添加列名:alter table 表名add 列名约束条件修改列名:alter table 表名change 老列名新列名数据类型修改列字段数据类型:alter table 表名modity 列名数据类型删除列名:alter table 表名drop 列名修改表名:alter table 表名rename 新表名GRANT(赋予权限)REVOKE(从当前用户或组中取消权限)、TRUNCATE(只删除表中的所有数据,不删除表的结构)注意:truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。
数据库原理重要知识点1.数据库模型:数据库模型定义了数据如何组织和表示的方式。
常见的数据库模型包括层次模型、网状模型和关系模型。
其中,关系模型是最广泛应用的模型,它使用表来表示实体和关联的关系。
2.数据库设计:数据库设计是根据需求规范和业务逻辑将现实世界的数据映射到数据库模式的过程。
设计数据库时需要考虑数据的完整性、一致性、可靠性和性能等方面。
常见的数据库设计方法包括实体关系模型(ERM)和规范化。
3.数据库范式:数据库范式是用来检验关系模式是否满足其中一种规范化要求的概念。
常见的数据库范式包括第一范式、第二范式和第三范式。
范式化可以确保数据库的关系模式中无多余和冗余的数据,提高数据的一致性和完整性。
4.数据库查询语言:数据库查询语言用于检索和操作数据库中的数据。
常见的查询语言有结构化查询语言(SQL)和关系代数。
SQL是一种声明式的语言,可以用来从数据库中查询和操作数据。
5.事务管理:事务是一组数据库操作的逻辑单元,它要么全部执行成功,要么全部回滚。
事务管理是数据库保证数据的完整性和一致性的重要机制。
常见的事务管理技术有ACID(原子性、一致性、隔离性和持久性)和并发控制。
6.索引:索引是一种数据结构,用于加快查询的速度。
数据库中的索引可以根据一个或多个列的值来排序和数据。
常见的索引类型包括B树索引、哈希索引和全文索引。
7.数据库优化:数据库优化是提高数据库性能的一种方法。
它包括物理存储优化、查询优化和并发控制优化等方面。
数据库优化可以减小数据库的存储空间,提高数据的访问速度,增强数据库的并发能力。
8.数据库备份与恢复:数据库备份是将数据库的副本保存到另一个位置,以防止数据的丢失和损坏。
数据库恢复是在数据库发生故障或数据丢失时还原数据库到之前的状态。
常见的备份与恢复方法有全备份、增量备份和事务日志。
9.数据库安全性:数据库安全性是保护数据库免受非法访问和恶意攻击的一种措施。
它包括用户认证、访问控制、审计和加密等方面。
数据库ppt整理:1.数据库(DataBase,DB)是指长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并为各种用户共享。
概括而言,数据库具有永久存储和易扩展性,并为各种用户共享.2.数据(data)是承载或记录信息的按一定规律排列组合的物理符号,是形成信息的源泉,是计算机程序加工的“原料”。
简单地说,数据是对客观事物描述与记载的物理符号记录。
数据有多种表现形式,可以是文字、图形、图像、声音、语言等.3.信息(information)泛指人类社会传播的一切内容.一般而言,信息是一种被加工成为特定形式的数据,是数据的集合、含义与解释,是事物变化、相互作用、特征的反映。
当前,信息已成为人类社会活动的一种重要资源,与能源、物质并称人类社会活动的三大要素。
4.信息资源与能源、物质资源相比(1)能够重复使用,能在使用中体现自身价值并产生增值;(2)具有极强的目标导向,即使是相同的信息在不同的用户中也体现出不同的价值;(3)具有整合性,信息资源的检索和利用,不受时间、空间、语言、地域和行业的制约;(4)是社会财富,任何人无权全部或永久购买信息的使用权;同时信息资源是商品,可以被销售、贸易和交换;(5)具有流动性。
5。
信息与其它相关概念★ 信息与消息比较,消息是信息的外壳,信息是消息的内核;★ 信息与信号相比,信号是信息的载体;★ 信息与数据比较,数据是信息存在的一种形态或记录形式,数据经过解释并赋予一定意义之后,便成为信息。
★ 信息与知识相比,知识是事物运动状态和方式在人们头脑中一种有序的、规律性的表达,是信息加工的产物。
6. 数据与信息的关系◎ 数据是信息的符号表示,也称载体;◎ 信息是数据的内涵,是数据的语义解释;◎ 数据是符号化信息;◎ 信息是语义化数据。
7。
数据处理数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和.信息处理的目的:一是从大量的、原始的数据中抽取、整理出对人们有价值的信息,以作为行动和决策的依据;二是借助计算机科学地保存和管理复杂、大量的数据,以便方便利用这些资源.8。
1.数据管理的几个阶段及其对比1人工管理阶段2.文件系统阶段3.数据库系统阶段2.数据库三级模式外模式、模式、内模式;外模式又称子模式或用户模式,对应于用户级;它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示;模式又称概念模式或逻辑模式,对应于概念级;它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述;内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库;3.物理数据独立性和逻辑数据独立性物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的;即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变;逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变;4.DB、DBMS、DBSDB:Database数据库:数据库Database是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库;DBMS:数据库管理系统:数据库管理系统Database Management System是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMSDBS:数据库系统:DBS 即Database System,中文意为“数据库系统”,是指带有数据库并利用数据库技术进行数据管理的计算机系统;数据库系统DBS一般由4个部分组成:①数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合;②数据库管理系统DBMS;它是一组能完成描述、管理、维护数据库的程序系统;它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作;③数据库管理员DBA;④用户和应用程序;5.DBMS的功能数据定义;数据操作;数据库的运行管理;数据组织、存储与管理;数据库的保护;数据库的维护;通信;6.数据库管理系统的组成、主要模块:存储管理和事务处理查询处理器:DDL编译器、DML编译器、嵌入式DML的预编译器和查询运行核心程序;存储管理器:权限和完整性管理器、事物管理器、文件管理器和缓冲区管理器;7.DBA及其作用DBA是对系统进行集中控制的人,被称为数据库管理员;主要作用有:模式定义;存储结构及存取方法定义;模式及物力组织的修改;数据访问授权;日常维护;8.数据模型概念模型、结构模型概念模型;逻辑模型;物理模型;概念模型Conceptual Data Model,是面向数据库用户的现实世界的模型,主要用来描述世界的概念化结构;在概念数据模型中最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型;逻辑模型Logical Data Model,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型Network Data Model、层次数据模型Hierarchical Data Model等等;此模型既要面向用户,又要面向系统,主要用于数据库管理系统DBMS的实现;物理模型Physical Data Model,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关;9.关系模式关系的描述称为关系模式Relation Schema通常简记为:RU或RA1,A2,…,An其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名;10.超码、候选码、主码超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体;如果K 是一个超码,那么K的任意超集也是超码,也就是说如果K是超码,那么所有包含K的集合也是超码;候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合;因为超码的范围太广,很多是我们并不感兴趣即无用处的;所以候选码是最小超码,它们的任意真子集都不能成为超码;主码:从多个候选码中任意选出一个做为主码,如果候选码只有一个,那么候选码就是主码;11.强实体、弱实体及其区别其定义为一个实体对于另一个实体一般为强实体,也可以是依赖于其他强实体的弱实体具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体或者对应的弱实体依赖的强实体中获得,则称该实体为弱实体;注:在现实世界中,有时某些实体对于另一些实体有很强的依赖关系,即一个实体的存在必须以另一实体的存在为前提;前者就称为“弱实体”,后者称为“强实体”;比如在人事管理系统中,职工子女的信息就是以职工的存在为前提的,子女实体是弱实体,子女与职工的联系是一种依赖联系;表示方法:在ER模型中也称实体-联系图Entity Relationship Diagram,弱实体用双线矩形框表示;与弱实体的联系用双线菱形框表示;注意:强实体与弱实体的联系只能是1:1或1:N;弱实体参与联系时应该是“完全参与”,因此弱实体与联系间的联系也画成双线边;12.关系代数基本操作:选择、投影、并、差、笛卡尔乘积、更名运算;附加的关系代数运算:集合交、连接θ连接、自然连接、除、赋值;拓展的关系代数:广义投影、聚集函数、外连接;13.自然连接、外连接及其适用场合自然连接:在连接运算当中,一种最常用的连接是自然连接;如果关系R与S具有相同的属性组B,且该属性组的值相等时的连接称为自然连接,;结果关系的属性集合为R的属性并上S减去属性B的属性集合R和S自然连接可记作:RS={t r⌒ts tr∈R∧ts∈S∧trA=tsB}自然连接也可看作是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系;外连接:如果把舍弃的元组也保存在结果关系中,而在其他属性上空值,那么这种连接就叫外连接;如果只把左边关系R要舍弃的元组保留就叫左外连接,如果只把右边关系S中要舍弃的元组保留右外连接;自然连接与等值连接的区别1. 等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两关系只有在同名属性才能进行自然连接;2. 等值连接不将重复属性去掉,而自然连接去掉重复属性,也可以说,自然连接是去掉重复列的等值连接;14.视图及其作用视图是从一个或几个基本表或视图导出的表;它与基本表不同,是一个虚表;数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中;视图的作用1. 视图能够简化用户的操作2. 视图使用户能以多种角度看待同一数据3. 视图对重构数据库提供了一定程度的逻辑独立性4. 视图能够对机密数据提供安全保护5. 适当的利用视图可以更清晰的表达查询;15.SQL标准的发展SQL-86:“数据库语言SQL”SQL-89:“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持SQL-92:“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等;SQL-399年:新的标准,增加对面向对象模型的支持16.DDL、DML、DCLDDLData Definition Language 数据定义语言用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop 和Alter上;DMLData Manipulation Language 数据操控语言用于操作数据库对象中包含的数据,也就是说操作的单位是记录;如insert、update、delete等对记录的操作;DCLData Control Language 数据控制语句的操作是数据库对象的权限,这些操作的确定使数据更加的安全;17.嵌入式SQL、宿主语言嵌入式SQL英文: Embedded SQL是一种将SQL语句直接写入C语言等编程语言源代码中的方法;借此方法,可使得应用程序拥有了访问数据以及处理数据的能力;在这一方法中,将SQL文嵌入的目标源码的语言称为宿主语言;18.ODBC、JDBC开放数据库连接Open Database Connectivity,ODBCJDBCJava Data Base Connectivity,java数据库连接是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成;19.数据库完整性及其主要措施数据库完整性Database Integrity是指数据库中数据的正确性和相容性,要防止不合语义的数据进入数据库;保证数据库完整性的措施主要有:完整性约束、触发器;完整性约束包括:非空约束、主键约束、check约束、唯一约束、参照完整性约束、断言; 20.触发器及其功能触发器是一种特殊的存储过程,它在试图更改触发器所保护的数据时自动执行触发器有如下作用:可在写入数据表前,强制检验或转换数据;触发器发生错误时,异动的结果会被撤销;部份数据库管理系统可以针对数据定义语言DDL使用触发器,称为DDL触发器;可依照特定的情况,替换异动的指令INSTEAD OF;21.数据库安全性及其主要措施数据库安全性:保护数据库,防止不合法的使用造成的数据泄露、更改或破坏;22.范式、各范式之间的关系范式是符合某一种级别的关系模式的集合;关系数据库中的关系必须满足一定的要求,满足不同程度要求的为不同范式第一范式:第一范式是为了要排除重复组的出现,所采用的方法是要求数据库的每个列的值域都是由原子值组成;每个字段的值都只能是单一值;第二范式:它的规则是要求数据表里的所有数据都要和该数据表的键主键与候选键有完全依赖关系:每个非键属性必须独立于任意一个候选键的任意一部分属性;第三范式:要求所有非键属性都只和候选键有相关性,也就是说非键属性之间应该是独立无关的;BCNF:BCNF与第三范式的不同之处在于:第三范式中不允许非主属性被另一个非主属性决定,但第三范式允许主属性被非主属性决定;而在BCNF中,任何属性包括非主属性和主属性都不能被非主属性所决定;任何一个BCNF必然满足:所有非主属性都完全函数依赖于每个候选键所有主属性都完全函数依赖于每个不包含它的候选键没有任何属性完全函数依赖于非候选键的任何一组属性23.函数依赖:完全依赖、部分依赖、传递依赖、多值依赖完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’→Y,则称Y完全函数依赖于X;部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y 部分函数依赖于X;传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→YY →X,Y→Z,则称Z传递函数依赖于X;多值函数依赖:设RU是一个属性集U上的一个关系模式, X、Y和Z是U的子集,并且Z=U-X -Y;关系模式RU中多值依赖X→→Y成立,当且仅当对RU的任一关系r,给定的一对x,z值,有一组Y的值,这组值仅仅决定于x值而与z值无关平凡函数依赖:当关系中属性集合Y是属性集合X的子集时YX,存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖;非平凡函数依赖:当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖;24.规范化的主要目的:消除冗余使结构合理,使数据冗余尽量小,清除插入,删除和更新异常.25.无损连接分解、无损链接分解:关系模式R<U,F>的一个分解ρ={ R1<U1,F1>,R2<U2,F2>, …,Rn<Un,Fn>}若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性Lossless join保持函数依赖分解:设关系模式R<U,F>被分解为若干个关系模式R1<U1,F1>,R2<U2,F2>,…,Rn<Un,Fn>其中U=U1∪U2∪…∪Un,且不存在Ui Uj,Fi为F在Ui上的投影,若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的Preserve dependency;26.索引在关系数据库中,索引是一种单独的、物理的数对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单;索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容;27.建立索引的优缺点优点:通过创建唯一索引,可以保证数据记录的唯一性;可以大大加快数据检索速度;可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义;在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显着减少查询中分组和排序的时间;缺点:但过多的索引会多耗费空间,且降低了插入、删除、更新的效率;28.主索引、辅助索引主索引:在顺序排序的文件中,搜索键指定文件的顺序的索引;也称为聚类索引,主索引的搜索键通常但不一定是主键;辅助索引:搜索键指定与文件顺序不同的顺序的索引; 也称为非聚类索引;29.稠密索引、稀疏索引稠密索引- 对文件中的每个搜索键值显示索引记录;稀疏索引- 某些搜索键值的索引记录;30.查询处理、查询处理的一般过程第一步:语法分析和翻译;第二步:优化查询;第三步:执行查询31.决定查询代价的主要因素磁盘读写;CPU;内存;网络;32.查询优化的目的及一般原则查询优化:对于给定的查询选择代价最小的操作序列,使查询过程既省时间,具有较高的效率,这就是所谓的查询优化;一般原则1 选择运算尽早进行;在优化策略中这是最重要、最基本的一条;它常常可使执行时节约几个数量级,因为选择运算一般使计算的中间结果大大变小;2 投影运算尽早进行;3 投影运算与选择运算可同时进行;如有若干投影和选择运算,并且它们都对同一个关系操作,则可以在扫描此关系的同时完戌所有的这些运算以避免重复扫描关系;4 将笛卡儿积与随后的选择运算合并为连接运算;5 投影运算与其他运算同时进行;33.事务以及事务的ACID性质事务Transaction是访问并可能更新数据库中各种数据项的一个程序执行单元unit原子性:一个事务transaction中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节;事务在执行过程中发生错误,会被回滚Rollback到事务开始前的状态,就像这个事务从来没有执行过一样;一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏;这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可以自发性地完成预定的工作;隔离性:数据库允许多个并发事务同时对齐数据进行读写和修改的能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致;事务隔离分为不同级别,包括读未提交Read uncommitted、读提交read committed、可重复读repeatable read和串行化Serializable;持久性:事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失;34.事务的主要状态35.并行调度在并行调度中,来自不同事务的指令可以交叉执行;当并行调度等价于某个串行调度时,则称它是正确的36.并行调度有可能引起的问题重点:丢失修改丢失修改;读脏数据;不能重复读37.可串行性的并行调度每个事务中,语句的顺序在各种调度中始终保持一致;在这个前提下,如果一个并发调度的执行结果与某一串行调度的执行结果等价,则称该并发调度为“可串行化调度”,否则称为“不可串行化调度”;38.封锁并发控制的主要技术是封锁Locking;某事务对某个数据操作之前,先对其加锁,其他事务不能更新加锁的数据,直到释放封锁为止39.死锁及其解决办法Deadlock死锁:两个事务处于相互等待状态,永远不能结束;解决方法:撤销不重要的事务;死锁的预防一次封锁法:要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行;顺序封锁法:预先对数据对象规定一个封锁顺序,所有事务都按这个顺序实行封锁;40.独占锁或排他锁和共享锁1 排他锁X锁或WLOCK某事务对数据加上排他锁,该事务可读写数据,其他事务不能再对数据加任何类型的锁,也就不能读写该数据,只有等待开锁2 共享锁S锁或RLOCK1.允许其他事务对同一数据进行检索,但不得对同一数据进行修改操作2.若事务T对数据对象A加上S锁,则事务可以T读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁;这就保证了其它事务可以读A,但在T释放A上的S锁之前不能对A做任何修改;41.两段锁协议两段锁协议是指每个事务的执行可以分为两个阶段:生长阶段加锁阶段和衰退阶段解锁阶段;加锁阶段:在该阶段可以进行加锁操作;在对任何数据进行读操作之前要申请并获得S锁,在进行写操作之前要申请并获得X锁;加锁不成功,则事务进入等待状态,直到加锁成功才继续执行;解锁阶段:当事务释放了一个封锁以后,事务进入解锁阶段,在该阶段只能进行解锁操作不能再进行加锁操作;结论:1 若并行执行的所有事务均遵守两段锁协议,则对这些事务的所有并行调度策略都是可以串行化的2 所有遵守两段锁协议的事务,其并行执行的结果一定是正确的3 但可串行化的调度中,不一定所有事务都必须符合两段锁协议42.恢复计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失,因此数据库管理系统恢复子系统必须具有把数据库从错误状态恢复到某一已知的正确状态亦称为一致状态或完整状态的功能,这就是数据库的恢复;43.完全备份与增量备份差异备份完全备份:备份数据库和日志;增量备份:只备份自上次全面备份以来数据库发生的变化部分;44.C/S结构、B/S结构C/S 结构:即大家熟知的客户机和服务器结构B/S结构Browser/Server:浏览器/服务器模式45.分布式数据库系统分布式数据库系统DDBS包含分布式数据库管理系统DDBMS和分布式数据库DDB;在分布式数据库系统中,一个应用程序可以对数据库进行透明操作,数据库中的数据分别在不同的局部数据库中存储、由不同的DBMS进行管理、在不同的机器上运行、由不同的操作系统支持、被不同的通信网络连接在一起;。
所有内容主要针对期末考试卷内容,也具有一定数据库这门课程的重点指向性。
所有写的内容为老师期末考试之前统一带着复习时所说的重点没有写的或者空着的就是老师当时没说的蓝色字体表示比较重要的专业名词红色字体表示重要的程度第一章:1.数据模型的三个要素数据结构,数据操作,完整性约束2.数据库领域常用的逻辑模型层次网状关系,最常用的是关系数据模型3.E-R图是一定要掌握的,一定要会画实体-矩形框联系-菱形框画E-R图时要注意几个点:a.每一个实体一定要画上属性b.联系和联系之间是一对一还是多对多一定要画上4.三级模式结构外模式模式内模式哪两个映像保证了哪两个独立性这个一定要清楚怎么保证的外模式就是我们说的子模式,也就是数据库里的视图一个数据库里的模式有1个,内模式有?个,外模式有多个第二章:1. 什么叫关系的域简单来说,就是一个属性的取值范围,它的取值是整型还是字符串型2. 什么叫笛卡儿积要会求笛卡儿积,其他的像选择,投影,自然连接等都要会求,看清楚题目是求等值连接还是自然连接,这两个是不一样的3. 什么叫关系关系的元组是什么,属性是什么4.提到关系有一组码的概念一定要清楚候选码主码外部码这三个码的概念非常重要候选码:它能够唯一的标识出整个元组来,候选码不是只有一个属性,有可能是一个或多个属性,候选码的属性不能是空值主码:多个候选码中选定一个作为主码外部码:一个属性它在当前这个关系中不是码,但是它和另外一个关系当中的主码相对应,我们就说这个属性是当前这个关系的一个外部码。
外部码与参照完整性密切相关在外部码中要知道哪一个是参照关系,哪一个是被参照关系外部码的取值约束:外部码的取值不是任意的,或者为空,或者为所参照关系的主码的某一个值全码:所有的属性全部加在一起才能当作码,其中任一部分都不能构成码的叫全码在多值依赖里全码的例子比较多5.关系数据模型的第二个要素关系数据操作我们分为三大类关系代数关系演算SQL关系代数是考察的重点关系代数的两种考察方法:1.考计算题 2.考表达式8种运算符:4种集合运算符(并,交,差,笛卡儿积)这四个求结果一定要会求求结果时先把属性列写出来。
4种专门的关系运算符(选择,投影,连接,除)符号不要写错选择:选出来满足条件的元组(从行的角度来进行运算)投影:选出来感兴趣的属性列,投影运算对结果的行数也有可能使其发生改变,比如说只在性别上做投影,相同的行就会消去。
连接:一定要分清楚自然连接和等值连接。
自然连接和等值连接有两个区别:1.做自然连接时,两个连接的关系R和S必须要有公共的属性列2.自然连接结果要把重复的去掉除:4种连接运算的实现:(也是一个重点,要求会用自己的语言解释这4种连接运算具体怎么做的,并且会举例子,课本上都有,重点掌握前两个,嵌套连接和排序合并,Hash连接和索引连接有时间就看一下)a.嵌套循环当时讲了两种情况:一种是R和S直接在内存中连接起来一种是内存不够了需要分块把它连接起来,我们还讨论了到底是关系小的当作外层的表还是大的当作外层的表。
对大家主要要求第一种情况要知道外层循环的表读了多少遍,内层循环的表读了多少遍假设Student表是外层循环,Student中有n个元组,Student和SC做连接,Student表读了一遍,SC表读了n遍。
b.排序合并就上面那个问题,在排序合并的方法中,Student表读了1遍,SC表也是读了一遍。
c.索引连接d.Hash Join关系演算这一次不做要求,不要求大家掌握SQL是具有关系代数和关系演算双重特点的一种语言在SQL里我们讲的全称量词,蕴含谓词大家如果觉得很难理解可以到前面关系演算里面看一看,虽然关系演算我们不要求大家会写,但是里面的思想可以帮助我们理解全称量词啊逻辑蕴含这些思想6.提到对关系的操作呢主要是4大类查询插入删除修改对关系代数来说呢它的查询操作主要有8种,刚才已经说了,有4种是集合所专门的,有4种是关系代数所专门的。
在这8种运算符里,有5种是基本的运算符,它们是并,差,笛卡儿积,选择,投影,这5种是缺一不可的。
另外三种不是基本的,也就是交,连接,除,因为它们可以由基本的5种给推导出来,如何推导不要求。
7.三类完整性约束刚刚讲了关系数据模型的数据结构是关系。
这个一定要知道。
数据操作有:关系代数,关系演算,SQL现在来讲一下完整性约束。
关系数据模型有三类完整性约束:实体完整性约束参照完整性约束用户定义的完整性约束一定要知道这三种完整性约束的定义实体完整性约束:主码的属性不能是空。
参照完整性约束:用户定义的完整性约束:第三章:1. 对SQL考察主要让大家写查询,掌握基本的查询。
掌握建表(注意定义主码和外部码的写法,尤其是主码是多个属性的情况),建视图。
2. 关于SQL与三级模式结构这个了解一下就可以了SQL访问基本表时直接操作的是模式SQL对视图的访问就是对外模式的访问SQL对存储文件的访问是内模式3. 创建表和删除表CREATE TABLEDROP TABLE注意drop和delete的区别:DROP TABLE是整个表的表结构给删除掉,DELETE删除的是数据。
4. 查询SELECT FROM WHEREGROUP BY 和HAVING 这两个一定要会写ORDER BY代码执行顺序:先从from指定的这个关系中把这个表找出来,然后根据where条件挑选出满足条件的元组来,然后如果有group by语句还要进行分组,分组之后呢选出来列去进行排序。
having和where的区别一定要清楚:having是对分组进行判断,如果条件是想对分组起作用,那条件写到having中;如果条件是想对所有元组起作用,那条件写到where里面。
数据查询中,单表查询,连接查询,嵌套查询都要考。
单表查询中要注意分组的情况(比较难),另外还要注意5个聚集函数:COUNT,SUM,AVG,MAX,MIN连接查询也是考查的一个重点。
在写连接时一定要注意写连接条件,经常有同学忘了写。
连接我们学的主要有:等值连接,关系和关系的自身连接,外连接,多表连接。
经常遇到课本上的一个例题就是“先修课的先修课”,这个一定要弄清楚,在这种自身连接的时候呢一定要注意给它取别名嵌套查询也是经常遇到的,把一个SELECT FROM WHERE这样的一个块嵌套到其他的WHERE条件里面,我们就说这是一个嵌套查询。
注意:嵌套在里面的子查询是不能ORDER BY的,因为ORDER BY是对最终的结果来进行排序。
讲到嵌套查询的时候有一组很重要的概念,就是相关子查询和不相关子查询相关子查询:不可以独立执行,如果父查询不给它传递一个参数它就没法执行了。
整个查询语句由外向内执行,从父查询到子查询。
不相关子查询:查询条件不依赖于父查询,可以独立执行,不需要父查询给它传递一个参数。
整个查询语句由内向外执行,从子查询到父查询。
在查询里面有一个带有EXISTS的查询,是比较难的,大家一定要理解。
一定要注意的就是说存在不存在它只返回true或者是false的值,它实际的列值是没有意义的,所以它的表达式一般都是用*号来表示在EXISTS中,全称问题和蕴含问题也是SQL里面比较难的,全称:比如说查询选修了全部课程的学生,那就是说不存在一个课程,他没有选修;那查询没有选修全部课程的学生就是存在一个课程这个学生没选。
蕴含:比如说P逻辑蕴含Q就是非P或Q(打不出符号来只能用文字表达。
流汗-_-`` )比如查询至少选修了甲同学选修的全部课程的学生,可以转换成不存在这样一门课,甲同学选修了,而这个学生没选。
上面两个问题中的例子是SQL查询里面最难的,大家要理解一下,写查询的时候写出来就可以。
集合查询我们就不详细说了,因为集合查询用其他方法也可以写出来。
记住:写SQL代码时只要能实现功能,写对就行了,不管用的是哪一种语句和哪一种连接。
5.数据的更新包括三种情况:插入,删除,修改插入:insert一定要会带有子查询的插入语句。
删除:delete一定要会带有子查询的删除语句。
修改:update一定要会带有子查询的修改语句。
子查询一定要写到等号的右边,这个一定要记住。
6.视图CREATE VIEW视图是从一个或多个基本表里面导出的表和基本表的最基本的区别是视图是一个虚表,视图里面不存放数据,它只是一个定义,它只是一个SQL的语句,数据是放在基本表里的。
不是所有的视图都可以更新的,比如建一个平均成绩的视图,这个视图就不能更新。
行列子集视图:行列子集视图的概念(书上有),行列子集视图是可以更新的。
如果考题问你哪个视图是可以更新的,你就判断一下哪个是行列子集视图。
第四章:1. 数据库常用的一些控制的方法这些了解一下就可以了用户身份鉴别:常用的就是登录用户名密码多重存储控制:?和强制审计和日志文件有什么区别:审计是把对数据库的所有操作都记录下来。
比如用户登录时没登录进去的情况也记录下来。
视图也对数据库的安全起了一定的保护机制,因为它把不需要用户知道的一些属性列都屏蔽了。
2. 讲安全的时候我们讲了2种标准TCSEC CC3. 存取控制自主存取控制:用?和REVOKE来给用户授权强制存取控制:分为许可证级别和密级,主体的敏感程度叫许可证级别,客体的敏感程度叫密集,当主体的许可证级别大于等于客体的时候它才能读,小于等于时才能写。
自主存取控制和强制存取控制分别满足TCSEC的哪个级别?这个大家要清楚自主存取控制是C2级别,强制存取控制是B1级别第五章:1. 完整性和安全性最主要的区别完整性防止的是合法用户对数据库的合法操作,但是造成数据库不一致的情况。
2. 如果在用户的操作过程中违反了完整性约束,我们应该怎么做a. 数据库要提供一个定义完整性约束的机制体现:在CREATE TABLE过程中体现b. 定义了之后就要进行检查c. 进行违约处理违约处理的方式3. 什么叫角色(ROLE)角色是和数据库操作相关的一组权限的集合。
第六章:1. 大家要会分析给的题目中满足第几范式第一范式:第二范式:消除了非主属性对码的部分函数依赖第三范式:消除了非主属性对码的传递函数依赖BCNF(BC范式):判断方法:(非常重要)a.大家在判断一个范式的时候先根据它的题目把函数依赖写出来,b.接下来把它的候选码找出来,c.然后把所有的属性分成主属性和非主属性,d.最后来判断它满足第几范式.如果是消除了非主属性对码的部分函数依赖,它就满足第二范式。
如果接下来消除了非主属性对码的传递函数依赖,它就满足第三范式。
然后看它的决定因素,每一个决定因素是不是都含有码,如果都含有码,那它就满足BC范式。
2. 关系模式存在4个问题冗余度大,插入异常,更新异常,删除异常3. 几组大家一定要清楚的函数依赖概念非平凡的函数依赖平凡的函数依赖完全函数依赖部分函数依赖传递函数依赖4. 多值依赖不要写成多值函数依赖。