第四十三套
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生目錄下完成如下操作:
1. 打開(kāi)數(shù)據(jù)庫(kù)SCORE_MANAGER,該數(shù)據(jù)庫(kù)中含三個(gè)有聯(lián)系的表STUDENT、SCORE1
和COURSE,根據(jù)已經(jīng)建立好的索引,建立表之間聯(lián)系。
2. 為COURSE表增加字段:開(kāi)課學(xué)期(N,2,0)。
3. 為SCORE1表"成績(jī)"字段設(shè)置字段有效性規(guī)則:成績(jī)>=0,出錯(cuò)提示信息是:
"成績(jī)必須大于或等于零"。
4. 將SCORE1表"成績(jī)"字段的默認(rèn)值設(shè)置為空值(NULL)。
本題主要考核點(diǎn):
為已建立索引的表建立聯(lián)系、設(shè)置字段的默認(rèn)值、字段的添加、字段有效性的設(shè)置等知識(shí)點(diǎn)
本題解題思路:
第1題:本題的主要考核點(diǎn)是建立兩個(gè)表之間永久聯(lián)系。
在父表中選中主索引,按住鼠標(biāo)拖動(dòng)至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
第2題:本題的主要考核點(diǎn)是字段的添加的方法。
打開(kāi)COURSE表表設(shè)計(jì)器,將光標(biāo)移動(dòng)到后的空字段格中,輸入新的字段名、字段類型及長(zhǎng)度。
第3題:本題的主要考核點(diǎn)是字段有效性的設(shè)置。
在表設(shè)計(jì)器中,選中"成績(jī)"字段,在"字段有效性"中的"規(guī)則"文本框中填入: 成績(jī)>=0,在"信息"文本框中中填入"成績(jī)必須大于或等于零",單擊確定。
第4題:本題的主要考核點(diǎn)是字段默認(rèn)值的設(shè)置。
在表設(shè)計(jì)器對(duì)話框中,選擇"成績(jī)"字段,點(diǎn)擊NULL列下的按鈕(表示此列允許空值),然后再在"字段有效性"中的默認(rèn)值中填入.NULL.,單擊確定。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生目錄下完成如下簡(jiǎn)單應(yīng)用:
1. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢學(xué)生的姓名和年齡(計(jì)算年齡的公式
是:2003-Year(出生日期),年齡作為字段名),結(jié)果保存在一個(gè)新表NEW_TABLE1
中。使用報(bào)表向?qū)Ы?bào)表NEW_REPORT1,用報(bào)表顯示NEW_TABLE1的內(nèi)容。報(bào)表
中數(shù)據(jù)按年齡升序排列,報(bào)表標(biāo)題是"姓名-年齡",其余參數(shù)使用缺省參數(shù)。
2. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢沒(méi)有選修任何課程的學(xué)生信息,查詢
結(jié)果包括"學(xué)號(hào)"、"姓名"和"系部"字段,查詢結(jié)果按學(xué)號(hào)升序保存在一個(gè)新
表NEW_TABLE2中。
本題主要考核點(diǎn):
本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉?bào)表向?qū)У氖褂玫戎R(shí)點(diǎn)
本題解題思路:
第1題:本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉?bào)表向?qū)У氖褂谩?BR> SELECT 姓名, 2003-Year(出生日期) as 年齡;
FROM student;
INTO TABLE new_table1.dbf
啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話框,文件類型選擇報(bào)表,單擊向?qū)О粹o?;蛘咴?工具"菜單中選擇"向?qū)?子菜單,選擇"報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR> 第2題:本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用。
SELECT Student.學(xué)號(hào), Student.姓名, Student.系部;
FROM course right OUTER JOIN score1;
right OUTER JOIN student ;
ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào);
WHERE Student.學(xué)號(hào) != Score1.學(xué)號(hào) ;
ORDER BY Student.學(xué)號(hào);
INTO TABLE new_table2.dbf
三、綜合應(yīng)用(1小題,計(jì)30分)
SCORE_MANAGER數(shù)據(jù)庫(kù)中含有三個(gè)數(shù)據(jù)庫(kù)表STUDENT、SCORE1和COURSE。
為了對(duì)SCORE_MANAGER數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行查詢,設(shè)計(jì)一個(gè)如圖所示的表單
Myform1(控件名為form1,表單文件名Myform1.scx)。表單的標(biāo)題為"成績(jī)查詢"。
表單左側(cè)有文本"輸入學(xué)號(hào)(名稱為L(zhǎng)abel1的標(biāo)簽)"和用于輸入學(xué)號(hào)的文本框(名
稱為Text1)以及"查詢"(名稱為Command1)和"退出"(名稱為Command2)兩個(gè)命令
按鈕以及1個(gè)表格控件。
表單運(yùn)行時(shí),用戶首先在文本框中輸入學(xué)號(hào),然后單擊"查詢"按鈕,如果
輸入學(xué)號(hào)正確,在表單右側(cè)以表格(名稱為Grid1)形式顯示該生所選課程名和成
績(jī),否則提示"學(xué)號(hào)不存在,請(qǐng)重新輸入學(xué)號(hào)"。
單擊"退出"按鈕,關(guān)閉表單。
本題主要考核點(diǎn):
表單文件的創(chuàng)建、控件的屬性的修改、SQL語(yǔ)句運(yùn)用、表單的退出等知識(shí)點(diǎn)
本題解題思路:
操作過(guò)程:
①在命令窗口輸入命令:CREATE FORM Myform1,打開(kāi)表單設(shè)計(jì)器窗口。
②在表格上添加各文本框、命令按鈕、表格及相關(guān)的標(biāo)簽,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
③設(shè)置各標(biāo)簽、命令按鈕以及表單的Caption屬性值。
④將表單的ColumnCount 屬性值設(shè)置為2(共兩列)、RecordSourceType屬性值設(shè)置為"4-SQL說(shuō)明"。
⑤將表格內(nèi)兩列標(biāo)頭的Caption屬性分別設(shè)置為"課程名"和"成績(jī)",并適當(dāng)調(diào)整兩列的寬度。
⑥設(shè)置表單的Load事件代碼:
CLOSE ALL
USE STUDENT
⑦設(shè)置"查詢"按鈕的Click事件代碼:
GO
LOCATE FOR Student.學(xué)號(hào) ==ALLTRIM(THISFORM.TEXT1.VALUE)
IF Student.學(xué)號(hào) ==ALLTRIM(THISFORM.TEXT1.VALUE)
THISFORM.GRID1.RECORDSOURCE="SELECT Course.課程名, Score1.成績(jī);
FROM course INNER JOIN score1;
INNER JOIN student ;
ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào);
WHERE Student.學(xué)號(hào) = ALLTRIM(THISFORM.TEXT1.VALUE);
INTO CURSOR TEMP"
ELSE
MESSAGEBOX("學(xué)號(hào)不存在,請(qǐng)重新輸入學(xué)號(hào)")
THISFORM.GRID1.RECORDSOURCE=''
ENDIF
⑧設(shè)置"退出"按鈕的Click事件代碼:
THISFORM.RELEASE
⑨保存表單,關(guān)閉表單設(shè)計(jì)器窗口。
一、基本操作題(共4小題,第1和2題是7分、第3和4題是8分)
在考生目錄下完成如下操作:
1. 打開(kāi)數(shù)據(jù)庫(kù)SCORE_MANAGER,該數(shù)據(jù)庫(kù)中含三個(gè)有聯(lián)系的表STUDENT、SCORE1
和COURSE,根據(jù)已經(jīng)建立好的索引,建立表之間聯(lián)系。
2. 為COURSE表增加字段:開(kāi)課學(xué)期(N,2,0)。
3. 為SCORE1表"成績(jī)"字段設(shè)置字段有效性規(guī)則:成績(jī)>=0,出錯(cuò)提示信息是:
"成績(jī)必須大于或等于零"。
4. 將SCORE1表"成績(jī)"字段的默認(rèn)值設(shè)置為空值(NULL)。
本題主要考核點(diǎn):
為已建立索引的表建立聯(lián)系、設(shè)置字段的默認(rèn)值、字段的添加、字段有效性的設(shè)置等知識(shí)點(diǎn)
本題解題思路:
第1題:本題的主要考核點(diǎn)是建立兩個(gè)表之間永久聯(lián)系。
在父表中選中主索引,按住鼠標(biāo)拖動(dòng)至子表相應(yīng)的普通索引上,釋放鼠標(biāo),聯(lián)系即已建立。
第2題:本題的主要考核點(diǎn)是字段的添加的方法。
打開(kāi)COURSE表表設(shè)計(jì)器,將光標(biāo)移動(dòng)到后的空字段格中,輸入新的字段名、字段類型及長(zhǎng)度。
第3題:本題的主要考核點(diǎn)是字段有效性的設(shè)置。
在表設(shè)計(jì)器中,選中"成績(jī)"字段,在"字段有效性"中的"規(guī)則"文本框中填入: 成績(jī)>=0,在"信息"文本框中中填入"成績(jī)必須大于或等于零",單擊確定。
第4題:本題的主要考核點(diǎn)是字段默認(rèn)值的設(shè)置。
在表設(shè)計(jì)器對(duì)話框中,選擇"成績(jī)"字段,點(diǎn)擊NULL列下的按鈕(表示此列允許空值),然后再在"字段有效性"中的默認(rèn)值中填入.NULL.,單擊確定。
二、簡(jiǎn)單應(yīng)用(2小題,每題20分,計(jì)40分)
在考生目錄下完成如下簡(jiǎn)單應(yīng)用:
1. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢學(xué)生的姓名和年齡(計(jì)算年齡的公式
是:2003-Year(出生日期),年齡作為字段名),結(jié)果保存在一個(gè)新表NEW_TABLE1
中。使用報(bào)表向?qū)Ы?bào)表NEW_REPORT1,用報(bào)表顯示NEW_TABLE1的內(nèi)容。報(bào)表
中數(shù)據(jù)按年齡升序排列,報(bào)表標(biāo)題是"姓名-年齡",其余參數(shù)使用缺省參數(shù)。
2. 在SCORE_MANAGER數(shù)據(jù)庫(kù)中查詢沒(méi)有選修任何課程的學(xué)生信息,查詢
結(jié)果包括"學(xué)號(hào)"、"姓名"和"系部"字段,查詢結(jié)果按學(xué)號(hào)升序保存在一個(gè)新
表NEW_TABLE2中。
本題主要考核點(diǎn):
本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉?bào)表向?qū)У氖褂玫戎R(shí)點(diǎn)
本題解題思路:
第1題:本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用,查詢?nèi)ハ颉?bào)表向?qū)У氖褂谩?BR> SELECT 姓名, 2003-Year(出生日期) as 年齡;
FROM student;
INTO TABLE new_table1.dbf
啟動(dòng)報(bào)表向?qū)Э稍?文件"菜單中選擇"新建"或者單擊工具欄上的"新建"按鈕,打開(kāi)"新建"對(duì)話框,文件類型選擇報(bào)表,單擊向?qū)О粹o?;蛘咴?工具"菜單中選擇"向?qū)?子菜單,選擇"報(bào)表",或直接單擊工具欄上的"報(bào)表向?qū)?圖標(biāo)按鈕。然后按照向?qū)崾静僮骷纯伞?BR> 第2題:本題的主要考核點(diǎn)是SQL查詢語(yǔ)句的使用。
SELECT Student.學(xué)號(hào), Student.姓名, Student.系部;
FROM course right OUTER JOIN score1;
right OUTER JOIN student ;
ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào);
WHERE Student.學(xué)號(hào) != Score1.學(xué)號(hào) ;
ORDER BY Student.學(xué)號(hào);
INTO TABLE new_table2.dbf
三、綜合應(yīng)用(1小題,計(jì)30分)
SCORE_MANAGER數(shù)據(jù)庫(kù)中含有三個(gè)數(shù)據(jù)庫(kù)表STUDENT、SCORE1和COURSE。
為了對(duì)SCORE_MANAGER數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行查詢,設(shè)計(jì)一個(gè)如圖所示的表單
Myform1(控件名為form1,表單文件名Myform1.scx)。表單的標(biāo)題為"成績(jī)查詢"。
表單左側(cè)有文本"輸入學(xué)號(hào)(名稱為L(zhǎng)abel1的標(biāo)簽)"和用于輸入學(xué)號(hào)的文本框(名
稱為Text1)以及"查詢"(名稱為Command1)和"退出"(名稱為Command2)兩個(gè)命令
按鈕以及1個(gè)表格控件。
表單運(yùn)行時(shí),用戶首先在文本框中輸入學(xué)號(hào),然后單擊"查詢"按鈕,如果
輸入學(xué)號(hào)正確,在表單右側(cè)以表格(名稱為Grid1)形式顯示該生所選課程名和成
績(jī),否則提示"學(xué)號(hào)不存在,請(qǐng)重新輸入學(xué)號(hào)"。
單擊"退出"按鈕,關(guān)閉表單。
本題主要考核點(diǎn):
表單文件的創(chuàng)建、控件的屬性的修改、SQL語(yǔ)句運(yùn)用、表單的退出等知識(shí)點(diǎn)
本題解題思路:
操作過(guò)程:
①在命令窗口輸入命令:CREATE FORM Myform1,打開(kāi)表單設(shè)計(jì)器窗口。
②在表格上添加各文本框、命令按鈕、表格及相關(guān)的標(biāo)簽,并進(jìn)行適當(dāng)?shù)牟贾煤痛笮≌{(diào)整。
③設(shè)置各標(biāo)簽、命令按鈕以及表單的Caption屬性值。
④將表單的ColumnCount 屬性值設(shè)置為2(共兩列)、RecordSourceType屬性值設(shè)置為"4-SQL說(shuō)明"。
⑤將表格內(nèi)兩列標(biāo)頭的Caption屬性分別設(shè)置為"課程名"和"成績(jī)",并適當(dāng)調(diào)整兩列的寬度。
⑥設(shè)置表單的Load事件代碼:
CLOSE ALL
USE STUDENT
⑦設(shè)置"查詢"按鈕的Click事件代碼:
GO
LOCATE FOR Student.學(xué)號(hào) ==ALLTRIM(THISFORM.TEXT1.VALUE)
IF Student.學(xué)號(hào) ==ALLTRIM(THISFORM.TEXT1.VALUE)
THISFORM.GRID1.RECORDSOURCE="SELECT Course.課程名, Score1.成績(jī);
FROM course INNER JOIN score1;
INNER JOIN student ;
ON Student.學(xué)號(hào) = Score1.學(xué)號(hào) ;
ON Course.課程號(hào) = Score1.課程號(hào);
WHERE Student.學(xué)號(hào) = ALLTRIM(THISFORM.TEXT1.VALUE);
INTO CURSOR TEMP"
ELSE
MESSAGEBOX("學(xué)號(hào)不存在,請(qǐng)重新輸入學(xué)號(hào)")
THISFORM.GRID1.RECORDSOURCE=''
ENDIF
⑧設(shè)置"退出"按鈕的Click事件代碼:
THISFORM.RELEASE
⑨保存表單,關(guān)閉表單設(shè)計(jì)器窗口。