




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第三章 數(shù)據(jù)庫和表,創(chuàng)建、維護(hù)和管理數(shù)據(jù)庫,要點(diǎn),建立數(shù)據(jù)庫 數(shù)據(jù)庫的基本操作 數(shù)據(jù)詞典,一、建立數(shù)據(jù)庫,可以使用項(xiàng)目管理器或create database命令等方法建立數(shù)據(jù)庫。在開發(fā)環(huán)境下通常使用項(xiàng)目管理器建立數(shù)據(jù)庫,在程序運(yùn)行時(shí)刻通常以命令方式建立數(shù)據(jù)庫。 Create database命令語法格式,Create database databaseName|?,二、數(shù)據(jù)庫的基本操作,數(shù)據(jù)庫的基本操作包括: 打開數(shù)據(jù)庫; 向數(shù)據(jù)庫中添加表; 獲取數(shù)據(jù)庫中的表信息; 從數(shù)據(jù)庫中移去表; 刪除數(shù)據(jù)庫中的表; 多數(shù)據(jù)庫操作; 關(guān)閉數(shù)據(jù)庫等,二、數(shù)據(jù)庫的基本操作,打開數(shù)據(jù)庫 剛創(chuàng)建的數(shù)據(jù)庫會(huì)自動(dòng)保持打開狀態(tài),而對(duì)于已經(jīng)存在的數(shù)據(jù)庫,使用前必須首先打開數(shù)據(jù)庫 使用交互模式打開數(shù)據(jù)庫 使用open database命令打開數(shù)據(jù)庫,Open database fileName | ? exclusive | shared noupdate,二、數(shù)據(jù)庫的基本操作,檢查數(shù)據(jù)庫的打開狀態(tài) Dbc()函數(shù)返回當(dāng)前打開數(shù)據(jù)庫的名稱和路徑,如果沒有打開的數(shù)據(jù)庫,該函數(shù)返回空值 可使用dbused()函數(shù)來檢測(cè)數(shù)據(jù)庫的打開狀態(tài) Adatabase()函數(shù)可以把所有打開的數(shù)據(jù)庫的名稱和路徑保存到內(nèi)存變量數(shù)組中,同時(shí)返回打開數(shù)據(jù)庫的數(shù)目,如果沒有打開的數(shù)據(jù)庫,返回0.,二、數(shù)據(jù)庫的基本操作,向數(shù)據(jù)庫中添加表 在打開數(shù)據(jù)庫設(shè)計(jì)器的情況下,可以通過交互模式向數(shù)據(jù)庫添加一個(gè)已存在的自由表。此外,可以使用add table命令向當(dāng)前數(shù)據(jù)庫添加。 語法格式: Add table tableName | ? name longtablename 要注意的是,被添加的表必須為自由表,且數(shù)據(jù)庫必須以獨(dú)占方式打開,二、數(shù)據(jù)庫的基本操作,獲取數(shù)據(jù)庫中的表信息 使用display tables命令顯示表信息 Display tables to printer prompt | to file filename 使用adbobjects()函數(shù)將表信息保存到數(shù)組中 Adbobjects(ArrayName,cSetting) 使用indbc()函數(shù)指定的數(shù)據(jù)庫對(duì)象是否已經(jīng)存在于當(dāng)前數(shù)據(jù)庫中 Indbc(cDatabaseName,cSetting),二、數(shù)據(jù)庫的基本操作,從數(shù)據(jù)庫中移去表 交互模式從數(shù)據(jù)庫中移去表 使用命令從數(shù)據(jù)庫中移去表 Remove table TableName | ? deleted 重命名數(shù)據(jù)庫中的表 可以使用交互模式和命令模式 命令語法格式 Rename table tableName1 to tableName2,二、數(shù)據(jù)庫的基本操作,從數(shù)據(jù)庫中刪除表 可以使用交互模式和命令模式 命令語法格式 Drop table TableName | fileName | ? recylce 交互模式修改數(shù)據(jù)庫 可以使用modify database 命令打開數(shù)據(jù)庫設(shè)計(jì)器,進(jìn)行交互式的修改。 Modify database DatabaseName | ? nowait noedit,二、數(shù)據(jù)庫的基本操作,多數(shù)據(jù)庫操作 Foxpro同時(shí)可以打開多個(gè)數(shù)據(jù)庫。但只有一個(gè)數(shù)據(jù)庫可以成為當(dāng)前數(shù)據(jù)庫??梢允褂妹钪付ó?dāng)前數(shù)據(jù)庫 Set database to databaseName 要獲得當(dāng)前數(shù)據(jù)庫的名稱,使用dbc()函數(shù) 關(guān)閉數(shù)據(jù)庫 Close databases all 刪除數(shù)據(jù)庫 Delete database databaseName | ? deleteTables,三、數(shù)據(jù)詞典,所謂數(shù)據(jù)詞典是包含數(shù)據(jù)庫中所有表信息的一個(gè)表。用于存儲(chǔ)表的長表名或長字段名、有效性規(guī)則和觸發(fā)器,以及有關(guān)數(shù)據(jù)庫對(duì)象的定義(如視圖和命名連接) 數(shù)據(jù)詞典使數(shù)據(jù)庫的設(shè)計(jì)和修改更加靈活。使用數(shù)據(jù)詞典,可以設(shè)置字段級(jí)和記錄級(jí)的有效性檢查,保證主關(guān)鍵字字段內(nèi)容的唯一性。如果不用數(shù)據(jù)詞典,這些功能就必須靠自己編程實(shí)現(xiàn)。,三、數(shù)據(jù)詞典,數(shù)據(jù)詞典可創(chuàng)建和指定的項(xiàng)目包括: 建立表的主關(guān)鍵字和候選索引關(guān)鍵字 為表和字段指定長名稱 為每個(gè)字段和表添加注釋 為表的各字段指定標(biāo)題,這些標(biāo)題作為表頭顯示在browse窗口或grid列中 為字段指定默認(rèn)值 設(shè)置字段的輸入掩碼和顯示格式 設(shè)置字段級(jí)規(guī)則和記錄級(jí)規(guī)則 為表設(shè)置觸發(fā)器 建立存儲(chǔ)過程 建立數(shù)據(jù)庫表間的永久關(guān)系 建立到遠(yuǎn)程數(shù)據(jù)源的連接 建立本地視圖和遠(yuǎn)程視圖,三、數(shù)據(jù)詞典,設(shè)置長表名和表注釋 為了更清楚地描述表的含義,可以為數(shù)據(jù)庫表設(shè)置長表名和表注釋 可以通過create table命令的name子句設(shè)置長表名。 可以使用dbsetprop()函數(shù)設(shè)置表注釋。 Dbsetprop(cName,cType,cProperty,cPropertyValue) Cname必須是長表名;cType是CONNECTION、DATABASE、FIELD、TABLE、VIEW之一。,三、數(shù)據(jù)詞典,設(shè)置長字段名 數(shù)據(jù)庫表允許字段名稱最多為128位字符,而自由表最多只能為10個(gè)字符。如將表從數(shù)據(jù)庫中移去,長字段名將被截取為10個(gè)字符。 字段的輸入輸出格式 可以通過格式和輸入掩碼控制向字段中輸入的值,以及字段的顯式格式。 格式設(shè)置決定整個(gè)字段的輸入方式;輸入掩碼可以控制每個(gè)字符的輸入方式。 ? Dbsetprop(“學(xué)生檔案表.聯(lián)系電話“,”FIELD“,”InputMask”,”999-99999999”),三、數(shù)據(jù)詞典,設(shè)置字段標(biāo)題 可以為每個(gè)字段設(shè)置一個(gè)標(biāo)題,在編輯窗口或grid控件中顯示字段時(shí),使用該標(biāo)題作為列標(biāo)題。 Dbsetprop(“testtb.聯(lián)系電話”,”FIELD”,”caption”,”telephone”) 設(shè)置字段注釋 添加字段注釋可以使用戶更容易理解字段的用途 Dbsetprop(“testtb.聯(lián)系電話”,”FIELD”,”comment”,”該字段用于保存學(xué)生的聯(lián)系電話”),三、數(shù)據(jù)詞典,設(shè)置字段級(jí)有效性規(guī)則 可以使用字段級(jí)有效性規(guī)則控制用戶輸入到字段中的信息類型或檢查其他字段值的字段數(shù)據(jù)。 使用表設(shè)計(jì)器設(shè)置 使用命令設(shè)置 使用create table命令的check子句或alter table的set check子句設(shè)置字段級(jí)規(guī)則 alter table 學(xué)生檔案表 alter column maths set check maths=0.and.maths=100 error “請(qǐng)輸入0-100間的值“,三、數(shù)據(jù)詞典,設(shè)置記錄級(jí)有效性規(guī)則 使用記錄級(jí)有效性規(guī)則,可以控制用戶輸入到記錄中的信息類型。 使用表設(shè)計(jì)器設(shè)置記錄級(jí)有效性規(guī)則 使用命令設(shè)置記錄級(jí)有效性規(guī)則 使用可以使用create table的check和alter table的set check子句來設(shè)置記錄級(jí)有效性規(guī)則 alter table 學(xué)生檔案表 set check total=chinese+maths error “成績合計(jì)不正確“,三、數(shù)據(jù)詞典,存儲(chǔ)過程 存儲(chǔ)過程是保存在數(shù)據(jù)庫中的專門進(jìn)行數(shù)據(jù)庫操作的代碼過程。 其通常與觸發(fā)器結(jié)合使用,來控制數(shù)據(jù)的完整性。 打開數(shù)據(jù)庫時(shí),存儲(chǔ)過程被自動(dòng)加載到內(nèi)存中,可以和其他過程文件一樣進(jìn)行調(diào)用 在打開數(shù)據(jù)庫的情況下,執(zhí)行modify procedure命令可以打開存儲(chǔ)過程文本編輯器 可以使用display procedure命令顯示當(dāng)前數(shù)據(jù)庫中的存儲(chǔ)過程名稱。,三、數(shù)據(jù)詞典,設(shè)置觸發(fā)器 觸發(fā)器是綁定在表上的表達(dá)式,當(dāng)表中的任何記錄被指定的操作命令修改時(shí),觸發(fā)器被激發(fā)。 觸發(fā)器作為特定表的屬性被創(chuàng)建和存儲(chǔ)。 觸發(fā)器必須返回.t.或.f.,并且必須返回.t.時(shí),操作才能繼續(xù)進(jìn)行 可以使用表設(shè)計(jì)器和create trigger命令創(chuàng)建觸發(fā)器。 一張表最多只能有3個(gè)觸發(fā)器。 結(jié)合存儲(chǔ)過程的觸發(fā)器示例(見備注),三、數(shù)據(jù)詞典,建立和刪除表間關(guān)系 建立表間永久關(guān)系 設(shè)計(jì)器方式和命令方式 使用帶foreign key子句的create table或alter table命令建立永久關(guān)系 刪除表間永久關(guān)系 設(shè)計(jì)器方式和命令方式 使用帶drop foreign key 子句的alter table命令刪除表間的永久關(guān)系,三、數(shù)據(jù)詞典,建立表間臨時(shí)關(guān)系 使用set relation建立臨時(shí)關(guān)系。建立前,必須打開一個(gè)表(父表),而且還必須在另一個(gè)工作區(qū)打開其他表(子表)。相關(guān)的表通常有一個(gè)相同的字段,且子表必須建立索引。 語句示例: set ralation to id into 表2 在建立一對(duì)一關(guān)系基礎(chǔ)上可使用set skip to語句建立一對(duì)多關(guān)系。 不帶參數(shù)的set relation to 和set skip to可以刪除一對(duì)一關(guān)系和一對(duì)多關(guān)系,三、數(shù)據(jù)詞
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城鎮(zhèn)污水管網(wǎng)建設(shè)項(xiàng)目建設(shè)管理方案(參考)
- xx河流排水防澇設(shè)施建設(shè)項(xiàng)目質(zhì)量管理方案(參考范文)
- 2025年非離子型纖維素醚項(xiàng)目合作計(jì)劃書
- 憲法知識(shí)學(xué)習(xí)題庫
- 2025年天貓養(yǎng)車項(xiàng)目發(fā)展計(jì)劃
- 下關(guān)穴治療疼痛的現(xiàn)代技術(shù)融合
- 無人駕駛電動(dòng)拖拉機(jī)平臺(tái)的設(shè)計(jì)及試驗(yàn)
- 現(xiàn)代泌尿腫瘤學(xué)閱讀筆記
- 2025年GPS高空探測(cè)系統(tǒng)項(xiàng)目發(fā)展計(jì)劃
- 文化旅游的發(fā)展
- 消防設(shè)施操作員初級(jí)、中級(jí)技能考核評(píng)分標(biāo)準(zhǔn)
- GB/T 10095.1-2022圓柱齒輪ISO齒面公差分級(jí)制第1部分:齒面偏差的定義和允許值
- 關(guān)于加強(qiáng)值班管理、保持通訊暢通的通知
- GB/T 5161-2014金屬粉末有效密度的測(cè)定液體浸透法
- 變電站交、直流系統(tǒng)培訓(xùn)課件
- 人教精通版五年級(jí)上學(xué)期Lesson25教學(xué)課件
- 魯教版九年級(jí)英語課文原文及翻譯Unit1
- 《工業(yè)固廢資源化技術(shù)及應(yīng)用》課程教學(xué)大綱
- [北京]輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(cè)(圖文并茂)
- 2020年雀巢公司北京總部十周年慶典暨雀巢家庭日活動(dòng)策劃案ppt課件
- 1000MW機(jī)組鍋爐長伸縮式吹灰器檢修規(guī)程
評(píng)論
0/150
提交評(píng)論