数据库系统概论 问答

  1. 论述数据、数据库、数据库管理系统、数据库系统的概念。
    数据:描述事物的符号记录
    数据库:是长期储存在计算机内的、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
    DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
    DBS:是由数据库DB、数据库管理系统DBMS(及其应用开发工具)、应用程序DBAP和数据库管理员DBA组成的存储、管理、处理和维护数据的系统。也指在计算机系统中引入数据库后的系统构成。

  2. 试述数据库系统的特点。
    数据库系统的主要特点有:
    (1)数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
    解析:注意这里“整体”两个字。在数据库系统中,数据不再仅仅针对某一个应用,而是面向全组织,可以支持许多应用;不仅数据内部是结构化的,而且整体是结构化的,数据之间是具有联系的。数据的存取单位即一次可以存取数据的大小也很灵活。可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千万个学生记录)。而在文件系统中,数据的存取单位只有一个:记录,如一个学生的完整记录。
    (2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用、用多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统易于扩充,我们称之为弹性大。
    解析:数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用。可以说数据是某个应用的“私有资源”。所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,或者只要做很少的修改。我们可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
    (3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
    解析:所谓“独立性”即相互不依赖。数据独立性是指数据和程序相互不依赖。即数据的逻辑结构或物理结构改变了,程序不会跟着改变。数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,简化了应用程序的编制,大大减少了应用程序的维护和修改。
    (4)数据由DBMS统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此,DBMS必须提供统一的数据控制功能,包括数据的安全性保护,数据的完整性检查,并发控制和数据库恢复。
    解析:DBMS数据控制功能包括四个方面:数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏;数据的完整性检查:将数据控制在有效的范围内或保证数据之间满足一定的关系,一定的约束条件;并发控制:对多用户的并发操作加以控制和协调,保证并发操作的正确性;数据库恢复:当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态,亦称为完整状态或一致状态。下面我们可以得到“什么是数据库”的一个定义:数据库是长期存储在计算机内有组织的大量的共享的数据集合。它可以供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。

  3. 试述数据模型的概念、作用及数据模型的三个要素。
    数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
    (1)数据结构:是所研究的对象类型的集合,是对系统的静态特性的描述。
    (2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
    (3)数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。

  4. 论述层次模型、网状模型、关系模型的特点。(不太确定)
    层次模型特点:
    (1)有且只有一个结点没有双亲结点(这个结点叫根结点);
    (2)除根结点外的其他结点有且只有一个双亲结点。
    网状模型特点:
    (1)允许一个以上的结点没有双亲结点;
    (2)一个结点可以有多个双亲结点。
    关系模型的特点:
    (1)建立在严格的数学概念基础上的。
    (2)关系模型的概念单一,无论实体或实体之间的联系都用关系表示。
    (3)存取路径对用户透明。
    (4)关系必须是规范化的关系。

  5. 试述数据库系统三级模式结构,并讨论其优点。
    数据库系统的三级模式结构由外模式、模式和内模式组成。
    数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

  6. 试述数据库系统的组成。
    数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

  7. DBA、系统分析员、数据库设计人员、应用程序员各自的职责?
    DBA负责全面地管理和控制数据库系统。具体职责包括:
    (1)决定数据库的信息内容和结构;
    (2)决定数据库的存储结构和存取策略;
    (3)定义数据的安全性要求和完整性约束条件;
    (4)监督数据库的使用和运行;
    (5)数据库系统的改进和重组重构。
    系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。
    数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。
    应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。

  8. SQL 语言特点?
    (1)综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
    (2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。
    (3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
    (4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。
    (5)语言简捷,易学易用。

  9. 什么是基本表, 什么是视图,其优点是什么?
    基本表是本身独立存在的表,在SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。
    (1)定制用户数据,聚焦特定的数据。
    (2)简化数据操作。
    (3)基表中的数据就有了一定的安全性
    (4)合并分离的数据,创建分区视图

  10. 哪些视图是可以更新的,哪些又不能更新,请举例说明。
    基本表的行列子集视图一般是可更新的。如《概论》第四版3.6.1的[例1]。
    若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。如《概论》第四版3.6.1[例6]中的S_G视图。

  11. 试述数据库安全性控制的常用方法和技术。
    实现数据库安全性控制的常用方法和技术有:
    (1)用户标识和鉴别:由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
    (2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
    (3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
    (4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
    (5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

  12. 什么是数据库中的自主存取控制方法和强制存储控制方法?
    自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
    强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
    自主存取控制中自主的含义是:用户可以将自己拥有的存取权限“自主”地授予别人。即用户具有一定的“自主”权。

  13. 什么是数据库的审计功能?为什么要进行审计?
    审计功能是指DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
    因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。利用数据库的审计功能,DBA可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

  14. 论述触发器的概念与作用。

  15. 什么是数据库的完整性?
    数据库的完整性是指数据的正确性和相容性。

  16. 数据库的完整性和安全性概念上有什么区别和联系?
    数据的完整性和安全性是两个不同的概念,但是有一定的联系。
    前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。
    后者是保护数据库防止恶意的破坏和非法的存取。
    也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

  17. 论述关系数据库的三类完整性约束概念。
    实体完整性约束:要求关系的主键中属性值唯一且不能为空。
    参照完整性约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么是空值。
    用户自定义完整性约束是针对具体数据环境与应用环境由用户具体设置的约束,它反映了具体应用中数据的语义要求。

  18. 试述数据库设计过程。
    数据库设计过程的六个阶段:
    (1)需求分析
    (2)概念结构设计
    (3)逻辑结构设计
    (4)数据库物理设计
    (5)数据库实施
    (6)数据库运行和维护
    这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。

  19. 需求分析的主要任务?调查的内容是什么?
    需求分析阶段的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
    调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求:
    (1)信息要求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
    (2)处理要求。指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
    (3)安全性与完整性要求。

  20. 数据字典的内容和作用?
    数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:
    数据项
    数据结构
    数据流
    数据存储
    处理过程
    其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
    数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。

  21. 什么是数据库的概念结构?其特点和设计策略是什么?
    概念结构是信息世界的结构,即概念模型,其主要特点是:
    (1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模型。
    (2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。
    (3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
    (4)易于向关系、网状、层次等各种数据模型转换。
    概念结构的设计策略通常有四种:
    自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
    自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
    逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
    混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。

  22. 什么是数据库的逻辑结构?试述其设计步骤?
    数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。设计步骤为《概论》书上图7.31:
    (1)将概念结构转换为一般的关系、网状、层次模型;
    (2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
    (3)对数据模型进行优化

  23. 数据库物理设计的内容和步骤?
    数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。
    数据库的物理设计步骤通常分为两步:
    (1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
    (2)对物理结构进行评价,评价的重点是时间和空间效率。

  24. 规范化理论对数据库设计有什么指导意义?
    规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。

  25. 为什么要进行视图集成,其方法是什么?
    在对数据库系统进行概念结构设计时一般采用自底向上的设计方法,把繁杂的大系统分解子系统。首先设计各个子系统的局部视图,然后通过视图集成的方式将各子系统有机的融合起来,综合成一个系统的总视图。这样设计清晰,由简到繁。由于数据库系统是从整体角度看待和描述数据的,因此数据不再面向某个应用而是整个系统。因此必须进行视图集成,使得数据库能被全系统的多个用户、多个应用共享使用。
    一般说来,视图集成可以有两种方式:
    (1)多个分E-R图一次集成;
    (2)逐步集成,用累加的方式一次集成两个分E-R图。
    无论采用哪种方式,每次集成局部E-R图时都需要分两步走:
    (1)合并。解决各分E-R图之间的冲突,将各分E-R图合并起来生成初步E-R图。
    (2)修改和重构。消除不必要的冗余,生成基本E-R图。

  26. 数据输入在实施阶段的重要性是什么?如何保证输入数据的正确性?
    数据库是用来对数据进行存储、管理与应用的,因此在实施阶段必须将原有系统中的历史数据输入到数据库。数据量一般都很大,而且数据来源于部门中的各个不同的单位。数据的组织方式、结构和格式都与新设计的数据库系统有相当的差距,组织数据录入就要将各类源数据从各个局部应用中抽取出来,分类转换,最后综合成符合新设计的数据库结构的形式,输入数据库。因此这样的数据转换、组织入库的工作是相当费力费时的工作。特别是原系统是手工数据处理系统时,各类数据分散在各种不同的原始表格、凭证、单据之中。数据输入工作量更大。
    保证输入数据正确性的方法:
    为提高数据输入工作的效率和质量,应该针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务。在源数据入库之前要采用多种方法对它们进行检验,以防止不正确的数据入库。

  27. 什么是数据库的再组织和重构造?为什么要进行数据库再组织和重构造?
    数据库的再组织是指:按原设计要求重新安排存储位置、回收垃圾、减少指针链等,以提高系统性能。
    数据库的重构造则是指部分修改数据库的模式和内模式,即修改原设计的逻辑和物理结构。数据库的再组织是不修改数据库的模式和内模式的。
    进行数据库的再组织和重构造的原因:
    数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA就要对数据库进行重组织。DBMS一般都提供数据重组织用的实用程序。
    数据库应用环境常常发生变化,如增加新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,使原有的数据库设计不能满足新的需求,需要调整数据库的模式和内模式。这就要进行数据库重构造。

  28. 数据库运行中可能产生的故障有哪几类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?
    数据库系统中可能发生各种各样的故障,大致可以分以下几类:
    (1)事务内部的故障;(2)系统故障;(3)介质故障;(4)计算机病毒。
    事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。

  29. 数据库恢复的基本技术有哪些?
    数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

  30. 什么是日志文件?为什么要设立日志文件?
    (1)日志文件是用来记录事务对数据库的更新操作的文件。
    (2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。

  31. 什么是数据库镜像?它有什么用途?
    数据库镜像即根据DBA的要求,自动把整个数据库或者其中的部分关键数据复制到另一个磁盘上。每当主数据库更新时,DBMS自动把更新后的数据复制过去,即DBMS自动保证镜像数据与主数据的一致性。
    数据库镜像的用途有:
    一是用于数据库恢复。当出现介质故障时,可由镜像磁盘继续提供使用,同时DBMS自动利用镜像磁盘数据进行数据库的恢复,不需要关闭系统和重装数据库副本。
    二是提高数据库的可用性。在没有出现故障时,当一个用户对某个数据加排它锁进行修改时,其他用户可以读镜像数据库上的数据,而不必等待该用户释放锁。

  32. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?
    并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏”数据。
    (1)丢失修改(LostUpdate)两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了(覆盖了)T1提交的结果,导致T1的修改被丢失。
    (2)不可重复读(Non-RepeatableRead)不可重复读是指事务T1读取某一数据后,事务T2对其执行更新操作,使T1无法再现前一次读取结果。
    (3)读“脏”数据(DirtyRead)读“脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。
    避免不一致性的方法就是并发控制。最常用的并发控制技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中,常常采用时间戳方法来进行并发控制。

  33. 基本的封锁类型有几种?试述它们的含义。
    封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。
    封锁是实现并发控制的一个非常重要的技术。
    基本的封锁类型有两种:排它锁(ExclusiveLocks,简称X锁)和共享锁(ShareLocks,简称S锁)。
    排它锁又称为写锁。若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。
    共享锁又称为读锁。若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhanjuex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值