第4章 數(shù)據(jù)庫的創(chuàng)建與操作.ppt_第1頁
第4章 數(shù)據(jù)庫的創(chuàng)建與操作.ppt_第2頁
第4章 數(shù)據(jù)庫的創(chuàng)建與操作.ppt_第3頁
第4章 數(shù)據(jù)庫的創(chuàng)建與操作.ppt_第4頁
第4章 數(shù)據(jù)庫的創(chuàng)建與操作.ppt_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第4章 數(shù)據(jù)庫的創(chuàng)建與操作,遼東學(xué)院信息技術(shù)學(xué)院 崔曉斐,信息技術(shù)學(xué)院 崔曉斐 制作,復(fù) 習(xí),結(jié)構(gòu)復(fù)合索引文件 表設(shè)計器建立:可以建立四種索引 命令方式建立:不能建立主索引 INDEX ON 索引關(guān)鍵字 TAG 索引名 OF 非結(jié)構(gòu)復(fù)合索引文件名 FOR 條件 Ascending/Descending Unique/Candidate 結(jié)構(gòu)復(fù)合索引文件特征: 指定主控索引:Set order to 索引名,信息技術(shù)學(xué)院 崔曉斐 制作,查找 順序查詢(條件定位):locate for 條件 , continue 索引查詢:seek 表達(dá)式 &注意定界符 分類匯總命令:先建立索引,再匯總 TOTA

2、L ON FIELDS FieldName FOR 條件 TO 表的關(guān)聯(lián) Set relation to 索引字段名 into 子表名,信息技術(shù)學(xué)院 崔曉斐 制作,本章基本內(nèi)容 4.1 數(shù)據(jù)庫的操作 4.2 數(shù)據(jù)庫表與自由表 4.3 數(shù)據(jù)字典的使用,信息技術(shù)學(xué)院 崔曉斐 制作,4.1 數(shù)據(jù)庫的基本操作,一、創(chuàng)建數(shù)據(jù)庫 建立數(shù)據(jù)庫的常用方法有以下三種:數(shù)據(jù)庫擴(kuò)展名:.dbc 1、在項目管理器中建立數(shù)據(jù)庫:數(shù)據(jù)庫/新建 2、通過“新建”對話框建立數(shù)據(jù)庫:新建/文件/數(shù)據(jù)庫新建文件 3、使用命令交互建立數(shù)據(jù)庫 Create Database DatabaseName?,信息技術(shù)學(xué)院 崔曉斐 制作,二

3、、打開數(shù)據(jù)庫 在數(shù)據(jù)庫中建立表或使用數(shù)據(jù)庫中的表時,都必須先打開數(shù)據(jù)庫,與建立數(shù)據(jù)庫類似,常用的打開數(shù)據(jù)庫的方式也有三種: 在項目管理器中打開數(shù)據(jù)庫:選擇數(shù)據(jù)庫名/打開; 通過“打開”對話框打開數(shù)據(jù)庫:文件/打開; 使用命令打開數(shù)據(jù)庫: Open Database 數(shù)據(jù)庫名 三、設(shè)置當(dāng)前數(shù)據(jù)庫:用鼠標(biāo)選擇,信息技術(shù)學(xué)院 崔曉斐 制作,四、修改數(shù)據(jù)庫 可以用以下三種方法打開數(shù)據(jù)庫設(shè)計器: 從項目管理器中打開數(shù)據(jù)庫設(shè)計器:數(shù)據(jù)庫名/修改 從“打開”對話框中打開數(shù)據(jù)庫設(shè)計器:文件/打開; 使用命令打開數(shù)據(jù)庫設(shè)計器:Modify Database 數(shù)據(jù)庫名,信息技術(shù)學(xué)院 崔曉斐 制作,五、刪除數(shù)據(jù)庫(

4、不能刪除當(dāng)前數(shù)據(jù)庫) 如果一個數(shù)據(jù)庫不再使用了隨時都可以刪除,一般可以在項目管理器中刪除數(shù)據(jù)庫,也可以用命令刪除數(shù)據(jù)庫: Delete Database 數(shù)據(jù)庫名 注意:被刪除的數(shù)據(jù)庫應(yīng)是關(guān)閉的 六、關(guān)閉數(shù)據(jù)庫 Close Database all 或 close all all:此選項可以關(guān)閉所有打開的數(shù)據(jù)庫,信息技術(shù)學(xué)院 崔曉斐 制作,4.2 數(shù)據(jù)庫表的基本操作,一、數(shù)據(jù)庫表與自由表 所謂自由表就是那些不屬于任何數(shù)據(jù)庫的表,所有由FoxBASE或早期版本的FoxPro創(chuàng)建的數(shù)據(jù)庫文件(.dbf)都是自由表。在Visual FoxPro中創(chuàng)建表時,如果當(dāng)前沒有打開數(shù)據(jù)庫,則創(chuàng)建的表也是自由表

5、。可以將自由表添加到數(shù)據(jù)庫中,使之成為數(shù)據(jù)庫表;也可以將數(shù)據(jù)庫表從數(shù)據(jù)庫中移出,使之成為自由表。,信息技術(shù)學(xué)院 崔曉斐 制作,當(dāng)沒有數(shù)據(jù)庫打開時,建立的表就是自由表。事實上,數(shù)據(jù)庫表與自由表相比,數(shù)據(jù)庫表具有如下特點: 數(shù)據(jù)庫表可以使用長表名,在表中可以使用長字段名; 可以為數(shù)據(jù)庫表中的字段指定標(biāo)題和添加注釋; 可以為數(shù)據(jù)庫表的字段指定默認(rèn)值和輸入掩碼; 數(shù)據(jù)庫表的字段有默認(rèn)的控件類; 可以為數(shù)據(jù)庫表規(guī)定字段級規(guī)則和記錄級規(guī)則; 數(shù)據(jù)庫表支持主關(guān)鍵字、參照完整性和表之間的聯(lián)系; 支持INSERT、UPDATE和DELETE事件的觸發(fā)器。 在Visual FoxPro中保留了自由表的概念,完全是

6、為了兼容早期的軟件版本。建議盡量使用數(shù)據(jù)庫表。,信息技術(shù)學(xué)院 崔曉斐 制作,二、將自由表添加到數(shù)據(jù)庫 在項目管理器或數(shù)據(jù)庫設(shè)計器中可以將自由表添加到數(shù)據(jù)庫中。 在項目管理器中:將要添加自由表的數(shù)據(jù)庫展開至表,并確認(rèn)當(dāng)前選擇了“表”。單擊“添加”按鈕,然后從彈出的“打開”對話框中選擇要添加到當(dāng)前數(shù)據(jù)庫的自由表,即擴(kuò)展名為.dbf的文件。 在數(shù)據(jù)庫設(shè)計器中:可以從“數(shù)據(jù)庫”菜單中選擇“添加表”,然后從“打開”對話框中選擇要添加到當(dāng)前數(shù)據(jù)庫的自由表。 用ADD TABLE命令:添加一個自由表到當(dāng)前數(shù)據(jù)庫中: ADD TABLE TableNamel ?NAME LongTableName 注意:一個

7、表只能屬于一個數(shù)據(jù)庫,當(dāng)一個自由表添加到某個數(shù)據(jù)庫后就不再是自由表了,所以不能把已經(jīng)屬于某個數(shù)據(jù)庫的表添加到當(dāng)前數(shù)據(jù)庫,否則會有出錯提示。,信息技術(shù)學(xué)院 崔曉斐 制作,三、從數(shù)據(jù)庫中移出表 當(dāng)數(shù)據(jù)庫不再使用某個表,而其他數(shù)據(jù)庫要使用該表時,必須將該表將數(shù)據(jù)庫中移出,使之成為自由表。 在項目管理器中:將數(shù)據(jù)庫下的表展開,并選擇所要移出的具體表,接著單擊“移去”按鈕,彈出提示對話框,從中選擇“移去”即可。 在數(shù)據(jù)庫設(shè)計器中:要移出一個表,首先選擇該表,然后可以從“數(shù)據(jù)庫”菜單中選擇“移去”,或者單擊鼠標(biāo)右鍵從快捷菜單中選擇“刪除”,最后從提示的對話框中選擇“移去”即可。 將一個表從數(shù)據(jù)庫中移出命令

8、: REMOVE TABLE TableName?DELETERECYCLE,信息技術(shù)學(xué)院 崔曉斐 制作,問 題,數(shù)據(jù)庫已經(jīng)打開,但是數(shù)據(jù)庫設(shè)計器沒打開,現(xiàn)在用命令“create”或“新建-表”建立一個表,則這個表屬于自由表還是數(shù)據(jù)庫表?,信息技術(shù)學(xué)院 崔曉斐 制作,4.3 數(shù)據(jù)字典的使用,數(shù)據(jù)字典用于保存對數(shù)據(jù)庫表中各種數(shù)據(jù)的定義或設(shè)置信息,包括表的屬性、字段屬性、記錄規(guī)則、表間關(guān)系和參照完整性。 一、設(shè)置表中字段屬性 打開表設(shè)計器,可以對每個字段添加 “顯示”組框 格式:是字段內(nèi)容的輸入或顯示格式。A表示僅輸入字母;!表示自動轉(zhuǎn)換字母為大寫;A!輸入字母且自動轉(zhuǎn)為大寫。,信息技術(shù)學(xué)院 崔曉

9、斐 制作,輸入掩碼:用以限制或控制用戶輸入的格式,a字母;9數(shù)字 標(biāo)題:用新的名稱代替字段名顯示 字段注釋:便于日后或其它人對數(shù)據(jù)庫進(jìn)行維護(hù) 字段有效規(guī)則 規(guī)則:字段或字段之間的有效性檢驗,邏輯表達(dá)式 信息:當(dāng)違反有效性規(guī)則時,用戶自定義提示的信息 默認(rèn)值:定義字段的初始值,信息技術(shù)學(xué)院 崔曉斐 制作,二設(shè)置表的記錄屬性 1. 記錄有效性組框 記錄有效性檢查規(guī)則用于檢查同一記錄中不同字段之間的邏輯關(guān)系,這可以控制記錄數(shù)據(jù)的完整性。只有輸入滿足記錄規(guī)則的記錄,光標(biāo)才可以移開當(dāng)前記錄。其設(shè)置包括兩個方面,即驗證規(guī)則的設(shè)置和出錯信息的設(shè)置。 (1)驗證規(guī)則:驗證規(guī)則可在“規(guī)則”文本框中直接可輸入記錄

10、級有效性檢查規(guī)則,光標(biāo)離開當(dāng)前記錄時進(jìn)行校驗。 (2)出錯信息:出錯信息可在“信息” 文本框處直接輸入。在進(jìn)行記錄級有效性規(guī)則驗證時,若發(fā)現(xiàn)輸入與規(guī)則不符時該信息將會顯示出來。,信息技術(shù)學(xué)院 崔曉斐 制作,2記錄觸發(fā)器組框 記錄的觸發(fā)器指的是在執(zhí)行與記錄有關(guān)的操作時應(yīng)遵循的規(guī)則或條件。在Visual FoxPro 中記錄的觸發(fā)器分為3種,即插入觸發(fā)器、更新觸發(fā)器和刪除觸發(fā)器,可分別在相應(yīng)的文本框處進(jìn)行設(shè)置。 插入觸發(fā)器:用于指定一個規(guī)則,每次向表中插入或追加記錄時該規(guī)則被觸發(fā),據(jù)此檢查插入的記錄是否滿足規(guī)則。 更新觸發(fā)器:用于指定一個規(guī)則,每次更新記錄時觸發(fā)該規(guī)則。 刪除觸發(fā)器:用于指定一個規(guī)

11、則,每次刪除表中記錄(打上刪除標(biāo)記)時觸發(fā)該規(guī)則。,信息技術(shù)學(xué)院 崔曉斐 制作,記錄規(guī)則:性別=“女” and year(出生日期)1989 or 性別=“男” and year(出生日期)1991 記錄出錯信息:“所有的女生都是1989年以前出生的,所有的男生都是1991年以前出生的” 插入觸發(fā)器:substr(學(xué)號,7,2)“19” 更新觸發(fā)器:year(出生日期)=1987 刪除觸發(fā)器:len(alltrim(姓名)=0 例: 將學(xué)生信息表的”性別”字段默認(rèn)值設(shè)為”女” 將學(xué)生信息表的”出生日期”字段的有效性規(guī)則設(shè)為1985年以后出生日期有效,如果輸入1985年以前的出生日期將出現(xiàn)錯誤提

12、示:”學(xué)生必須是1985年以后出生的”.,信息技術(shù)學(xué)院 崔曉斐 制作,三、永久關(guān)系的設(shè)置 一個數(shù)據(jù)庫可以包含多個表,這些屬于同一個數(shù)據(jù)庫的表通常有一定的關(guān)系 1永久關(guān)系的建立 在數(shù)據(jù)庫設(shè)計器中建立永久關(guān)系,可按如下步驟進(jìn)行: (1)打開數(shù)據(jù)庫文件,進(jìn)入“數(shù)據(jù)庫設(shè)計器”窗口。 (2)建立索引 一對一的關(guān)系:建立聯(lián)系的兩個表具有相同屬性的字段,父表的索引應(yīng)建立為主索引或候選索引,而子表的索引應(yīng)建立為候選索引。 一對多的關(guān)系:建立聯(lián)系的兩個表具有相同屬性的字段,父表的索引應(yīng)建立為主索引或候選索引,而子表的索引應(yīng)建立普通索引。,信息技術(shù)學(xué)院 崔曉斐 制作,(3)建立表間關(guān)系 只需在“數(shù)據(jù)庫設(shè)計器”窗口

13、中將父表的主索引或候選索引字段拖放到子表中與其相匹配的索引上即可。此時,數(shù)據(jù)庫中的兩個表間就有了一條相應(yīng)的“連線”,表示永久關(guān)系已經(jīng)建立成功。 2編輯表之間的永久關(guān)系 若在建立關(guān)系時操作有誤,可以通過“編輯關(guān)系”對話框進(jìn)行修改。方法是:將鼠標(biāo)箭頭指向表的關(guān)系連線,單擊鼠標(biāo)左鍵使連線變粗,然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“編輯關(guān)系”,即彈出“編輯關(guān)系”對話框,以修改指定關(guān)系。實際上,直接雙擊表的關(guān)系連線也可以打開該對話框。,信息技術(shù)學(xué)院 崔曉斐 制作,3刪除表之間的永久關(guān)系 對于已經(jīng)建立的永久關(guān)系,在必要時也可以將其刪除掉。方法是:將鼠標(biāo)箭頭指向表的關(guān)系連線,單擊鼠標(biāo)左鍵使連線變粗,然后

14、單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“刪除關(guān)系”,或直接按一下Delete鍵,即可取消永久關(guān)系。 例: 建立表的索引及永久關(guān)系 在學(xué)生信息表中按學(xué)號字段建立表的主索引 在學(xué)生成績表中按學(xué)號建立普通索引 為兩個表建立永久聯(lián)系,信息技術(shù)學(xué)院 崔曉斐 制作,四、參照完整性的設(shè)置 在數(shù)據(jù)庫中數(shù)據(jù)完整性是指保證數(shù)據(jù)正確的特性,數(shù)據(jù)完整性一般包括實體完整性、域完整性和參照完整性等。 1 實體完整性與主關(guān)鍵字 實體完整性是保證表中記錄惟一的特性,即在一個表中不允許有重復(fù)的記錄。在Visual FoxPro中利用主關(guān)鍵字或候選關(guān)鍵字來保證表中的記錄惟一,即保證實體唯一性。 在Visual FoxPro中將主關(guān)

15、鍵字稱作主索引,將候選關(guān)鍵字稱作候選索引。由上所述,在Visual FoxPro中主索引和候選索引有相同的作用。,信息技術(shù)學(xué)院 崔曉斐 制作,域完整性與約束規(guī)則 域完整性是數(shù)據(jù)類型的定義屬于域完整性的范疇:比如對數(shù)值型字段,通過指定不同的寬度說明不同范圍的數(shù)值數(shù)據(jù)類型,從而可以限定字段的取值類型和取值范圍。但這些對域完整性還遠(yuǎn)遠(yuǎn)不夠,還可以用一些域約束規(guī)則來進(jìn)一步保證域完整性。域約束規(guī)則也稱作字段有效性規(guī)則,在插入或修改字段值時被激活,主要用于數(shù)據(jù)輸入正確性的檢驗。 建立字段有效性規(guī)則:在表設(shè)計器的“字段”選項卡中,有“規(guī)則”(字段有效性規(guī)則)、“信息”(違背字段有效性規(guī)則時的提示信息)、“默

16、認(rèn)值”(字段的默認(rèn)值)三項。,信息技術(shù)學(xué)院 崔曉斐 制作,3 參照完整性與表之間的關(guān)聯(lián) 參照完整性與表之間的聯(lián)系有關(guān),它的大概含義是:當(dāng)插入、刪除或修改一個表中的數(shù)據(jù)時,通過參照引用相互關(guān)聯(lián)的另一個表中的數(shù)據(jù),來檢查對表的數(shù)據(jù)操作是否正確。 參照完整性的建立是在數(shù)據(jù)庫設(shè)計器里完成的 “更新規(guī)則”:用于設(shè)置修改父表中的關(guān)鍵字值時所應(yīng)遵循的規(guī)則。 “級聯(lián)”:則在修改父表中的關(guān)鍵字值時,自動更新子表中的有關(guān)記錄的相關(guān)字段值; “限制”:若子表中存在相關(guān)的記錄,則禁止修改父表中相應(yīng)的關(guān)鍵字值(更改父表中相應(yīng)的關(guān)鍵字值就會產(chǎn)生“觸發(fā)器失敗”的提示信息); “忽略”:則無論子表中是否存在相關(guān)記錄,均允許修

17、改父表中的關(guān)鍵字值。,信息技術(shù)學(xué)院 崔曉斐 制作,“刪除規(guī)則” :用于設(shè)置刪除父表中的記錄時所應(yīng)遵循的規(guī)則。在“刪除規(guī)則”選項卡中包含有“級聯(lián)”、“限制”和“忽略”3個單選按鈕,各單選按鈕的功能如下: “級聯(lián)”,則在刪除父表中的記錄時,自動刪除子表中的相關(guān)記錄; “限制”,若子表中存在相關(guān)的記錄,則禁止刪除父表中的相應(yīng)的記錄; “忽略”,則不管子表中是否存在相關(guān)記錄,均允許刪除父表中的記錄。 “插入規(guī)則” :用于設(shè)置在子表中插入新的記錄或更新已存在的記錄時所應(yīng)遵循的規(guī)則。在“插入規(guī)則”選項卡中包含有 “限制”和“忽略”2個單選按鈕,各單選按鈕的功能如下: “限制”,若父表中沒有相應(yīng)的關(guān)鍵字值,則禁止在子表中插入與該關(guān)鍵字值對應(yīng)的記錄,或?qū)⒃杏涗浀南嚓P(guān)字段值修改為該關(guān)鍵字值; “忽略”,則不管父表中是否存在相關(guān)記錄,均允許在子表中插入新記錄。,信息技術(shù)學(xué)院 崔曉斐 制作,習(xí) 題 編輯參照完整性 更新:級聯(lián) 刪除:級聯(lián) 插入:限制 將學(xué)生成績表的”計算機”字段默認(rèn)值設(shè)為”70”,設(shè)置有效規(guī)則為計算機=0 and 計算機=100,出錯提示信息設(shè)置為:”計算機成績必須在0到100之間”,標(biāo)題設(shè)為”計算機成績”,信息技術(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論