数据库期末简答

1.试述数据、数据库、数据库系统、数据库管理系统的概念。 (1)数据(Data):描述事物的符号记录称为数据。(数据的种类有数字、文字、图形、图像、 声音、正文等。数据与其语义是不可分的。) (2)数据库(DataBase,简称 DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、 较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统(DataBase Sytem,简称 DBS):数据库系统是由数据库、数据库管理系统(及其开发工具)、应用系统和数据库管理员组成的存储,管理,处理和维护数据的系统。 (4)数据库管理系统(DataBase Management Sytem,简称 DBMS):数据库管理系统是位 于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS 的主要功能包括数据定义功能、数据组织存储和管理、数据操纵功能、数据库的事务管理和运行管理功能、 数据库的建立和维护功能。 2.试述数据库系统的特点。 数据库系统的主要特点有: (1)数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 (2)数据的共享性高,冗余度低,易扩充 (3)数据独立性高 数据独立性包括数据的物理独立性(用户的应用程序与数据库中数据的物理存储是相互独立的)和数据的逻辑独立性(是指用户的应用程序与数据库的逻辑结构是相互独立的)。 (4)数据由 DBMS 统一管理和控制 提供统一的数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。 3.数据库管理系统的主要功能有哪些? (1)数据库定义功能; (2)数据组织存储和管理 (3)数据操纵功能 (4)数据库的事务管理和运行管理; (5)数据库的建立和维护功能。 4 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性? 数据与程序的逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的。当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 数据与程序的物理独立性:用户的应用程序与数据库中数据的物理存储是相互独立的。当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。 数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 5.述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值? 答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 (1)实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。 (2)参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为下面二者之一:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。 (3)用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩) 6.试述等值连接与自然连接的区别和联系。 连接运算中有两种最为重要也最为常用的连接,一种是等值连接(Equijoin),另一种是自然连接(Naturaljoin)。 等值连接简称等连接。θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。 自然连接(Naturaljoin)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B。 7.什么是视图?试述视图的优点。 视图是从一个或几个基本表(或视图)导出的表。他与基本表不同,是一个虚表。 ( l )视图能够简化用户的操作; ( 2 )视图使用户能以多种角度看待同一数据; ( 3 )视图对重构数据库提供了一定程度的逻辑独立性; ( 4 )视图能够对机密数据提供安全保护。 (5)适当利用视图可以更清晰的表达查询 8.什么是数据库的完整性? 数据库的完整性是指数据的正确性(数据是符合现实世界语义 反映当前实际状况的)和相容性(数据库同一对象在不同关系表中的数据是符合逻辑的)。 9.试述数据库设计过程。 数据库设计过程的六个阶段:第二步是关键 (1)需求分析 任务是通过调查,收集与分析数据,获得用户对数据要求: 信息要求:指用户需要从数据库中获得信息的内容与性质,再由信息要求导出数据要求 处理要求:指用户要完成什么处理功能,对初一响应时间有什么要求,处理方式是批处理还是联机处理 安全性与完整性要求 结果是得到的用户需求 (2)概念结构设计 任务:将需求分析得到的用户需求抽象为信息结构 结果:得到E-R模型 (3)逻辑结构设计 任务:将基本的E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构 结果:一组关系模式的集合 (4)物理结构设计 任务:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构。 结果:存储格式位置,访问方法交互界面的说明 (5)数据库实施 任务:根据逻辑和物理结构设计,建立数据库进行测试运行 结果:初步完成的数据库系统 (6)数据库运行和维护 任务:控制数据库完整性安全性,检测和维护改善数据库 结果:完整的数据库系统 10.试述事务的概念及事务的四个特性。恢复技术能保证事务的哪些特性? 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。 事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。 原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 持续性:持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 (恢复技术能保证的三个特性)为了保证事务的原子性、一致性与持续性,DBMS必须对事务故障、系统故障和介质故障进行恢复;为了保证事务的隔离性和一致性,DBMS需要对并发操作进行控制。 11.登记日志文件时为什么必须先写日志文件,后写数据库? 把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。 如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。 12.什么是并发控制,在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性? 并发控制指的是当多个用户同时更新运行时,用于保护数据库完整性的各种技术。 数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 并发控制可以保证事务的一致性和隔离性。 13.并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。 (1)丢失修改(LostUpdate)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。 (2)不可重复读(Non-RepeatableRead)不可重复读是指事务T1读取某一数据后,事务T2对其执行更新操作,使T1无法再现前一次读取结果。 (3)读“脏”数据(DirtyRead)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。 避免不一致性的方法就是并发控制。最常用的并发控制技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中,常常采用时间戳方法来进行并发控制。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×