一、基本操作题(共4小题,第1和2题是7分、第3和4题是8分)
在考生文件夹下,打开"宾馆"数据库,完成如下操作:
1. 打开"客户"表,给"性别"字段增加约束:性别只能为"男"或"女",默认值为:"女",表达式为: 性别 $ "男女";
2. 为"入住"表创建一个主索引,主索引的索引名为fkkey,索引表达式为:"客房号+客户号";
3. 根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与建索引的字段名相同,升序排序。
4. 使用SQL的SELECT语句查询"客户"表中性别为"男"的客户号、身份证、姓名和工作单位字段值,并将结果存储到名为TABA的表(注意,该表不需要排序)。请将该语句存储到名为ONE.PRG的文件中。
二、简单应用(2小题,每题20分,计40分)
在考生文件夹下,打开"宾馆"数据库,完成如下简单应用:
1. 使用查询设计器设计一个名称为TWO的查询,查询房价价格大于等于280元的每个客房的客房号、类型号(来自客房表)、类型名和价格。查询结果按类型号升序排序,并将查询结果输出到表TABB中。设计完成后,运行该查询。
2. 修改一个名称为THREE.PRG的命令文件。该命令文件用来查询与"姚小敏"同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位,查询结果包括"姚小敏"本人。 查询结果输出到表TABC中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。
三、综合应用(1小题,计30分)
在考生文件夹下,先打开"宾馆"数据库,然后创建一个文件名为test的表单,如图所示。
该表单完成如下综合应用:在该表单中设计一个标签(Label1)、一个文本框(Text1)和两个命令按钮。标签的标题文本为"退房日期大于或等于"。 文本框用于输入退房日期。两个命令按钮的功能如下: ⑴ "查询"按钮(Command1):在该按钮的Click事件中使用SQL的SELECT命令查询退房日期大于或等于输入日期的客户号、身份证、姓名、工作单位和该客户入住的客房号、类型名、价格信息,查询结果按价格降序排序,并将查询结果存储到表TABD中。表TABD的字段为客户号、身份证、姓名、工作单位、客房号、类型名、价格。 ⑵ "退出"按钮(Command2)的功能是"关闭和释放表单"。表单设计完成后,运行该表单,查询退房日期大于或等于2005-04-01的顾客信息。
基本操作题答案:
3、“入住”按客房号和客房号分别建立普通索引,“客房”按类型号建立普通索引。“客户”和“入住”按客户号建立联系,
“客房”和“入住”按客房号建立联系,“房价”和“客房”按类型号建立联系。
4、程序one.prg的内容如下:
SELECT 客户号,身份证,姓名,工作单位 FROM 客户 WHERE 性别="男" INTO TABLE TABA
简单应用题答案:
2、第三行后加“on 客户.客户号=入住.客户号”。第五行 select 后加“入住日期”。第三行条件改为“客户.客户号=入住.客户号
AND 姓名 = "姚小敏"”。第八行改为:“INTO TABLE TABC”
综合应用题答案:“查询”命令按钮的CLICK事件代码如下:
SELECT 客户.客户号,身份证,姓名,工作单位,客房.客房号,房价.类型名,价格;
FROM 客户,房价,入住,客房 WHERE 客户.客户号=入住.客户号 AND 客房.客房号=入住.客房号;
AND 房价.类型号=客房.类型号 AND 退房日期>=ctod(thisform.text1.value) ORDER BY 价格 DESC INTO TABLE tabd
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |