PlumRain 2020-03-06
数据结构,数据操作,完整性约束。
关系数据语言有,关系代数语言ISBL,关系演算语言(元组关系演算语言,域关系演算语言),关系代数关系演算两重特点语言SQL。
候选码,关系中某一属性组的值能唯一标识一个元组,该属性组为候选码。
主码,一个关系有多个候选码,选定一个作为主码。
外部码,f是关系R的一个或一组属性,但不是R的码,f与关系S的码ks相对应,则称f为关系R的外部码,简称外码。
关系的描述称为关系模式,关系是关系模式在某一时刻的状态或内容,关系模式是静态的,稳定的。关系是动态的,随时间不短变化。
关系数据库有型和值之分。关系数据库的型称为关系数据库模式,是对关系数据库的描述,定义一些域以及在域上的某些关系模式。关系数据库的值即为这些关系模式在某时刻所对应的关系的集合,称为关系数据库。
关系模型的完整性是对关系的某种约束条件。
实体完整性,属性A是关系R的一个主属性,则属性A的值不能为空。
参照完整性,属性F是关系R的外码,它与关系S的某个主码ks相对应,则R中每个元组在F上必须取空或等于关系S中某个元组主码值。
用户定义完整性,针对某一具体关系数据库的约束条件。反映某一应用所涉及数据必须满足的语义要求。
参照完整性中,F是关系R的外码,但不是关系R的主码,则F可以为空。如果F是外码,但又是主码,则F不能为空。
等值连接,从关系R,S的笛卡尔积中选取A,B属性值相同的元组。
自然连接,特殊的等值连接,两个关系中要比较的分量必须是相同的属性组,并在结果中把相同的属性组去掉。若关系R,S有相同的属性组,就可以自然连接。
关系模型必须要求关系规范化,规范化的关系称为范式。
第一范式,列不可再分。
第二范式,非主属性间全部依赖于主属性。消除了非主属性对码的部分函数依赖。
第三范式,非主属性间无依赖关系。消除了非主属性对码的传递函数依赖。
第四范式,主属性间无依赖关系。
无损连接,保持原有的依赖关系。
关系模式中,函数依赖无法表示一对多的联系,这些属性之间没有直接联系,但有间接联系。把这种没有直接联系,但有间接联系的数据依赖称为多值依赖。
多值依赖对称性,若X->->Y,则X->->Z。Z=U-X-Y。
多值依赖传递性,若X->->Y,Y->->Z,则X->->Z-Y。
函数依赖为多值依赖的特殊情况,若X->Y,则X->->Y。
关系R(I,S,A)I为兴趣小组,S为学生,A为兴趣小组内活动。每个学生要求参加兴趣小组内的所有活动,每个活动都要求所有学生参加。I->->S,I->->A。
关系R属于3NF,不存在主属性对非主属性的函数依赖,则称R为BCNF。
如果一个关系的每个函数依赖左部都是候选码,则称该关系为BCNF。
如果一个关系每个决定因素都是候选码,则称为BCNF。
关系R为1NF,且能决定其他属性取值的属性必定包含码,则称为BCNF。
需求分析,准确了解与分析用户需求。
概念结构设计,对用户需求总结,归纳,抽象,形成一个独立于DBMS的概念模型。
逻辑结构设计,将概念模型转为某个DBMS所支持的逻辑模型,并进行优化。
物理结构设计,为逻辑模型选择一个合适的物理结构,包括存储结构和存取方法。
数据库实施,设计人员根据DBMS所提供的数据语言,工具,宿主语言,根据逻辑设计和物理设计的结果建立数据库,调试运行,组织数据进入数据库。
数据库运行,维护,数据库运行阶段对其评价,调整,修改。
需求分析是调查现实世界中要处理的对象,了解原系统的工作状况,明确用户的需求,进而设计出新系统的功能。
信息要求,数据库要存储哪些数据,用户能从数据库中获得信息的内容和性质。
处理要求,用户要完成什么处理,对处理的响应有什么要求,处理方式的选择之类。
安全性和完整性。
数据字典是数据库系统中各种数据描述的集合。包括数据项,数据结构,数据流,数据存储,数据处理。
数据字典是关于数据库中数据的描述,在需求分析阶段建立,是概念设计阶段的基础。
概念结构是信息世界的结构,是概念模型。特点有,
真实而充分的反映现实世界,是对现实世界的一个概念模型。
易于理解,用概念结构和不理解计算机的用户交换意见。
易于修改,当应用环境和应用要求改变时,容易对概念模型进行扩充和修改。
易于向关系,层次,网状模型转变。
数据抽象是对,人,物,事,概念进行人为处理,抽取共性,忽略细节,并把这种特性用概念精准描述,这些概念就组成了某种模型。
概念结构是数据库设计的关键阶段,是对需求分析阶段所得到的需求进行抽象,以此作为各种数据模型的基础。更精确的使用DBMS实现这些要求。
常使用E-R图来描述概念模型。
逻辑结构设计是将概念结构设计阶段设计好的E-R图转为选用的DBMS产品所支持的数据模型相符合的逻辑结构。
逻辑结构设计阶段的步骤
首先将E-R图转为关系,层次,网状等数据模型。
再将关系,层次,网状数据模型转为DBMS所支持的数据模型。
对数据模型进行优化。
事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做。是一个不可分割的工作单位。
事务特性
事务执行的结果必须是从一个一致性转为另一个一致性。如果数据库系统运行发生故障,导致事务被迫中断,事务的另一部分已经完成,对数据库的修改已经写入物理数据库。这时数据库就出于一种不正确的状态。
在计算机系统中的硬件故障,软件错误,操作人员的失误,恶意破坏,不可避免。这些故障使事务被迫中断,影响数据库的正确性,破坏数据库,使得数据库中部分数据丢失。必须要有数据库恢复子系统。
数据库产生事务内部故障,系统故障,介质故障,计算机病毒。
事务内部故障,系统故障,介质故障影响事务的正常运行。介质故障,计算机病毒破会数据库中数据。
数据库恢复有数据转储,登录日志文件两种技术。当数据库系统发生故障,利用转储后的数据库后备副本和日志文件就能恢复数据库之前的某种状态。
数据转储是数据库恢复所使用的技术,数据库管理员定期将数据库复制到磁带或磁盘上,当数据库系统遭遇破坏,可将后备副本装入数据库,恢复到转储前的状态。
转储有静态转储,动态转储方法。
日志文件记录事务对数据库的更新操作文件。
日志文件用于事务故障恢复,系统故障恢复,和后援数据库文件协同完成介质故障恢复。
修改的数据写入数据库,修改的日志记录写入日志文件这两个是不同的写操作。
如果先修改数据,而运行记录中没有这个修改,则无对数据进行恢复。如果先写入日志记录,再修改数据库,在恢复数据库时,只是进行了一次undo操作。所以,一定要先写入日志记录,再修改数据库。
事务故障由DBMS完成,对用户完全透明。事务故障恢复方法如下。
系统故障有两种形式。
对未完成的事务要执行撤销undo操作,对已完成的事务要进行redo操作。
介质故障恢复操作
利用日志技术恢复数据库,恢复子系统必须搜索日志文件,确定哪些是undo事务,哪些是redo事务。需要检查所有的日志文件。有两个缺点。
检查点方法恢复步骤。
数据镜像根据数据库管理员的要求,自动把整个数据库或其中的关键部分复制到磁盘上,每当数据库更新时,DBMS自动把更新后的数据复制过去。DBMS自动包装数据镜像和主数据库的一致性。
数据镜像用于介质故障时的数据恢复操作,还能提高数据库的可用性,没有发生故障时,其它用户对数据库中数据加排它锁进行修改,其它用户可以读数据库镜像中数据,而不必等待用户释放锁。
事务日志用于保存事务的更新操作,转储冗余数据包括日志文件,数据库后备副本。