6、房间号,身份证号
7、住宿主键:房间号,身份证号,入住日期住宿外键:房间号,身份证号8、(2)住宿.身份证号(3)HAVING(4)ORDER BY 2 DSC,或ORDER BY 2 DESC
9、表:住宿属性:入住日期类型:聚簇索引,或聚集索引,或cluster原因:表中记录的物理顺序与索引项的顺序一致,根据索引访问数据时,一次读取操作可以获取多条记录数据,因而可减少查询时间。
6、[解析] 房间号和身份证号分别是房间关系和客人关系的主键,作为外键出现在住宿关系中。住宿关系记录客人的身份证号和住宿的房间号。
7、[解析] 该题主要考核关系的主键。住宿关系主键包括房间号、身份证号和入住日期。房间号和身份证号是较明显的答案,但仅是这两者并不能唯一识别一个记录,一位客人有可能多次在同一房间里住宿,故入住日期也要包含在主键中。
8、[解析] 该题主要考查SQL语言。GROUP BY后必须出现SELECT后查询项中不包含聚集函数的部分:GROUP BY后跟的条件应该用HAVING子句表示;题目要求按照入住次数降序排序,故最后应填入ORDER BY子句。
9、[解析] 该题主要考查索引的概念。在数据库中,索引使数据库程序无需对整个表进行扫描,就可以从其中找到所需的数据。索引分为两类:聚集索引和非聚集索引。聚集索引对表的物理数据页中的数据按列进行排序,然后重新存储到磁盘上,即聚集索引与数据是混为一体的,其叶结点中存储的是实际的数据。非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶结点存储的是组成非聚集索引的关键字值和行定位器。 按题目要求,查询涉及的属性有身份证号和入住日期,但它们均为主键属性,故不需要再为其他属性创建索引。针对本题要求为提交SQL语句的执行效率,对“入住日期”属性建立聚集索引,使得索引项顺序和物理数据顺序一致以提高查询性能。问题3中查询涉及到的属性有身份证号和入住日期,由于这两个属性均为住宿关系的主键,故不需要再在其他属性上创建索引。在主键上创建的索引类型应为聚簇索引(或聚集索引或cluster)。创建聚簇索引的原因是令表中记录的物理顺序与索引项的顺序一致,根据索引访问数据时,一次读取操作可以获取多条记录数据,因而可减少查询时间。