版權(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ù)基礎(chǔ)(基于達(dá)夢(mèng)DM8)數(shù)據(jù)庫(kù)對(duì)象管理33.1數(shù)據(jù)庫(kù)、實(shí)例的創(chuàng)建及管理02創(chuàng)建數(shù)據(jù)庫(kù)及實(shí)例01數(shù)據(jù)庫(kù)及實(shí)例創(chuàng)建規(guī)劃03查看數(shù)據(jù)庫(kù)信息04啟動(dòng)及停止數(shù)據(jù)庫(kù)服務(wù)05刪除數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)實(shí)例及數(shù)據(jù)庫(kù)服務(wù)數(shù)據(jù)庫(kù)及實(shí)例創(chuàng)建規(guī)劃3.1.13.1.1數(shù)據(jù)庫(kù)及實(shí)例創(chuàng)建規(guī)劃1)在創(chuàng)建數(shù)據(jù)庫(kù)之前需要做如下準(zhǔn)備工作。規(guī)劃數(shù)據(jù)庫(kù)表和索引,并估算它們所需的空間大?。淮_定字符集。所有字符集數(shù)據(jù),包括數(shù)據(jù)字典中的數(shù)據(jù),都被存儲(chǔ)在數(shù)據(jù)庫(kù)字符集中,用戶(hù)在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)可以指定數(shù)據(jù)庫(kù)字符集,如不指定則使用默認(rèn)字符集GB18030;規(guī)劃數(shù)據(jù)庫(kù)文件的存儲(chǔ)路徑,可以指定數(shù)據(jù)庫(kù)存儲(chǔ)路徑、控制文件存放路徑、日志文件存放路徑等,應(yīng)注意在指定的路徑或文件名中盡量不要包含中文字符,否則可能由于數(shù)據(jù)庫(kù)與操作系統(tǒng)編碼方式不一致導(dǎo)致不可預(yù)期的問(wèn)題;3.1.1數(shù)據(jù)庫(kù)及實(shí)例創(chuàng)建規(guī)劃1)在創(chuàng)建數(shù)據(jù)庫(kù)之前需要做如下準(zhǔn)備工作。配置數(shù)據(jù)庫(kù)時(shí)區(qū),如中國(guó)是+8:00時(shí)區(qū);設(shè)置數(shù)據(jù)庫(kù)簇大小、頁(yè)大小、日志文件大小,在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)由EXTENT_SIZE、PAGE_SIZE、LOG_SIZE初始化參數(shù)來(lái)指定,并且在數(shù)據(jù)庫(kù)創(chuàng)建完成之后不能修改此參數(shù)。3.1.1數(shù)據(jù)庫(kù)及實(shí)例創(chuàng)建規(guī)劃2)創(chuàng)建數(shù)據(jù)庫(kù)之前,必須滿(mǎn)足以下必要條件。安裝必需的DM軟件,包括為操作系統(tǒng)設(shè)置各種環(huán)境變量,并為軟件和數(shù)據(jù)庫(kù)文件建立目錄結(jié)構(gòu);必須有足夠的內(nèi)存來(lái)啟動(dòng)DM數(shù)據(jù)庫(kù)實(shí)例;在執(zhí)行DM的計(jì)算機(jī)上要有足夠的磁盤(pán)存儲(chǔ)空間來(lái)容納規(guī)劃的數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)及實(shí)例3.1.23.1.2創(chuàng)建數(shù)據(jù)庫(kù)及實(shí)例
可以在安裝DM數(shù)據(jù)庫(kù)軟件時(shí)創(chuàng)建數(shù)據(jù)庫(kù),也可以在安裝之后創(chuàng)建數(shù)據(jù)庫(kù)。創(chuàng)建步驟參見(jiàn)2.3.1。查看數(shù)據(jù)庫(kù)信息3.1.3查看數(shù)據(jù)庫(kù)信息
登錄DM管理工具,通過(guò)表空間屬性,可以查看數(shù)據(jù)文件路徑、總空間大小、空閑空間大小、使用率等信息。查看數(shù)據(jù)庫(kù)信息
通過(guò)DM控制臺(tái)工具,查看實(shí)例配置屬性,可以查看到如下信息:文件位置、實(shí)例名、內(nèi)存池和緩沖區(qū)、線(xiàn)程、查詢(xún)、檢查點(diǎn)、輸入輸出、數(shù)據(jù)庫(kù)、日志、事務(wù)、安全、兼容性、請(qǐng)求跟蹤、進(jìn)程守護(hù)、ORACLE數(shù)據(jù)類(lèi)型兼容和配置文件啟動(dòng)及停止數(shù)據(jù)庫(kù)服務(wù)3.1.4啟動(dòng)及停止數(shù)據(jù)庫(kù)服務(wù)
安裝DM數(shù)據(jù)庫(kù)后(默認(rèn)情況下安裝成功后DM服務(wù)會(huì)自動(dòng)啟動(dòng))。對(duì)DM數(shù)據(jù)庫(kù)服務(wù)的管理,可通過(guò)在Windows/Linux的開(kāi)始菜單選項(xiàng)中選擇如圖所示的菜單項(xiàng)中的DM服務(wù)查看器可以啟動(dòng)/停止DM數(shù)據(jù)庫(kù)的服務(wù)。啟動(dòng)及停止數(shù)據(jù)庫(kù)服務(wù)
在彈出界面中選中所要啟動(dòng)的數(shù)據(jù)庫(kù),單擊鼠標(biāo)右鍵,在菜單欄中選擇啟動(dòng)/停止。刪除數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)實(shí)例及數(shù)據(jù)庫(kù)服務(wù)3.1.51.刪除數(shù)據(jù)及實(shí)例
刪除數(shù)據(jù)庫(kù),包括刪除數(shù)據(jù)庫(kù)的實(shí)例、數(shù)據(jù)文件、日志文件、控制文件和初始化參數(shù)文件。為了保證刪除數(shù)據(jù)庫(kù)成功,必須保證dmserver已關(guān)閉??梢允褂脭?shù)據(jù)庫(kù)配置工具來(lái)刪除數(shù)據(jù)庫(kù),選擇“刪除數(shù)據(jù)庫(kù)實(shí)例”。1.刪除數(shù)據(jù)及實(shí)例
根據(jù)數(shù)據(jù)庫(kù)名稱(chēng),選擇要?jiǎng)h除的數(shù)據(jù)庫(kù),如圖所示,也可以通過(guò)指定數(shù)據(jù)庫(kù)配置文件刪除數(shù)據(jù)庫(kù)。2.刪除數(shù)據(jù)服務(wù)
刪除數(shù)據(jù)庫(kù)服務(wù),只刪除用于啟動(dòng)和停止數(shù)據(jù)庫(kù)的服務(wù)文件,不會(huì)刪除數(shù)據(jù)庫(kù)的數(shù)據(jù)文件、日志文件、控制文件和初始化參數(shù)文件。用戶(hù)刪除數(shù)據(jù)庫(kù)服務(wù)可以通過(guò)圖形化界面實(shí)現(xiàn),如圖所示,選擇“刪除數(shù)據(jù)庫(kù)服務(wù)”項(xiàng)。2.刪除數(shù)據(jù)服務(wù)
根據(jù)數(shù)據(jù)庫(kù)服務(wù)名稱(chēng),選擇要?jiǎng)h除的數(shù)據(jù)庫(kù),也可以通過(guò)指定數(shù)據(jù)庫(kù)配置文件刪除數(shù)據(jù)庫(kù)服務(wù)謝謝觀看數(shù)據(jù)庫(kù)基礎(chǔ)(基于達(dá)夢(mèng)DM8)數(shù)據(jù)庫(kù)對(duì)象管理33.2表空間創(chuàng)建及管理02創(chuàng)建表空間01理解表空間03查看表空間04修改表空間05刪除表空間理解表空間3.2.1理解表空間
在DM數(shù)據(jù)庫(kù)中,表空間由一個(gè)或者多個(gè)數(shù)據(jù)文件組成。DM數(shù)據(jù)庫(kù)中的所有對(duì)象在邏輯上都存放在表空間中,而物理上都存儲(chǔ)在所屬表空間的數(shù)據(jù)文件中。理解表空間
在DM8數(shù)據(jù)庫(kù)內(nèi)部,所有的數(shù)據(jù)文件組合在一起被劃分到一個(gè)或者多個(gè)表空間中,所有的數(shù)據(jù)庫(kù)內(nèi)部對(duì)象都存放在這些表空間中。同時(shí),表空間被進(jìn)一步劃分為段、簇和頁(yè)(也稱(chēng)塊)。通過(guò)這種細(xì)分,可以使得DM數(shù)據(jù)庫(kù)能夠更加高效地控制磁盤(pán)空間的利用率。理解表空間
在創(chuàng)建DM數(shù)據(jù)庫(kù)時(shí),會(huì)自動(dòng)創(chuàng)建5個(gè)表空間:SYSTEM表空間、ROLL表空間、MAIN表空間、TEMP表空間和HMAIN表空間,如左圖所示,在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)默認(rèn)設(shè)置了表空間對(duì)應(yīng)的數(shù)據(jù)文件。創(chuàng)建表空間3.2.2創(chuàng)建表空間的原則01通過(guò)SQL語(yǔ)句創(chuàng)建表空間02通過(guò)圖形化工具創(chuàng)建表空間031.創(chuàng)建表空間的原則創(chuàng)建表空間需要遵守以下幾個(gè)原則。表空間名在數(shù)據(jù)庫(kù)中必須唯一;一個(gè)表空間中,數(shù)據(jù)文件和鏡像文件一起不能超過(guò)256個(gè);如果全庫(kù)已經(jīng)加密,就不再支持表空間加密;SYSTEM表空間不允許關(guān)閉自動(dòng)擴(kuò)展,且不允許限制空間大小。2.通過(guò)SQL語(yǔ)句創(chuàng)建表空間CREATETABLESPACE<表空間名><數(shù)據(jù)文件子句>
[<數(shù)據(jù)頁(yè)緩沖池子句>]
[<存儲(chǔ)加密子句>]
[<指定DFS副本子句>]創(chuàng)建表空間的SQL語(yǔ)法格式如下。2.通過(guò)SQL語(yǔ)句創(chuàng)建表空間CREATETABLESPACE<表空間名><數(shù)據(jù)文件子句>
[<數(shù)據(jù)頁(yè)緩沖池子句>]
[<存儲(chǔ)加密子句>]
[<指定DFS副本子句>]“CREATETABLESPACE”是創(chuàng)建表空間關(guān)鍵字;“表空間名”指定表空間的名稱(chēng),最大長(zhǎng)度128字節(jié);“數(shù)據(jù)文件子句”指定表空間存儲(chǔ)文件的說(shuō)明,格式為DATAFILE
<文件說(shuō)明項(xiàng)>{,<文件說(shuō)明項(xiàng)>};2.通過(guò)SQL語(yǔ)句創(chuàng)建表空間CREATETABLESPACE<表空間名><數(shù)據(jù)文件子句>
[<數(shù)據(jù)頁(yè)緩沖池子句>]
[<存儲(chǔ)加密子句>]
[<指定DFS副本子句>]“數(shù)據(jù)頁(yè)緩沖池子句”、“存儲(chǔ)加密子句”、“指定DFS副本子句”是可選項(xiàng),需要時(shí)才進(jìn)行指定。2.通過(guò)SQL語(yǔ)句創(chuàng)建表空間【案例3-1】以SYSDBA身份登錄數(shù)據(jù)庫(kù)后,創(chuàng)建表空間COMPANY,指定數(shù)據(jù)文件CMP.dbf,大小128M。
分析該案例可確定SQL語(yǔ)句為CREATETABLESPACE<表空間名><數(shù)據(jù)文件子句>。創(chuàng)建表空間SQL語(yǔ)句的各參數(shù)如下
①<表空間名>為COMPANY。
②<數(shù)據(jù)文件子句>可分解為DATAFILE<文件路徑>SIZE<文件大小>。
③<文件路徑>中的文件名為CMP.dbf,文件路徑請(qǐng)根據(jù)實(shí)際情況提供一個(gè)確實(shí)存在的路徑。該案例中以c:\作為表空間數(shù)據(jù)文件存儲(chǔ)的路徑。
④<文件大小>為128,默認(rèn)的單位為M。2.通過(guò)SQL語(yǔ)句創(chuàng)建表空間【案例3-1】以SYSDBA身份登錄數(shù)據(jù)庫(kù)后,創(chuàng)建表空間COMPANY,指定數(shù)據(jù)文件CMP.dbf,大小128M。創(chuàng)建語(yǔ)句為:
CREATETABLESPACECOMPANYDATAFILE'c:\CMP.dbf'SIZE128;3.通過(guò)圖形化工具創(chuàng)建表空間【案例3-2】以SYSDBA身份登錄數(shù)據(jù)庫(kù)后,創(chuàng)建表空間FACTORY,指定數(shù)據(jù)文件FCT.dbf,大小128M。創(chuàng)建語(yǔ)句為:
CREATETABLESPACECOMPANYDATAFILE'c:\CMP.dbf'SIZE128;查看表空間3.2.3查看表空間用戶(hù)可以通過(guò)執(zhí)行如下語(yǔ)句來(lái)查看表空間相關(guān)信息。一般表空間查看語(yǔ)句。SELECT*FROMDBA_TABLESPACES;或SELECT*FROMV$TABLESPACE;HUGE表空間查看語(yǔ)句。SELECT*FROMV$HUGE_TABLESPACE;修改表空間3.2.4當(dāng)需要對(duì)表空間相關(guān)的名稱(chēng)、文件名、文件大小等屬性進(jìn)行調(diào)整時(shí)可以對(duì)表空間進(jìn)行修改。通過(guò)執(zhí)行SQL語(yǔ)句修改表空間的語(yǔ)法格式如下所示。修改表空間ALTERTABLESPACE<表空間名>[ONLINE|OFFLINE|CORRUPT|<表空間重命名子句>|<數(shù)據(jù)文件重命名子句>|<增加數(shù)據(jù)文件子句>|<修改文件大小子句>|<修改文件自動(dòng)擴(kuò)展子句>|<數(shù)據(jù)頁(yè)緩沖池子句>]當(dāng)需要對(duì)表空間相關(guān)的名稱(chēng)、文件名、文件大小等屬性進(jìn)行調(diào)整時(shí)可以對(duì)表空間進(jìn)行修改。通過(guò)執(zhí)行SQL語(yǔ)句修改表空間的語(yǔ)法格式如下所示。修改表空間【案例3-3】將表空間FACTORY名字修改為T(mén)S_FACTORY。修改語(yǔ)句為:
ALTERTABLESPACEFACTORYRENAMETOTS_FACTORY;修改表空間【案例3-4】增加一個(gè)大小為128M、路徑為c:\FCT_1.dbf的數(shù)據(jù)文件到表空間TS_FACTORY。修改語(yǔ)句為:
ALTERTABLESPACETS_FACTORYADDDATAFILE'c:\FCT_1.dbf'SIZE128;刪除表空間3.2.5刪除表空間具有相應(yīng)權(quán)限的用戶(hù)可以刪除表空間。刪除表空間應(yīng)注意以下幾點(diǎn)。在命令行中刪除不存在的表空間會(huì)報(bào)錯(cuò)。若指定IFEXISTS關(guān)鍵字,刪除不存在的表空間,不會(huì)報(bào)錯(cuò);SYSTEM、RLOG、ROLL和TEMP表空間不允許刪除;系統(tǒng)處于SUSPEND或MOUNT狀態(tài)時(shí)不允許刪除表空間,系統(tǒng)只有處于OPEN狀態(tài)下才允許刪除表空間。刪除表空間刪除表空間的語(yǔ)法如下:DROPTABLESPACE[IFEXISTS]<表空間名>謝謝觀看數(shù)據(jù)庫(kù)基礎(chǔ)(基于達(dá)夢(mèng)DM8)關(guān)于SQL語(yǔ)句符合的約定為了便于后續(xù)具體的SQL語(yǔ)句的講解,對(duì)描述SQL語(yǔ)句的一些符號(hào)進(jìn)行約定。關(guān)于SQL語(yǔ)句符合的約定<>表示一個(gè)語(yǔ)法對(duì)象,但是括號(hào)本身不能出現(xiàn)在語(yǔ)句中。語(yǔ)法對(duì)象可以是一個(gè)包含多個(gè)語(yǔ)法對(duì)象的語(yǔ)法對(duì)象。<>CREATETABLESPACE<表空間名><數(shù)據(jù)文件子句>其中<表空間名>和<數(shù)據(jù)文件子句>都是語(yǔ)法對(duì)象。<數(shù)據(jù)文件子句>對(duì)象的內(nèi)容為:DATAFILE<文件說(shuō)明項(xiàng)>{,<文件說(shuō)明項(xiàng)>}??梢?jiàn)一個(gè)語(yǔ)法對(duì)象內(nèi)還可以包含其他語(yǔ)法對(duì)象。案例關(guān)于SQL語(yǔ)句符合的約定::=定義符,用來(lái)定義一個(gè)語(yǔ)法對(duì)象。定義符左邊為語(yǔ)法對(duì)象,右邊為相應(yīng)的語(yǔ)法描述。::=<數(shù)據(jù)文件子句>::=DATAFILE<文件說(shuō)明項(xiàng)>{,<文件說(shuō)明項(xiàng)>}該案例說(shuō)明<數(shù)據(jù)文件子句>語(yǔ)法對(duì)象被定義為“DATAFILE<文件說(shuō)明項(xiàng)>{,<文件說(shuō)明項(xiàng)>}”。案例關(guān)于SQL語(yǔ)句符合的約定{}大括號(hào)指明大括號(hào)內(nèi)的語(yǔ)法選項(xiàng)在實(shí)際的語(yǔ)句中可以出現(xiàn)0…N次(N為大于0的自然數(shù)),但是大括號(hào)本身不能出現(xiàn)在語(yǔ)句中。{}DATAFILE<文件說(shuō)明項(xiàng)>{,<文件說(shuō)明項(xiàng)>}該案例說(shuō)明語(yǔ)法中定義“DATAFILE
<文件說(shuō)明項(xiàng)>”后,還可以出現(xiàn)0次或者N次“,<文件說(shuō)明項(xiàng)>}”。案例關(guān)于SQL語(yǔ)句符合的約定[]中括號(hào)指明中括號(hào)內(nèi)的語(yǔ)法選項(xiàng)在實(shí)際的語(yǔ)句中可以出現(xiàn)0…1次,但是中括號(hào)本身不能出現(xiàn)在語(yǔ)句中。[]ALTERTABLE[<模式名>.]<表名>
RENAMETO<表名>該案例說(shuō)明語(yǔ)法中定義“<模式名>.”可以出現(xiàn)0次1次。案例關(guān)于SQL語(yǔ)句符合的約定“|”或者符,或者符限定的語(yǔ)法選項(xiàng)在實(shí)際的語(yǔ)句中只能出現(xiàn)一個(gè)。|ALTERTABLE[<模式名>.]<表名>
RENAMETO<表名>|MODIFY<列定義>|ADD<表級(jí)約束定義>該案例說(shuō)“RENAMETO<表名>”“MODIFY<列定義>”“ADD<表級(jí)約束定義>”只出現(xiàn)一個(gè)。也就是該修改表的語(yǔ)句能夠進(jìn)行修改表名、修改列定義、添加表級(jí)約束定義中的任意一個(gè)操作。案例謝謝觀看數(shù)據(jù)庫(kù)基礎(chǔ)(基于達(dá)夢(mèng)DM8)數(shù)據(jù)庫(kù)對(duì)象管理33.4模式創(chuàng)建及管理02創(chuàng)建模式01理解模式03設(shè)置模式04刪除模式理解模式3.3.13.3.1理解模式1.模式的概念用戶(hù)的模式(SCHEMA)指的是用戶(hù)賬號(hào)擁有的對(duì)象集,在概念上可將其看作是包含表、視圖、索引和權(quán)限定義的對(duì)象。DM模式可以通過(guò)SQL語(yǔ)句進(jìn)行操作。DM模式主要包含以下的模式對(duì)象:表、視圖、索引、觸發(fā)器、存儲(chǔ)過(guò)程/函數(shù)、序列、全文索引、包、同義詞、類(lèi)、外部鏈接。3.3.1理解模式2.模式的引用在引用模式對(duì)象的時(shí)候,一般要在模式對(duì)象名前面加上模式名,具體格式如下。[模式名].對(duì)象名要引用的模式對(duì)象所屬的模式在當(dāng)前模式中時(shí),可以省略模式名。如果訪(fǎng)問(wèn)對(duì)象時(shí)沒(méi)有指明對(duì)象屬于哪一個(gè)模式,系統(tǒng)就會(huì)自動(dòng)在對(duì)象前加上缺省的模式名。3.3.1理解模式3.使用模式的優(yōu)點(diǎn)
允許多個(gè)用戶(hù)使用一個(gè)數(shù)據(jù)庫(kù)而不會(huì)干擾其他用戶(hù);把數(shù)據(jù)庫(kù)對(duì)象組織成邏輯組,讓它們更便于管理;第三方的應(yīng)用可以放在不同的模式中,這樣可以避免和其他對(duì)象的名字沖突。模式類(lèi)似于操作系統(tǒng)層次的目錄,只不過(guò)模式不能嵌套。創(chuàng)建模式3.3.23.3.2創(chuàng)建模式1.創(chuàng)建模式時(shí)應(yīng)注意在創(chuàng)建新的模式時(shí),如果已存在同名的模式,或當(dāng)存在能夠按名字不區(qū)分大小寫(xiě)匹配的同名用戶(hù)時(shí)(此時(shí)認(rèn)為模式名為該用戶(hù)的默認(rèn)模式),那么創(chuàng)建模式的操作會(huì)被跳過(guò);AUTHORIZATION<用戶(hù)名>標(biāo)識(shí)了擁有該模式的用戶(hù);它是為其他用戶(hù)創(chuàng)建模式時(shí)使用的;缺省擁有該模式的用戶(hù)為SYSDBA;使用該語(yǔ)句的用戶(hù)必須具有DBA或CREATESCHEMA權(quán)限;DM使用DMSQL程序模式執(zhí)行創(chuàng)建模式語(yǔ)句,因此創(chuàng)建模式語(yǔ)句中的標(biāo)識(shí)符不能使用系統(tǒng)的保留字;3.3.2創(chuàng)建模式1.創(chuàng)建模式時(shí)應(yīng)注意定義模式時(shí),用戶(hù)可以用單條語(yǔ)句同時(shí)建多個(gè)表、視圖,同時(shí)進(jìn)行多項(xiàng)授權(quán);模式一旦定義,該用戶(hù)所建基表、視圖等均屬該模式,其他用戶(hù)訪(fǎng)問(wèn)該用戶(hù)所建立的基表、視圖等均需在表名、視圖名前冠以模式名;而建表者訪(fǎng)問(wèn)自己當(dāng)前模式所建表、視圖時(shí)模式名可??;若沒(méi)有指定當(dāng)前模式,系統(tǒng)自動(dòng)以當(dāng)前用戶(hù)名作為模式名;模式未定義之前,其他用戶(hù)訪(fǎng)問(wèn)該用戶(hù)所建的基表、視圖等均需在表名前冠以建表者名。3.3.2創(chuàng)建模式2.創(chuàng)建模式語(yǔ)法CREATESCHEMA<模式名>[AUTHORIZATION<用戶(hù)名>][<DDL_GRANT子句>{<DDL_GRANT子句>}];其中<模式名>是必須指定的;<模式名>指明要?jiǎng)?chuàng)建的模式的名字,最大長(zhǎng)度128字節(jié);3.3.2創(chuàng)建模式【案例3-7】使用SYSDBA用戶(hù),通過(guò)執(zhí)行SQL語(yǔ)句創(chuàng)建模式SCH_FACTORY,建立的模式屬于SYSDBA。
在創(chuàng)建模式后,還需要通過(guò)AUTHORIZATION將該模式的歸屬設(shè)置為指定的用戶(hù)。創(chuàng)建語(yǔ)句如下:CREATESCHEMASCH_FACTORYAUTHORIZATIONSYSDBA;設(shè)置模式3.3.33.3.3設(shè)置模式1.設(shè)置模式語(yǔ)法一個(gè)用戶(hù)可能擁有多個(gè)模式。通過(guò)設(shè)置模式可以在不同的模式之間切換,注意只能設(shè)置成屬于自己的模式。模式切換后該用戶(hù)創(chuàng)建的表、視圖、索引等對(duì)象默認(rèn)創(chuàng)建在該模式下。設(shè)置語(yǔ)法如下:SETSCHEMA<模式名>;3.3.2創(chuàng)建模式【案例3-9】使用命令行將SYSDBA用戶(hù)的模式設(shè)置為SCH_FACTORY。
使用SYSDBA用戶(hù)身份連接數(shù)據(jù)庫(kù)后,在命令行執(zhí)行如下命令。SETSCHEMASCH_FACTORY;刪除模式3.3.43.3.4刪除模式1.刪除模式語(yǔ)法當(dāng)某個(gè)模式不再使用或者不再需要時(shí),可以對(duì)其進(jìn)行刪除。但只能是具有DBA角色的用戶(hù)或被刪除模式的擁有者才能執(zhí)行刪除模式操作。刪除語(yǔ)法如下:DROPSCHEMA[IFEXISTS]<模式名>[RESTRICT|CASCADE];3.3.4刪除模式1.刪除模式語(yǔ)法DROPSCHEMA[IFEXISTS]<模式名>[RESTRICT|CASCADE];①刪除不存在的模式會(huì)報(bào)錯(cuò)。若指定IFEXISTS關(guān)鍵字,刪除不存在的模式,不會(huì)報(bào)錯(cuò);②如果使用RESTRICT選項(xiàng),只有當(dāng)模式為空時(shí)刪除才能成功,否則,當(dāng)模式中存在數(shù)據(jù)庫(kù)對(duì)象時(shí)則刪除失敗。默認(rèn)選項(xiàng)為RESTRICT選項(xiàng);③如果使用CASCADE選項(xiàng),則將整個(gè)模式、模式中的對(duì)象,以及與該模式相關(guān)的依賴(lài)關(guān)系都刪除。謝謝觀看數(shù)據(jù)庫(kù)基礎(chǔ)(基于達(dá)夢(mèng)DM8)數(shù)據(jù)庫(kù)對(duì)象管理33.4表創(chuàng)建及管理02表單創(chuàng)建01理解表的常規(guī)數(shù)據(jù)類(lèi)型03表的更改04管理完整性約束05表的刪除理解表和常規(guī)數(shù)據(jù)類(lèi)型3.4.13.4.1理解表和常規(guī)數(shù)據(jù)類(lèi)型1.表的概念一個(gè)關(guān)系是對(duì)應(yīng)一張由行和列組成的二維表。表是數(shù)據(jù)庫(kù)中用來(lái)存儲(chǔ)數(shù)據(jù)的對(duì)象,是有結(jié)構(gòu)的數(shù)據(jù)的集合,是整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的基礎(chǔ)表是數(shù)據(jù)庫(kù)中數(shù)據(jù)存儲(chǔ)的基本單元,是對(duì)用戶(hù)數(shù)據(jù)進(jìn)行讀和操縱的邏輯實(shí)體。3.4.1理解表和常規(guī)數(shù)據(jù)類(lèi)型2.常規(guī)數(shù)據(jù)類(lèi)型關(guān)系表中的每一列(即每個(gè)屬性或字段)都來(lái)自同一個(gè)域,屬于同一種數(shù)據(jù)類(lèi)型。創(chuàng)建數(shù)據(jù)表之前,需要為表中的每一個(gè)屬性設(shè)置一種數(shù)據(jù)類(lèi)型。常見(jiàn)的數(shù)據(jù)類(lèi)型如表所示。3.4.1理解表和常規(guī)數(shù)據(jù)類(lèi)型2.常規(guī)數(shù)據(jù)類(lèi)型3.4.1理解表和常規(guī)數(shù)據(jù)類(lèi)型2.常規(guī)數(shù)據(jù)類(lèi)型3.4.1理解表和常規(guī)數(shù)據(jù)類(lèi)型2.常規(guī)數(shù)據(jù)類(lèi)型表的創(chuàng)建3.4.23.4.2表的創(chuàng)建1.創(chuàng)建表語(yǔ)法數(shù)據(jù)表是由行和列組成的,創(chuàng)建數(shù)據(jù)表的過(guò)程就是定義數(shù)據(jù)表的列的過(guò)程,也就是定義數(shù)據(jù)表結(jié)構(gòu)的過(guò)程。創(chuàng)建表需指定表名、表所屬的模式名;列定義;完整性約束等。CREATETABLE[<模式名>.]<表名>(<列定義>{,<列定義>}[,<表級(jí)約束定義>{,<表級(jí)約束定義>}])[<STORAGE子句>]3.4.2表的創(chuàng)建1.創(chuàng)建表語(yǔ)法CREATETABLE[<模式名>.]<表名>(<列定義>{,<列定義>}[,<表級(jí)約束定義>{,<表級(jí)約束定義>}])[<STORAGE子句>]創(chuàng)建表中的參數(shù)說(shuō)明如下。①<模式名>指明該表屬于哪個(gè)模式,缺省為當(dāng)前模式;②<表名>指明被創(chuàng)建的基表名,基表名最大長(zhǎng)度128字節(jié);③<列名>指明基表中的列名,列名最大長(zhǎng)度128字節(jié);④<數(shù)據(jù)類(lèi)型>指明列的數(shù)據(jù)類(lèi)型;3.4.2表的創(chuàng)建1.創(chuàng)建表語(yǔ)法<列定義>具體語(yǔ)法為。<列名><數(shù)據(jù)類(lèi)型>[DEFAULT<列缺省值表達(dá)式>|<IDENTITY子句>|<列級(jí)約束定義>]③<列名>指明基表中的列名,列名最大長(zhǎng)度128字節(jié);④<數(shù)據(jù)類(lèi)型>指明列的數(shù)據(jù)類(lèi)型;3.4.2表的創(chuàng)建1.創(chuàng)建表語(yǔ)法<列定義>具體語(yǔ)法為。<列名><數(shù)據(jù)類(lèi)型>[DEFAULT<列缺省值表達(dá)式>|<IDENTITY子句>|<列級(jí)約束定義>]⑤<IDENTITY子句>可以將某列定義為自增列具體語(yǔ)法為IDENTITY[(<種子>,<增量>)]。<種子>和<增量>分別制定IDENTITY的起始值和增量值;3.3.2創(chuàng)建模式1.創(chuàng)建表語(yǔ)法<列定義>具體語(yǔ)法為。<列名><數(shù)據(jù)類(lèi)型>[DEFAULT<列缺省值表達(dá)式>|<IDENTITY子句>|<列級(jí)約束定義>]⑥<列缺省值表達(dá)式>通過(guò)DEFAULT指定的一個(gè)缺省值,當(dāng)該寫(xiě)入數(shù)據(jù)行時(shí)如該列的值為指定,則使用缺省值。DEFAULT表達(dá)式串的長(zhǎng)度不能超過(guò)2048字節(jié);3.4.2表的創(chuàng)建【案例3-10】使用命令行以SYSDBA用戶(hù)身份登錄,創(chuàng)建一個(gè)表TEST。該表有兩個(gè)列,第一個(gè)列的列名是ID,數(shù)據(jù)類(lèi)型是INT,并且該列是自增列,從2022001開(kāi)始,增量為1;第二列的列名是NAME,數(shù)據(jù)類(lèi)型是VARCHAR(50)。思考該表創(chuàng)建在哪個(gè)模式下。創(chuàng)建語(yǔ)句為:CREATETABLETEST(
IDINTIDENTITY(2022001,1),
NAMEVARCHAR(50));
如在登錄后未設(shè)置模式,則登錄后的模式應(yīng)為默認(rèn)模式。SYSDBA的默認(rèn)模式為SYSDBA模式。那么TEST表應(yīng)該創(chuàng)建在SYSDBA模式下。表的更改3.4.33.4.3表的更改1.表的更改想更改的表如果在所屬當(dāng)前用戶(hù)的模式中,用戶(hù)必須具有ALTERTABLE數(shù)據(jù)庫(kù)權(quán)限;若在其他模式中,用戶(hù)必須有ALTERANYTABLE的數(shù)據(jù)庫(kù)權(quán)限。3.4.3表的更改1.表的更改通過(guò)更改表,用戶(hù)可以對(duì)數(shù)據(jù)庫(kù)中的表作如下修改。重命名表;添加或刪除列,修改現(xiàn)有的列的定義(列名、數(shù)據(jù)類(lèi)型、長(zhǎng)度、默認(rèn)值);添加、修改或刪除與表相關(guān)的完整性約束;啟動(dòng)或停用與表相關(guān)的觸發(fā)器;增刪自增列等。3.4.3表的更改2.表的更改語(yǔ)法ALTERTABLE[<模式名>.]<表名>RENAMETO<表名>| --修改表名ADD<<列定義>|(<列定義>{,<列定義>})>| --添加列定義MODIFY<列定義>| --修改列定義DROP<<列名>|IDENTITY>| --刪除列|自增列屬性3.4.3表的更改2.表的更改語(yǔ)法ALTER[COLUMN]<列名> --指定要修改的列名<
SETDEFAULT<列缺省值表達(dá)式>| --設(shè)置列的缺省值
DROPDEFAULT| --刪除列的缺省值
RENAMETO<列名>| --修改列名為新名字
SET<NULL|NOTNULL>| --設(shè)置列是否允許空值
SET[NOT]VISIBLE| --設(shè)置列是否可見(jiàn)>3.4.3表的更改2.表的更改語(yǔ)法MOVETABLESPACE<表空間名>| --移動(dòng)表至新的表空間ADD<列名>[<IDENTITY子句>] --添加列的自增屬性ADD<表級(jí)約束定義>| --添加表級(jí)約束ADD[CONSTRAINT[<約束名>]]<表級(jí)完整性約束>[<CHECK選項(xiàng)>][ENABLE|DISABLE]|3.4.3表的更改2.表的更改語(yǔ)法DROPCONSTRAINT<約束名>[RESTRICT|CASCADE]|
--刪除約束MODIFYCONSTRAINT<約束名>TO<表級(jí)完整性約束>[<CHECK選項(xiàng)>][RESTRICT|CASCADE]
|
--更改表級(jí)約束<ENABLE|DISABLE>CONSTRAINT<約束名>
--啟用或停用約束3.4.3表的更改【案例3-14】在案例3-11中創(chuàng)建了SCH_FACTORY模式中的TEST表,現(xiàn)將其表名修改為T(mén)EST1。
ALTERTABLESCH_FACTORY.TESTRENAMETOTEST1;3.4.3表的更改【案例3-16】在TEST1中添加“電話(huà)號(hào)碼”列,數(shù)據(jù)類(lèi)型為CHAR(13);“籍貫”列,數(shù)據(jù)類(lèi)型為VARCAHR(50);“備注”列,數(shù)據(jù)類(lèi)型為VARCHAR(255)。
ALTERTABLESCH_FACTORY.TEST1ADD( 電話(huà)號(hào)碼CHAR(13), 籍貫VARCHAR(50), 備注VARCHAR(255)
);3.4.3表的更改【案例3-17】將TEST1中“籍貫”列使用MODIFY修改為數(shù)據(jù)類(lèi)型為VARCAHR(75),且默認(rèn)值為‘重慶’。
ALTERTABLESCH_FACTORY.TEST1MODIFY籍貫VARCHAR(75)DEFAULT'重慶';3.4.3表的更改【案例3-18】將TEST1中“備注”列刪除;將“ID”列的自增列屬性刪除。ALTERTABLESCH_FACTORY.TEST1DROP備注;ALTERTABLESCH_FACTORY.TEST1DROPIDENTITY;管理完整性約束3.4.41.完整性約束的概念
完整性約束規(guī)則,限制表中一個(gè)或者多個(gè)列的值的規(guī)則。
關(guān)系完整性包括實(shí)體完整性、參照完整性和域完整性。經(jīng)定義后的完整性約束被存入系統(tǒng)的數(shù)據(jù)字典中,用戶(hù)操作數(shù)據(jù)庫(kù)時(shí),并由數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行完整性控制。1.完整性約束的概念
列級(jí)約束和表級(jí)約束都是為了實(shí)現(xiàn)完整性約束,從名稱(chēng)上較好理解。
列級(jí)約束:只能應(yīng)用于一列上,用空格分隔后直接跟在該列的其他定義之后。非空約束和默認(rèn)約束僅能在列級(jí)約束中定義。表級(jí)約束:與列定義相互獨(dú)立,一般在完成列定義后定義,與列定義用“,”分隔。約束可應(yīng)用于一列上,也可以應(yīng)用在一個(gè)表中的多個(gè)列上,可定義約束名。1.完整性約束的概念
如果完整性約束只涉及當(dāng)前正在定義的列,則既可定義成列級(jí)約束,也可以定義成表級(jí)約束;如果完整性約束涉及該基表的多個(gè)列,則只能在定義語(yǔ)句的后面定義成表級(jí)完整性約束。
定義列級(jí)或表級(jí)完整性約束時(shí),可以用CONSTRAINT<約束名>子句對(duì)約束命名,系統(tǒng)中相同模式下的約束名不得重復(fù)。如果不指定約束名,系統(tǒng)將為此約束自動(dòng)命名。1.完整性約束的意義
就如法律保障了國(guó)家治理體系的系統(tǒng)性、規(guī)范性、協(xié)調(diào)性、穩(wěn)定性,完整性約束根據(jù)定義的約束規(guī)則,數(shù)據(jù)庫(kù)按照規(guī)則進(jìn)行完整性控制,確保數(shù)據(jù)在添加、更新后仍然滿(mǎn)足完整性約束,保證了數(shù)據(jù)庫(kù)的正確運(yùn)行。2.執(zhí)行SQL語(yǔ)句管理完整性約束<列級(jí)約束定義>::=<列級(jí)完整性約束>
{_<列級(jí)完整性約束>}1)列級(jí)約束定義語(yǔ)法格式如下。注意:
此處“_”為空格,在實(shí)際編寫(xiě)語(yǔ)句時(shí)要替換為空格。即多個(gè)列完整性約束定義在一個(gè)列上時(shí)用空格分隔開(kāi)。2.執(zhí)行SQL語(yǔ)句管理完整性約束<列級(jí)完整性約束>::=[CONSTRAINT<約束名>]<column_constraint_action>[ENABLE|DISABLE]1)列級(jí)約束定義語(yǔ)法格式如下。
系統(tǒng)中相同模式下的約束名不得重復(fù)。如果不指定約束名,系統(tǒng)將為此約束自動(dòng)命名。2.執(zhí)行SQL語(yǔ)句管理完整性約束<列級(jí)完整性約束>::=[CONSTRAINT<約束名>]<column_constraint_action>[ENABLE|DISABLE]1)列級(jí)約束定義語(yǔ)法格式如下。
可以指定一個(gè)約束是啟用(ENABLE)或停用(DISABLE)。如果啟用一個(gè)約束,那么在插入數(shù)據(jù)或者是更新數(shù)據(jù)時(shí)會(huì)對(duì)數(shù)據(jù)進(jìn)行檢查,不符合約束的數(shù)據(jù)被阻止進(jìn)入。如果約束是停用(DISABLE)的,不符合約束的數(shù)據(jù)被允許進(jìn)入數(shù)據(jù)庫(kù)。2.執(zhí)行SQL語(yǔ)句管理完整性約束<column_constraint_action>::=[NOT]NULL|
PRIMARYKEY|
UNIQUE|
[NOT]CLUSTERPRIMARYKEY|
CLUSTER[UNIQUE]KEY|
[FOREIGNKEY]REFERENCES[<模式名>.]<表名>[(<列名>{[,<列名>]})]|
CHECK(<檢驗(yàn)條件>)|
NOTVISIBLE1)列級(jí)約束定義語(yǔ)法格式如下。
2.執(zhí)行SQL語(yǔ)句管理完整性約束【案例3-22】每個(gè)部門(mén)有一個(gè)部門(mén)經(jīng)理,每個(gè)經(jīng)理只擔(dān)任一個(gè)部門(mén)的經(jīng)理。在SCH_FACTORY模式中創(chuàng)建如后表要求的部門(mén)表DEPT,其中部門(mén)不能重名,命名規(guī)范要求必須以“部”結(jié)尾。使用列級(jí)約束創(chuàng)建相關(guān)約束。列級(jí)約束定義案例2.執(zhí)行SQL語(yǔ)句管理完整性約束
列級(jí)約束定義案例列名數(shù)據(jù)類(lèi)型是否允許為空約束備注部門(mén)號(hào)INT×主鍵自增列部門(mén)名VARCHAR(50)×CHECK(部門(mén)名LIKE'%部')
經(jīng)理號(hào)INT×REFERENCESSCH_FACTORY.MANAGER(經(jīng)理號(hào))2.執(zhí)行SQL語(yǔ)句管理完整性約束CREATETABLESCH_FACTORY.DEPT(
部門(mén)號(hào)INTIDENTITY(100001,1)PRIMARYKEY,
部門(mén)名VARCHAR(50)NOTNULLUNIQUECHECK(部門(mén)名LIKE'%部'),
經(jīng)理號(hào)INTNOTNULLFOREIGNKEYREFERENCESSCH_FACTORY.MANAGER(經(jīng)理號(hào)));
列級(jí)約束定義案例3.圖形界面管理完整性約束<表級(jí)約束定義>::=[CONSTRAINT<約束名>]<表級(jí)完整性約束>[ENABLE|DISABLE]2)表級(jí)約束定義語(yǔ)法格式如下。表級(jí)約束定義也可以指定一個(gè)約束是啟用(ENABLE)或停用(DISABLE)。3.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45111-2024保護(hù)層分析(LOPA)、安全完整性等級(jí)(SIL)定級(jí)和驗(yàn)證質(zhì)量控制導(dǎo)則
- BIM工程師-全國(guó)《BIM應(yīng)用技能資格》考前沖刺2
- 浙江省溫州市龍港市2024年中考數(shù)學(xué)二模試題附答案
- 電子政務(wù)提高公共服務(wù)效率
- 幼兒園大班數(shù)學(xué)測(cè)試題
- 高一化學(xué)教案:第二單元化學(xué)反應(yīng)中的熱量
- 2024高中地理第1章區(qū)域地理環(huán)境與人類(lèi)活動(dòng)第4節(jié)第1課時(shí)資源跨區(qū)域調(diào)配精練含解析湘教版必修3
- 2024高中語(yǔ)文第6單元墨子蚜第1課兼愛(ài)訓(xùn)練含解析新人教版選修先秦諸子蚜
- 2024高中語(yǔ)文第六單元文無(wú)定格貴在鮮活種樹(shù)郭橐駝傳作業(yè)含解析新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)第一部分考點(diǎn)10氯及其化合物強(qiáng)化訓(xùn)練含解析
- 2025湖北襄陽(yáng)市12345政府熱線(xiàn)話(huà)務(wù)員招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年河北省職業(yè)院校技能大賽智能節(jié)水系統(tǒng)設(shè)計(jì)與安裝(高職組)考試題庫(kù)(含答案)
- 2024年下半年鄂州市城市發(fā)展投資控股集團(tuán)限公司社會(huì)招聘【27人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- GB/T 29498-2024木門(mén)窗通用技術(shù)要求
- 《職業(yè)院校與本科高校對(duì)口貫通分段培養(yǎng)協(xié)議書(shū)》
- 人教版(2024)英語(yǔ)七年級(jí)上冊(cè)單詞表
- 中醫(yī)養(yǎng)生產(chǎn)業(yè)現(xiàn)狀及發(fā)展趨勢(shì)分析
- 2023年浙江省溫州市中考數(shù)學(xué)真題含解析
- 司庫(kù)體系建設(shè)
- 居間合同范本解
- 機(jī)電傳動(dòng)單向數(shù)控平臺(tái)-礦大-機(jī)械電子-有圖
評(píng)論
0/150
提交評(píng)論