数据库原理及应用-期末考试试题及答案

article/2025/9/30 3:26:26

单项选择题

  1. DB、DBMS和DBS三者之间的关系是( )。
    A.DB包括DBMS和DBS B.DBS包括DB和DBMS
    C.DBMS包括DB和DBS D.不能相互包括

  2. 对数据库物理存储方式的描述称为( )
    A.外模式 B.内模式
    C.概念模式 D.逻辑模式

  3. 在数据库三级模式间引入二级映象的主要作用是(   )
    A.提高数据与程序的独立性 B.提高数据与程序的安全性
    C.保持数据与程序的一致性 D.提高数据与程序的可移植性

  4. 视图是一个“虚表”,视图的构造基于( )
    A.基本表 B.视图
    C.基本表或视图 D.数据字典

  5. 关系代数中的π运算符对应SELECT语句中的以下哪个子句?(  )
    A.SELECT B.FROM
    C.WHERE D.GROUP BY

  6. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )
    A.多对多 B.一对一 C.多对一 D.一对多

  7. 如何构造出一个合适的数据逻辑结构是( )主要解决的问题。
    A.关系系统查询优化 B.数据字典
    C.关系数据库规范化理论 D.关系数据库查询

  8. 将E-R模型转换成关系模型,属于数据库的( )。
    A. 需求分析 B. 概念设计
    C.逻辑设计 D. 物理设计

  9. 事务日志的用途是( )
    A. 事务处理 B. 完整性约束
    C. 数据恢复 D. 安全性控制

  10. 如果事务T已在数据R上加了X锁,则其他事务在数据R上( )
    A. 只可加X锁 B. 只可加S锁
    C. 可加S锁或X锁 D. 不能加任何锁

填空题

  1. 数据库的逻辑数据独立性是由 外模式/模式 映象提供的。
  2. 关系代数中专门的关系运算包括:选择、投影、连接和 除。
  3. 设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据一执行,表S和表SC之间应满足 参照 完整性约束。
  4. 当数据库破坏后,如果事先保存了数据库副本和 日志文件 ,就有可能恢复数据库。
  5. 如果一个满足1NF关系的所有属性合起来组成一个关键字,该关系最高满足的范式是 3NF (在1NF,2NF,3NF范围内)
  6. 设关系模式R(A,B,C,D),函数依赖集F={AB→C,D→B},则R的候选码为 AD。 解析:L:A,D ; R:C ; N:none; LR:B;AD的闭包包含所有属性。
  7. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗余度大、插入异常、修改异常删除异常。
  8. 并发控制的主要方法是 封锁 机制.
  9. 若有关系模式R(A,B,C)和S(C,D,E),SQL语句
SELECT A, D FROM R, S WHERE R.C=S.C AND E = '80' ; 

对应的关系代数表达式是:
在这里插入图片描述

  1. 分E-R图之间的冲突主要有属性冲突、 命名冲突 、结构冲突三种。

简答题

1.说明视图与基本表的区别和联系。

答:视图是从一个或多个基本表中导出来的表,它与基本表不同,他是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也随之改变。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。

2.简述事务的特征。

答: 原子性:事务中包括所有操作,要么都做,要么都不做。 一执行:事务必须使数据库从一个一致性状态变到另一个一致性状态。 隔离性:一个事务内部的操作以及使用的数据对并发的其他事务是隔离的。 持久性:事务一旦提交,对数据库的改变是永久的。

3.试述关系模型的参照完整性规则。

答:若属性F是基本关系R的外码,他与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为取空值,或者等于S中某个元组的主码值。

4.简述系统故障时的数据库恢复策略。

答:数据冗余恢复,与日志恢复技术。正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列,同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列,对UNDO队列中的各个事务进行撤销处理;对REDO队列中的各个事务进行重做处理。

设计题

现有关系数据库如下:

              学生(学号,姓名,性别,专业)课程(课程号,课程名,学分)学习(学号,课程号,分数)

分别用关系代数表达式和SQL语句实现下列1—5小题
(注意:每小题都要分别写出关系代数表达式和SQL语句!!!每小题关系代数表达式2分,SQL语句2分):

1.检索所有选修了课程号为“C112”的课程的学生的学号和分数

SQL: select 学号,成绩 from 学习 where 课程号 =‘C112’
关系代数:在这里插入图片描述

2.检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数;

SQL :

select 学生.学号,课程名,分数 from 学生
INNER JOIN 学习 ON 学生.学号 = 学习.学号
INNER JOIN 课程 ON 学习.课程号 = 课程.课程号 
where 专业 = '英语'

关系代数:在这里插入图片描述
3.检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;
SQL:

SELECT 学生.学号,姓名,专业,分数 from 学生,学习,课程
where 学生.学号 = 学习.学号 AND 学习.课程号 = 课程.课程号
AND 分数 >90 AND 课程名 = ‘数据库原理’

关系代数:
在这里插入图片描述
4.检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业;

SELECT 学号,姓名,专业 
FROM 学生 WHERE 学号 NOT INSELECT 学号 FROM 学习 WHERE 课程号=‘C135’)

关系代数:
在这里插入图片描述
5.检索至少学过课程号为“C135”和“C219”的课程的学生的信息,包括学号、姓名和专业。


SELECT 学号,姓名,专业 FROM 学生WHERE 学号 INSELECT X1.学号 FROM  学习 X1,学习 X2  WHERE X1.学号=X2.学号 AND X1.课程号=‘C135’AND X2.课程号=‘C219’)(1分)

关系代数:
在这里插入图片描述

综合题

  1. 现有如下关系模式:

    借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期)

    基本函数依赖集:

    F={图书编号→(书名,作者名,出版社),

    读者编号→读者姓名,

    (图书编号,读者编号,借阅日期)→归还日期}

    1)读者编号是候选码吗?

    答:(1)不是。

    (2)写出该关系模式的主码。

    答:(图书编号,读者编号,借阅日期)

    (3)该关系模式中是否存在非主属性对码的部分函数依赖?如果存在,请写出一个。

    答:存在。

    图书编号,读者编号,借阅日期)→书名、 (图书编号,读者编号,借阅日期)→作者名、
    (图书编号,读者编号,借阅日期)→出版社、 (图书编号,读者编号,借阅日期)→读者姓名 (1分,四个函数依赖任选一个即可)

    (4)该关系模式满足第几范式?并说明理由。

    答:1NF,因为存在非主属性对主码的部分函数依赖。

  2. 某工厂生产多种产品,每种产品由不同的零件组装而成,有的零件可用在不同的产品上。产品有产品号和产品名两个属性,零件有零件号和零件名两个属性。根据语义设计E-R模型,并将E-R模型转换成关系模式,要求关系模式主码加下划线表示。(E-R模型4分,关系模型6分)

E-R图:
在这里插入图片描述
关系模式:

产品(产品号,产品名)
零件(零件号,零件名)
组装(产品号,零件号)


http://chatgpt.dhexx.cn/article/N4JA7lov.shtml

相关文章

数据库试题及答案 两套

数据库原理试题(A卷) 一、 填空题(每空 1 分,共 20 分) 1. 对于一个国家来说,数据库的建设规模、数据库信息量的 _____________ 和 _____________ 已成为这个国家信息化程度的 ________________ 。2. 数据模型通常由:…

经典 SQL 数据库笔试题及答案整理

马上又是金三银四啦,有蛮多小伙伴在跳槽找工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收录了下最近学员反馈上来…

AttributeUsage(转载)

System.AttributeUsage声明一个Attribute的使用范围与使用原则。 AllowMultiple 和 Inherited 参数是可选的,所以此代码具有相同的效果: AttributeTarget的值可以参考1。部分可取值如下: 如果 AllowMultiple 参数设置为 true,则返…

[AttributeUsage(AttributeTargets.Class)] 用法例子

首先,创建一个自定义的Attribute,并且事先设定我们的Attribute将施加在class的元素上面以获取一个类代码的检查信息。 using System; using System.Reflection; [AttributeUsage(AttributeTargets.Class)] public class CodeReviewAttribute : System.Attribute //定义一个Co…

介绍属性与自定义属性、AttributeUsage

介绍属性 属性为访问自定义类型的注释信息提供通用的访问方式。注释信息是随意的,换句话说,这种信息不是语言自身固有的,而是由你自己能够想象到的任何信息。你能使用属性(attributes)定义设计时信息&am…

理解AttributeUsage类

类定义: // 摘要: // 指定另一特性类的用法。 此类不能被继承。[Serializable][AttributeUsage(AttributeTargets.Class, Inherited true)][ComVisible(true)]public sealed class AttributeUsageAttribute : Attribute{// 摘要: // 用指定的 System.Attri…

AttributeUsage属性

除了定制 attributes 之外&#xff0c;可以使用 Attributes 属性定义如何使用这些属性。例如&#xff1a;<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /> [AttributeUsage( validon, AllowMultiple allowmultiple, …

AttributeUsage

AttributeUsage 【AttributeUsage】 System.AttributeUsage声明一个Attribute的使用范围与使用原则。 AllowMultiple 和 Inherited 参数是可选的&#xff0c;所以此代码具有相同的效果&#xff1a; AttributeTarget的值可以参考1。部分可取值如下&#xff1a; 如果 AllowMultip…

吉大软构件和中间件课程-JPA配置方法

吉大软构件和中间件课程-JPA配置方法 JPA连接方法&#xff1a; 1.standalone.xml 文字&#xff1a; <xa-datasource jta"true" jndi-name"java:jboss/datasources/MySqlDS" pool-name"MySqlDS" enabled"true" use-java-c…

JPA 配置文件最详细总结,没有之一!

又来了一个懵懂少年&#xff0c;看我怎么骗你的。 来我们开始学习吧。 PropertyPlaceholderConfigure 载入属性文件&#xff1a; 例如&#xff1a;class"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><propertyname"loc…

Spring Boot使用spring-data-jpa配置Mysql多数据源

转载请注明出处 :Spring Boot使用spring-data-jpa配置Mysql多数据源 我们在之前的文章中已经学习了Spring Boot中使用mysql数据库 在单数据源的情况下&#xff0c;Spring Boot的配置非常简单&#xff0c;只需要在application.properties文件中配置连接参数即可。 但是往往随…

SpringBoot 配置 JPA

新建项目 在application.properties配置文件中进行配置&#xff08;或者application.yaml中配置也行&#xff09; spring.datasource.urljdbc:mysql://localhost:3306/ssm?characterEncodingutf8&useSSLfalse&serverTimezoneUTC spring.datasource.usernameroot sp…

Springboot---JPA配置

1.在配置文件中写入数据库信息 application.properties配置如下 spring.datasource.primary.urljdbc:mysql://localhost:3306/test1 spring.datasource.primary.usernameroot spring.datasource.primary.passwordroot spring.datasource.primary.driver-class-namecom.mysql.…

spring-boot-starter-data-jpa 配置多个数据源与jpa实体类继承的问题、分页条件查询

JPA的继承注解一般有四种 MappedSuperclass 这个注解应用的场景是父类不对应任何单独的表&#xff0c;多个子类共用相同的属性。 注意&#xff1a; MappedSuperclass注解使用在父类上面&#xff0c;是用来标识父类的作用 MappedSuperclass标识的类表示其不能映射到数据库表&am…

Springboot多数据源+Jpa配置

随着业务复杂程度的增加&#xff0c;单一数据源越来越不满足具体的业务逻辑以及实现。 这里我用到了MySQL和Presto两种数据源&#xff1a; 多数据源配置GlobalDataSourceConfiguration&#xff1a; Configuration public class GlobalDataSourceConfiguration {Bean(name …

springboot--jpa 配置多数据库

使用spring boot jpa 配置多数据源 由于项目整合 以前的功能 但是以前功能存储的数据库是另一个数据库 这两天搜索了一下 遇见了许多坑 在这里记录一下 首先附上我的项目结构 可能有些乱 忘见谅。 pom.xml(把数据库的依赖引入) <!-- mariadb --><dependen…

Spring Data Jpa 配置多数据源

文章目录 1.配置数据库连接信息2.编写数据源配置类3.编写数据库配置4.目录结构 1.配置数据库连接信息 spring:datasource:db1: # 1.0 Datasourceurl: jdbc:mysql://127.0.0.1:3306/test1?useSSLfalse&serverTimezoneGMT%2b8&characterEncodingutf8&connectTimeo…

springboot2+JPA 配置多数据源(不同类型数据库)

注意&#xff1a;看此篇文章之前&#xff0c;springbootjpa的配置环境应搭建好&#xff0c;不会搭可以自行百度。本文章主要讲述配置JPA多数据源。 1.数据源配置文件 application.properties # 数据源thirded&#xff08;oracle数据库&#xff09; spring.jpa.thirded.databa…

jpa配置(jpa配置连接池)

JPA的实体状态有哪些呢&#xff1f; 该接口拥有众多执行数据查询的接口方法&#xff1a; Object getSingleResult()&#xff1a;执行SELECT查询语句&#xff0c;并返回一个结果&#xff1b; List getResultList() &#xff1a;执行SELECT查询语句&#xff0c;并返回多个结果&…

SpringBoot系列之数据库初始化-jpa配置方式

上一篇博文介绍如何使用spring.datasource来实现项目启动之后的数据库初始化&#xff0c;本文作为数据库初始化的第二篇&#xff0c;将主要介绍一下&#xff0c;如何使用spring.jpa的配置方式来实现相同的效果 I. 项目搭建 1. 依赖 首先搭建一个标准的SpringBoot项目工程&am…