山东大学软件学院数据库2019-2020第一学期期末考试题回忆版 一、简答题 1. 两阶段封锁协议的加锁过程: 两阶段封锁协议是一种常用的并发控制机制,主要用于解决数据库中的并发访问问题。该协议的加锁过程可以分为两个阶段: 第一阶段:锁定阶段。在这个阶段,事务会对要访问的数据项加锁,以防止其他事务的访问。在这个阶段,事务可以对数据项进行读取或修改。 第二阶段:解锁阶段。在这个阶段,事务会释放之前加锁的数据项,使得其他事务可以访问这些数据项。 2. R(A,B,C)搜索码是(A),B+树辅助索引,查询条件 A=50,树高 h,满足条件记录数 n,给出最坏情况下的代价估计: 在B+树索引中,如果查询条件是A=50,那么可以根据B+树的性质,直接定位到对应的叶子节点,然后在叶子节点中查找满足条件的记录。由于B+树的高度是h,那么最坏情况下的代价估计是O(h)。 3. 关系中字段有顺序吗,为什么? 关系中的字段不一定有顺序,关系模式中字段的顺序是任意的。关系模式中字段的顺序是根据实际需要确定的。 4. 关系模式和关系实例的区别: 关系模式是关系数据库中的一种逻辑结构,定义了关系的字段和字段之间的关系。而关系实例是关系模式的实例化,包含了实际的数据。 5. 关系模式 R(A,B,C),多值依赖 A→→B,有元组(a1,b1,c1)(a1,b2,c2)(a1,b3,c3)(a1,b3,c1),还需要哪些元组才能满足: 由于多值依赖 A→→B,那么可以推断出B的值是A的函数。如果已知元组(a1,b1,c1)(a1,b2,c2)(a1,b3,c3)(a1,b3,c1),那么可以推断出其他元组,例如(a1,b4,c4)(a1,b5,c5),以满足多值依赖。 二、设计题 1. ER 图: ER 图是一种常用的数据库设计方法,它可以将实体、属性和关系之间的关系用图形化的方式表示出来。根据题目要求,ER 图可以设计如下: * 实体:仓库、职工、零件 * 属性: + 仓库:仓库面积、仓库保存零件的种类 + 职工:职工姓名、职务、工资薪酬 + 零件:零件颜色、成本、出厂价 * 关系: + 仓库和职工之间的关系:一个仓库可以有多个职工,一个职工可以在多个仓库工作 + 仓库和零件之间的关系:一个仓库可以保存多种零件,一种零件可以被多个仓库保存 + 职工和零件之间的关系:一个职工可以管理多种零件,一种零件可以被多个职工管理 2)转成关系模式: 根据ER图,可以将其转换为关系模式。关系模式可以设计如下: 仓库表(Warehouse) * WarehouseID(主键) * Area * PartType 职工表(Employee) * EmployeeID(主键) * Name * Job * Salary 零件表(Part) * PartID(主键) * Color * Cost * Price 关系表(Warehouse_Employee) * WarehouseID(外键) * EmployeeID(外键) 关系表(Warehouse_Part) * WarehouseID(外键) * PartID(外键) 2. R(A,B,C,D),函数依赖 F={A→C, C→A, B→AC, D→AC,BD→A},是否满足 3NF,如果是说明理由,如果不是,给出满足函数依赖和无损分解的 3NF 分解。 根据函数依赖,可以看到A、C之间存在函数依赖关系。因此,可以将关系模式R分解为两个关系模式R1和R2: R1(A,C) R2(A,B,D) 这样,R1和R2都满足3NF。 三、综合题 1)根据关系代数和元组关系演算写结果: 可以使用关系代数来实现所需的查询操作。例如,可以使用_select_操作符来选择满足条件的记录,使用_π_操作符来投影所需的字段。 2)写 SQL 语句: 可以使用SQL语句来实现所需的查询操作。例如,可以使用SELECT语句来选择满足条件的记录,使用WHERE语句来指定查询条件。 3)JDBC,删除某个学生的时候,如果学生没有选课记录才进行删除,已经连接好数据库,可以直接使用,名字 conn: 可以使用JDBC来实现删除学生记录的操作。例如,可以使用PreparedStatement来执行删除操作,使用条件语句来判断学生是否有选课记录。 本次考试题目涵盖了数据库的多个方面,包括关系代数、关系模式、ER图、B+树索引、函数依赖、3NF、关系代数和元组关系演算、SQL语句和JDBC等。
- 粉丝: 369
- 资源: 37
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助