版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、7.1 關系數據庫的基礎知識7.1.1 基本概念1. 關鍵字、主關鍵字、組合關鍵字與候選關鍵字 關系表中,其值可以唯一地標識一條記錄的字段稱為關鍵字。如果幾個字段的值組合后可以唯一地標識一條記錄,則這幾個字段就稱為組合關鍵字。表中可能有多個關鍵字,選取表中的一個關鍵字作為對該表進行各種操作時,用以區(qū)別每條記錄的唯一性標志,并作為該表與其他表實現關聯的關鍵字,則該關鍵字稱為主關鍵字或主碼。其他的關鍵字,稱為候選關鍵字。2. 數據之間的聯系類型 一對多關系;多對多關系;一對一關系。7.1.2 數據庫的設計1. 1. 數據庫表之間的聯系與外部關鍵字數據庫表之間的聯系與外部關鍵字 表與表之間是一對多的
2、聯系:實現該聯系需將父表中的主關鍵字放入子表當中,以實現兩表之間的有效關聯。 表1與表2之間是多對多的聯系:實現該聯系需另外增加一個新表,這個表稱為“關聯表”,其中包括表1和表2的主關鍵字,并且加進兩表之間的關聯字段。 表與表之間是一對一的聯系:實現該聯系需要根據實際情況而定,設計時可以分為兩個表或合并為一個表。u外部關鍵字 在一對多的關系表中,子表中的某一字段是父表的主關鍵字,則該字段稱為子表的外部關鍵字或外碼。u數據庫表、自由表 屬于數據庫的表稱為數據庫表;獨立存在、不與任何數據庫相關聯的表稱為自由表。2. 2. 關系數據庫的完整性關系數據庫的完整性 實體完整性。實體完整性是指一個表中主關
3、鍵字的取值必須是確定的、唯一的,不允許為null值。 參照完整性。數據庫的參照完整性是指在“子表”當中實現關聯的外部關鍵字,它的取值或者為“空”值、或者為“父表”中實現相應關聯的主關鍵字值的子集。 用戶自定義完整性。這部分是由實際應用環(huán)境當中的用戶需求決定的。通常為某個字段的取值限制、多個字段之間取值的條件等。7.2 數據庫的基本操作7.2.1 建立數據庫 建立數據庫主要有如下三種方法:1. 在“新建”菜單中建立數據庫2. 在項目管理器中建立數據庫3. 使用命令建立數據庫命令格式:Create Database 數據庫名 / ?例如,要創(chuàng)建學生“學籍”數據庫,可以使用以下命令:7.2.2 數據
4、庫設計器 打開數據庫設計器的方法有以下三種:打開數據庫設計器的方法有以下三種:1. 1. 從項目管理器中打開數據庫設計器從項目管理器中打開數據庫設計器2. 2. 從打開菜單中打開數據庫設計器從打開菜單中打開數據庫設計器3.3. 用命令打開數據庫設計器用命令打開數據庫設計器 打開數據庫設計器的命令的語法格式如下: MODIFY DATABASE 文件名 / ? NOWAIT NOEDIT 7.2.3 數據庫的基本操作1. 1. 打開數據庫打開數據庫打開數據庫的方式也有三種:在“項目管理器”中打開已存在的數據庫:從“打開”對話框打開數據庫:使用命令方式打開數據庫。格式:OPEN DATABASE
5、文件名 / ?2. 2. 關閉數據庫關閉數據庫關閉數據庫一般有兩種方性:是在項目管理器中關閉數據庫二是用命令方式關閉數據庫格式:CLOSE DATABASES ALL功能:不帶選項:表示關閉當前數據庫和表。帶“ALL”:表示關閉當前打開的數據庫和數據庫表、自由表及索引文件等。3. 在打開的多個數據庫間切換在打開的多個數據庫間切換 Visual FoxPro在同一時刻可以打開多個數據庫,但在同一時刻只有一個當前數據庫。也就是說,所有作用于數據庫的命令或函數是對當前數據庫而言的。 指定當前數據庫的命令是: SET DATABASE TO DatabaseName 4. 4. 修改數據庫修改數據庫使
6、用“項目管理器”修改數據庫使用命令修改一個數據庫格式: MODIFY DATABASE 數據庫名 / ? NOWAIT NOEDIT例如,要修改學生“學籍”數據庫,可用命令: MODIFY DATABASE 學籍5. 5. 刪除數據庫刪除數據庫在“項目管理器”中刪除數據庫使用命令刪除數據庫例如,要刪除學生“學籍”數據庫,可用命令: DELETE DATABASE 學籍7.2.4 數據庫表和自由表的相互轉換1. 概念概念數據庫表:已加入到某個數據庫中的表。自由表:不屬于任何數據庫的表。2. 將表加入到數據庫將表加入到數據庫為了把一個已存在的表加入到數據庫,可從“數據庫”菜單中選擇“添加表”,或者
7、單擊工具欄中的“添加表”按鈕。 使用命令方式 格式:ADD TABLE 表名 / ? 長表名 例如,打開“學籍”數據庫,并向其中添加表“學生.DBF”: ADD TABLE 學生3. 從數據庫中移出表從數據庫中移出表從“數據庫”菜單中選擇“移出表”,或者單擊工具欄中的“移出表”按鈕。使用REMOVE TABLE命令。格式: REMOVE TABLE 表名 / ? DELETE RECYCLE 例如,打開“學籍”數據庫,并將其中的表“學生.DBF”移出: REMOVE TABLE 學生4. 刪除表文件刪除表文件使用DROP TABLE命令刪除表文件格式: DROP TABLE 表名 / 文件名
8、/ ? RECYCLE 7.2.5 工作區(qū)1 工作區(qū)工作區(qū) 工作區(qū)是Visual FoxPro在內存中開辟的臨時區(qū)域。用戶可以在不同的工作區(qū)中打開多個不同的表,并且可以利用多種方法訪問不同工作區(qū)中的表。工作區(qū)及工作區(qū)編號 每一個工作區(qū)都有一個編號區(qū)域,它標識一個已打開的表。Visual FoxPro中最多允許使用32767個工作區(qū),可以用工作區(qū)編號1、2、3、4、32767來標識。當前工作區(qū)及當前表 當前正在操作的工作區(qū)為當前工作區(qū),稱在當前工作區(qū)中打開的表文件為當前表。當前工作區(qū)是可變的,可以根據需要選擇任意一個工作區(qū)做為當前工作區(qū)。工作區(qū)的別名 給工作區(qū)取一個除工作區(qū)編號外的名字,它可以用
9、來標識一個工作區(qū)。每個工作區(qū)都有兩個等效的別名,一種是系統(tǒng)固有指定的,另一種是用戶自己定義的(表別名)。通過別名可以引用在工作區(qū)中打開的表。 指定在一個工作區(qū)中打開的表時,可以使用下列命令為該表定義一個別名: USE ALIAS 如果省略 ALIAS ,則該工作區(qū)的用戶自己定義默認別名為表文件名。 如果打開表時沒有指定別名,或別名發(fā)生沖突時,Visual FoxPro自動指定表的別名。系統(tǒng)固有指定的別名為:A、B、C、D、J,分別對應工作區(qū)1、2、3、4、10。工作區(qū)的選擇及當前工作區(qū)的轉換使用SELECT命令可以選擇或轉換當前工作區(qū)。格式:SELECT / 功能:帶表示激活指定該工作區(qū),帶表
10、示激活表別名代表的表打開時所用的工作區(qū)。 工作區(qū)之間的聯訪指系統(tǒng)在當前工作區(qū)訪問另一個工作區(qū)中表內容(字段)的一種聯系形式。工作區(qū)之間的聯訪是通過工作區(qū)的別名實現的。即用別名限制訪問的對象。具體訪問的格式如下: . 或 - 2 工作區(qū)使用規(guī)則工作區(qū)使用規(guī)則在一個工作區(qū)內只能存在一個打開的表文件;當前工作區(qū)只有一個,對非當前工作區(qū)中的表文件進行操作時,必須采取引用的方式(別名.字段名或別名-字段名);每個工作區(qū)中的表文件都有自己獨立的記錄指針;一個表文件能在多個工作區(qū)中打開;指定工作區(qū)可以使用命令: SELECT / USE IN / 由系統(tǒng)指定當前可用的最小號工作區(qū)可以使用: SELECT 0
11、 或 USE IN 03 工作區(qū)操作示例工作區(qū)操作示例7.2.6 建立表間的關聯1. 表間的永久關系表間的永久關系在數據庫表間建立永久關系 建立永久關系的目的是:l為實現參照完整性提供依據;l在查詢設計器、視圖設計器中,作為默認連接條件;l在數據庫設計器、數據環(huán)境設計器中直接顯示為表索引之間的連線,作為表單和報表之間的默認關系;建立永久性關聯的方法:可以通過“數據庫設計器”建立永久關系 例如,要建立“學生”表和“成績”表之間的永久性關系,假定兩表已建索引,使用如下命令: ALTER TABLE 成績 ADD FOREIGN KEY 學號 TAG 學號 REFERENCES 學生刪除表間的永久性
12、關聯 通過“數據庫設計器” 刪除永久關系: 在“數據庫設計器”中,用鼠標單擊連接線使線條變粗(說明已被選中),再按鍵盤的DELETE 鍵即可。 使用命令刪除永久性關聯: 例如,要刪除“學生”表和“成績”表之間的永久性關系 ALTER TABLE 成績 DROP FOREIGN KEY TAG 學號 SAVE2. 表之間的臨時關系表之間的臨時關系 表間的永久性關系并不能使子表的記錄指針隨父表的記錄指針產生聯動,而這一特性又是實際應用當中非常有用的,建立表間的臨時關系可以達到這一目的。在建立了表間的臨時關系后,父表可以控制子表。當在父表中移動記錄指針時,子表中的記錄指針也作相應移動。 創(chuàng)建表間的臨
13、時性關聯通過以下兩種方法可以創(chuàng)建表間的臨時性關聯:通過“數據工作期”窗口創(chuàng)建表間的臨時性關聯 通過命令SET RELATION也可創(chuàng)建表間的臨時性關聯命令格式:SET RELATION TO INTO ,INTO IN ADDITIVE 在建立臨時關系之前,子表必須先建立與相匹配的結構復合索引(.CDX)或獨立索引(.IDX)。 例如,在“學生”表與“成績”表間建立臨時關系,假定“學生”表尚未建立了任何索引文件,則命令代碼如下: USE 成績 IN 1 USE 學生 IN 2 SELECT 成績 INDEX ON 學號 TO ICJ SELECT 學生 SET RELATION TO 學號 I
14、NTO 成績 這時打開“瀏覽”窗口,同時瀏覽“學生”表和“成績”表,改變學生表中的當前記錄,可以看到“成績”表瀏覽窗口中只顯示相關聯的記錄。解除表之間的臨時性關聯命令格式: SET RELATION OFF INTO 例如,要解除上述實例中已經建立的關聯,命令代碼如下: USE 學生 IN 2 USE 成績 IN 1 SELECT 學生 SET RELATION OFF INTO 成績 也可以使用不帶任何參數的SET RELATION TO命令,將當前工作區(qū)中的所有關系解除。7.3 有效性、觸發(fā)器與參照完整性7.3.1有效性1. 表的字段級屬性 定義長字段名 設置字段標題 設置字段注解 建立輸
15、入掩碼 設置字段的默認值 字段級有效性規(guī)則2. 數據庫表的其他屬性數據庫表的其他屬性長表名 數據庫表可以使用長達128個字符的名稱,作為數據庫引用該表的名稱。表的記錄級有效性規(guī)則 表的記錄級有效性規(guī)則可以在同一條記錄的多個字段間進行比較,完成有效性規(guī)則的約束。7.3.2 觸發(fā)器1. 觸發(fā)器觸發(fā)器是建立在表上的表達式,當表中的任何記錄被指定的操作命令修改時,在執(zhí)行了字段級、記錄級、主關鍵字等有效性檢查后,觸發(fā)器被激活。 利用觸發(fā)器的工作原理,可以完成特殊的數據檢驗、參照完整性實施及數據庫更新的維護操作等許多功能。觸發(fā)器分為插入觸發(fā)器、更新觸發(fā)器和刪除觸發(fā)器三種,分別對應于數據庫表記錄的插入、更新
16、和刪除操作。2. 創(chuàng)建觸發(fā)器 以創(chuàng)建“插入觸發(fā)器”為例,“插入觸發(fā)器”就是當向表中插入或 追加記錄時,將執(zhí)行對應該觸發(fā)器的一段程序或過程。3. 刪除、移出觸發(fā)器 直接在“表設計器”的觸發(fā)器框中,刪除指定的觸發(fā)器即可。 使用如下命令也可實現: DELETE TRIGGER 學生 FOR INSERT如果從數據庫中移去或刪除表,則所有屬于該表的觸發(fā)器都從數據庫中刪除。4. 修改觸發(fā)器直接在“表設計器”的觸發(fā)器框中輸入新的表達式即可。7.3.3 參照完整性實現1. 參照完整性規(guī)則參照完整性規(guī)則 參照完整性規(guī)則主要為了保證數據庫表中數據的有效性和一致性,防止出現下列問題: ,造成子表中出現“孤立”記錄。 當父表中沒有關聯記錄時,將記錄添加到相關子表中; 改變父表關鍵字值,而子表未作相應的改變; 刪除父表記錄,而子表未作相應的改變。 利用“參照完整性生成器”能很好地實施參照完整性規(guī)則的類型、規(guī)則實施表等。當更改或刪除父表記錄時,“參照完整性生成器”自動完成相關子表中的記錄的級聯操作。2. 實現
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公積金貸款合同編號及貸后監(jiān)管措施
- 2025年氣壓機原件行業(yè)深度研究分析報告
- 2025年度個人經營性貸款合同范本解析
- 2025年度合資成立科技型企業(yè)協(xié)議書
- 2025年度能源互聯網股權未出資轉讓及項目投資合同
- 2021-2026年中國互聯網+雞精行業(yè)全景評估及投資規(guī)劃建議報告
- 中國集裝箱租賃行業(yè)市場調研及未來發(fā)展趨勢預測報告
- 中國莫西沙星行業(yè)市場全景評估及投資前景展望報告
- 2025年度護理員跨區(qū)域工作調動聘用協(xié)議范本
- 2025年中國棒球桿行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 信永中和筆試題庫及答案
- 甲流乙流培訓課件
- 《視網膜靜脈阻塞》課件
- 2025《省建設工程檔案移交合同書(責任書)》
- 《大學英語1》期末考試試卷及答案(專科)
- 《石油鉆井基本知識》課件
- 2024新滬教版英語(五四學制)七年級上單詞默寫單
- 電力兩票培訓
- TCCEAS001-2022建設項目工程總承包計價規(guī)范
- 2024.8.1十七個崗位安全操作規(guī)程手冊(值得借鑒)
- 小王子-英文原版
評論
0/150
提交評論