单选题
在SQL语言中,删除基本表的命令是{{U}} (22) {{/U}},修改表中数据的命令是{{U}} (23) {{/U}}。
【正确答案】 D
【答案解析】
【正确答案】 C
【答案解析】(22)~(23)在SQL语言中,对表的操作命令有:建表CREATE TABLE、修改表 ALTER TABLE(与MODIFY配合可修改列的数据类型)、删除表DROP TABLE。要修改表的数据(元组)则用UPDATE,要删除表中元组则用DELETE。
【正确答案】 B
【答案解析】
【正确答案】 A
【答案解析】
【正确答案】 C
【答案解析】
【正确答案】 B
【答案解析】(24)~(27)此题牵涉到select的多层嵌套查询。难度较高。有条件的读者可以在机器上调试此语句,这样有助于理解。第一问是查询长沙每个商场都销售,且售价均超过3000元的商品的商品号和商品名,其语义等价于——不存在这样的商场X:X所在城市为长沙,且X中不存在售价大于3000的在长沙各商场均有售的商品。言外之意就是,对于长沙各个商场而言,都有这样的商品——该商品在长沙各商场均有售且售价超过3000元。因此第 (24)空填NOT EXISTS,第(25)空填city='长沙'。第(26)空显然要填:item. ino=sales. ino AND market. mno=sales.mno,用于连接三个表。 接下来我们看第(27)空,这一空要求查询不同商场中最高售价和最低售价之差超过 100元的商品的商品号,这需要对记录进行分组。分组时应以商品号来进行,因为若按商品号分组,则此商品在各个商场的售价都在一个组内,用MAX和MIN这两个函数,可以求得此商品的最高售价和最低售价,所以应选B。
【正确答案】 A
【答案解析】
【正确答案】 D
【答案解析】(28)~(29)关系R上的函数依赖集为{A→D,A→E,DE→A),R的候选码为A或 DE,R上的任一函数依赖的左部都包含了R的某一候选码,所以R是BCNF。