




已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章 數(shù)據(jù)庫(kù)和表,創(chuàng)建、維護(hù)和管理數(shù)據(jù)庫(kù),要點(diǎn),建立數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)的基本操作 數(shù)據(jù)詞典,一、建立數(shù)據(jù)庫(kù),可以使用項(xiàng)目管理器或create database命令等方法建立數(shù)據(jù)庫(kù)。在開(kāi)發(fā)環(huán)境下通常使用項(xiàng)目管理器建立數(shù)據(jù)庫(kù),在程序運(yùn)行時(shí)刻通常以命令方式建立數(shù)據(jù)庫(kù)。 Create database命令語(yǔ)法格式,Create database databaseName|?,二、數(shù)據(jù)庫(kù)的基本操作,數(shù)據(jù)庫(kù)的基本操作包括: 打開(kāi)數(shù)據(jù)庫(kù); 向數(shù)據(jù)庫(kù)中添加表; 獲取數(shù)據(jù)庫(kù)中的表信息; 從數(shù)據(jù)庫(kù)中移去表; 刪除數(shù)據(jù)庫(kù)中的表; 多數(shù)據(jù)庫(kù)操作; 關(guān)閉數(shù)據(jù)庫(kù)等,二、數(shù)據(jù)庫(kù)的基本操作,打開(kāi)數(shù)據(jù)庫(kù) 剛創(chuàng)建的數(shù)據(jù)庫(kù)會(huì)自動(dòng)保持打開(kāi)狀態(tài),而對(duì)于已經(jīng)存在的數(shù)據(jù)庫(kù),使用前必須首先打開(kāi)數(shù)據(jù)庫(kù) 使用交互模式打開(kāi)數(shù)據(jù)庫(kù) 使用open database命令打開(kāi)數(shù)據(jù)庫(kù),Open database fileName | ? exclusive | shared noupdate,二、數(shù)據(jù)庫(kù)的基本操作,檢查數(shù)據(jù)庫(kù)的打開(kāi)狀態(tài) Dbc()函數(shù)返回當(dāng)前打開(kāi)數(shù)據(jù)庫(kù)的名稱(chēng)和路徑,如果沒(méi)有打開(kāi)的數(shù)據(jù)庫(kù),該函數(shù)返回空值 可使用dbused()函數(shù)來(lái)檢測(cè)數(shù)據(jù)庫(kù)的打開(kāi)狀態(tài) Adatabase()函數(shù)可以把所有打開(kāi)的數(shù)據(jù)庫(kù)的名稱(chēng)和路徑保存到內(nèi)存變量數(shù)組中,同時(shí)返回打開(kāi)數(shù)據(jù)庫(kù)的數(shù)目,如果沒(méi)有打開(kāi)的數(shù)據(jù)庫(kù),返回0.,二、數(shù)據(jù)庫(kù)的基本操作,向數(shù)據(jù)庫(kù)中添加表 在打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器的情況下,可以通過(guò)交互模式向數(shù)據(jù)庫(kù)添加一個(gè)已存在的自由表。此外,可以使用add table命令向當(dāng)前數(shù)據(jù)庫(kù)添加。 語(yǔ)法格式: Add table tableName | ? name longtablename 要注意的是,被添加的表必須為自由表,且數(shù)據(jù)庫(kù)必須以獨(dú)占方式打開(kāi),二、數(shù)據(jù)庫(kù)的基本操作,獲取數(shù)據(jù)庫(kù)中的表信息 使用display tables命令顯示表信息 Display tables to printer prompt | to file filename 使用adbobjects()函數(shù)將表信息保存到數(shù)組中 Adbobjects(ArrayName,cSetting) 使用indbc()函數(shù)指定的數(shù)據(jù)庫(kù)對(duì)象是否已經(jīng)存在于當(dāng)前數(shù)據(jù)庫(kù)中 Indbc(cDatabaseName,cSetting),二、數(shù)據(jù)庫(kù)的基本操作,從數(shù)據(jù)庫(kù)中移去表 交互模式從數(shù)據(jù)庫(kù)中移去表 使用命令從數(shù)據(jù)庫(kù)中移去表 Remove table TableName | ? deleted 重命名數(shù)據(jù)庫(kù)中的表 可以使用交互模式和命令模式 命令語(yǔ)法格式 Rename table tableName1 to tableName2,二、數(shù)據(jù)庫(kù)的基本操作,從數(shù)據(jù)庫(kù)中刪除表 可以使用交互模式和命令模式 命令語(yǔ)法格式 Drop table TableName | fileName | ? recylce 交互模式修改數(shù)據(jù)庫(kù) 可以使用modify database 命令打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,進(jìn)行交互式的修改。 Modify database DatabaseName | ? nowait noedit,二、數(shù)據(jù)庫(kù)的基本操作,多數(shù)據(jù)庫(kù)操作 Foxpro同時(shí)可以打開(kāi)多個(gè)數(shù)據(jù)庫(kù)。但只有一個(gè)數(shù)據(jù)庫(kù)可以成為當(dāng)前數(shù)據(jù)庫(kù)。可以使用命令指定當(dāng)前數(shù)據(jù)庫(kù) Set database to databaseName 要獲得當(dāng)前數(shù)據(jù)庫(kù)的名稱(chēng),使用dbc()函數(shù) 關(guān)閉數(shù)據(jù)庫(kù) Close databases all 刪除數(shù)據(jù)庫(kù) Delete database databaseName | ? deleteTables,三、數(shù)據(jù)詞典,所謂數(shù)據(jù)詞典是包含數(shù)據(jù)庫(kù)中所有表信息的一個(gè)表。用于存儲(chǔ)表的長(zhǎng)表名或長(zhǎng)字段名、有效性規(guī)則和觸發(fā)器,以及有關(guān)數(shù)據(jù)庫(kù)對(duì)象的定義(如視圖和命名連接) 數(shù)據(jù)詞典使數(shù)據(jù)庫(kù)的設(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)鍵字 為表和字段指定長(zhǎng)名稱(chēng) 為每個(gè)字段和表添加注釋 為表的各字段指定標(biāo)題,這些標(biāo)題作為表頭顯示在browse窗口或grid列中 為字段指定默認(rèn)值 設(shè)置字段的輸入掩碼和顯示格式 設(shè)置字段級(jí)規(guī)則和記錄級(jí)規(guī)則 為表設(shè)置觸發(fā)器 建立存儲(chǔ)過(guò)程 建立數(shù)據(jù)庫(kù)表間的永久關(guān)系 建立到遠(yuǎn)程數(shù)據(jù)源的連接 建立本地視圖和遠(yuǎn)程視圖,三、數(shù)據(jù)詞典,設(shè)置長(zhǎng)表名和表注釋 為了更清楚地描述表的含義,可以為數(shù)據(jù)庫(kù)表設(shè)置長(zhǎng)表名和表注釋 可以通過(guò)create table命令的name子句設(shè)置長(zhǎng)表名。 可以使用dbsetprop()函數(shù)設(shè)置表注釋。 Dbsetprop(cName,cType,cProperty,cPropertyValue) Cname必須是長(zhǎng)表名;cType是CONNECTION、DATABASE、FIELD、TABLE、VIEW之一。,三、數(shù)據(jù)詞典,設(shè)置長(zhǎng)字段名 數(shù)據(jù)庫(kù)表允許字段名稱(chēng)最多為128位字符,而自由表最多只能為10個(gè)字符。如將表從數(shù)據(jù)庫(kù)中移去,長(zhǎng)字段名將被截取為10個(gè)字符。 字段的輸入輸出格式 可以通過(guò)格式和輸入掩碼控制向字段中輸入的值,以及字段的顯式格式。 格式設(shè)置決定整個(gè)字段的輸入方式;輸入掩碼可以控制每個(gè)字符的輸入方式。 ? Dbsetprop(“學(xué)生檔案表.聯(lián)系電話(huà)“,”FIELD“,”InputMask”,”999-99999999”),三、數(shù)據(jù)詞典,設(shè)置字段標(biāo)題 可以為每個(gè)字段設(shè)置一個(gè)標(biāo)題,在編輯窗口或grid控件中顯示字段時(shí),使用該標(biāo)題作為列標(biāo)題。 Dbsetprop(“testtb.聯(lián)系電話(huà)”,”FIELD”,”caption”,”telephone”) 設(shè)置字段注釋 添加字段注釋可以使用戶(hù)更容易理解字段的用途 Dbsetprop(“testtb.聯(lián)系電話(huà)”,”FIELD”,”comment”,”該字段用于保存學(xué)生的聯(lián)系電話(huà)”),三、數(shù)據(jù)詞典,設(shè)置字段級(jí)有效性規(guī)則 可以使用字段級(jí)有效性規(guī)則控制用戶(hù)輸入到字段中的信息類(lèi)型或檢查其他字段值的字段數(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ī)則,可以控制用戶(hù)輸入到記錄中的信息類(lèi)型。 使用表設(shè)計(jì)器設(shè)置記錄級(jí)有效性規(guī)則 使用命令設(shè)置記錄級(jí)有效性規(guī)則 使用可以使用create table的check和alter table的set check子句來(lái)設(shè)置記錄級(jí)有效性規(guī)則 alter table 學(xué)生檔案表 set check total=chinese+maths error “成績(jī)合計(jì)不正確“,三、數(shù)據(jù)詞典,存儲(chǔ)過(guò)程 存儲(chǔ)過(guò)程是保存在數(shù)據(jù)庫(kù)中的專(zhuān)門(mén)進(jìn)行數(shù)據(jù)庫(kù)操作的代碼過(guò)程。 其通常與觸發(fā)器結(jié)合使用,來(lái)控制數(shù)據(jù)的完整性。 打開(kāi)數(shù)據(jù)庫(kù)時(shí),存儲(chǔ)過(guò)程被自動(dòng)加載到內(nèi)存中,可以和其他過(guò)程文件一樣進(jìn)行調(diào)用 在打開(kāi)數(shù)據(jù)庫(kù)的情況下,執(zhí)行modify procedure命令可以打開(kāi)存儲(chǔ)過(guò)程文本編輯器 可以使用display procedure命令顯示當(dāng)前數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程名稱(chēng)。,三、數(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ǔ)過(guò)程的觸發(fā)器示例(見(jiàn)備注),三、數(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)系。建立前,必須打開(kāi)一個(gè)表(父表),而且還必須在另一個(gè)工作區(qū)打開(kāi)其他表(子表)。相關(guān)的表通常有一個(gè)相同的字段,且子表必須建立索引。 語(yǔ)句示例: set ralation to id into 表2 在建立一對(duì)一關(guān)系基礎(chǔ)上可使用set skip to語(yǔ)句建立一對(duì)多關(guān)系。 不帶參數(shù)的set relation to 和set skip to可以刪除一對(duì)一關(guān)系和一對(duì)多關(guān)系,三、數(shù)據(jù)詞
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧中醫(yī)藥大學(xué)《幼兒美術(shù)作品賞析與創(chuàng)作》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古自治區(qū)呼和浩特市賽罕區(qū)達(dá)標(biāo)名校2024-2025學(xué)年初三第三次(4月)聯(lián)考英語(yǔ)試題試卷含答案
- 外貿(mào)船務(wù)知識(shí)培訓(xùn)課件
- 焦作工貿(mào)職業(yè)學(xué)院《中國(guó)通史上》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省自貢市富順縣二中2024-2025學(xué)年高三3月教學(xué)質(zhì)量檢測(cè)試題化學(xué)試題含解析
- 泰州學(xué)院《中國(guó)古代文學(xué)史(3)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧省大石橋市2024-2025學(xué)年高中畢業(yè)班第一次調(diào)研測(cè)試生物試題含解析
- 南京信息職業(yè)技術(shù)學(xué)院《數(shù)值計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 山西省懷仁市重點(diǎn)達(dá)標(biāo)名校2024-2025學(xué)年初三下期中考試綜合試題含解析
- 山西省忻州市定襄中學(xué)2025屆初三年級(jí)七校聯(lián)考物理試題含解析
- 健康評(píng)估試題庫(kù)
- 被執(zhí)行人財(cái)產(chǎn)申報(bào)表
- 吊裝安全確認(rèn)表及技術(shù)交底
- DBJ41∕T 228-2019 河南省房屋建筑施工現(xiàn)場(chǎng)安全資料管理標(biāo)準(zhǔn)
- 三級(jí)安全教育考試試題(的)
- DB13 5325-2021 生活垃圾焚燒大氣污染控制標(biāo)準(zhǔn)
- 芒針療法課件
- 鼓樂(lè)鏗鏘課件 (2)
- 小學(xué)二年級(jí)下冊(cè)科學(xué)課件1.《春夏秋冬》大象版(22張)ppt課件
- 鋼結(jié)構(gòu)工程質(zhì)量通病防治圖冊(cè)
- 地下水八大離子-陰陽(yáng)離子平衡計(jì)算公式
評(píng)論
0/150
提交評(píng)論