阅读以下说明,根据要求回答问题。【说明】某宾馆需要建立一个住房管理系统,部分的需求分析结果如下:(1)一个房间有多个床位,同一房间内的床位具有相同的收费标准,不同房间的床位收费标准可能不同;(2)每个房间有房间号(如201、202等)、收费标准、床位数目等信息:(3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息;(4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息;(5)管理系统可查询出客人所住房间号。根据以上的需求分析结果,设计一种关系模型如图1所示:
【问题1】根据上述说明和实体-联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。房间(房间号,收费标准,床位数目)客人(身份证号,姓名,性别,出生日期,地址)住宿((1),入住日期,退房日期,预付款额)【问题2】请给出问题1中住宿关系的主键和外键。【问题3】若将上述各关系直接实现为对应的物理表,现需查询在2005年1月1日到2005年12月31日期间,在该宾馆住宿次数大于5次的客人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的SQL语句,请填补语句中的空缺。SELECT住宿.身份证号,count(入住日期)FROM住宿,客人WHERE入住日期>='20050101'AND入住日期<='20051231'AND住宿.身份证号=客人.身份证号GROUP BY(2)(3)count(入住日期)>5(4)【问题4】为提交SQL语句的执行效率,可在相应的表上创建索引。根据问题3中的SQL语句,除主键和外键外,还需要在哪个表的哪些属性上创建索引,应该创建什么类型的索引,请说明原因。
正确答案及解析
正确答案
解析
【问题1】答案:(1)房间号,身份证号【问题2】答案:住宿主键:房间号,身份证号,入住日期住宿外键:房间号,身份证号【问题3】答案:(2)住宿.身份证号(3)HAVING(4)ORDER BY 2 DSC或ORDER BY 2 DESC【问题4】答案:表:住宿属性:入住日期类型:聚簇索引,或聚集索引或cluster原因:表中记录的物理顺序与索引项的顺序一致,根据索引访问数据时,一次读取操作可以获取多条记录数据,因而可减少查询时间。
【解析】
【问题1】
解析:房间号和身份证号分别是房间关系和客人关系的主键,作为外键出现在住宿关系中。住宿关系记录客人的身份证号和住宿的房间号。【问题2】
解析:该题主要考核关系的主键。住宿关系主键包括房间号、身份证号和入住日期。房间号和身份证号是较明显的答案,但仅是这两者并不能唯一识别一个记录,一位客人有可能多次在同一房间里住宿,故入住日期也要包含在主键中。【问题3】解析:该题主要考查SQL语言。GROUP BY后必须出现SELECT后查询项中不包含聚集函数的部分:GROUP BY后跟的条件应该用HAVING子句表示;题目要求按照入住次数降序排序,故最后应填入ORDER BY子句。【问题4】解析:该题主要考查索引的概念。在数据库中,索引使数据库程序无需对整个表进行扫描,就可以从其中找到所需的数据。索引分为两类:聚集索引和非聚集索引。聚集索引对表的物理数据页中的数据按列进行排序,然后重新存储到磁盘上,即聚集索引与数据是混为一体的,其叶结点中存储的是实际的数据。非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶结点存储的是组成非聚集索引关键字值和行定位器。按题目要求,查询涉及的属性有身份证号和入住日期,但它们均为主键属性,故不需要再为其他属性创建索引。针对本题要求为提交SQL语句的执行效率,对“入住日期”属性建立聚集索引,使得索引项顺序和物理数据顺序一致以提高查询性能。
包含此试题的试卷
你可能感兴趣的试题
一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )
-
- A.202.123.25.0
- B.202.123.25.255
- C.202.123.24.0
- D.202.123.24.255
- 查看答案
在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。
-
- A.电子邮件
- B.硬盘
- C.U盘
- D.ROM
- 查看答案
有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()
-
- A.201.117.15.254 和 201.117.17.01
- B.201.117.17.01 和 201.117.24.5
- C.201.117.15.254 和 201.117.29.3
- D.201.117.24.5 和 201.117.29.3
- 查看答案
在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。
-
- A.50波特
- B.500波特
- C.550波特
- D.1000波特
- 查看答案
在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。
Pinging 59.74.111.8 with 32 bytes of data:
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Ping statistics for 59.74.111.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms
-
- A.该命令使得本地主机向目标主机发送了 4 个数据包
- B.本地主机成功收到了目标主机返回的 4 个数据包
- C.本地主机与目标主机连接正常
- D.该命令用于查看目标主机的 IP 地址
- 查看答案