1.数据独立性高•物理独立性–指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
•逻辑独立性–指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
•数据独立性是由DBMS的二级映像功能来保证的2.三级模式•外模式•模式•内模式•保证数据库的数据独立性3.模式•模式(也称逻辑模式、数据库模式、概念模式)–数据库中全体数据的逻辑结构的描述–所有用户的公共数据视图,综合了所有用户的需求•一个数据库只有一个模式•模式的地位:是数据库系统模式结构的中间层–与数据的物理存储细节和硬件环境无关–与具体的应用程序、开发工具及高级程序设计语言无关•模式的定义–数据的逻辑结构(数据项的名字、类型、取值范围等)–数据之间的联系–有关数据的安全性、完整性要求4.外模式•外模式(也称子模式或用户模式)–数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构的描述–数据库用户的数据视图,是与某一应用有关的数据的逻辑表示•外模式的地位:介于模式与应用之间–模式与外模式的关系:一对多•外模式通常是模式的子集•一个数据库可以有多个外模式。
反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求•对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同–外模式与应用的关系:一对多•同一外模式也可以为某一用户的多个应用系统所使用,•但一个应用程序只能使用一个外模式。
•外模式的用途保证数据库安全性的一个有力措施。
每个用户只能看见和访问所对应的外模式中的数据5.内模式•内模式(也称存储模式)–是数据物理结构和存储方式的描述–是数据在数据库内部的表示方式•记录的存储方式•索引的组织方式•数据是否压缩存储•数据是否加密•一个数据库只有一个内模式6.三级模式与二级映象•三级模式是对数据的三个抽象级别•二级映象在DBMS内部实现这三个抽象层次的联系和转换7.外模式/模式映象•定义外模式与模式之间的对应关系•每一个外模式都对应一个外模式/模式映象•映象定义通常包含在各自外模式的描述中8.外模式/模式映象的用途·保证数据的逻辑独立性–当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变–应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
9.模式/内模式映象•模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
例如,说明逻辑记录和字段在内部是如何表示的•数据库中模式/内模式映象是唯一的•该映象定义通常包含在模式描述中10.模式/内模式映象的用途·保证数据的物理独立性–当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变–应用程序不受影响。
保证了数据与程序的物理独立性,简称数据的物理独立性。
11.关系的键(码)•候选码: 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码12.主键•如果一个关系中有多个候选键,可以从中选择一个作为查询、插入或删除元组的操作变量,被选用的候选键称为主关系键(Primary Key),或简称为主键、主码、关系键、关键字。
–例如,假设在学生关系中没有重名的学生,则“学号”和“姓名”都可作为学生关系的候选键。
如果选定“学号”作为数据操作的依据,则“学号”为主关系键。
•在关系模式中表示主键–学生(学号,姓名,性别,年龄,系别)13.主属性与非码属性•主属性:包含在候选码中的的各属性称为主属性。
•非码属性:不包含在任何候选码中的属性称为非码属性。
–在最简单的情况下,一个候选码只包含一个属性,如学生关系中的“学号”,教师关系中的“教师号”。
–最极端情况,全码关系中所有属性都是主属性14.存储过程·使用CREATE PROCEDURE语句创建存储过程·使用EXECUTE 语句实现存储过程·语法:CREATE PROCEDURE procedure_name[{@parameter data_type} [OUTPUT]]ASsql_statement [...n]15.触发器:·使用CREATE TRIGGER语句来创建触发器·语法:CREATE TRIGGER trigger_nameON { OBJECT NAME }{ FOR | AFTER | INSTEAD OF } { event_type [,...n ] |DDL_DATABASE_LEVEL_EVENTS }{ AS{ sql_statement [ ...n ] }}16.关系模型的三类完整性规则的含义·实体完整性规则:主键属性不能为空·参照完整性规则:外键值必须参照主键的值,或者为空·用户定义完整性规则:用户自己定义17.为什么说数据库的三级模式结构和两级映射功能是数据库系统中的数据的逻辑独立性和物理独立性的重要保证?数据库系统的三级模式和两级映射功能是数据库系统具有高度的数据独立性。
这种。
对DBMS的应用系统开发具有重大意义。
这是因为数据与应用程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。
另外由于数据存取有DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
18.DBMS的主要功能。
1.数据库定义;2.数据存取3;数据库的组织存储和管理;4.数据库的运行管理;5.数据库的建立和维护;6.通信和数据转换19.事务:——保证数据完整性·定义:数据库的一些操作的集合通常为一个独立单元,这种具有独立性的逻辑单元称为事务。
·将一组语句作为一个单元执行·必须拥有称为ACID的四个属性—原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
—一致性:事务在完成时,必须使所有的数据都保持一致状态。
—隔离性:一个事务的执行不会被另一个事务干扰—持久性:事务完成之后,它对于系统的影响是永久性的。
该修改即使出现系统故障也将一直保持。
20.事务并发控制•并发操作:在多用户共享系统中,多个用户同时存取同一数据的情形称为并发操作。
•并发操作的优点:–增加了处理器和磁盘的可用性, 加大事务吞吐量(throughput):一个事务使用CPU时,另外一个事务读写磁盘–降低平均事务响应时间:短事务不需要等待长事务•并发操作可能带来的问题:(1)破坏数据库的一致性(2)破坏事务的隔离性21.三类数据不一致性⏹并发操作带来的三类数据不一致性:1. 更新丢失T1、T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果。
2.不可重读T1读数据后,T2执行更新操作,使T1无法再现前一次读取结果。
3.脏读T1修改数据并写回磁盘,T2读取同一数据后,T1被撤销即数据恢复原值,T2读的数据与DB中的不一致,称“脏”数据。
⏹不可重读包括三种情况:(1) 某事务两次读同一数据时,得到的值不同。
(2)某事务再次按相同条件读取数据时,发现记录丢失。
(3)某事务再次按相同条件读取数据时,发现多了记录22.封锁协议·在运用X锁和S锁这两种基本封锁,对数据对象加锁时,还需要约定一些规则,例如何时申请X 锁或S锁、持锁时间、何时释放等。
称这些规则为封锁协议•对封锁方式规定不同的规则,就形成了各种不同的封锁协议。
•对并发操作的不正确调度可能会带来丢失修改、不可重复读和读“脏”数据等不一致性问题,三级封锁协议分别在不同程度上解决了这一问题。
•为并发操作的正确调度提供一定的保证。
•不同级别的封锁协议达到的系统一致性级别是不同的。
•一级封锁协议事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
事务结束包括正常结束和非正常结束。
•一级封锁协议可防止丢失修改,并保证事务T是可恢复的。
•在一级封锁协议中,如果仅仅是读数据不对其进行修改,是不需要加锁的,所以它不能保证可重复读和不读“脏”数据。
•二级封锁协议•一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。
•二级封锁协议除防止了丢失修改,还可进一步防止读“脏”数据。
•在二级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。
•三级封锁协议•一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
•三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。
•上述三级协议的主要区别在于什么操作需要申请封锁,以及何时释放锁(即持锁时间)。
23.死锁:在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。