排序
-xx學(xué)年第一學(xué)期 高二年級(jí)信息技術(shù)課教案 第五章 排序與索引 第9課 排序與索引排序 教學(xué)目標(biāo) 使學(xué)生學(xué)會(huì)對(duì)數(shù)據(jù)庫按字段進(jìn)行排序和建立索引排序。 教學(xué)內(nèi)容 ① 在“成績表”庫中按字段“總分”排名次 ②利用索引排名次 教學(xué)重點(diǎn) 索引文件的建立與排序的實(shí)現(xiàn) 教學(xué)方法 問題驅(qū)動(dòng)教學(xué)方式,以學(xué)生看書教師講解相結(jié)合。 教學(xué)引入 對(duì)數(shù)據(jù)進(jìn)行排序是最常用的操作之一,在數(shù)據(jù)庫中實(shí)現(xiàn)對(duì)記錄的排序也是數(shù)據(jù)庫操作中最重要的操作之一。 任務(wù)一:如何在數(shù)據(jù)庫中按某個(gè)字段值的大小進(jìn)行排序 1、打開上次課使用的數(shù)據(jù)庫“成績表.dbf” 問題1?現(xiàn)在每個(gè)學(xué)生的總分是不是按高到低順序排列的呢(不是)? 2、建立排序文件 1)打開數(shù)據(jù)庫“成績表.dbf”; 2)選菜單“database”->“sort...”(分類); 3)選擇關(guān)鍵字段“總分”,即以“總分”為排序標(biāo)準(zhǔn); 4)選擇排序方式,選中“sort order”框中的“總分”,在“fields options”框中選“descending”(降序),ascending是升序; 5)在“input”框中的“scope”中選范圍“all”。 6)在“output”框中選“fields”,再選輸出字段,選好后單擊“move”,->“ok”。 7)確定排序文件:單擊“output”框中的“save as...”,輸入文件名“排名表.dbf”->“ok”。 8)保存排序文件:全部輸入好后, 在“sort..”框中單擊“ok”。 3、查看排序后的記錄 打開數(shù)據(jù)庫“排名表”,用“browse”命令打開瀏覽窗口。 問題2?看一看“排名表”數(shù)據(jù)庫中有是否按總分的高低排列的? 任務(wù)二:通過按字段建立索引的方法對(duì)數(shù)據(jù)庫排序 1、為什么要引入索引排序 用“sort”來排序?qū)嶋H上是生成了另外一個(gè)數(shù)據(jù)庫文件,原來的庫中發(fā)生變化時(shí),它不會(huì)跟著變化的,還需要重新生成,利用索引就可以實(shí)現(xiàn)原來的庫有變化,索引就跟著變化,從而自動(dòng)排序。 2、建立索引文件 1)打開數(shù)據(jù)庫“成績表”,選菜單“file->new”,在“file type”中選“index”(索引),單擊“new”按鈕。 2)選擇索引文件類型,在 “output file”框中選“single index file(idx)”,建立一個(gè)單個(gè)索引文件“成績表.idx”。 3)選擇索引關(guān)鍵字:在“fields”框中選擇“總分”,作為關(guān)鍵字段,并單擊“add to index list”按鈕,自動(dòng)設(shè)成按升序排列。 4)改變排序方向:在“index key”框中選擇“總分”,然后在該框右方的文本框中的“總分”前加入負(fù)號(hào)“-”,即改變了排序順序,再單擊按鈕“add to index list”。 5)保存“索引”文件:單擊“ok”。 3、 問題3?看一看“成績表”數(shù)據(jù)庫中有什么變化?--已經(jīng)按總分的高低順序排列了。 注意到:p69第6步中的說明,建立索引并沒有改變數(shù)據(jù)庫本身。 4、在數(shù)據(jù)庫中追加一條記錄 1)選“reord->append”; 2)輸入一條記錄后按“ctrl+w”保存; 問題4?看一看添加記錄后,是否還順序排列? 問題5?關(guān)閉數(shù)據(jù)庫,再重新打開數(shù)據(jù)庫,看一看還是順序排列嗎,為什么?如何讓它順序排列呢?(要開打索引文件) 任務(wù)三:比較兩種排序方法 各自有何特點(diǎn)? 開動(dòng)腦筋,試一試??? 1、對(duì)數(shù)據(jù)庫“成績表”按“平均分”建立一個(gè)“排名表”數(shù)據(jù)庫; 2、按“平均分”建立一個(gè)單索引。 排序<