浙江大学《数据库系统原理》期末考试试题与解析

需积分: 10 15 下载量 174 浏览量 更新于2024-09-09 收藏 117KB DOC 举报
"这是一份来自浙江大学2005-2006学年春夏季学期的《数据库系统原理》课程期末考试试卷,由软件学院开设,考试形式为闭卷,允许学生携带一张A4纸笔记进入考场。考试时间为2006年4月16日,时长120分钟。试卷包含关于Entity-Relationship Model(实体关系模型)和SQL语言的问题。" 在这份试卷中,主要涉及了两个关键知识点: 1. **实体关系模型(Entity-Relationship Model, ER模型)与第三范式(Third Normal Form, 3NF)和最小BCNF(Minimum BCNF)**: - ER模型是数据库设计的基础,用于描述现实世界中的实体、实体之间的关系以及属性。题目要求将给定的ER图转换为最小数量的BCNF关系模式。在ER模型中,实体、关系和属性是基本概念,而BCNF是关系数据库设计中的一个重要范式,它确保数据的逻辑独立性,避免了更新异常。 - BCNF规定,对于每一个非主属性X,如果X依赖于某个候选键Y,则Y必须包含X。最小BCNF是在满足BCNF的基础上,进一步去除冗余的关系模式,达到更高的规范化程度。 2. **SQL查询语言**: - SQL是Structured Query Language的缩写,用于管理和操作数据库,包括数据查询、数据更新、数据插入和数据删除等操作。题目中的SQL部分考察了学生对关系代数表达式和SQL语句的理解。 - 题目给出了`Person`表的定义,包括字段`id`、`name`、`age`、`sex`、`spouse`,其中`id`为主键,`spouse`为外键,关联到`Person`表自身,并设置了级联更新和置空约束,以及性别字段的检查约束。 - SQL查询部分包含两小题: 1) 要求找出所有年龄大于22岁的女性的名字,这可以通过`SELECT name FROM Person WHERE age > 22 AND sex = 'F'`实现。 2) 查询`Person`表中每个年龄出现的次数,这可以使用`SELECT age, COUNT(*) FROM Person GROUP BY age`实现,将返回每个年龄值及其对应的记录数。 这份试卷全面测试了学生对数据库系统基础知识的理解,包括数据建模和SQL查询的实际应用,这些都是数据库系统原理课程的核心内容。学习者需要掌握ER模型的转换规则,以及如何使用SQL进行有效的数据操作,以解决实际问题。
2020-07-06 上传
一、简答题 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、什么是索引?索引的作用。 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 建立索引是加快查询速度的有效手段,数据库索引类似于图书后面的索引,能快速定位到需要查询的内容,用户可以根据应用环境的需要在基本表上建立一个或者多个