山东大学软件学院数据库系统2025期末回忆版

考试时间:2025.6.23 ,8:30~10:30

专业:软件工程

试卷总分:70

一、简答题(4*6=24分)

  1. 根据语法树写出SQL语句,及其优化后的语法树(语法树长什么样忘了,但是SQL语句是下面这个:)
    select a.name
    from instructor a,instructor b
    where a.salary > b.salary and b.name = 'Alice'
  2. 结合银行转账事务,阐述事务的ACID特性
  3. 正确的调度、可串行化调度、符合两段锁协议的调度、串行调度、符合严格的两段锁协议的调度五个调度的包含关系(21年原题)
  4. 时间戳排序协议中,为什么被回滚的事务要被赋予新的时间戳?结合题目中的例子说明(给出事务Ta,时间戳为10,在执行read(Q)时由于W-timestamp(Q)=20而被回滚)
  5. B+树实现的主索引,为什么处理范围查询和等值查询的能力都很出色?
  6. 结合学院的例子(一个学生必须有学号、姓名、学院),说明关系模式和关系实例的区别

二、ER模型(11分)

按照如下要求,绘制对应的ER模型,并把ER模型转换成关系模式

医院管理系统:

  1. 一个医院有多个科室,科室有科室编号、所在楼栋。一个科室有多个属于该科室的医生,其中的一个是科室的主任医生
  2. 一个医生只能属于一个科室。医生有工号、姓名、年龄等属性。
  3. 患者具有身份证号、年龄、性别、姓名等属性。一个患者可以选择在多个科室挂号,每次挂号自动生成唯一的一个就诊记录,记录内包含就诊时间、(忘了,不影响)
  4. 医生可以给患者开处方,处方的内容包括开方时间、总价。一个处方必须关联医生、患者和至少一个药品
  5. 药品具有药品编号、库存等属性

三、范式(5+5=10分)

应该是ppt上的一个题稍微改了一下。没记错的话是下面的关系模式:

  1. 是3NF吗?不是的话,给出无损分解和保持依赖的分解
  2. 是BCNF吗?不是的话,给出无损分解

四、关系代数与SQL(25分)

前四个小问写出关系代数表达式和SQL语句,最后两个小问只写SQL

视频管理系统。customer表示用户,用户具有lv1到lv6这几个用户等级(level)。video表示视频(其中upid表示上传者),cv记录了所有的订阅关系。用户订阅某个视频后,可以给视频投币(对应coin属性)

customer(cid,cname,level,city)

video(vid,title,price,upid)

cv(cidvid,coin)

  1. 选出与“数据库设计”这个视频price相同的视频名称
  2. 按城市和用户等级分组,统计订阅视频的总数。(比如,住在‘北京’的lv2用户一共订阅了多少个视频?)
  3. 找出没有被‘lv2’等级用户所订阅过的视频之title
  4. 订阅了up主‘abc’全部视频的用户cid
  5. 投币总数最多的用户cname
  6. 对video,删除订阅数小于10的视频

总得来说,数据库这门课的题型比较固定,尤其是SQL语句查询,几乎每年哪个小题考哪个知识点都是固定的。多看lh老师的ppt,尤其关注要QQ群投票的问题,有可能考变形。

一、简答题 1、什么是数据与程序的物理独立性?什么是数据与程序的逻辑独立性? ①物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的。也就是说,数据在数据库中怎样存储是由数据库管理系统管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时应用程序不用改变。 ②逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的。也就是说,数据的逻辑结构改变时用户程序也可以不变。 2、试述等值连接与自然连接的区别和联系。 连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 3、试述实现数据库安全性控制的常用方法和技术。 ( l )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 **( 2 )存取控制:**通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。 **( 3 )视图机制:**为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 ( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 **( 5 )数据加密:**对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。 4、试述关系模型的三类完整性规则,并举例说明。 实体完整性:所谓的实体完整性就是指关系(所谓的关系就是表)的主码不能取空值; 例子: (1) 实体完整性规则:若属性 A 是基本关系 R 的主属性,则属性 A 不能取空值。 **参照完整性:**是指参照关系中每个元素的外码要么为空(NULL),要么等于被参照关系中某个元素的主码; 例子: (2) 参照完整性规则:若属性(或属性组) F 是基本关系 R 的外码,它与基本关系 S 的主码 K s 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为: 或者取空值( F 的每个属性值均为空值); 或者等于 S 中某个元组的主码值。 用户定义的完整性:指对关系中每个属性的取值作一个限制(或称为约束)的具体定义。 5、一个不好的模式会有些什么问题? ①数据冗余 ②更新异常 ③插入异常 ④删除异常 6、数据库设计中,需求分析的任务是什么?调查的内容是什么? 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统手工系统或计算机系统)工作概况明确用户的各种需求,然后在此基础上确定新系统的功能。 **调查的内容是“数据”和“处理”**即获得用户对数据库的如下要求: (1)信息要求指用户需要从数据库中获得信息的内容与性质由信息要求可以导出数据要求即在数据库中需要存储哪些数据。 (2)处理要求指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。 (3)安全性与完整性要求 7、什么是索引?索引的作用。 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 建立索引是加快查询速度的有效手段,数据库索引类似于图书后面的索引,能快速定位到需要查询的内容,用户可以根据应用环境的需要在基本表上建立一个或者多个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值