数据库系统设计与优化期末复习问答集_第1页
数据库系统设计与优化期末复习问答集_第2页
数据库系统设计与优化期末复习问答集_第3页
数据库系统设计与优化期末复习问答集_第4页
数据库系统设计与优化期末复习问答集_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统设计与优化期末复习问答集一、基础概念与设计原则问:请简述数据库(DB)、数据库管理系统(DBMS)和数据库系统(DBS)的定义及其相互关系。答:数据库(DB)是长期存储在计算机内、有组织的、可共享的大量数据的集合。它具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户共享。数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种控制。数据库系统(DBS)则是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(DBA)和用户构成。可以说,DBMS是管理DB的软件,而DBS是一个包含DB、DBMS以及围绕数据库进行数据管理和应用开发的整个软件系统。问:数据库系统设计的一般步骤是什么?答:数据库系统设计通常遵循软件工程的方法,大致可分为以下几个阶段:需求分析阶段,这是基础,旨在准确了解和分析用户需求(数据需求、功能需求、性能需求等);概念结构设计阶段,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,常用E-R图表示;逻辑结构设计阶段,将概念模型转换为某个DBMS所支持的数据模型(如关系模型),并对其进行优化;物理结构设计阶段,为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法;数据库实施阶段,包括建立数据库、编制与调试应用程序、组织数据入库等;数据库运行和维护阶段,这是一个长期的过程,包括数据库的备份恢复、性能监控与调优、数据库重组与重构等。问:什么是数据独立性?它包含哪两个方面?答:数据独立性是数据库领域的一个重要概念,指的是应用程序与数据库中的数据之间相互独立,不受影响。也就是说,数据的逻辑结构和物理结构的变化不会影响应用程序。它包含两个方面:一是逻辑数据独立性,即当数据库的整体逻辑结构发生改变时(如增加新的关系、属性,改变属性的数据类型等),通过修改外模式/模式映象,使外模式保持不变,从而应用程序不必修改;二是物理数据独立性,即当数据库的物理结构发生改变时(如改变存储设备、调整存储位置、选用不同的存取方法等),通过修改模式/内模式映象,使模式保持不变,从而应用程序也不必修改。问:在数据库设计中,为什么强调需求分析的重要性?答:需求分析是数据库设计的起点和基石,其重要性怎么强调都不为过。准确、全面的需求分析是后续所有设计工作的依据。如果需求分析做得不充分、不准确,那么基于此的概念设计、逻辑设计和物理设计都可能存在缺陷,导致设计出的数据库不能满足用户的实际需求,甚至需要进行大规模的返工,造成人力、物力和时间的浪费。严重时,可能导致整个数据库项目的失败。因此,必须深入了解用户业务流程、数据产生和使用的场景、对数据的处理要求以及各种约束条件,才能为高质量的数据库设计打下坚实基础。二、数据模型与建模方法问:什么是数据模型?它的三要素是什么?答:数据模型是对现实世界数据特征的抽象,是用来描述数据、组织数据和对数据进行操作的一种工具。它是数据库系统的核心和基础。数据模型通常由三个要素组成:数据结构,它描述了系统的静态特性,即数据对象的类型、内容、性质以及数据对象之间的联系;数据操作,它描述了系统的动态特性,即对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,主要包括查询和更新(插入、删除、修改)两大类;数据的完整性约束,它是一组完整性规则的集合,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性。问:请解释E-R模型中的实体、属性和联系,并举例说明。答:E-R模型(实体-联系模型)是一种常用的概念数据模型。实体是指客观存在并可相互区别的事物,可以是具体的人、事、物,也可以是抽象的概念或联系。例如,在学校管理系统中,“学生”、“课程”都是实体。属性是实体所具有的某一特性,用以描述实体。例如,“学生”实体可能具有“学号”、“姓名”、“性别”、“出生日期”等属性。联系则是指实体之间的相互关系。例如,“学生”实体和“课程”实体之间存在“选课”联系。联系也可以有属性,如“选课”联系可以有“成绩”属性。问:从E-R图转换到关系模型时,实体和联系分别如何处理?答:将E-R图转换为关系模型,就是要将实体、实体的属性和实体之间的联系转化为关系模式。对于实体,一个实体型通常转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。例如,“学生”实体可转换为关系模式:学生(学号,姓名,性别,出生日期),其中“学号”是码。对于联系,则根据联系的类型(一对一、一对多、多对多)不同而有不同的转换方法:一对一联系,可以将其中一个实体的码和联系的属性加入到另一个实体对应的关系模式中;一对多联系,通常是将一方实体的码和联系的属性加入到多方实体对应的关系模式中;多对多联系,则需要为联系单独建立一个关系模式,该关系模式的属性包括参与联系的各个实体的码以及联系本身的属性,其码为各实体码的组合。问:关系模型的完整性约束有哪些?请分别说明。答:关系模型的完整性约束是保证数据库中数据正确性和相容性的规则,主要包括以下三类:实体完整性,它规定关系中主码的属性值不能为空值且不能有重复值,以确保每个实体都是可区分的。例如,学生关系中的“学号”为主码,则“学号”不能为NULL,也不能有两个学生具有相同的“学号”。参照完整性,它规定了关系之间的引用规则,即若一个关系中的外码引用了另一个关系中的主码,则外码的值必须要么为空,要么等于被引用关系中某个元组的主码值。例如,选修关系中的“学号”是引用学生关系主码的外码,则选修关系中“学号”的取值必须是学生关系中已存在的学号,或者为空(表示尚未确定学生)。用户定义的完整性,这是针对某一具体应用领域由用户自定义的约束条件,它反映了该领域对数据的特殊要求。例如,规定学生的“成绩”属性取值范围在0到100之间,或者“性别”只能取“男”或“女”。三、数据库规范化问:什么是范式?为什么要进行关系模式的规范化?答:范式(NormalForm,NF)是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准。规范化的目的是为了消除关系模式中存在的数据冗余、插入异常、删除异常和更新异常。一个“不好”的关系模式可能会导致大量的数据重复存储,当进行数据插入时可能由于部分信息缺失而无法插入,删除时可能误删有用信息,更新时则可能需要修改多处,容易造成数据不一致。通过规范化,可以将一个“不好”的关系模式分解为若干个更“好”的关系模式,从而解决上述问题。问:请简述1NF、2NF、3NF的定义,并说明它们之间的关系。答:1NF(第一范式)是最基本的范式。如果一个关系模式R的所有属性都是不可分的基本数据项,则R属于1NF。也就是说,属性不能是复合属性或多值属性。2NF(第二范式):若关系模式R属于1NF,且每一个非主属性都完全函数依赖于R的候选码,则R属于2NF。这里的“完全函数依赖”指的是不能存在非主属性仅依赖于候选码的一部分属性的情况。2NF旨在消除非主属性对候选码的部分函数依赖。3NF(第三范式):若关系模式R属于2NF,且每一个非主属性都不传递函数依赖于R的候选码,则R属于3NF。传递函数依赖指的是如果存在A→B,B→C,且B不决定A,C不属于B,则C传递依赖于A。3NF旨在消除非主属性对候选码的传递函数依赖。它们之间的关系是:3NF⊂2NF⊂1NF,即满足3NF的关系模式一定满足2NF,满足2NF的关系模式一定满足1NF。规范化程度越高,关系模式的冗余和异常问题越少,但查询时可能需要更多的连接操作。问:什么是函数依赖?什么是部分函数依赖和传递函数依赖?答:函数依赖是关系模式中属性之间的一种约束关系。设R(U)是一个属性集U上的关系模式,X和Y是U的子集。如果对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。部分函数依赖是指在关系模式R(U)中,若X→Y,且存在X的一个真子集X',使得X'→Y,则称Y对X部分函数依赖。例如,在关系模式选课(学号,课程号,姓名,成绩)中,假设候选码是(学号,课程号),则学号→姓名,因此姓名部分依赖于候选码(学号,课程号)。传递函数依赖是指在关系模式R(U)中,若X→Y,Y→Z,且Y不包含于X,Y不能函数决定X,则称Z传递函数依赖于X。例如,在关系模式学生(学号,系号,系名)中,学号→系号,系号→系名,因此系名传递依赖于学号。问:规范化是否越高越好?为什么?答:规范化并非越高越好。虽然更高的规范化程度(如BCNF、4NF、5NF)可以进一步减少数据冗余和操作异常,但也可能带来一些负面影响。首先,过度规范化会导致关系模式数量增多,在查询时可能需要进行大量的连接操作,这会增加查询的复杂度,降低查询效率。其次,某些查询可能需要从多个表中获取数据,增加了应用程序的编程难度。再者,对于一些以查询为主,且数据更新不频繁的应用,适度的冗余可能反而有利于提高查询性能。因此,在实际数据库设计中,需要在规范化程度、查询性能、应用需求等多个因素之间进行权衡,通常达到3NF或BCNF即可满足大多数应用的需求,而不是盲目追求最高范式。四、数据库存储与索引问:数据库中常见的文件物理结构有哪些?答:数据库中的文件物理结构是指数据在存储设备上的组织方式,常见的有:顺序结构,将记录按某种顺序(如插入顺序或关键字顺序)连续地存储在物理介质上,其优点是顺序存取速度快,缺点是插入删除可能需要移动大量记录;索引结构,在顺序结构的基础上,为文件建立一个或多个索引表,索引表中的每个条目包含关键字和对应的记录物理地址,通过索引可以快速定位到所需记录,提高了随机存取的效率;哈希结构(散列结构),根据记录的关键字通过哈希函数直接计算出该记录的物理存储地址,实现快速的直接存取,但不适用于范围查询;聚簇结构,将具有相同或相近关键字的记录集中存储在同一物理块或相邻物理块中,以提高查询这些记录的效率,例如,将同一部门的员工记录聚簇存储。问:什么是索引?索引的作用是什么?常见的索引类型有哪些?答:索引是数据库中一种特殊的数据结构,它与某个表相关联,包含该表中一个或多个列的值以及这些值对应的记录在表中的物理存储位置指针。索引的主要作用是提高查询操作的速度,通过快速定位到符合条件的记录,避免全表扫描。此外,索引还可以加速表与表之间的连接操作。然而,索引并非越多越好,因为索引会占用额外的存储空间,并且会降低插入、更新和删除操作的性能,因为每次数据修改都可能需要同时维护相关的索引。常见的索引类型包括:B+树索引,这是关系数据库中最常用的索引类型,其结构类似平衡的多路查找树,所有叶子节点构成一个有序链表,适合范围查询和排序;哈希索引,基于哈希表实现,查找速度快,但不支持范围查询和排序;聚簇索引,其索引项的顺序与表中数据记录的物理顺序一致,一个表只能有一个聚簇索引;非聚簇索引,其索引项的顺序与表中数据记录的物理顺序无关,一个表可以有多个非聚簇索引;还有如位图索引(适用于低基数列)、全文索引(用于文本内容的检索)等特殊类型的索引。问:B+树索引的结构是怎样的?它有什么优点?答:B+树索引是一种平衡的多路查找树结构。其主要特点如下:树的节点分为内部节点(索引节点)和叶子节点。内部节点只存储关键字和指向子节点的指针,不存储具体数据记录的信息。所有的叶子节点在同一层,构成一个有序链表,叶子节点中存储了全部关键字以及指向对应数据记录的物理地址(或聚簇索引中的数据本身)。关键字在叶子节点中按升序或降序排列。B+树的高度通常较低,即使数据量很大,也能通过很少的几次I/O操作找到目标记录。B+树索引的优点包括:查询效率高,无论是单点查询还是范围查询都能高效进行,范围查询只需遍历叶子节点的有序链表即可;插入和删除操作相对稳定,因为B+树是平衡树,插入删除不会导致树的高度剧烈变化;所有数据记录的指针都在叶子节点,查询次数稳定,不会出现像B树那样可能在非叶子节点找到数据的情况;适合磁盘存储,因为其节点大小可以设计为与磁盘块大小相匹配,减少I/O次数。问:聚簇索引和非聚簇索引有何区别?答:聚簇索引和非聚簇索引是两种基本的索引组织方式,主要区别如下:存储方式不同,聚簇索引的叶子节点直接存储的是数据记录本身,即索引项的顺序与表中数据记录的物理存储顺序完全一致。整个表的数据按照聚簇索引的关键字顺序排列。而非聚簇索引的叶子节点存储的是索引关键字值和指向对应数据记录物理地址的指针(或聚簇索引关键字),索引结构与数据记录的物理存储顺序无关。数量限制不同,一个表只能有一个聚簇索引,因为数据记录的物理顺序只能有一种。而一个表可以有多个非聚簇索引,每个非聚簇索引可以基于不同的列或列组合。查询性能不同,对于聚簇索引列上的查询,尤其是范围查询,效率通常更高,因为相关数据物理上相邻,能有效利用磁盘预读。而非聚簇索引查询通常需要先查找到索引项,再根据指针去查找数据记录,可能产生更多的I/O操作(“书签查找”)。插入更新影响不同,聚簇索引的插入和更新可能导致数据记录的物理移动,尤其是当在中间位置插入时,可能需要大量移动数据,成本较高。非聚簇索引的插入更新主要影响索引结构本身,对数据记录的物理位置影响较小。五、查询优化问:什么是查询优化?查询优化的目标是什么?答:查询优化是指数据库管理系统(DBMS)或用户在执行数据库查询时,通过选择更优的查询执行计划,以提高查询效率、减少资源消耗的过程。查询优化的目标是在众多可能的查询执行策略中,选择一个执行代价最低(或代价接近最低)的策略。这里的代价主要指查询执行所消耗的系统资源,如I/O代价(磁盘读写次数)、CPU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论