问答题 [说明]
某宾馆需要建立一个住房管理系统,部分需求分析结果如下。
(1)一个房间有多个床位,同一房间内的床位具有相同的收费标准。不同房间的床位收费标准可能不同。
(2)每个房间有房间号(如201、202等)、收费标准、床位数目等信息。
(3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息。
(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额等信息。
(5)管理系统可查询出客人所住房间号。
根据以上的需求分析结果,设计一种关系模型实体联系图如下图所示。
问答题 根据上述说明和实体联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。
房间(房间号收费标准,床位数目)
客人(身份证号,姓名,性别,出生日期,地址)
住宿(______,入住日期,退房日期,预付款额)
【正确答案】
【答案解析】房间号,身份证号
问答题 请给出上一题中住宿关系模式的主键和外键。
【正确答案】
【答案解析】住宿主键:房间号,身份证号,入住日期
住宿外键:房间号,身份证号
问答题 若将上述各关系直接实现为对应的物理表,现需查询在2005年1月1日至2005年12月31日期间,在该宾馆住宿次数大于5次的客人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的SQL语句,请填补语句中的空缺。
SELECT 住宿. 身份证号, count (入住日期) FROM 住宿,客人
WHERE 入住日期>="20050101"AND 入住日期<="20051231"
AND 住宿. 身份证号=客人. 身份证号
GROUP BY ______
______ count (入住日期) > 5
______
【正确答案】
【答案解析】身份证号
Having
Order by count(入住日期)Desc或Order by 2 Desc
问答题 为加快SQL语句的执行效率,可在相应的表上创建索引。根据问题3中的SQL语句,除主键和外键外,还需要在哪个表的哪些属性上创建索引?应该创建什么类型的索引?请说明原因。
【正确答案】
【答案解析】表:住宿
属性:入住日期
类型:聚簇索引或聚集索引或cluster
原因:表中记录的物理顺序与索引项的顺序一致,根据索引访问数据时,一次读取操作可以获取多条记录数据,因而可以减少查询时间。