




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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.4表創(chuàng)建及管理02表單創(chuàng)建01理解表的常規(guī)數(shù)據(jù)類型03表的更改04管理完整性約束05表的刪除理解表和常規(guī)數(shù)據(jù)類型3.4.13.4.1理解表和常規(guī)數(shù)據(jù)類型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ì)用戶數(shù)據(jù)進(jìn)行讀和操縱的邏輯實(shí)體。3.4.1理解表和常規(guī)數(shù)據(jù)類型2.常規(guī)數(shù)據(jù)類型關(guān)系表中的每一列(即每個(gè)屬性或字段)都來(lái)自同一個(gè)域,屬于同一種數(shù)據(jù)類型。創(chuàng)建數(shù)據(jù)表之前,需要為表中的每一個(gè)屬性設(shè)置一種數(shù)據(jù)類型。常見(jiàn)的數(shù)據(jù)類型如表所示。3.4.1理解表和常規(guī)數(shù)據(jù)類型2.常規(guī)數(shù)據(jù)類型3.4.1理解表和常規(guī)數(shù)據(jù)類型2.常規(guī)數(shù)據(jù)類型3.4.1理解表和常規(guī)數(shù)據(jù)類型2.常規(guī)數(shù)據(jù)類型表的創(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ù)類型>指明列的數(shù)據(jù)類型;3.4.2表的創(chuàng)建1.創(chuàng)建表語(yǔ)法<列定義>具體語(yǔ)法為。<列名><數(shù)據(jù)類型>[DEFAULT<列缺省值表達(dá)式>|<IDENTITY子句>|<列級(jí)約束定義>]③<列名>指明基表中的列名,列名最大長(zhǎng)度128字節(jié);④<數(shù)據(jù)類型>指明列的數(shù)據(jù)類型;3.4.2表的創(chuàng)建1.創(chuàng)建表語(yǔ)法<列定義>具體語(yǔ)法為。<列名><數(shù)據(jù)類型>[DEFAULT<列缺省值表達(dá)式>|<IDENTITY子句>|<列級(jí)約束定義>]⑤<IDENTITY子句>可以將某列定義為自增列具體語(yǔ)法為IDENTITY[(<種子>,<增量>)]。<種子>和<增量>分別制定IDENTITY的起始值和增量值;3.3.2創(chuàng)建模式1.創(chuàng)建表語(yǔ)法<列定義>具體語(yǔ)法為。<列名><數(shù)據(jù)類型>[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用戶身份登錄,創(chuàng)建一個(gè)表TEST。該表有兩個(gè)列,第一個(gè)列的列名是ID,數(shù)據(jù)類型是INT,并且該列是自增列,從2022001開(kāi)始,增量為1;第二列的列名是NAME,數(shù)據(jù)類型是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)前用戶的模式中,用戶必須具有ALTERTABLE數(shù)據(jù)庫(kù)權(quán)限;若在其他模式中,用戶必須有ALTERANYTABLE的數(shù)據(jù)庫(kù)權(quán)限。3.4.3表的更改1.表的更改通過(guò)更改表,用戶可以對(duì)數(shù)據(jù)庫(kù)中的表作如下修改。重命名表;添加或刪除列,修改現(xiàn)有的列的定義(列名、數(shù)據(jù)類型、長(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)將其表名修改為TEST1。
ALTERTABLESCH_FACTORY.TESTRENAMETOTEST1;3.4.3表的更改【案例3-16】在TEST1中添加“電話號(hào)碼”列,數(shù)據(jù)類型為CHAR(13);“籍貫”列,數(shù)據(jù)類型為VARCAHR(50);“備注”列,數(shù)據(jù)類型為VARCHAR(255)。
ALTERTABLESCH_FACTORY.TEST1ADD( 電話號(hào)碼CHAR(13), 籍貫VARCHAR(50), 備注VARCHAR(255)
);3.4.3表的更改【案例3-17】將TEST1中“籍貫”列使用MODIFY修改為數(shù)據(jù)類型為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ù)字典中,用戶操作數(shù)據(jù)庫(kù)時(shí),并由數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行完整性控制。1.完整性約束的概念
列級(jí)約束和表級(jí)約束都是為了實(shí)現(xiàn)完整性約束,從名稱上較好理解。
列級(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ù)在添加、更新后仍然滿足完整性約束,保證了數(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è)部門有一個(gè)部門經(jīng)理,每個(gè)經(jīng)理只擔(dān)任一個(gè)部門的經(jīng)理。在SCH_FACTORY模式中創(chuàng)建如后表要求的部門表DEPT,其中部門不能重名,命名規(guī)范要求必須以“部”結(jié)尾。使用列級(jí)約束創(chuàng)建相關(guān)約束。列級(jí)約束定義案例2.執(zhí)行SQL語(yǔ)句管理完整性約束
列級(jí)約束定義案例列名數(shù)據(jù)類型是否允許為空約束備注部門號(hào)INT×主鍵自增列部門名VARCHAR(50)×CHECK(部門名LIKE'%部')
經(jīng)理號(hào)INT×REFERENCESSCH_FACTORY.MANAGER(經(jīng)理號(hào))2.執(zhí)行SQL語(yǔ)句管理完整性約束CREATETABLESCH_FACTORY.DEPT(
部門號(hào)INTIDENTITY(100001,1)PRIMARYKEY,
部門名VARCHAR(50)NOTNULLUNIQUECHECK(部門名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.圖形界面管理完整性約束<表級(jí)完整性約束>::=UNIQUE|PRIMARYKEY|[NOT]CLUSTERPRIMARYKEY|CLUSTER[UNIQUE]KEY(<列名>{,<列名>})}|FOREIGNKEY(<列名>{,<列名>})REFERENCES[<模式名>.]<表名>[(<列名>{[,<列名>]})][WITHINDEX]|
CHECK(<檢驗(yàn)條件>)2)表級(jí)約束定義語(yǔ)法格式如下。2.執(zhí)行SQL語(yǔ)句管理完整性約束【案例3-24】在介紹E-R概念模型中,定義了某高科技制造企業(yè)的職工參與項(xiàng)目的聯(lián)系。且一個(gè)職工可以參與多個(gè)項(xiàng)目,一個(gè)項(xiàng)目也可以有多個(gè)職工參與,故職工與項(xiàng)目是m:n聯(lián)系。前面的案例中已經(jīng)創(chuàng)建了職工表(STAFF)和項(xiàng)目表(PROJECT),現(xiàn)創(chuàng)建能夠表示這種聯(lián)系的表。表級(jí)約束定義案例2.執(zhí)行SQL語(yǔ)句管理完整性約束CREATETABLESCH_FACTORY.STAFF_PROJECT( 職工號(hào)INT, 項(xiàng)目號(hào)INT, 加入時(shí)間DATETIME, PRIMARYKEY(職工號(hào),項(xiàng)目號(hào)), CONSTRAINTFK_SP_STAFFFOREIGNKEY(職工號(hào))REFERENCESSCH_FACTORY.STAFF(職工號(hào)), CONSTRAINTFK_SP_PROJECTFOREIGNKEY(項(xiàng)目號(hào))REFERENCESSCH_FACTORY.PROJECT(項(xiàng)目號(hào)));表級(jí)約束定義案例表的刪除3.4.53.4.5表的刪除刪除表操作只能由具有DBA權(quán)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)食品及飼料添加劑行業(yè)運(yùn)營(yíng)狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)風(fēng)力發(fā)電機(jī)組葉片裝置市場(chǎng)發(fā)展趨勢(shì)與十三五規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)防火玻璃產(chǎn)業(yè)前景展望及未來(lái)投資規(guī)劃研究報(bào)告
- 2025-2030年中國(guó)鑄造粘結(jié)材料行業(yè)競(jìng)爭(zhēng)格局及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)銅加工產(chǎn)業(yè)運(yùn)營(yíng)狀況與發(fā)展?jié)摿Ψ治鰣?bào)告
- 2025-2030年中國(guó)金屬船舶市場(chǎng)前景規(guī)劃及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025-2030年中國(guó)道路護(hù)欄行業(yè)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)補(bǔ)血保健品市場(chǎng)十三五規(guī)劃與發(fā)展策略分析報(bào)告
- 2025-2030年中國(guó)脫臭餾出物的分離提取產(chǎn)物行業(yè)運(yùn)行現(xiàn)狀及前景規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)納米二氧化鈦市場(chǎng)運(yùn)行狀況及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2024年個(gè)人信用報(bào)告(個(gè)人簡(jiǎn)版)樣本(帶水印-可編輯)
- 16J914-1 公用建筑衛(wèi)生間
- 排水溝施工合同電子版(精選5篇)
- 高警示藥物處方審核要點(diǎn)
- 2022年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院?jiǎn)握姓Z(yǔ)文模擬試題及答案
- 《酒店品牌建設(shè)與管理》課程教學(xué)大綱
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 大氣商務(wù)企業(yè)培訓(xùn)之團(tuán)隊(duì)合作的重要性PPT模板
- Opera、綠云、西軟、中軟酒店管理系統(tǒng)對(duì)比分析
- 楚才辦公室裝修設(shè)計(jì)方案20140315
- 人教版八年級(jí)(上冊(cè))物理習(xí)題全集(附答案)
評(píng)論
0/150
提交評(píng)論