数据库系统原理复习资料

在数据库中产生数据不一致的根本原因是冗余。        T

解析:在数据库领域中,数据不一致的根本原因并不是冗余,而是缺乏有效的数据一致性控制机制或数据同步机制。


一个数据库只有一个模式和一个内模式。        T

  解析:数据库系统模式:(模式是数据库结构的描述、关系模式是表的结构的描述)
        模式:逻辑模式。一个数据库只有一个模式
        外模式/用户模式:用户使用的局部数据的逻辑结构和特征的描述。一个数据库可以有多个外模式。
        内模式:存储模式。一个数据库只有一个内模式


外模式/模式映像可以保证数据与程序的逻辑独立性。          T

解析:外模式/模式映像是数据库设计中的一个重要概念,它描述了数据库的数据模型和用户程序的交互方式。外模式定义了用户可以使用的逻辑模型,而模式映像则是外模式和概念模型之间的映射,它将外模式定义的逻辑模型映射到概念模型上。通过外模式和模式映像,用户可以使用独立于底层物理实现的逻辑模型,从而使数据与程序逻辑上独立。

        通过外模式和模式映像,用户可以定义自己的视图,只看到他们需要的数据,而不用关注数据在底层是如何实现的。如果底层的数据发生变化,只需调整模式映像,而不用修改用户程序,从而方便了数据的维护和更新。在多用户环境下,不同用户可以使用不同的外模式,通过模式映像实现适应个性化需求。

        因此,外模式/模式映像确实可以保证数据与程序的逻辑独立性,大大简化了程序的开发和维护。


在SQL命令的短语中,WHERE子句中不允许使用聚集函数。        T

解析:在SQL命令的WHERE子句中是不允许使用聚集函数的。

        聚集函数(如SUM、AVG、MAX、MIN、COUNT)是用于对数据进行汇总、分组和计数等操作的函数,它们涉及到整个表或表的一部分,而WHERE子句是用于筛选符合条件的行的,所以在WHERE子句中使用聚集函数是没有意义的。

        如果需要使用聚集函数筛选出符合条件的行,可以使用HAVING子句,它是在GROUP BY子句之后对结果进行筛选的,允许使用聚集函数。


在物理设计阶段,形成数据的外模式。        F

解析:在物理设计阶段,不是形成数据的外模式,而是相反的过程:将逻辑设计好的外模式转化为物理存储设计。


数据库的三级模式结构能够提高系统的安全性。        T

解析:首先,外模式的存在使得不同层次的用户可以看到不同的数据内容,从而保证了数据内容的保密性和隐私性。

        其次,概念模式的存在简化了用户与系统之间的接口,用户只需要关心与自己相关的数据内容,而不需要了解整个系统的内部实现。

        最后,内模式根据物理存储限制和安全策略提供了在物理层面上的安全保障。

        因此,数据库的三级模式结构确实能够提高系统的安全性,同时也为系统的使用和管理提供了灵活性和便利性。


三级模式结构可提供数据独立性。        T

解析:数据库系统的三级模式结构是指模式、外模式和内模式。 外模式/模式映射保证了数据与程序的逻辑独立性模式/内模式保证了数据与程序的物理独立性

        数据独立性是指数据与程序之间、程序与程序之间、数据和存储设备之间的关系独立于应用程序、存储设备或其他数据和程序之间的关系。在数据库中,有两种数据独立性:逻辑独立性物理独立性

        因此,三级模式结构提供了数据独立性,使得数据和应用程序之间的关系相对独立,满足应用程序的多样化需求,并且更改一个级别的模式时不会影响其他级别的模式。


实体完整性要求:关系中任何一个元组在组成“主键”的属性上不能取“空值”。        T

解析:实体完整性是关系数据库中的一种数据完整性,用于确保每个表的每个记录都具有唯一的标识符。在关系数据库中,一个表的某些属性可能被设计为“主键”,作为唯一标识符来标识表中的每一个记录。如果某一行记录的主键属性中为“空值”,就无法确定它的唯一标识符,这就违反了实体完整性。

        实体完整性要求确保了关系中的唯一性限制,保证了数据的一致性和正确性。它可通过在主键属性上定义 NOT NULL 约束来实现,并要求在插入、更新或删除具有主键的记录时,不能在主键属性上赋空值。


候选键是指一个关系模式中,能够唯一标识元组的属性集。        T

解析:在关系数据库设计中,候选键是用来确定关系中每个元组的唯一标识符的属性集合。它是由一个或多个属性组合而成的属性集,能够唯一标识并区分一个关系中的各个元组。候选键可以有多个,其中一个被选为主键,成为关系的基础。


一个关系模式可以有多个“候选键”。        T

解析:在关系数据库中,一个候选键是用来唯一标识每个元组的属性集合。一个关系模式可以拥有一个或多个候选键,这些候选键都可以用来唯一标识关系模式中的每个元组。其中,只有一个候选键会被选为主键,作为该关系模式的基础。

        但是,一个关系模式可以拥有多个候选键,但只能选择一个主键。


SQL语言中,删除一个视图的命令是DELETE 。           F

解析:SQL语言中,删除一个视图的命令是DROP VIEW,而DELETE命令用于删除表中的行。


为保证数据库的正确性,必须先写日志文件,后写数据库。        T

解析:必须先写日志文件,后写数据库;如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。

        所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。


实体完整性和参照完整性是基本关系的两个不变性。        T

解析:关系模式要满足三个完整:实体完整性、参照完整性和用户自定义完整性。其中:实体完整性和参照完整性被称为关系的两个不变性。


子查询的SELECT语句中不能使用ORDER BY子句。        T

解析:子查询的SELECT语句中可以使用ORDER BY子句,但必须满足一定的条件。

在子查询中使用ORDER BY子句时,需要注意以下两点条件:

  1. 子查询只能出现在主查询的WHERE子句或HAVING子句中,并且子查询只能返回单行单列的结果。

  2. ORDER BY子句必须包含在子查询的后面,并且必须只对子查询中的单个列进行排序。同时,必须使用TOP关键字或者其他限制条件(比如WHERE子句)来限制子查询的行数,以确保子查询只返回单行单列的结果。


数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。        T

解析:数据库的安全性通常是指采取措施与技术以确保数据库的机密性、完整性和可用性,以保护数据库免受恶意攻击、误用、泄露或破坏。


当主外健不能保证参照完整性和数据一致性时,还可以选择触发器来实现。        T

解析:如果主外健不能保证参照完整性和数据一致性,可以使用触发器来实现数据一致性。

触发器是一种特殊类型的存储过程,它会在某些特定的数据库操作(比如INSERT、UPDATE或DELETE)执行后自动触发。通过编写触发器来检查、限制、修改或补充插入、更新或删除数据,可以确保数据的完整性和一致性。


参照完整性是指在基本表中,主属性不能取空值。        F

解析:参照完整性不是指在基本表中主属性不能取空值,而是指在关系型数据库中,一个关系的外键必须引用目标关系中已存在的主键,从而保证数据之间的一致性和完整性。


域完整性是保证数据完整性的重要约束之一。        T

解析:域完整性是指确保表中每个属性的值都满足预定义的规范或约束,从而保证数据完整性。在关系型数据库中,域完整性是其中一种重要的完整性约束,用于保障数据库中数据的准确性和一致性,并防止数据误操作或破坏。


在E-R图中,用来表示属性的图形是椭圆形。        T

解析:在 E-R 图中,用来表示实体集的图形为矩形,用来表示属性的图形为椭圆形。


关系表中的每一行称为属性。        F

解析:关系表中的每一行称为元组 (Tuple) 或记录 (Record),是由多个属性 (Attribute) 组成的。一个属性通常是表中的一列,描述了表中的某一方面的信息,在关系模型中用属性描述实体的特征或属性,例如人员的姓名、地址、性别等等。

        因此,在关系表中,一个元组(也称为行或记录)代表的是一个实体的相关信息,每一列代表的是该实体的某个特定属性,而属性中存储的是该实体属性对应的值。通过这种方式描述的关系表可以大大简化数据的管理和维护,为数据处理提供了很大的便利性。


一个关系模式只能有一个“主键”。        T

解析:一个关系模式可以有多个候选键,但只能有一个主键,用于唯一标识表中的数据行。


SELECT语句中的条件可以用WHERE或HAVING引出,但HAVING必须在GROUP BY之后使用。        T

解析:在使用 HAVING 子句时,需注意以下几点:

  • HAVING 子句只能用于配合 GROUP BY 子句使用,用于对分组结果进行筛选,不可以单独使用。
  • HAVING 子句的条件必须基于聚合函数,例如 COUNT、SUM 等,使用别名是不行的。
  • HAVING 子句中的条件用于过滤记录组,而不是过滤行记录,如果非必要,应该避免在 HAVING 子句中使用不必要的条件。

因此,这个说法基本上是正确的,HAVING 子句必须在 GROUP BY 子句之后使用。


SELECT语句中的ORDER BY子句中,如果有多个排序标准,它们之间用分号分隔,查询结果与排序标准的先后顺序有关。        F

解析:这个说法不正确。在 ORDER BY 子句中,多个排序规则之间使用逗号分隔,排序规则的先后顺序决定了排序的优先级。


ORDER BY子句仅对检索数据的显示有影响,并不改变表中行的内容顺序。        T

解析:SQL 中的 ORDER BY 子句用于对查询结果进行排序,可以指定一个或多个列进行排序,以产生按指定规则排序后的结果集。排序规则可以是升序(ASC)或降序(DESC)。

需要注意的是,ORDER BY 子句仅对检索出的数据行的显示顺序进行排序,不会改变表中行的实际存储顺序。因此,查询结果的顺序只影响它们显示的顺序,不会直接影响表中实际存储的数据行顺序。

个人理解,有错可私信或者评论区联系我。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LSuccess

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

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

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

打赏作者

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

抵扣说明:

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

余额充值