已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第四章 數(shù)據(jù)庫的創(chuàng)建和使用 4 1VFP數(shù)據(jù)庫概述4 2創(chuàng)建數(shù)據(jù)庫4 3數(shù)據(jù)庫的使用4 4VFP的數(shù)據(jù)字典 DataDictionary 4 5數(shù)據(jù)庫表4 6永久關系和參照完整性4 7操作數(shù)據(jù)庫及其對象的幾個常用函數(shù) 結(jié)束放映 YES 是 NO 否 數(shù)據(jù)庫是一個包容器 是許多相關的數(shù)據(jù)庫表的集合 是數(shù)據(jù)組織層次中目前已達到的最高級別 它包括數(shù)據(jù)表以及表之間的關系等 4 1VisualFoxPro數(shù)據(jù)庫 4 2創(chuàng)建數(shù)據(jù)庫 VFP數(shù)據(jù)庫的創(chuàng)建方法界面操作方式創(chuàng)建數(shù)據(jù)庫命令方式創(chuàng)建數(shù)據(jù)庫VFP數(shù)據(jù)庫的組成1 數(shù)據(jù)庫表2 本地視圖及遠程視圖3 連接4 存儲過程 創(chuàng)建一個新的數(shù)據(jù)庫將生成三個文件 數(shù)據(jù)庫文件 dbc 關聯(lián)的數(shù)據(jù)庫備注文件 dct 和關聯(lián)的數(shù)據(jù)庫索引文件 dcx 4 3數(shù)據(jù)庫的使用 打開數(shù)據(jù)庫設置當前數(shù)據(jù)庫使用數(shù)據(jù)庫中的表關閉數(shù)據(jù)庫刪除數(shù)據(jù)庫 數(shù)據(jù)字典是指存儲在數(shù)據(jù)庫中用于描述所管理的表和對象的數(shù)據(jù) 即關于數(shù)據(jù)的數(shù)據(jù) 這些數(shù)據(jù)稱為元數(shù)據(jù) 包括長表名 長字段名 有效性規(guī)則和觸發(fā)器 以及有關數(shù)據(jù)庫對象的定義如視圖和命名連接等 VFP數(shù)據(jù)字典可以創(chuàng)建和指定以下內(nèi)容 主關鍵字和候選索引關鍵字 字段級和記錄級有效性規(guī)則 表單中使用的默認控件類 表中字段的標題和注釋 數(shù)據(jù)庫表之間的永久性關系 存儲過程 字段的輸入掩碼和顯示格式 表中字段的默認值 長表名和表中的長字段名 插入 更新和刪除事件的觸發(fā)器除了以上這些表的功能擴展 使用數(shù)據(jù)庫還能訪問與遠程數(shù)據(jù)源的連接 并可創(chuàng)建本地表和遠程表的視圖 4 4VFP的數(shù)據(jù)字典 4 5數(shù)據(jù)庫表 數(shù)據(jù)庫表的字段擴展屬性數(shù)據(jù)庫表的表屬性數(shù)據(jù)庫表的約束機制及其激活時機綜述數(shù)據(jù)庫表的索引數(shù)據(jù)庫表的添加與移去 數(shù)據(jù)庫表字段的擴展屬性 引言字段的顯示屬性字段的格式 Format 字段的輸入掩碼 InputMask 字段的標題 Caption 與注釋 Comment 字段驗證規(guī)則字段驗證規(guī)則 ruleexpression 字段驗證信息 ruleexpressiontext 字段默認值 defaultvalue 命令方法實現(xiàn)字段驗證規(guī)則在數(shù)據(jù)庫中查看字段的擴展屬性 在使用命令createtable sql創(chuàng)建表文件時 可以利用check子句 error子句和default子句設置字段的有效性規(guī)則 有效性信息和默認值 在使用altertable sql命令修改表的結(jié)構(gòu)時 可以通過setcheck子句 setdefault子句設置字段的有效性規(guī)則 有效性信息和默認值 刪除字段的有效性規(guī)則時 可以利用帶dropcheck子句的altertable sql命令 刪除字段的默認值時 可以利用帶dropdefault子句的altertable sql命令 數(shù)據(jù)庫表的表屬性 長表名與表注釋表記錄的驗證規(guī)則表記錄的驗證信息表的觸發(fā)器 Trigger 觸發(fā)器的基本概念創(chuàng)建表的觸發(fā)器移去或刪除觸發(fā)器 相關表之間的參照完整性 參照完整性 RI 概念設置參照完整性參照完整性設置方法參照完整性規(guī)則VFP數(shù)據(jù)完整性綜述實體完整性參照完整性用戶自定義完整性 4 7操作數(shù)據(jù)庫及其對象的幾個常用函數(shù) DBC 函數(shù)與DBUSED 函數(shù)DBGETPROP 函數(shù)DBSETPROP 函數(shù) 1 一對多關系設有甲乙兩個表 如果甲表中的任意一個記錄在乙表中都有幾個記錄與之對應 而乙表中的每個記錄在甲表中僅有一個記錄與之對應 則稱甲乙兩個表之間存在一對多關系 并稱甲表為 一 表 或 主表 乙表為 多 表 或 子表 外部關鍵字首先必須是 一 表中存在的字段 外部關鍵字的值輸入到 多 表中的條件也必須是在 一 表中早已存在的 一般 將在 多 表中存在但在 一 表中不存在的記錄稱為 孤立記錄 表之間的關系 1 2 多對多關系遇到 多對多 的情況時 必須建立第三個表 把多對多的關系分解成兩個一對多關系 這第三個表就稱作 紐帶表 JunctionTable 因為它在兩表之間起著紐帶的作用 可以把兩個表的主關鍵字都放在這個紐帶表中 對于紐帶表 除了包含兩個外部關鍵字 即來自于學生表的主關鍵字Xh 學號 和課程表的主關鍵字Kcdh 課程代號 外 還可以有其他字段 如Cj 成績 字段 但允許沒有單個字段的主關鍵字 主關鍵字可以由兩個外部關鍵字組成 表之間的關系 2 3 一對一關系一對一關系是這樣一種關系 甲表的一個記錄在乙表中只能對應一個記錄 而乙表中的一個記錄在甲表中也只能有一個記錄與之對應 這種關系不經(jīng)常使用 因為在許多情況下 兩個表的信息可以簡單地合并成一個表 出于一些原因 如字段項太多 不能合并的 可以建立一對一關系 只要把一個主關鍵字同時放到兩個表中 并以此建立一對一關系 表之間的關系 3 4 分析并確定表之間關系 表之間的關系 4 界面操作方式創(chuàng)建數(shù)據(jù)庫 在 項目管理器 中新建數(shù)據(jù)庫通過 新建 對話框新建數(shù)據(jù)庫 創(chuàng)建數(shù)據(jù)庫的命令 語法 CREATEDATABASE 說明 1 如果在命令中沒有給出數(shù)據(jù)庫名或給出了 則命令自動打開 新建 對話框 如 CREATEDATABASECREATEDATABASE 2 如果給出數(shù)據(jù)庫名 則創(chuàng)建數(shù)據(jù)庫 并使該數(shù)據(jù)庫處于打開狀態(tài) 但不出現(xiàn)數(shù)據(jù)庫設計器 如 CREATEDATABASEJXSJ1 3 用命令方式創(chuàng)建的數(shù)據(jù)庫不會自動添加到項目管理器中 命令方式創(chuàng)建數(shù)據(jù)庫 從屬于某一個數(shù)據(jù)庫的表 稱為 數(shù)據(jù)庫表 也叫 相關表 1 前鏈和后鏈庫表與數(shù)據(jù)庫之間的相關性是通過表文件 DBF 與庫文件 DBC 之間的雙向鏈接實現(xiàn)的 雙向鏈接包括前鏈和后鏈 2 在數(shù)據(jù)庫中添加 新建和移去表在數(shù)據(jù)庫中添加表是指把自由表添加到數(shù)據(jù)庫中使之成為庫表 本質(zhì)上是建立了庫與表之間的雙向鏈接 新建數(shù)據(jù)庫表是指把新建的表直接創(chuàng)建成數(shù)據(jù)庫中的表 從數(shù)據(jù)庫中移去表是指把庫表從數(shù)據(jù)庫中釋放為自由表 本質(zhì)上是刪除了庫文件與表文件中的雙向鏈接信息 在數(shù)據(jù)庫中添加 新建和移去表的方法有多種 3 更新表和數(shù)據(jù)庫的鏈接如果移動了數(shù)據(jù)文件 DBC DCT和 DCX 或與數(shù)據(jù)庫關 數(shù)據(jù)庫表 1 聯(lián)的表文件 則這些文件的相對路徑會改變 可能會破壞已有的前鏈或后鏈 如將庫表XS由C盤移至A盤 由于表文件的移動引起庫文件中的前鏈被破壞 可使用命令VALIDATEDATABASERECOVER 更新相對路徑信息以重建前鏈 也可用USE命令打開表 系統(tǒng)會顯示 打開 對話框 允許重新定位該表所屬的數(shù)據(jù)庫或刪除鏈接 如果從磁盤中意外地刪除了某個數(shù)據(jù)庫文件 那么原來此數(shù)據(jù)庫中包含的表仍然保留對該數(shù)據(jù)庫引用的后鏈 這些表就不能再被添加到其他的數(shù)據(jù)庫中 這時就需要從表中刪除后鏈 其命令是 FREETABLE表文件名如 FREETABLEXS表被刪除了后鏈以后 便成為自由表 可再添加到其他的數(shù)據(jù)庫中 數(shù)據(jù)庫表 2 前鏈是保存在數(shù)據(jù)庫容器 DBC 中的有關表文件的路徑和文件名信息 它將數(shù)據(jù)庫與庫表文件相鏈接 前鏈指向數(shù)據(jù)庫中包含的表 它由各個表文件的相對路徑和文件名稱構(gòu)成 后鏈是存放在一個表的表頭中的數(shù)據(jù)庫的路徑和文件名 用以將自身與包含自身的數(shù)據(jù)庫容器相鏈接 后鏈指向擁有該表的數(shù)據(jù)庫 它由數(shù)據(jù)庫的相對路徑和數(shù)據(jù)庫名稱構(gòu)成 前鏈和后鏈 1 利用 項目管理器 在數(shù)據(jù)庫中添加 新建和移去表2 利用 數(shù)據(jù)庫設計器 在數(shù)據(jù)庫中添加 新建和移去表3 使用命令在數(shù)據(jù)庫中添加 移去表語法 ADDTABLE自由表表文件名 NAME長表名 功能 向數(shù)據(jù)庫中添加自由表 語法 REMOVETABLE表名 DELETE 功能 從數(shù)據(jù)庫中移去表 添加 新建和移去數(shù)據(jù)庫表的方法 例 OPENDATABASEjxsjEXCLUSIVEADDTABLExs 使用ADDTABLE命令往數(shù)據(jù)庫中添加表時 必須保證數(shù)據(jù)庫處于打開狀態(tài) REMOVETABLEXS 將XS表從數(shù)據(jù)庫中移出 若加上DELETE可選項 則不僅將XS從數(shù)據(jù)庫中移出 而且還把表文件從磁盤上刪除 一個表在同一時間內(nèi)只能屬于一個數(shù)據(jù)庫 如果所需要的數(shù)據(jù)表已隸屬于其他數(shù)據(jù)庫 則必須先從其他數(shù)據(jù)庫移去此表 使其成為自由表 然后才能將其添加到當前數(shù)據(jù)庫中來 使用命令在數(shù)據(jù)庫中添加 移去表 一 表之間的關系二 表之間的永久關系1 永久關系 persistentrelationship 的概念2 永久關系的作用3 永久關系的建立4 刪除 編輯修改永久性關系 庫表之間的關系 永久關系是庫表之間的一種關系 不僅在運行時存在 而且一直保留 擁有永久關系的表必須在數(shù)據(jù)庫中 數(shù)據(jù)庫表間的永久關系是根據(jù)表的索引建立的 索引的類型決定了要創(chuàng)建的永久關系類型 在一對多關系中 一方 必須用主索引關鍵字 或標識 或者用候選索引關鍵字 或標識 在 多方 則使用普通索引關鍵字 或普通索引標識 在一對一關系中 兩個表必須都用主索引關鍵字 或標識 或候選索引關鍵字 或標識 永久關系 persistentrelationship 的概念 在 查詢設計器 和 視圖設計器 中 自動作為默認聯(lián)接條件 作為表單和報表的默認的關系 在 數(shù)據(jù)環(huán)境設計器 中顯示 用來存儲參照完整性信息 這是永久關系的主要作用 永久關系的作用 建立永久關系的一般步驟是 確定兩個存在一對多或一對一關系的表 建立主表的主索引或候選索引 如果是一對多關系 則在子表中按外部關鍵字建立普通索引 如果是一對一關系 則在子表中以與主表相同的關鍵字建立主索引或候選索引 從主表的主索引或候選索引到子表相關的索引建立永久關系 方法一 在數(shù)據(jù)庫設計器中建立永久關系 將主表的主關鍵索引 XSXH 拖放到子表中的外部關鍵索引 CJXH 上 方法二 用命令方式建永久關系CREATETABLEcj xhC 6 kcdhC 6 cjN 3 0 FOREIGNKEYxhTAGcjxhREFERENCExs ALTERTABLEcjADDFOREIGNKEYxh TAGcjxhREFERENCExs 永久關系的建立 刪除永久性關系在 數(shù)據(jù)庫設計器 中 單擊關聯(lián)連線后 該線變粗 此時 按 Del 鍵即可刪除關系 或用鼠標右鍵單擊關系連線 在快捷菜單中單擊 刪除關系 后 關聯(lián)的線被擦除 編輯修改永久性關系用鼠標右鍵單擊關系連線 在快捷菜單中單擊 編輯關系 后出現(xiàn) 編輯關系 對話框 刪除 編輯修改永久性關系 永久關系連線 拖放 永久關系連線 快捷菜單 編輯關系 對話框 引言 數(shù)據(jù)庫表的字段除了具有字段的基本屬性外 還含有自由表所沒有的擴展屬性 包括字段的顯示格式 輸入掩碼 默認值 標題 注釋以及字段的驗證規(guī)則和驗證信息等 這些高級屬性都保存在庫表所在的數(shù)據(jù)庫文件中 字段的高級屬性都可以在數(shù)據(jù)庫表的 表設計器 中進行設置 還可以用函數(shù)DBSETPROP 設置 打開數(shù)據(jù)庫表設計器和自由表設計器進行比較 可看到二者之間的差別 字段的格式 字段的格式用于指定字段顯示時的格式 設置字段的顯示格式的方法與步驟 以JS表為例 如下 1 打開JS表設計器 2 選擇要加格式的字段 3 在格式框中鍵入格式內(nèi)容 如 設置JS表的JBGZ字段格式為 設置JS表的JBGZ字段格式為 L 設置JS表的CSRQ字段格式為 E 以上字段格式符號的意義見 字段格式表 字段的輸入掩碼用于指定字段中輸入數(shù)據(jù)的格式 設置字段輸入掩碼的方法與步驟如下 1 在表設計器中打開表 2 選擇要加輸入掩碼的字段 3 在 輸入掩碼 框中鍵入掩碼 如 為JS表的JBGZ字段設置掩碼為 9 999 99 JBGZ字段類型為N型 寬度為9 小數(shù)位為2 輸入掩碼的具體含義見 輸入掩碼表 字段的輸入掩碼 輸入掩碼表 字段標題的作用是為了使表具有更好的可讀性 在取字段名時 為了在命令方式下更方便地使用字段 字段名常常采用簡練的形式 常用拼音字母代替漢字 如 出生日期 的字段名取為 CSRQ 在瀏覽時也以字段名作為列的標題 不直觀 可讀形不好 利用數(shù)據(jù)庫表字段的標題屬性 可以為字段設置一個含義明確的標題 但標題只是在瀏覽 顯示時起作用 并不能作為字段名用于表達式及命令中 字段注釋也是為了使表具有更好的可讀性 所以在注釋框中可以填入對字段的文字說明 字段的標題與注釋 字段驗證用來限定字段的取值及取值范圍 在所選字段的字段驗證規(guī)則框內(nèi)鍵入一邏輯表達式 當往字段中輸入數(shù)據(jù)并當焦點離開該字段時 將數(shù)據(jù)代入邏輯表達式 若表達式的值為真則接受該數(shù)據(jù)作為該字段的值 否則拒絕將該數(shù)據(jù)作為該字段的值 如將JS表的JBGZ字段驗證規(guī)則設為 JBGZ 500ANDJBGZ 2000當關閉表設計器并保存對結(jié)構(gòu)的修改時 可以選擇用此規(guī)則對照現(xiàn)有的數(shù)據(jù)或不對照現(xiàn)有的數(shù)據(jù) 字段驗證規(guī)則 在字段驗證信息框中鍵入對驗證規(guī)則的說明文本 當字段值不滿足字段驗證規(guī)則時將顯示該說明 如在上述JS表的JBGZ字段驗證信息框中輸入文本 基本工資必須在500 2000之間 作為字符串常量必須加引號 當在JBGZ字段中輸入2100時就會顯示信息 基本工資必須在500 2000之間 并拒絕接受2100作為JBGZ字段的值 該屬性為可選項 既字段可以有字段驗證規(guī)則而沒有字段驗證信息 當出現(xiàn)違背字段驗證規(guī)則的數(shù)據(jù)時 系統(tǒng)顯示默認的信息 如 違反了字段JBGZ的驗證規(guī)則 字段驗證信息 當向一個數(shù)據(jù)庫表中添加記錄時 為字段所指定的最初的值 稱為該字段的默認值 如為JS表的JBGZ字段設置默認值為800 則每次向JS表中追加新記錄時 JBGZ字段都已有數(shù)據(jù)800 如果沒有設置默認值 則在追加新記錄時 各字段也有系統(tǒng)自動設置的默認值 如下表所示 字段的默認值 上述7個屬性均為數(shù)據(jù)庫表字段的擴展屬性 這些屬性存儲為數(shù)據(jù)庫的一部分 而且只要表屬于該數(shù)據(jù)庫 它們就一定存在 而在VFP中數(shù)據(jù)庫實質(zhì)是一個表文件 可用USE命令打開查看 也可用DISPLAYDATABASE命令查看 例如 USEJXSJ DBCBROWSE或OPENDATABASEJXSJDISPLAYDATABASE 在數(shù)據(jù)庫中查看字段的擴展屬性 如果為數(shù)據(jù)庫表設置了長表名屬性 則該數(shù)據(jù)庫表在各種選項卡 窗口中均以長表名代替表名 在打開數(shù)據(jù)庫表時 長表名與文件名可以同樣使用 例如 用表設計器為JS表設置長表名 TEACHER 以后打開該表可以有兩種方法 USEJS 此時表的別名為 JS USETEACHER 此時表的別名為 TEACHER 也可以在使用CREATETABLE命令創(chuàng)建表時 CREATETABLEB01NAMETAB01 F01C 3 長表名 NAME 在向表中輸入記錄時 當兩個字段之間存在一定的關系 如出生日期總是比工作日期小 這是可以通過設置數(shù)據(jù)庫表的記錄驗證規(guī)則來實現(xiàn) 例如 在教師表JS中可以設置如下記錄級規(guī)則 工齡 年齡 15 則應在 規(guī)則 框中輸入如下規(guī)則的表達式 js gl year date year js csrq 15或者使用CREATETABLE或ALTERTABLE命令的CHECK子句 ALTERTABLEJSSETCHECK js gl year date year js csrq 15 表記錄的驗證規(guī)則 1 和字段級規(guī)則一樣 記錄級規(guī)則在記錄值改變時被激活 如果該記錄中的值沒有變化 則在移走記錄指針時 不檢查記錄級規(guī)則 因此可以自由地在記錄間移動指針 而系統(tǒng)卻不會檢查任何數(shù)據(jù) 如果修改了記錄 若沒有移動記錄指針 則在關閉 瀏覽 窗口時檢查記錄級規(guī)則 并對所發(fā)生的任何錯誤提出警告 然后才關閉 瀏覽 窗口 若記錄指針移離記錄時 立即檢查記錄級規(guī)則 并對所發(fā)生的任何錯誤提出警告 和字段級驗證規(guī)則一樣 在設置結(jié)束時可以選擇是否用此規(guī)則對照現(xiàn)有的記錄 表記錄的驗證規(guī)則 2 在記錄驗證信息框中鍵入對驗證規(guī)則的說明文本 當記錄不滿足驗證規(guī)則時將顯示該說明 如在上述JS表的記錄驗證信息框中輸入文本 參加工作年齡必須大于15歲 作為字符串常量必須加引號 當JS表中某記錄的CSRQ和GL字段不滿足這一條件時 就會顯示信息 參加工作年齡必須大于15歲 并拒絕接受該記錄 該屬性為可選項 即可以有記錄驗證規(guī)則而沒有記錄驗證信息 當出現(xiàn)違背記錄驗證規(guī)則的記錄時 系統(tǒng)顯示默認的信息 如 違反了記錄驗證規(guī)則 表記錄的驗證信息 表的觸發(fā)器 是綁定在表上的表達式 當表中任何記錄被指定的操作命令 插入 更新或刪除 修改時 在進行其他所有檢查之后 例如有效性規(guī)則 主關鍵字的實施 以及null值的實施 被激活 表的觸發(fā)器是表在插入 更新或刪除記錄時進行的檢驗規(guī)則 可分為插入觸發(fā)器 更新觸發(fā)器和刪除觸發(fā)器 觸發(fā)器的基本概念 可使用 表設計器 或CREATETRIGGER命令來創(chuàng)建觸發(fā)器 插入觸發(fā)器 向表中插入或追加記錄時觸發(fā)該規(guī)則 更新觸發(fā)器 在表中修改記錄時觸發(fā)該規(guī)則 刪除觸發(fā)器 在表中刪除記錄時觸發(fā)該規(guī)則 上述觸發(fā)器的默認設置是 T 創(chuàng)建觸發(fā)器的一個方法是 在表設計器中為觸發(fā)器設置一個邏輯表達式 其返回值是 真 T 或 假 F 如將JS表的刪除觸發(fā)器設置為GL 40 則JS表中只有GL大于40年的記錄才可以做邏輯刪除 另一個方法是用CREATETRIGGER命令 CREATETRIGGERONFOR INSERT UPDATE DELETEAS例 CREATETRIGGERONJSFORDELETEASJS GL 40 創(chuàng)建表的觸發(fā)器 在 表設計器 的 表 選項卡的 觸發(fā)器 區(qū)中 從 插入觸發(fā)器 更新觸發(fā)器 或 刪除觸發(fā)器 框里選定觸發(fā)器表達式 并刪除它 使用DELETETRIGGER命令 格式如下 DELETETRIGGERONFORDELETE INSERT UPDATE如果從數(shù)據(jù)庫中移去或刪除表 則所有屬于該表的觸發(fā)器都從數(shù)據(jù)庫中刪除 但是 由被移去或刪除的觸發(fā)器引用的存儲過程沒有刪除 移去或刪除觸發(fā)器 數(shù)據(jù)庫表的字段級和記錄級規(guī)則以及表的觸發(fā)器 為數(shù)據(jù)的輸入和修改實施了約束 庫表的約束機制及其激活時機 參照完整性 ReferentialIntegrity RI 是用來控制數(shù)據(jù)的完整性 尤其是控制數(shù)據(jù)庫中相關表之間的主關鍵字和外部關鍵字之間數(shù)據(jù)一致性的規(guī)則 數(shù)據(jù)一致性要求相關表之間滿足如下規(guī)則 1 子表中的每一個記錄在對應的主表中必須有一個父記錄 否則子表中的記錄是 孤立記錄 2 在子表中插入記錄時 其外部關鍵字必須是父表主關鍵字值中的一個 3 在父表中刪除記錄時 與該記錄相關的子表中的記錄必須全部刪除 參照完整性的概念 設置參照完整性是利用數(shù)據(jù)庫表之間的永久關系 控制記錄如何在相關表中被插入 更新或刪除 參照完整性規(guī)則被設置在主表或子表的觸發(fā)器中 規(guī)則的代碼被保存在數(shù)據(jù)庫的存儲過程中 設置過程如下 在 數(shù)據(jù)庫設計器 中 用鼠標右擊永久性關系聯(lián)線 出現(xiàn)快捷菜單 單擊其中的 編輯參照完整性 項 或者單擊 數(shù)據(jù)庫 菜單中的 編輯參照完整性 出現(xiàn) 參照完整性 生成器 VFP中的參照完整性規(guī)則包括更新規(guī)則 刪除規(guī)則和插入規(guī)則三種 參照完整性的設置 參照完整性規(guī)則表 VFP引進了關系數(shù)據(jù)庫的三類完整性 實體完整性 參照完整性和用戶自定義完整性 前兩類是數(shù)據(jù)庫本身自我約束的完整性規(guī)則 由系統(tǒng)自動支持 實體完整性包括兩級 字段和記錄的數(shù)據(jù)完整性 字段的數(shù)據(jù)完整性通過設置字段的有效性規(guī)則實現(xiàn) 記錄的數(shù)據(jù)完整性通過設置記錄的有效性規(guī)則實現(xiàn) 參照完整性是指相關表之間的數(shù)據(jù)一致性 通過字段級 記錄級和表間三級完整性約束 有效地實現(xiàn)了數(shù)據(jù)的完整性和一致性 從而方便和簡化了用戶的數(shù)據(jù)維護 數(shù)據(jù)完整性綜述 打開一個數(shù)據(jù)庫1 界面方式2 命令方式OPENDATABASE Database EXCLUSIVE SHARED NOUPDATE VALIDATE 2 打開多個數(shù)據(jù)庫正如表可以打開多個一樣 數(shù)據(jù)庫也可以打開多個 但不必在多個工作區(qū)打開 打開數(shù)據(jù)庫 打開多個數(shù)據(jù)庫的方法很簡單 只要多次使用打開一個數(shù)據(jù)庫的命令 例如 要同時打開三個數(shù)據(jù)庫DB1 DB2 DB3的命令是 OPENDATABASEDB1OPENDATABASEDB2OPENDATABASEDB3 所有打開的數(shù)據(jù)庫中 只有一個是當前數(shù)據(jù)庫 在打開數(shù)據(jù)庫時 最后一個打開的數(shù)據(jù)庫為當前數(shù)據(jù)庫 也可把其他打開的數(shù)據(jù)庫設置為當前數(shù)據(jù)庫 1 在 常用 工具條的 數(shù)據(jù)庫 下拉列表中 顯示了所有已打開的數(shù)據(jù)庫 可以在列表中選擇一個作為當前數(shù)據(jù)庫 2 用SETDATABASETO命令將某一已打開的數(shù)據(jù)庫設置為當前數(shù)據(jù)庫 如 SETDATABASETODB2 3 與數(shù)據(jù)庫相關的兩個函數(shù) 函數(shù)DBC 返回當前打開的數(shù)據(jù)庫的完整文件名 DBC 返回a db1 dbc 函數(shù)DBUSED 數(shù)據(jù)庫名 返回指定的數(shù)據(jù)庫文件是否已經(jīng)打開的狀態(tài) 如果已打開 則函數(shù)返回值為 T 否則函數(shù)返回值為 F 例如 DBUSED DB1 返回 T 設置當前數(shù)據(jù)庫 數(shù)據(jù)庫表和自由表都可以使用USE命令打開 但是 如果打開的是數(shù)據(jù)庫表 則系統(tǒng)會首先自動打開表所在的數(shù)據(jù)庫 打開數(shù)據(jù)庫時不會自動打開表 關閉數(shù)據(jù)庫時會自動關閉數(shù)據(jù)庫中所有已打開的表 關閉表時不會自動關閉數(shù)據(jù)庫 要打開非當前數(shù)據(jù)庫中的表 可以使用 符號 例如 USEjxsj xs也可以直接使用表文件名打開數(shù)據(jù)庫表 如 USEjs 使用數(shù)據(jù)庫中的表 1 從項目管理器中 選定要關閉的數(shù)據(jù)庫并選擇 關閉 按鈕 2 使用CLOSEDATABASE命令 CLOSEDATABASES關閉當前數(shù)據(jù)庫和表 若沒有當前數(shù)據(jù)庫 則關閉所有工作區(qū)內(nèi)所有打開的自由表 索引和格式文件 并選擇工作區(qū)1 例如 下面的代碼關閉了JXSJ數(shù)據(jù)庫 SETDATABASETOjxsjCLOSEDATABASE CLOSEDATABASESALL關閉所有打開的數(shù)據(jù)庫和其中的表 所有打開的自由表 所有工作區(qū)內(nèi)所有索引和格式文件 并選擇工作區(qū)1 CLOSEALL該命令除了不關閉 命令窗口 調(diào)試窗口 幫助 和 跟蹤窗口 外 將關閉所有的數(shù)據(jù)庫 表 索引以及各種設計器 包括項目管理器 并選擇工作區(qū)1 關閉數(shù)據(jù)庫 DBC 函數(shù)返回當前打開數(shù)據(jù)庫的完整文件名 該函數(shù)無參數(shù) DBUSED 函數(shù)返回指定的數(shù)據(jù)庫文件是否已經(jīng)打開 如果打開 則函數(shù)的值為 T 否則為 F 語法 DBUSED 數(shù)據(jù)庫名 其中 數(shù)據(jù)庫名為字符表達式 語法 DBGETPROP cName cType
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 周口城投發(fā)展集團有限公司招聘筆試真題2024
- 2025年舟山市文化和廣電旅游體育局招聘編外工作人員備考題庫及參考答案詳解
- 恒美智造拉曼光譜儀產(chǎn)品知識圖譜報告書
- 衡水健康科技職業(yè)學院《中國近代史綱要》2023-2024學年第一學期期末試卷
- 廈門大學附屬第一醫(yī)院漳州招商局開發(fā)區(qū)分院2025年第四批公開招聘編外工作人員備考題庫及參考答案詳解1套
- 2025年阿勒泰地區(qū)吉木乃縣應急管理局面向社會公開招聘政府專職消防員6人備考題庫完整參考答案詳解
- 2025-2026 學年高三 歷史 期中復習卷 試卷及答案
- 2025年關于為山東鐵路檢察機關公開招聘聘用制書記員的備考題庫完整參考答案詳解
- 2025年建始縣自然資源和規(guī)劃局所屬事業(yè)單位公開選聘工作人員備考題庫參考答案詳解
- 2025年涼山彝族自治州普格縣公安局公開招聘警務輔助人員的備考題庫及一套參考答案詳解
- 中國昭通中藥材國際中心項目可行性研究報告
- 2025中國融通資產(chǎn)管理集團有限公司招聘筆試備考試題(230人)附答案解析
- 2026馬年春節(jié)新年年貨節(jié)大集廟會(金馬迎春年貨大集)活動策劃方案
- 心臟搭橋課件
- 2025年廣東省第一次普通高中學業(yè)水平合格性考試(春季高考)思想政治試題(含答案詳解)
- 人工智能行業(yè)-“人工智能+”行動深度解讀與產(chǎn)業(yè)發(fā)展機遇
- 2025棗莊市生態(tài)環(huán)境修復礦區(qū)復墾政策實施效果與國土空間規(guī)劃
- (一診)達州市2026屆高三第一次診斷性測試思想政治試題(含標準答案)
- 購車意向金合同范本
- 2025廣東廣電網(wǎng)絡校園招聘筆試歷年參考題庫附帶答案詳解
- 學堂在線醫(yī)學英語詞匯進階(首醫(yī))作業(yè)單元測驗答案
評論
0/150
提交評論