Prof(ssno, pname office, age, sex, specialty, dept_did) Dept(did, dname, budget, num_ majors, chair_ssno)假设下面的5个查询是这个大学数据库的工作负载中最常用的,并且它们的出现频率和重要性大致相同列出用户指定性别(男/女)和研究专业(例如递归查询)的教授的姓名、年龄和办公室。假定大学里的全体教员分成不同集合,从而几个教授有相同的研究方向是很少出现的。
列出在用户指定年龄范围内的教授所在系的所有信息
列出开设用户指定主修课的系的id、系名、系主任姓名。
列出学校中所有系的预算中的最低
列出所有是系主任的教授的所有倍息
这些查询比更新出现的频率要高,所以可以创建任何能加速这些查询的素引。但是不应创建那些没有必要的索引因为在进行更新时,这些素引可能会降低更新的执行速度。在给定的这些信息下,设计该大学数据库的一个物理模式它在预期的工作负载下有好的性能。特别是,要决定需要在那些属性上建立索引,以及所建索引是聚簇的还是非聚簇的。假设DBMS支持单个或多个属性上的哈希索引和B+树索引
(1)给出所要建立索引的属性,指出这些索引是聚簇的还是非聚簇的,它们是B+树索引还是哈希索引(2)假设要使用自动索引调整工具调整负载,指出索引调整算法的主要步骤以及需要考虑的备选配置
(3)假设重要的查询进行了如下的改变,请重新设计物理模式:
列出每个系的教授所覆盖的不同专业
找出主修课最少的系。
找出担任系主任的最年轻的教授。