欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    数据库原理总结.docx

    • 资源ID:3559966       资源大小:41.60KB        全文页数:8页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库原理总结.docx

    数据库原理总结1关系的范式及规范化 范式是衡量关系模式优劣的标准。范式级别越高,其数据冗余和操作异常现象就越少。第一范式:如果一个关系模式R的所有属性都是不可分的基本数据项,则这个关系属于第一范式。第二范式:若关系模式R属于第一范式,且每个非主属性都完全函数依赖于主键,则R属于第二范式。第三范式:若关系模式R属于第一范式,且每个非主属性都不传递依赖于主关键字,则R属于第三范式。BC范式:若关系模式R属于第一范式,且每个属性都不传递依赖于主关键字,则R属于BC范式。 2对模式的分解显然不是随意的,主要涉及以下两个原则:无损联结:当对关系模式R进行分解时,R的元组将分别在相应属性集进行投影而产生新的关系。如果对新的关系进行自然联接得到的元组的集合与原关系完全一致,则称为无损联结。保持依赖:当对关系模式R进行分解时,R的函数依赖集也将按相应的模式进行分解。如果分解后总的函数依赖集与原函数依赖集保持一致,则称为保持依赖。 3事务的定义:事务是数据库的逻辑工作单位,由用户定义的一组操作序列组成,序列中的操作要么全做要么全不做。 4简述事务所具有的ACID特性:事务的ACID特性是: 原子性:事务是一个不可分割的单位。一致性:事务对数据库操作的结果是将数据库从一个一致性状态变为另一个一致性状态。隔离性:多个事务的并发执行不互相干扰。持续性:事务一旦提交,它对数据库中数据的改变就是永久性的。 5事务的调度:事务的执行次序称为调度。若多个事务是按照某一次序串行地执行,则称事务的调度是串行调度。若多个事务同时交叉地并行执行,则称事务的调度为并发调度。 6事务并发执行产生的不一致情况及避免:并发操作可能会产生丢失修改,不能重复读和读”脏”数据这三种不一致情况,采用封锁机制来进行并发控制,可避各种不一致情况。一级封锁协议可以避免丢失修改,二级封锁协议可以避免丢失修改和读”脏”数据,三级封锁协议可以避免丢失修改、不能重复读和读”脏”数据。 7事务的COMMIT语句和ROLLBACK语句的功能是什么?答:COMMIT语句表示事务执行成功地接结束,此时告诉系统,DB要进入一个新的正确状态,该事务对DB的所有更新都已交付实施。ROLLBACK语句表示事务执行不成功地结束此时告诉系统,已发生错误,DB可能处在不正确的状态,该事务对DB的所有更新必须被撤消,DB应恢复该事务到初始状态。 8活锁和死锁:活锁:在多个事务并发执行的过程中,可能会存在某个总有机会获得锁的事务却永远也没得到锁的现象,可以通过“先来先服务”的策略预防活锁的发生。死锁:在多个事务并发执行过程中,多个并发事务处于相互等待的状态的现象。 9死锁的预防:数据库当中预防死锁的方法有两种。第一种方法是要求每个事务必须一次性地将所有要使用的数据加锁或必须按照一个预定的加锁顺序对使用到的数据加锁。第二种方法是每当处于等待状态的事务由可能导致死锁时,就不再等待下去,强行回滚该事务。 10完整性约束的定义:关系数据库提供的三类完整性约束:实体完整性、参照完整性和用户自定义完整性。实体完整性:实体完整性约束是指任何基本表的主键中的每一个属性列都不能取空值,即基本表中的每一个元组在主键上的分量都有值。参照完整性:根据参照完整性原则,用户只要定义了某一个关系的外键,系统就会控制外键的值要么为空,要么等于被参照关系中某一个主键的值,这就是系统对外键的一种约束。用户定义完整性:用户定义完整性约束条件的作用对象可以是属性列、元组或关系,其中对属性列的约束可以规定属性列的数据类型、取值范围等;对元组的约束可以规定元组中各属性间的相互关系;而对关系的约束则可以规定各元组间或关系间的相互联系。 11故障恢复的原则:对数据库的影响有两种可能性:一是数据库本身被破坏;二是数据库没有被破坏,但数据可能不正确,这是因为事务的运行被非正常终止造成的。 12恢复算法一般由两部分组成:在正常事务处理时采取措施,保证有足够的冗余信息可用于故障恢复。故障发生后采取措施,将数据库内容恢复到某个保证数据库一致性、事务原子性及持久性的状态。 13数据库在运行过程中可能产生的故障有哪几类? 答:1)事务故障:事务在运行过程中由于种种原因,如输入数据的错误,运算溢出,违反了某些完整性限制,某些应用程序的错误,以及并行事务发生死锁等,使事务未能运行到正常中指点之前就被撤消了,这种情况称为“事务故障”。2)系统故障:系统故障是指系统在运行过程中,由于某些原因,如OS和DBMS代码错误,操作员操作事物。特定类型的硬件错误,突然停电等造成系统停止运行,致使事物在执行过程中以非控方式中指。这时。内存中的信息丢失,而存储在外存储上的数据未受影响,这种情况称为“系统故障”。3)介质故障:系统在运行过程中,由于某种硬件故障,如磁盘损坏,磁头碰撞,或由于OS的某种潜在的错误。瞬间强磁场干扰,使存储在外存的数据部分损失或全部损失,称之为“介质故障”。 14故障恢复技术:数据转储、日志文件、检查点方法、数据库镜像 15关系的完整性约束:域完整性约束:关系中属性的值应是域中的值,并由语义决定其能否为空值。实体完整性约束:关系中的主键不能为空值。参照完整性约束:关系的外键必须是另一个关系主键的有效值或者是空值。用户自定义完整性约束:正对某一具体数据的约束条件,由应用环境决定。 16故障恢复原理是冗余可分为副本和日志。恢复算法:在正常事物处理时采取措施,保证有足够的冗余信息可用于故障恢复、故障发生后采取措施,将数据库内容恢复到某个保证数据库一致性、事物原子性及持久性的状态。 17事务故障的恢复:事务故障是指事务在运行至正常终止点前被中止,这时恢复子系统应利用日志文件撤消此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户是透明的,系统的恢复步骤是: 反向扫描文件日志,查找该事务的更新操作。 对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写入数据库。这样,如果记录中是插入操作,则相当于做删除操作。若记录中是删除操作,则做插入操作,若是修改操作,则相当于用修改前值代替修改后值。 继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理。 如此处理下去,直至读到此事务的开始标记,事务故障恢复就完成了。 18系统故障的恢复:系统故障造成数据库不一致状态的原因有两个,一是未完成事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。因此,恢复操作就是要撤销故障发生时未完成的事务,重做已完成的事务。系统恢复步骤如下:正向扫描日志文件,即从头扫描日志文件,找出在故障发证前已经提交的事务,将其事务标示记入重做队列,同时找出故障发证时尚未完成的事务,将其事务标识计入撤销队列、对撤销队列中的各个事务进行撤销处理、对重做队列中的各个事务进行重做扫描 19日志文件作用及建立原因:答:日志文件是用来记录事务对数据库的更新操作的文件。目的是进行事物故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。 20三级模式:三级模式结构:数据库的三级模式由外模式、概念模式和内模式三级模式构成。概念模式:简称模式,又称数据库模式、逻辑模式。一个数据库只有一个概念模式,它是数据库系统三级模式结构的中间层,概念模式是数据库中全体数据的逻辑描述,而不是数据库本身,它是装配数据的一个结构框架。外模式:外模式简称子模式,又称用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是用户与数据库系统之间的接口。一个数据库可以有多个外模式,设置外模式的优点如下:方便用户使用,简化用户接口、保证数据的独立性、有利于数据共享、有利于数据安全和保密。内模式:内模式也称存储模式。是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。一个数据库只能有一个内模式。 21两级映像:外模式/概念模式映像:外模式/概念模式映像定义了各个外模式与概念模式间的映像关系。概念模式/内模式映像:概念模式/内模式映像定义了数据库全局逻辑结构与存储结构之间的对应关系。 22两极结构的独立性:物理数据独立性:如果数据库内模式要修改,即数据库的物理结构有所变化,那么只要对概念模式/内模式做相应的修改即可。概念模式/内模式提供了数据的物理数据独立性。逻辑数据独立性:如果概念模式要修改,例如增加记录类型或增加数据项,那么只要对外模式/概念模式映像做相应的修改,就可以使外模式和应用程序尽可能保持不变。这样,就称数据库打到了逻辑数据独立性。外模式/概念模式映像提供了数据的逻辑独立性。 23数据库技术的发展阶段:工管理阶段、文件系统阶段、数据库系统阶段 某校与教学管理相关的3个关系模式的结构如下: 学生(学号、姓名、年龄、性别、所在系) 课程 学习 试进行如下操作: 1.创建“教学”数据库,在“教学”数据库中创建“学生”、“课程”、“学习”这3个基本表,并说明主键和外键。 2.使用SQL的查询语句表达下列查询 查询刘老师所授课程的课程号和课程名 查询年龄大于23岁的男学生的学号和姓名 查询至少修读刘老师所授课程中一门课程的女学生和姓名 查询王乐同学不学的课程的课程号 查询至少修读两门课程的学生学号 查询全部学生都修读的课程的课程号与课程名 查询修读课程中包含刘老师所授课程的学生学号 3)SELECT 姓名 FROM 学生 WHERE 性别=女 AND EXISTS (SELECT * FROM 学习 WHERE 学习.学号=学生.学号 AND 课程号 IN (SELECT 课程号 FROM 课程 WHERE 任课教师 LIKE 刘%) 4) SELECT 课程号 FROM 课程 WHERE NOT EXISTS (SELECT * FROM 学习 WHERE 学习.课程号=课程.课程号 AND 学号 IN (SELECT 学号 FROM 学生 WHERE 姓名=王乐 ) 5)SELECT 学号 FROM 学生 GROUP BY 学号 HAVING COUNT(*)>=2 6)SELECT 课程号,课程名 FROM 课程 WHERE NOT EXISTS (SELECT * FROM 学生 WHERE NOT EXISTS (SELECT * 学号 FROM 学习 WHERE 学习.课程号=课程.课程号 AND 学习.学号=学生.学号 ) 7)SELECT 学号 FROM 学习 WHERE EXISTS (SELECT * FROM 学习 WHERE 课程号 IN ) 试用SQL查询语句表达下列对教学数据库中3个基本表“学生”、“课程”、“学习”的查询 统计有学生修读的课程门数 求修读C4课程的学生的平均年龄 求刘老师所授课程的每门课程的学生平均成绩 统计每门课程学生的修读人数,要求输出课程号和修读人数,查询结果按人数降序排列,若人数相同,按课程号升序排列 查询学号比王乐同学大,而年龄比他小的学生姓名 查询姓名以王打头的所有学生的姓名和年龄 在“学习”表中检索成绩为空值的学生学号和课程号 求年龄大于女同学平均年龄的男学生姓名和年龄 求年龄大于所有女同学年龄的男学生姓名和年龄 SELECT COUNT(DISTINCT 课程号) FROM 学习 SELECT AVG(年龄) FROM 学生 WHERE EXISTS (SELECT * FROM 学习 WHERE学生.学号=学习.学号 AND 课程号=C4) SELECT AVG(成绩) FROM 学习 WHERE GROUP BY 课程号 HAVING 课程号 IN (SELECT 课程号 FROM 课程 WHERE 任课教师 LIKE 刘%) SELECT 课程号,COUNT(*) AS C_COUNT FROM 学习 HAVING C_COUNT>10 ORDER BY C_COUNT DESC,课程号 SELECT 姓名 FROM 学生 WHERE 学号>ALL(SELECT 学号FROM 学生WHERE 姓名=王乐) AND 年龄<ALL(SELECT 年龄FROM 学生WHERE 姓名=王乐) SELECT 姓名, 年龄 FROM 学生WHERE 姓名 LIKE 王% SELECT学号, 课程号 FROM 学习WHERE成绩 IS NULL SELECT 姓名, 年龄 FROM 学生WHERE 性别=男 AND 年龄>(SELECT AVG(年龄) FROM 学生 WHERE 性别=女) SELECT 姓名, 年龄 FROM 学生WHERE 性别=男 AND年龄>(SELECT MAX(年龄) FROM 学生 WHERE 性别=女) 试用SQL更新语句表达对“教学”数据库中3个基本表“学生”、“课程”和“学习”的各个更新操作 向基本表“学生”中插入一个学生组 在基本表“学生”中查询每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把查询到的值送往另一个已存在的基本表“结果”中 在基本表“学习”中删除尚无成绩的元组 把王乐同学在“学习”基本表中的课程和成绩全部删除 把修读Java课程不及格的成绩全改为空值 把低于总平均成绩的女同学成绩提高5% 在基本表“学习”中修改C4课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4% INSERT INTO 学生 VALUES (S009,吴,18) INSERT INTO 结果(学号,姓名,性别) SELECT学号,姓名,性别 FROM 学生 WHERE NOT EXISTS (SELECT * FROM 学习 WHERE 学生.学号=学习.学号 AND 成绩<80) DELETE FROM 学习 WHERE 成绩 IS NULL DELETE FROM 学习 WHERE 学号 IN (SELECT 学号 FROM 学生 WHERE 姓名=王乐) UPDATE 学习 SET成绩=NULL WHERE 成绩<60 AND 课程号 IN (SELECT 课程号 FROM 课程 WHERE 课程名=JAVA) UPDATE 学习 SET 成绩=成绩*1.05 WHERE 成绩<( SELECT AVG(成绩) FROM 学生) UPDATE 学习 SET 成绩=成绩*1.04 WHERE 成绩>75 AND 课程号=C4 UPDATE 学习 SET 成绩=成绩*1.05 WHERE 成绩<=75 AND 课程号=C4

    注意事项

    本文(数据库原理总结.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开