第六套
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
1、在考生文件夾下建立數(shù)據(jù)庫KS7;并將自由表SCOR加入數(shù)據(jù)庫中。
2、按下面給出的表結(jié)構(gòu)。給數(shù)據(jù)庫添加表STUD
字段 字段名 類型 寬度 小數(shù)
1 學號 字符型 2
2 姓名 字符型 8
3 年齡 數(shù)值型 2 0
4 性別 字符型 2
5 院系號 字符型 2
3、為表STUD建立主索引,索引名為學號,索引表達式為學號
為表SCOR建立普通索引,索引名為學號,索引表達式為學號
4、STUD表和SCOR表必要的索引已建立,為兩表建立永久性的聯(lián)系。
本題的主要考核點:
數(shù)據(jù)庫的建立、將自由表添加到數(shù)據(jù)庫中、在數(shù)據(jù)庫中建立新表、主索引和普通索引的建立、為已建立索引的表建立聯(lián)系
解題思路:
1.建立數(shù)據(jù)庫的常用方法:
在項目管理器中建立數(shù)據(jù)庫;
通過"新建"對話框建立數(shù)據(jù)庫;
使用命令交互建立數(shù)據(jù)庫,命令為: CREATE DATABASE [DatabaseName|?]
將自由表添加到數(shù)據(jù)庫中,可以在項目管理器或數(shù)據(jù)庫設(shè)計器中完成。在數(shù)據(jù)庫設(shè)計器中可以從"數(shù)據(jù)庫"菜單或在數(shù)據(jù)庫設(shè)計器上單擊右鍵彈出的菜單中選擇"添加表",然后在"打開"對話框中選擇要添加到當前數(shù)據(jù)庫的自由表。還可用ADD TABLE命令添加一個自由表到當前數(shù)據(jù)庫中。
2.打開數(shù)據(jù)庫設(shè)計器,在"數(shù)據(jù)庫"菜單中或在數(shù)據(jù)庫設(shè)計器上單擊右鍵彈出的菜單中選擇"新建表",新建表并輸入字段。
3.在表設(shè)計器中的索引頁面建立索引。
4.建立兩個表的聯(lián)系:在父表中選中主索引,按住鼠標拖動至子表相應(yīng)的普通索引上,釋放鼠標,聯(lián)系即已建立。
二、簡單應(yīng)用(2小題,每題20分,計40分)
1、在考生文件夾中有一個學生數(shù)據(jù)庫STU,其中有數(shù)據(jù)庫表STUDENT存放學生信
息,使用菜單設(shè)計器制作一個名為STMENU的菜單,菜單包括"數(shù)據(jù)操
作"和"文件"兩個菜單欄。
每個菜單欄都包括一個子菜單。菜單結(jié)構(gòu)如下:
數(shù)據(jù)操作
數(shù)據(jù)輸出
文件
保存
退出
其中:
數(shù)據(jù)輸出子菜單對應(yīng)的過程完成下列操作:打開數(shù)據(jù)庫STU,使用SQL的
SELECT語句查詢數(shù)據(jù)庫表STUDENT 中所有信息,然后關(guān)閉數(shù)據(jù)庫。
退出菜單項對應(yīng)的命令為SET SYSMENU TO DEFAULT,使之可以返回到系統(tǒng)菜
單。保存菜單項不做要求。
2、在考生文件夾中有一個數(shù)據(jù)庫SDB,其中有數(shù)據(jù)庫表STUDENT2、SC和
COURSE2。三個表如下所示:
STUDENT2(學號,姓名,年齡,性別,院系編號)
SC(學號,課程號,成績,備注)
COURSE2(課程號,課程名,先修課號,學分)
用SQL語句查詢"計算機軟件基礎(chǔ)"課程的考試成績在85分以下(含85分)的學
生的全部信息并將結(jié)果按學號升序存入 NOEX.DBF文件中。(庫的結(jié)構(gòu)同
STUDENT2,并在其后加入成績字段)
第1題,本題的主要考核點是菜單的制作和數(shù)據(jù)庫基本命令。
新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在 "新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計器。在菜單名稱中填入"數(shù)據(jù)操作",結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱中輸入"�數(shù)據(jù)輸出",結(jié)果為過程。在過程中輸入下列命令:
OPEN DATA STU
SELECT * FROM STUDENT
CLOSE ALL
"文件"菜單同上,其中"退出"菜單對應(yīng)結(jié)果為命令,命令為SET SYSMENU TO DEFAULT
第2題,本題的主要考核點是SQL語句的查詢。查詢?nèi)缦隆?BR> SELECT Student2.*, Sc.成績;
FROM sdb!student2 INNER JOIN sdb!sc;
INNER JOIN sdb!course2 ;
ON Sc.課程號 = Course2.課程號 ;
ON Student2.學號 = Sc.學號;
WHERE Course2.課程名 IN ("計算機軟件基礎(chǔ)");
AND Sc.成績 <= 85;
ORDER BY Student2.學號;
INTO TABLE noex.dbf三、綜合應(yīng)用(1小題,計30分)
現(xiàn)有醫(yī)院數(shù)據(jù)庫DOCT3,包括三個表文件:YISHENG.DBF(醫(yī)生)、
YAO.DBF(藥品)、CHUFANG.DBF(處方)。設(shè)計一個名為CHUFANG3的菜單,
菜單中有兩個菜單項"查詢"和"退出"。
程序運行時,單擊"查詢"應(yīng)完成下列操作:查詢同一處方中,包含"感冒"兩個
字的藥品的處方號、藥名和生產(chǎn)廠,以及醫(yī)生的姓名和年齡,把查詢結(jié)果按處方
號升序排序存入JG9數(shù)據(jù)表中。JG9的結(jié)構(gòu)為:(姓名,年齡,處方號,藥名,生產(chǎn)
廠)。后統(tǒng)計這些醫(yī)生的人數(shù)(注意不是人次數(shù)),并在JG9中追加一條記錄,將
人數(shù)填入該記錄的處方號字段中。
單擊"退出"菜單項,程序終止運行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題主要的考核點:
菜單的建立、結(jié)構(gòu)化查詢語言(SQL)中的聯(lián)接查詢、查詢的去向等知識點
解題思路:
利用菜單設(shè)計器定義兩個菜單項,在菜單名稱為"查詢"的菜單項的結(jié)果列中選擇"過程",并通過單擊"編輯"按鈕打開一個窗口來添加"查詢"菜單項要執(zhí)行的命令。在菜單名稱為"退出"的菜單項的結(jié)果列中選擇"命令",并在后面的"選項"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
"查詢"菜單項要執(zhí)行的程序:
首先打開數(shù)據(jù)庫文件 OPEN DATABASE DOCT3.DBC
我們分析后的結(jié)果是要從三個有相互聯(lián)系的表中得到信息,這自然要用到聯(lián)接查詢??梢酝ㄟ^表chufan和yao之間的聯(lián)接我們得到,某一個處方所用到的藥品的名字,進而我們可以得到處方中用到包含有"感冒"兩個字的處方的處方號。我們也可以通過表chufang和 yisheng之間的聯(lián)接來得到,某一個處方是那一個醫(yī)生開出的。這樣我便可以得到滿足條件的查詢。如下所示:SELECT 處方號,藥名,生產(chǎn)廠,姓名,年齡 FROM yisheng,yao,chufang WHERE CHUFANG.藥編號=YAO.藥編號 AND CHUFANG.職工號=YISHENG.職工號 AND 藥名 IN ("感冒").另外還要求要按照處方號的升序進行排序,這里要用到ORDER BY 處方號 DESC子句,另外還要求將結(jié)果存入JG9中,要用到INTO TABLE JG9.
通過以下的方式來得到生成的JG9中所包含的醫(yī)生的人數(shù),先生成一個臨時表CurTable:SELECT * FROM JG9 GROUP BY 姓名 INTO CURSOR CurTable;然后我們得到臨時表有多少條記錄并寫入變量j中,COUNT TO j
后我們利用INSERT將變量j的內(nèi)容做為一條新的記錄插入到JG9中:INSET INTO JG9 (處方名) VALUES (j)。
一、基本操作題(共四小題,第1和2題是7分、第3和4題是8分)
1、在考生文件夾下建立數(shù)據(jù)庫KS7;并將自由表SCOR加入數(shù)據(jù)庫中。
2、按下面給出的表結(jié)構(gòu)。給數(shù)據(jù)庫添加表STUD
字段 字段名 類型 寬度 小數(shù)
1 學號 字符型 2
2 姓名 字符型 8
3 年齡 數(shù)值型 2 0
4 性別 字符型 2
5 院系號 字符型 2
3、為表STUD建立主索引,索引名為學號,索引表達式為學號
為表SCOR建立普通索引,索引名為學號,索引表達式為學號
4、STUD表和SCOR表必要的索引已建立,為兩表建立永久性的聯(lián)系。
本題的主要考核點:
數(shù)據(jù)庫的建立、將自由表添加到數(shù)據(jù)庫中、在數(shù)據(jù)庫中建立新表、主索引和普通索引的建立、為已建立索引的表建立聯(lián)系
解題思路:
1.建立數(shù)據(jù)庫的常用方法:
在項目管理器中建立數(shù)據(jù)庫;
通過"新建"對話框建立數(shù)據(jù)庫;
使用命令交互建立數(shù)據(jù)庫,命令為: CREATE DATABASE [DatabaseName|?]
將自由表添加到數(shù)據(jù)庫中,可以在項目管理器或數(shù)據(jù)庫設(shè)計器中完成。在數(shù)據(jù)庫設(shè)計器中可以從"數(shù)據(jù)庫"菜單或在數(shù)據(jù)庫設(shè)計器上單擊右鍵彈出的菜單中選擇"添加表",然后在"打開"對話框中選擇要添加到當前數(shù)據(jù)庫的自由表。還可用ADD TABLE命令添加一個自由表到當前數(shù)據(jù)庫中。
2.打開數(shù)據(jù)庫設(shè)計器,在"數(shù)據(jù)庫"菜單中或在數(shù)據(jù)庫設(shè)計器上單擊右鍵彈出的菜單中選擇"新建表",新建表并輸入字段。
3.在表設(shè)計器中的索引頁面建立索引。
4.建立兩個表的聯(lián)系:在父表中選中主索引,按住鼠標拖動至子表相應(yīng)的普通索引上,釋放鼠標,聯(lián)系即已建立。
二、簡單應(yīng)用(2小題,每題20分,計40分)
1、在考生文件夾中有一個學生數(shù)據(jù)庫STU,其中有數(shù)據(jù)庫表STUDENT存放學生信
息,使用菜單設(shè)計器制作一個名為STMENU的菜單,菜單包括"數(shù)據(jù)操
作"和"文件"兩個菜單欄。
每個菜單欄都包括一個子菜單。菜單結(jié)構(gòu)如下:
數(shù)據(jù)操作
數(shù)據(jù)輸出
文件
保存
退出
其中:
數(shù)據(jù)輸出子菜單對應(yīng)的過程完成下列操作:打開數(shù)據(jù)庫STU,使用SQL的
SELECT語句查詢數(shù)據(jù)庫表STUDENT 中所有信息,然后關(guān)閉數(shù)據(jù)庫。
退出菜單項對應(yīng)的命令為SET SYSMENU TO DEFAULT,使之可以返回到系統(tǒng)菜
單。保存菜單項不做要求。
2、在考生文件夾中有一個數(shù)據(jù)庫SDB,其中有數(shù)據(jù)庫表STUDENT2、SC和
COURSE2。三個表如下所示:
STUDENT2(學號,姓名,年齡,性別,院系編號)
SC(學號,課程號,成績,備注)
COURSE2(課程號,課程名,先修課號,學分)
用SQL語句查詢"計算機軟件基礎(chǔ)"課程的考試成績在85分以下(含85分)的學
生的全部信息并將結(jié)果按學號升序存入 NOEX.DBF文件中。(庫的結(jié)構(gòu)同
STUDENT2,并在其后加入成績字段)
第1題,本題的主要考核點是菜單的制作和數(shù)據(jù)庫基本命令。
新建菜單可按下列步驟:選擇"文件"菜單中的"新建"命令,在"新建"對話框中選擇"菜單",單擊"新建文件"按鈕。在 "新建菜單"對話框中選擇"菜單"按鈕,調(diào)出"菜單設(shè)計器"。也可用CREATE MENU命令直接調(diào)出菜單設(shè)計器。在菜單名稱中填入"數(shù)據(jù)操作",結(jié)果為子菜單,單擊編輯;在子菜單的菜單名稱中輸入"�數(shù)據(jù)輸出",結(jié)果為過程。在過程中輸入下列命令:
OPEN DATA STU
SELECT * FROM STUDENT
CLOSE ALL
"文件"菜單同上,其中"退出"菜單對應(yīng)結(jié)果為命令,命令為SET SYSMENU TO DEFAULT
第2題,本題的主要考核點是SQL語句的查詢。查詢?nèi)缦隆?BR> SELECT Student2.*, Sc.成績;
FROM sdb!student2 INNER JOIN sdb!sc;
INNER JOIN sdb!course2 ;
ON Sc.課程號 = Course2.課程號 ;
ON Student2.學號 = Sc.學號;
WHERE Course2.課程名 IN ("計算機軟件基礎(chǔ)");
AND Sc.成績 <= 85;
ORDER BY Student2.學號;
INTO TABLE noex.dbf三、綜合應(yīng)用(1小題,計30分)
現(xiàn)有醫(yī)院數(shù)據(jù)庫DOCT3,包括三個表文件:YISHENG.DBF(醫(yī)生)、
YAO.DBF(藥品)、CHUFANG.DBF(處方)。設(shè)計一個名為CHUFANG3的菜單,
菜單中有兩個菜單項"查詢"和"退出"。
程序運行時,單擊"查詢"應(yīng)完成下列操作:查詢同一處方中,包含"感冒"兩個
字的藥品的處方號、藥名和生產(chǎn)廠,以及醫(yī)生的姓名和年齡,把查詢結(jié)果按處方
號升序排序存入JG9數(shù)據(jù)表中。JG9的結(jié)構(gòu)為:(姓名,年齡,處方號,藥名,生產(chǎn)
廠)。后統(tǒng)計這些醫(yī)生的人數(shù)(注意不是人次數(shù)),并在JG9中追加一條記錄,將
人數(shù)填入該記錄的處方號字段中。
單擊"退出"菜單項,程序終止運行。
(注:相關(guān)數(shù)據(jù)表文件存在于考生文件夾下)
本題主要的考核點:
菜單的建立、結(jié)構(gòu)化查詢語言(SQL)中的聯(lián)接查詢、查詢的去向等知識點
解題思路:
利用菜單設(shè)計器定義兩個菜單項,在菜單名稱為"查詢"的菜單項的結(jié)果列中選擇"過程",并通過單擊"編輯"按鈕打開一個窗口來添加"查詢"菜單項要執(zhí)行的命令。在菜單名稱為"退出"的菜單項的結(jié)果列中選擇"命令",并在后面的"選項"列中輸入以下退出菜單的命令:SET SYSMENU TO DEFAULT
"查詢"菜單項要執(zhí)行的程序:
首先打開數(shù)據(jù)庫文件 OPEN DATABASE DOCT3.DBC
我們分析后的結(jié)果是要從三個有相互聯(lián)系的表中得到信息,這自然要用到聯(lián)接查詢??梢酝ㄟ^表chufan和yao之間的聯(lián)接我們得到,某一個處方所用到的藥品的名字,進而我們可以得到處方中用到包含有"感冒"兩個字的處方的處方號。我們也可以通過表chufang和 yisheng之間的聯(lián)接來得到,某一個處方是那一個醫(yī)生開出的。這樣我便可以得到滿足條件的查詢。如下所示:SELECT 處方號,藥名,生產(chǎn)廠,姓名,年齡 FROM yisheng,yao,chufang WHERE CHUFANG.藥編號=YAO.藥編號 AND CHUFANG.職工號=YISHENG.職工號 AND 藥名 IN ("感冒").另外還要求要按照處方號的升序進行排序,這里要用到ORDER BY 處方號 DESC子句,另外還要求將結(jié)果存入JG9中,要用到INTO TABLE JG9.
通過以下的方式來得到生成的JG9中所包含的醫(yī)生的人數(shù),先生成一個臨時表CurTable:SELECT * FROM JG9 GROUP BY 姓名 INTO CURSOR CurTable;然后我們得到臨時表有多少條記錄并寫入變量j中,COUNT TO j
后我們利用INSERT將變量j的內(nèi)容做為一條新的記錄插入到JG9中:INSET INTO JG9 (處方名) VALUES (j)。