Project( pnoproj_name, proj_ dept, proj. mgr, topic, budget) Manager( mid, mgr_name, mgr_dept, salary, age, sex)注意每一个项目都以某个部门为基础,一个经理可以在几个部门中任职,同时项目经理不能是该项目所在部门中的雇员。假设已知下面5个查询是这个公司的工作负载中最常用的查询它们的出现频率和重要性都大致相同列出在指定部门中具有用户指定性别的项目经理的姓名、年龄和工资。假设有很多部门,每个部门有很少的项目经理
列出那些项目经理的年龄在用户指定年龄范围内(例如小于30岁)的项目的名称
列出那些有由本部门的一个管理者管理的基于本部门的一个项目的所有部门的名称。
列出具有最低预算的项目名称。
列出对于给定项目,在同一部门中的所有经理的姓名。
这些查询比更新出现的频率要高,应该建立索引来加速这些查询。但是,不应该建立那些不必要的索引,因为在进行更新时,这些索引可能会降低更新的执行速度。在给定的这些信息下,设计一个物理模式,它在预期的工作负载下有好的性能。特别是,要决定需要在那些属性上建立索引所建索引是聚簇的还是非聚簇假设DBMS支持单个或多个属性上的哈希索引和B+树索引
(1)给出你所要建立索引的属性,指出这些索引是聚簇的还是非聚簇的,它们是B+树索引还是哈希索引。
(2)假设要使用自动索引调整工具调整负载,指出索引调整算法的主要步骤以及需要考虑的备选配置
(3)假设重要的查询进行了如下的改变,请重新设计物理模式
■找出每个经理所管理的所有项目的预算总和。也就是说,对于所有的 prot-mgr值,列出 pro.mgr和由这个经理管理的项目的预算总和
■列出那些在用户指定年龄范围内的经理所管理的项目的预算总和。
■给出男性经理的个数。
■给出所有经理的平均年龄。
