第4章 數(shù)據(jù)庫操作2014_第1頁
第4章 數(shù)據(jù)庫操作2014_第2頁
第4章 數(shù)據(jù)庫操作2014_第3頁
第4章 數(shù)據(jù)庫操作2014_第4頁
第4章 數(shù)據(jù)庫操作2014_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第4章數(shù)據(jù)庫操作4.2

數(shù)據(jù)庫的創(chuàng)建和使用數(shù)據(jù)庫的創(chuàng)建就是將數(shù)據(jù)庫設(shè)計(jì)結(jié)果輸入到計(jì)算機(jī)中去。4.2.1數(shù)據(jù)庫的建立、打開與關(guān)閉1.?dāng)?shù)據(jù)庫的建立(1)用界面建立數(shù)據(jù)庫選擇【文件】|【新建】|【數(shù)據(jù)庫】,或選擇常用工具欄上的【新建】按鈕,打開創(chuàng)建對話框,如圖4-1所示,在數(shù)據(jù)庫名后的文本框中輸入數(shù)據(jù)庫名,選擇【保存】按鈕。

(2)用命令方式建立數(shù)據(jù)庫在命令窗口中輸入如下命令:命令格式:CREATEDATABASE[<數(shù)據(jù)庫名>|?]命令功能:創(chuàng)建由數(shù)據(jù)庫名指定的數(shù)據(jù)庫,若選?或不帶任何參數(shù),執(zhí)行此命令時(shí)則打開創(chuàng)建對話框,然后輸入數(shù)據(jù)庫名。4.2

數(shù)據(jù)庫的創(chuàng)建和使用(3)在項(xiàng)目管理器窗口中創(chuàng)建數(shù)據(jù)庫①在項(xiàng)目管理器中選擇【數(shù)據(jù)】選項(xiàng)卡,如圖4-2所示,然后選擇【數(shù)據(jù)庫】,選擇【新建】按鈕,打開【新建數(shù)據(jù)庫】對話框。

②在【新建數(shù)據(jù)庫】對話框中選擇【新建數(shù)據(jù)庫】按鈕,打開【創(chuàng)建】對話框。③在【創(chuàng)建】對話框中,確定數(shù)據(jù)庫的類型、名稱和保存位置。其中數(shù)據(jù)庫類型和保存位置是默認(rèn)的,在【名稱】輸入框中輸入數(shù)據(jù)庫名【成績管理】。④選擇【保存】按鈕。

4.2

數(shù)據(jù)庫的創(chuàng)建和使用2.?dāng)?shù)據(jù)庫的打開(1)用界面打開數(shù)據(jù)庫①選擇【文件】|【打開】。②選擇打開文件類型【數(shù)據(jù)庫】。③選擇打開的方式,是【獨(dú)占】還是【以只讀方式打開】。④在列表框中,選擇要打開的數(shù)據(jù)庫名字,選擇【確定】。

注:在VisualFoxPro中,打開某個(gè)對象是時(shí)要特別注意,必須注意先選擇打開方式,是只讀方式,還是獨(dú)占,只讀方式打開的對象不能修改,所以一般我們都選擇獨(dú)占方式打開對象。4.2

數(shù)據(jù)庫的創(chuàng)建和使用(2)用命令打開數(shù)據(jù)庫命令格式:

OPENDATABASE[<數(shù)據(jù)庫名>|?][EXCLUSIVE|SHARED][NOUPDATE]命令功能:打開由數(shù)據(jù)庫名指定的數(shù)據(jù)庫。命令說明:①EXCLUSIVE:以獨(dú)占方式打開數(shù)據(jù)庫,所謂獨(dú)占方式是指在同一時(shí)刻不允許其它用戶使用數(shù)據(jù)庫②SHARED:以共享方式打開數(shù)據(jù)庫,與打開對話框中不選【獨(dú)占】復(fù)選框是等效的,共享方式是指同一時(shí)刻允許其它用戶使用數(shù)據(jù)庫。③NOUPDATE:以只讀方式打開數(shù)據(jù)庫。選此子句不能對數(shù)據(jù)庫作任何修改。

4.2

數(shù)據(jù)庫的創(chuàng)建和使用(3)利用【項(xiàng)目管理器】打開數(shù)據(jù)庫在【項(xiàng)目管理器】中選定要打開的數(shù)據(jù)庫,選擇【修改】按鈕或【打開】按鈕打開該數(shù)據(jù)庫。4.2

數(shù)據(jù)庫的創(chuàng)建和使用3.?dāng)?shù)據(jù)庫的關(guān)閉(1)在【項(xiàng)目管理器】中選定要關(guān)閉的數(shù)據(jù)庫,然后選擇【關(guān)閉】按鈕;(2)選擇【文件】|【關(guān)閉】菜單項(xiàng),關(guān)閉正在使用的數(shù)據(jù)庫。(3)命令方式關(guān)閉數(shù)據(jù)庫命令格式:

CLOSEDATABASE[ALL]。命令功能:關(guān)閉當(dāng)前數(shù)據(jù)庫及所有表。若選ALL子句,關(guān)閉所有打開的數(shù)據(jù)庫和表。(4)選擇數(shù)據(jù)庫設(shè)計(jì)器窗口中的【關(guān)閉】按鈕。

4.2

數(shù)據(jù)庫的創(chuàng)建和使用4.2.2數(shù)據(jù)庫的修改與刪除1.?dāng)?shù)據(jù)庫的修改在建立數(shù)據(jù)庫時(shí)數(shù)據(jù)庫系統(tǒng)會同時(shí)產(chǎn)生*.dbc,*.dct,*.dcx三個(gè)關(guān)聯(lián)文件,由于不能對這三個(gè)文件直接進(jìn)行修改,因此采用的修改方法是:打開數(shù)據(jù)庫設(shè)計(jì)器。命令格式:

MODIFYDATABASE[<數(shù)據(jù)庫名>|?]命令功能:打開數(shù)據(jù)庫設(shè)計(jì)器,讓用戶能夠交互地修改當(dāng)前使用的數(shù)據(jù)庫。在修改數(shù)據(jù)庫之前必須以獨(dú)占方式打開數(shù)據(jù)庫。命令說明:

(1)選?:顯示打開對話框,可選要修改的數(shù)據(jù)庫或輸入數(shù)據(jù)庫名。若省略[<數(shù)據(jù)庫名>|?]子句與選?效果一樣。

4.2

數(shù)據(jù)庫的創(chuàng)建和使用2.刪除數(shù)據(jù)庫命令格式:

DELETEDATABASE<數(shù)據(jù)庫名>[DELETETABLES][RECYCLE]命令功能:刪除由數(shù)據(jù)庫名指定的數(shù)據(jù)庫,從磁盤上刪除數(shù)據(jù)庫,要求數(shù)據(jù)庫必須是關(guān)閉狀態(tài)。命令說明:選[RECYCLE]子句是將刪除的數(shù)據(jù)庫放入Windows回收站中。【例4.1】在命令窗口中依次輸入以下命令,觀察執(zhí)行的結(jié)果的變換,比較各個(gè)命令的功能。

CREATEDATABASE成績管理

CLOSEDATABASEALL OPENDATABASE成績管理

CLOSEDATABASE MODIFYDATA成績管理

CLOSEDATABASE DELETEDATABASE成績管理4.3

數(shù)據(jù)庫中的表數(shù)據(jù)庫中最重要的對象就是表,換句話說表是數(shù)據(jù)庫的基礎(chǔ)。數(shù)據(jù)庫中表有兩個(gè)來源,一個(gè)來源是在數(shù)據(jù)庫中建表,另一個(gè)來源是將自由表添加到數(shù)據(jù)庫中。

4.3.1數(shù)據(jù)庫和表的操作

1.在數(shù)據(jù)庫中建表

(1)用界面創(chuàng)建數(shù)據(jù)庫表在打開數(shù)據(jù)庫的前提下,選擇【數(shù)據(jù)庫】|【新建表】。

(2)用命令創(chuàng)建數(shù)據(jù)庫表在打開數(shù)據(jù)庫的前提下,用CREATE或CREATETABLE語句建表即可?!纠?.2】建立一個(gè)成績管理數(shù)據(jù)庫,在該數(shù)據(jù)庫中創(chuàng)建一個(gè)xuesheng

表,表結(jié)構(gòu)為(學(xué)號C(8),姓名C(8),性別C(2),出生日期D,專業(yè)C(10),入學(xué)成績N(7,2),貸款否L)。在命令窗口中依次輸入如下命令,并執(zhí)行:

(1)CREATEDATABASE成績管理

(2)CREATETABLExuesheng(學(xué)號C(8),姓名C(8),性別C(2),出生日期D,專業(yè)C(10),入學(xué)成績N(7,2),貸款否L)(3)APPEND &&輸入數(shù)據(jù)

(4)LIST &&顯示表中的數(shù)據(jù)

(5)CLOSEDATABASEALL4.3

數(shù)據(jù)庫中的表2.將自由表添加到數(shù)據(jù)庫中(1)用界面方式添加自由表選擇【數(shù)據(jù)庫】|【添加表】,打開【打開】對話框,在【打開】對話框中選定要添加的表,然后選擇【確定】,或按右鍵打開快捷菜單。也可以用數(shù)據(jù)庫設(shè)計(jì)器工具欄:選擇工具欄的【添加表】按鈕,打開【打開】對話框,在【打開】對話框中選定要添加的表,選擇【確定】。(2)用命令方式添加命令格式:

ADDTABLE<表名>|<?>命令功能:向當(dāng)前數(shù)據(jù)庫添加一個(gè)由表名指定的自由表。命令說明:①?:顯示【打開】對話框,選定一個(gè)自由表。

4.3

數(shù)據(jù)庫中的表3.?dāng)?shù)據(jù)庫表的移去與刪除(1)數(shù)據(jù)庫表的移去①用界面方式移去表:選中要移去的表,選擇【數(shù)據(jù)庫】菜單,選擇【移去】,此時(shí)打開【確認(rèn)】對話框,如圖4-11所示,若選擇【移去】,數(shù)據(jù)庫表轉(zhuǎn)為自由表,若選擇【刪除】,則此表從磁盤刪除并且是永久刪除。②用命令將表移出數(shù)據(jù)庫命令格式:

REMOVETABLE<表名>[DELETE][RECYCLE]命令功能:從當(dāng)前數(shù)據(jù)庫中移去由表名指定的表,若選DELETE子句在將表移出的同時(shí)從磁盤上刪除,若選RECYCLE子句,將表放入回收站。4.3

數(shù)據(jù)庫中的表(2)數(shù)據(jù)庫表的刪除①用界面刪除數(shù)據(jù)庫表在前面介紹從數(shù)據(jù)庫中移表時(shí),都可以在移出表的同時(shí)將表刪除。刪除表還有一個(gè)簡單的方法就是在數(shù)據(jù)庫設(shè)計(jì)器中,直接選中數(shù)據(jù)庫表,按DEL鍵即可。②用命令刪除數(shù)據(jù)庫表命令格式:

DROPTABLE<表名>[RECYCLE]命令功能:缺省RECYCLE子句時(shí),在當(dāng)前數(shù)據(jù)庫中將由表名指定的數(shù)據(jù)庫表移出,且從磁盤上刪除。若選RECYCLE子句將刪除表放入回收站。【例4.3】建一個(gè)成績管理數(shù)據(jù)庫,將xuesheng.dbf、kecheng.dbf、chengji.dbf添加到庫中。

在命令窗口中依次輸入如下命令,并執(zhí)行:

CREATEDATABASE成績管理

ADDTABLExueshengADDTABLEkechengADDTABLEchengjiCLOSEDATABASEALL4.3.2

數(shù)據(jù)庫表的設(shè)置

數(shù)據(jù)字典是數(shù)據(jù)庫管理數(shù)據(jù)庫表的一個(gè)重要途徑,它是包含數(shù)據(jù)庫所有信息的一個(gè)表。它定義了字段、表的屬性,字段、記錄的規(guī)則,表之間的關(guān)系、參照完整性規(guī)則,由于有了數(shù)據(jù)字典使得數(shù)據(jù)庫能有效地對庫中相關(guān)對象進(jìn)行管理,使得數(shù)據(jù)庫表比自由表有更多的功能。在建立數(shù)據(jù)庫表或?qū)⒆杂杀硖砑拥綌?shù)據(jù)庫中使其成為數(shù)據(jù)庫表時(shí),系統(tǒng)會打開數(shù)據(jù)庫表設(shè)計(jì)器,我們就會發(fā)現(xiàn)數(shù)據(jù)庫表設(shè)計(jì)器比自由表的表設(shè)計(jì)器在字段選項(xiàng)卡與表選項(xiàng)卡中多了一些項(xiàng)目。1、字段選項(xiàng)卡

——設(shè)置表的字段屬性:字段屬性字段顯示字段有效性檢查匹配字段類型字段備注1)輸入掩碼:輸入掩碼是指定義字段中的值必須遵守的標(biāo)點(diǎn)、空格和其他格式要求,以限制或控制用戶輸入的數(shù)據(jù)格式,屏蔽非法輸入,從而減少人為的數(shù)據(jù)輸入錯(cuò)誤,保證輸入的字段數(shù)據(jù)具有統(tǒng)一的風(fēng)格,提高輸入的效率2)格式:格式實(shí)質(zhì)上就是一種輸出掩碼,它決定了字段在瀏覽窗口、表單、報(bào)表中的顯示樣式,如我們在格式文本框中輸入A,則字段的內(nèi)容只能為字母。(P124)3)標(biāo)題:字段標(biāo)題將作為該字段在瀏覽窗口中的列標(biāo)題,以及表單表格中的默認(rèn)標(biāo)題名稱4)字段級規(guī)則:將用戶輸入的數(shù)據(jù)與所定義的規(guī)則表達(dá)式進(jìn)行比較,如果輸入的值不滿足規(guī)則要求,系統(tǒng)即拒絕該值,從而控制輸入到字段中的數(shù)據(jù)類型5)默認(rèn)值:在瀏覽窗口、表單或以編程方式輸入數(shù)據(jù)時(shí),VFP將自動為某個(gè)字段填入默認(rèn)值,直到輸入新值默認(rèn)值可以是任何有效的表達(dá)式,但表達(dá)式的返回值必須和該字段的數(shù)據(jù)類型一致。

6)字段注釋:為字段添加注釋,使表更容易被理解。此外,還可以在“表設(shè)計(jì)器”的“表”選項(xiàng)卡中“表注釋”框?yàn)檎麄€(gè)數(shù)據(jù)表添加注釋2、表選項(xiàng)卡(1)表名:在VisualFoxPro中,數(shù)據(jù)庫表的表名支持長表名,并且表名最長為128個(gè)字符,當(dāng)表被移出數(shù)據(jù)庫時(shí),長表名被截為按系統(tǒng)要求的短表名。(2)記錄有效性①規(guī)則:用于輸入記錄有效性規(guī)則,當(dāng)光標(biāo)離開當(dāng)前記錄時(shí)進(jìn)行校驗(yàn)。。②信息:用于輸入記錄不符合規(guī)則時(shí)顯示的提示信息。2、表選項(xiàng)卡(3)觸發(fā)器①插入觸發(fā)器用于輸入在向表中插入或追加記錄時(shí)觸發(fā)的有效規(guī)則。例如要求插入與追加記錄只能在每年4月或9月進(jìn)行,可輸入MONTH(DATE())=4ORMONTH(DATE())=9②更新觸發(fā)器用于更新記錄時(shí)觸發(fā)的有效規(guī)則,例如要求在每月的頭10天可以更新記錄,可輸入DAY(DATE())>=1ORDAY(DATE())<=10③刪除觸發(fā)器用于輸入刪除記錄時(shí)觸發(fā)的有效性規(guī)則。例如要求學(xué)號最后兩個(gè)字符轉(zhuǎn)為數(shù)值后大于等于40的允許刪除。可輸入VAL(RIGHT(學(xué)號,2))>=404.3.3永久關(guān)系與參照完整性

永久關(guān)系是數(shù)據(jù)庫表之間的關(guān)系,存儲在數(shù)據(jù)庫文件中。建立關(guān)系的兩個(gè)表通常具有公共字段或語義相關(guān)的字段,其中包含主關(guān)鍵字段的表稱為父表,包含外部關(guān)鍵字段的表稱為子表

1.建立關(guān)系:對主關(guān)鍵字段和外部關(guān)鍵字段使用相同的索引表達(dá)式分別建立索引;然后打開“數(shù)據(jù)庫設(shè)計(jì)器”,將父表的索引拖到子表相匹配的索引上(兩表之間顯示一條關(guān)系線)2.編輯關(guān)系:選擇關(guān)系線快捷菜單的“編輯關(guān)系”命令

3.刪除關(guān)系:選擇關(guān)系線快捷菜單的“刪除關(guān)系”命令永久關(guān)系1、確定關(guān)系(1)確定哪一個(gè)表為父表,哪一個(gè)表為子表(2)確定是一對一關(guān)系,還是一對多關(guān)系(3)父表上對關(guān)鍵字段建立主索引。一對一關(guān)系:子表上建立候選索引或主索引一對多關(guān)系:字表上建立普通索引或唯一索引2、建立、編輯、刪除

參照完整性是指建立一組規(guī)則,當(dāng)用戶插入、更新或刪除一個(gè)數(shù)據(jù)表中的記錄時(shí),通過參照引用另一個(gè)與之有關(guān)系的數(shù)據(jù)表中的記錄,來檢查對當(dāng)前表的數(shù)據(jù)操作是否正確建立了關(guān)系的兩個(gè)數(shù)據(jù)庫表,通過實(shí)施參照完整性規(guī)則,可以確保:當(dāng)父表中沒有關(guān)聯(lián)記錄時(shí),記錄不得添加到子表中;當(dāng)因改變主表的值而導(dǎo)致子表中出現(xiàn)孤立記錄時(shí),主表的值不能被改變;當(dāng)主表記錄在子表中有匹配記錄時(shí),該主表記錄不能被刪除

設(shè)置方法:打開數(shù)據(jù)庫設(shè)計(jì)器,選擇“數(shù)據(jù)庫/清理數(shù)據(jù)庫”菜單命令,再選擇“數(shù)據(jù)庫/編輯參照完整性”菜單命令,在顯示的“參照完整性生成器”對話框中分別定義更新規(guī)則、刪除規(guī)則和插入規(guī)則4.3.3永久關(guān)系與參照完整性(1)更新規(guī)則用于修改父表關(guān)鍵字時(shí),如何處理子表中的相關(guān)記錄,它有三個(gè)單選按鈕①級聯(lián):是指當(dāng)修改父表記錄中關(guān)鍵字時(shí),子表中與此記錄相關(guān)的記錄也隨之改變。②限制:是指當(dāng)修改父表記錄中的關(guān)鍵字時(shí),若子表中與此記錄有相關(guān)的記錄,則禁止修改父表相應(yīng)記錄操作。③忽略:則不做參照完整性檢查,即可以隨意更新父記錄的連接字段值。(2)刪除規(guī)則①級聯(lián):是指當(dāng)刪除父表中的記錄時(shí),子表中與其相關(guān)的記錄自動刪除。②限制:若在刪除父表記錄時(shí),子表中有與其相關(guān)的記錄,則禁止父表的刪除操作,使刪除失敗。③忽略:當(dāng)父表的記錄刪除時(shí),與子表中與其相關(guān)的記錄無關(guān)。(3)插入規(guī)則①限制:在子表中插入一個(gè)新記錄或更新一個(gè)已存在的記錄時(shí),若父表的記錄中沒有相匹配的關(guān)鍵字值,則禁止插入。②忽略:子表中數(shù)據(jù)的插入與父表無關(guān)。4.4利用SQL語句操作表

SQL是StructuredQueryLanguage(結(jié)構(gòu)化查詢語言)的英文縮寫,它是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)操作語言,幾乎所有的數(shù)據(jù)庫產(chǎn)品都采用和支持該語言。

SQL語句能實(shí)現(xiàn)如下操作:

(1)數(shù)據(jù)查詢:用于對數(shù)據(jù)庫表的查詢操作

(SELECT)(2)數(shù)據(jù)定義:用于定義、修改和刪除數(shù)據(jù)庫、表對象等(CREATE,DROP,ALTER)。

(3)數(shù)據(jù)操縱:用于數(shù)據(jù)庫中表記錄的修改和刪除等

(INSERT,UPDATE,DELETE)。

4.4SQL表定義命令___CREATETABLE1.建立表(CREATETABLE)2.修改表的結(jié)構(gòu)(ALTERTABLE)3.刪除表(DROPTABLE)命令格式:CREATETABLE<表名1>(

<字段名1><字段類型>[(<字段寬度>[,<小數(shù)位數(shù)>])][NULL|NOTNULL][CHECK<邏輯表達(dá)式1>[ERROR<提示信息1>]][DEFAULT<表達(dá)式1>][PRIMARYKEY|UNIQUE][REFERENCES<表名2>[TAG<標(biāo)記1>]]

[,<字段名2>…]…)功能:由給定的字段參數(shù)建立一個(gè)數(shù)據(jù)表。

OPENDATABASE成績管理CREATETABLEXUSHENG1(學(xué)號C(8)PRIMARYKEY,綜合考評N(3)CHECK(綜合考評>=0AND綜合考評<=300)ERROR“綜合考評在0~300之間”DEFAULT0)例4.4SQL表定義命令___ALTERTABLE1.建立表(CREATETABLE)2.修改表的結(jié)構(gòu)(ALTERTABLE)3.刪除表(DROPTABLE)命令格式:ALTERTABLE<表名>ADD|ALTER|[COLUMN]

<字段名><字段類型>[(<字段寬度>[,<小數(shù)位數(shù)>])]DROP[COLUMN]<字段名1>

[RENAMECOLUMN<字段名2>TO<字段名3>]功能:ADD[COLUMN]ALTER[COLUMN]DROP[COLUMN]RENAME

[COLUMN]用SQL語句完成以下幾種操作:①對xuesheng表增加愛好字段C(20)②修改愛好字段為C(30)③將愛好字段按名改為特長④刪除特長字段命令:①ALTERTABLEXUESHENGADDCOLUMN愛好C(20)②ALTERTABLEXUESHENGALTERCOLUMN愛好C(30)③ALTERTABLEXUESHENGRENAME愛好TO特長④ALTERTABLEXUESHENGDROP特長例4.4SQL表定義命令___DROPTABLE1.建立表(CREATETABLE)2.修改表的結(jié)構(gòu)(ALTERTABLE)3.刪除表(DROPTABLE)(前節(jié))4.4.4SQL操縱命令___記錄的插入、更新(修改)、刪除SQL的數(shù)據(jù)操縱命令主要包括三個(gè)部分:記錄的插入(INSERT)記錄的更新(

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論