Emp(eid, ename, addr. sal, age, yrs, deptid) Dept(did, dname, floor, budg)假设知道下面是这个公司工作负载中最常用的6个查询,而且它们出现的频率和重要性都大致相同:
列出用户指定的年龄范围内的雇员的id姓名和地址。
列出在用户指定部门工作的所有雇员的id姓名和地址。
列出用户指定姓名的雇员的id和地址。
列出所有工资大于平均工资的雇员信息。
列出每一年龄的平均工资。
列出所有部门的信息并按照所在楼层排序。
(1)给定这些信息,并假设这些查询比任何其他的更新都重要。为公司的数据库设计一个物理模式它能对这些工作负载提供良好的性能。特别是,决定需要在那些字段上加索引,以及所建索引是聚簇的还是非聚簇的。假设B+树素引是DBMS所能支持的惟索引类型,并且允许单个或多个属性码。通过确定你建议要创建聚簇或者非聚簇的B+树索引的属性来给出你的物理设计。
(2)假设重要的查询进行了如下的改变,请重新设计物理模式:列出用户指定姓名的雇员的id和地址。列出雇员的最高工资。划出每个部门中雇员的平均工资,也就是列出部门的 deptid和这个部门所有雇员的平均工资。按照部门所在楼层列出每层楼部门预算的总和假设要使用自动索引调整工具调整负载,指出索引调整算法的主要步骤以及需要考虑的备选配置。
