




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章表和視圖
第4章表和視圖
4.1表的創(chuàng)建和操作
4.2數據完整性和約束條件
4?37(修改表結構
4?4分區(qū)表簡介
4.5視圖創(chuàng)建和操作
4.6階段訓I練
4.7練習
第4章表和視圖
4.1表的創(chuàng)建和操作
表由記錄(行row)和字段(列column)構成,是數據庫
中存儲數據的結構。要進行數據的存儲和管理,首先
要在數據庫中創(chuàng)建表,即表的字段(列)結構。有了正確
的結構,就可以用數據操作命令,插入、刪除表中記
錄或對記錄進行修改。比如,要進行圖書管理,就需
要創(chuàng)建圖書和出版社等表,這里給出用于示范和訓練
的圖書和出版社表的結構和內容,如表4-1、表4-2所示。
第4章表和視圖
表4-1圖書表
圖書編號圖書名稱出版社編號作者出版日期數量單價
A0001計算機原理01劉勇1998年5月7日325.30
A0002C語言程序設計馬麗2003年1月2日1018.75
A0003匯編語言程序設計黃海明2001年11月5日1520.18
第4章表和視圖
表4-2出版社表
編號出版社名稱地址聯系電話
01清華大學出版社北/p>
02西安電子科技大學出版社西/p>
第4章表和視圖
4.1.1表的創(chuàng)建
1.創(chuàng)建表的語法
表的創(chuàng)建需要CREATETABLE系統權限,表的基本創(chuàng)建
語法如下:
CREATETABLE表名
(列名數據類型(寬度)[DEFAULT表達式][COLUMN
CONSTRAINT],
[TABLECONSTRAINT]
[TABLEPARTITIONCLAUSE]
);
第4章表和視圖
由此可見,創(chuàng)建表最主要的是要說明表名、列名、列的
數據類型和寬度,多列之間用”分隔??梢允怯弥形幕?/p>
英文作為表名和列名。表名最大長度為30個字符。在同一個
用戶下,表不能重名,但不同用戶表的名稱可以相重。另外,
表的名稱不能使用Oracle的保留字。在一張表中最多可以包
含2000列。該語法中的其他部分根據需要添加,作用如下:
DEFAULT表達式:用來定義列的默認值。
COLUMNCONSTRAINT:用來定義列級的約束條件。
TABLECONSTRAINT:用來定義表級的約束條件。
TABLEPARTITIONCLAUSE:定義表的分區(qū)子句。
第4章表和視圖
【訓練1】創(chuàng)建圖書和出版社表。
步驟1:創(chuàng)建出版社表,輸入并執(zhí)行以下命令:
CREATETABLE出版社(
編號VARCHAR2Q),
出版社名稱VARCHAR2(30),
地址VARCHAR2(30),
聯系電話VARCHAR2(20)
);
執(zhí)行結果:
表已創(chuàng)建。
第4章表和視圖
步驟2:創(chuàng)建圖書表,輸入并執(zhí)行以下命令:
CREATETABLE圖書(
圖書編號VARCHAR2(5),
圖書名稱VARCHAR2(30),
出版社編號VARCHAR2(2),
作者VARCHAR2(10),
出版日期DATE,
數量NUMBER?),
單價NUMBER(7,2)
);
執(zhí)行結果:
表已創(chuàng)建。
第4章表和視圖
一步驟3:使用DESCRIBE顯示圖書表的結構,輸入并執(zhí)行
以下命令:
DESCRIBE圖書
執(zhí)行結果為:
名稱是否為空?類型
圖書編號VARCHAR2(5)
圖書名稱VARCHAR2(30)
出版社編號VARCHAR2(2)
作者VARCHAR2(10)
出版日期DATE
數量NUMBER(3)
單價NUMBER(7,2)
第4章表和視圖
說明:在以上訓練中,列名和數據類型之間用空格分
隔,數據類型后的括號中為寬度(日期類型除外)。對于有小
數的數字型,前一個參數為總寬度,后一個參數為小數位。
用逗號分隔各列定義,但最后一列定義后不要加逗號。
2.通過子查詢創(chuàng)建表
如果要創(chuàng)建一個同已有的表結構相同或部分相同的表,
可以采用以下的語法:
CREATETABLE表名(列名…)ASSQL查詢語句;
該語法既可以復制表的結構,也可以復制表的內容,并
可以為新表命名新的列名。新的列名在表名后的括號中給出,
如果省略將采用原來表的列名。復制的內容由查詢語句的
WHERE條件決定。
第4章表和視圖
【訓練2】通過子查詢創(chuàng)建新的圖書表。
步驟1:完全復制圖書表到“圖書1〃,輸入并執(zhí)行以下
命令:
CREATETABLE圖書1ASSELECT*FROM圖書;
執(zhí)行結果:
表已創(chuàng)建。
步驟2:創(chuàng)建新的圖書表“圖書2〃,只包含書名和單價,
輸入并執(zhí)行以下命令:
CREATETABLE圖書2(書名,單價)ASSELECT圖書名
稱,單價FROM圖書;
執(zhí)行結果:
表已創(chuàng)建。
第4章表和視圖
步驟3:創(chuàng)建新的圖書表“圖書3〃,只包含書名和
單價,不復制內容,輸入并執(zhí)行以下命令:
CREATETABLE圖書3(書名,單價)ASSELECT圖
書名稱,單價FROM圖書WHERE1=2;
執(zhí)行結果:
表已創(chuàng)建。
說明:“圖書1〃表的內容和結構同“圖書”表完
全一致,相當于表的復制。
第4章表和視圖
''圖書2〃表只包含“圖書”表的兩列“圖書名稱”
和“單價”,并且對字段重新進行了命名,“圖書2〃
表的“書名”對應“圖書”表的“圖書名稱”,“圖
書2〃表的“單價”對應“圖書”表的“單價”。
“圖書3〃表同“圖書2〃表的結構一樣,但表的內
容為空。因為WHERE條件始終為假,沒有滿足條件的
記錄,所以沒有復制表的內容。
3.設置列的默認值
可以在創(chuàng)建表的同時指定列的默認值,這樣在插
入數據時,如果不插入相應的列,則該列取默認值,
默認值由DEFAULT部分說明。
第4章表和視圖
【訓練3】創(chuàng)建表時設置默認值。
步驟1:創(chuàng)建表時,設置表的默認值。
CREATETABLE圖書4(
圖書編號VARCHAR2(5)DEFAULTNULL,
圖書名稱VARCHAR2(30)DEFAULT,未知;
出版社編號VARCHAR2(2)DEFAULTNULL,
出版日期DATEDEFAULT,。1-1月-1900;
作者VARCHAR2(10)DEFAULTNULL,
數量NUMBER(3)DEFAULT0,
單價NUMBER(7,2)DEFAULTNULL,
借出數量NUMBER(3)DEFAULT0
);
執(zhí)行結果:
表目創(chuàng)建。
?--吞M*-*'-
第4章表和視圖
步驟2:插入數據。
INSERTINTO圖書4(圖書編號)VALUES(AOOOr);
執(zhí)行結果:
已創(chuàng)建1行。
步驟2:查詢插入結果。
SELECT*FROM圖書4;
第4章表和視圖
執(zhí)行結果:
圖書圖書名稱出版日期作者數量單
價借出數量
A0001未知01-1月-0000
0
說明:本訓練中,只插入圖書編號,其他部分取的
是默認值。圖書名稱默認為“未知”,出版日期默認為
1900年1月1日,數量默認為0,出版社編號、作者和單
價的默認值為NULL。
第4章表和視圖
【練習1】創(chuàng)建圖書出借信息表,設置適當的默認
值,并插入數據。
結構如下:
名稱是否為空?類型
圖書編號VARCHAR2(10)
借書人VARCHAR2(10)
借書日期DATE
歸還日期DATE
第4章表和視圖
4.刪除已創(chuàng)建的表
刪除表的語法如下:
DROPTABLE表名[CASCADECONSTRAINTS];
表的刪除者必須是表的創(chuàng)建者或具有DROPANY
TABLE權限。CASCADECONSTRAINTS表示當要冊U
除的表被其他表參照時,刪除參照此表的約束條件。
有關內容請參考下一節(jié)。
第4章表和視圖
【訓練4】刪除“圖書1〃表。
DROPTABLE圖書1;
執(zhí)行結果:
表已丟棄。
【練習2】刪除“圖書2〃、“圖書3〃和“圖書4〃表。
第4章表和視圖
4.1.2表的操作
1.表的重命名
語法如下:
RENAME舊表名TO新表名;
只有表的擁有者,才能修改表名。
【訓練1】修改“圖書”表為“圖書5〃表:
RENAME圖書TO圖書5;
執(zhí)行結果:
表已重命名。
;'二w片
第4章表和視圖
2.清空表
清空表的語法為:
TRUNCATETABLE表名;
清空表可刪除表的全部數據并釋放占用的存儲空間。
有關訓練請參照DELETE語句部分,注意兩者的區(qū)別。
3.添加注釋
(1)為表添加注釋的語法為:
COMMENTONTABLE表名IS
該語法為表添加注釋字符串。如IS后的字符串為空,
則清除表注釋。
第4章表和視圖
【訓練2】為emp表添加注釋:“公司雇員列表”。
COMMENTONTABLEempIS,公司雇員列表,;
執(zhí)行結果:
注釋已創(chuàng)建。
(2)為列添加注釋的語法為:
COMMENTONCOLUMN表名.列名IS
該語法為列添加注釋字符串。如IS后的字符串為空,
則清除列注釋。
<1
第4章表和視圖
【訓練3】為emp表的deptno列添加注釋:“部門編
號”。
COMMENTONCOLUMNemp.deptnoIS,部門編號:
執(zhí)行結果:
注釋已創(chuàng)建。
【練習1】清除emp表的注釋。
4.1.3查看表
使用以下語法可查看表的結構:
DESCRIBE表名;
DESCRIBE可以簡寫為DESC。
可以通過對數據字典USERJDBJECTS的查詢,顯示當
前模式用療的所有表。
第4章表和視圖
【訓練1】顯示當前用戶的所有表。
SELECTobjectnameFROMuserobjectsWHERE
objecttypeeTABLE,;
執(zhí)行結果:
OBJECTNAME
BONUS
DEPT
EMP
SALGRADE
出版社
圖書
第4章表和視圖
4.2數據完整性和約束條件
4.2.1數據完整性約束
表的數據有一定的取值范圍和聯系,多表之間的數據
有時也有一定的參照關系。在創(chuàng)建表和修改表時,可通過定
義約束條件來保證數據的完整性和一致性。約束條件是一些
規(guī)則,在對數據進行插入、刪除和修改時要對這些規(guī)則進行
驗證,從而起到約束作用。
L品
第4章表和視圖
完整性包括數據完整性和參照完整性,數據完整
性定義表數據的約束條件,參照完整性定義數據之間
的約束條件。數據完整性由主鍵(PRIMARYKEY)、非
空(NOTNULL)、惟一(UNIQUE)和檢查(CHECK)約束
條件定義,參照完整性由外鍵(FOREIGNKEY)約束條
件定義。
第4章表和視圖
4.2.1數據完整性約束
表的數據有一定的取值范圍和聯系,多表之間的數據
有時也有一定的參照關系。在創(chuàng)建表和修改表時,可通過
定義約束條件來保證數據的完整性和一致性。約束條件是
一些規(guī)則,在對數據進行插入、刪除和修改時要對這些規(guī)
則進行驗證,從而起到約束作用。
完整性包括數據完整性和參照完整性,數據完整性定
義表數據的約束條件,參照完整性定義數據之間的約束條
件。數據完整性由主鍵(PRIMARYKEY)、非空(NOT
NULL)、惟—(UNIQUE)和檢查(CHECK)約束條件定義,
參照完整性由外鍵(FOREIGNKEY)約束條件定義。
第4章表和視圖
4.2.2表的五種約束
表共有五種約束,它們是主鍵、非空、惟一、檢查和外
鍵。
1.主鍵(PRIMARYKEY)
主鍵是表的主要完整性約束條件,主鍵惟一地標識表的
每一行。一般情況下表都要定義主鍵,而且一個表只能定義
一個主鍵。主鍵可以包含表的一列或多列,如果包含表的多
列,則需要在表級定義。主鍵包含了主鍵每一列的非空約束
和主鍵所有列的惟一約束。主鍵一旦成功定義,系統將自動
生成一個B*樹惟一索引,用于快速訪問主鍵列。比如圖書
表中用“圖書編號”列作主鍵,“圖書編號”可以惟一地標
識圖書表的每一行。
產「4后9》2
|第4章表和視圖
主鍵約束的語法如下:
[CONSTRANT約束名]PRIMARYKEY
--列級
[CONSTRANT約束名]PRIMARYKEY(列名1,列名2,...)-
-表級
2.非空(NOTNULL)
非空約束指定某列不能為空,它只能在列級定義。在默
認情況下,Oracle允許列的內容為空值。比如“圖書名稱”
列要求必須填寫,可以為該列設置非空約束條件。
非空約束語法如下:
[CONSTRANT約束名]NOTNULL
--列級
第4章表和視圖
約束分為兩級,一個約束條件根據具體情況,可
以在列級或表級定義。
列級約束:約束表的某一列,出現在表的某列定
義之后,約束條件只對該列起作用。
表級約束:約束表的一列或多列,如果涉及到多
列,則必須在表級定義。表級約束出現在所有列定義
之后O
|第4章表和視圖
4.2.2表的五種約束
表共有五種約束,它們是主鍵、非空、惟一、檢查和外
鍵。
1.主鍵(PRIMARYKEY)
主鍵是表的主要完整性約束條件,主鍵惟一地標識表的
每一行。一般情況下表都要定義主鍵,而且一個表只能定義
一個主鍵。主鍵可以包含表的一列或多列,如果包含表的多
列,則需要在表級定義。主鍵包含了主鍵每一列的非空約束
和主鍵所有列的惟一約束。主鍵一旦成功定義,系統將自動
生成一個B*樹惟一索引,用于快速訪問主鍵列。比如圖書表
中用“圖書編號”列作主鍵,“圖書編號”可以惟一地標識
圖書表的每一行。
第4章表和視圖
主鍵約束的語法如下:
[CONSTRANT約束名]PRIMARYKEY
--列級
[CONSTRANT約束名]PRIMARYKEY(列名1,列
名2,...)--表級
|第4章表和視圖
2.非空(NOTNULL)
非空約束指定某列不能為空,它只能在列級定義。在
默認情況下,Oracle允許列的內容為空值。比如“圖書名
稱”列要求必須填寫,可以為該列設置非空約束條件。
非空約束語法如下:
[CONSTRANT約束名]NOTNULL
--列級
3.(UNIQUE)
惟一約束條件要求表的一列或多列的組合內容必須惟
一,即不相重,可以在列級或表級定義。但如果惟一約束
包含表的多列,則必須在表級定義。比如出版社表的“聯
系電話”不應該重復,可以為其定義惟一約束。
第4章表和視圖
惟一約束的語法如下:
[CONSTRANT約束名]UNIQUE
--列級
[CONSTRANT約束名]UNIQUE(列名1,列名2,...)
--表級
第4章表和視圖
4.檢查(CHECK)
檢查約束條件是用來定義表的一列或多列的一個
約束條件,使表的每一列的內容必須滿足該條件(列的
內容為空除外)。在CHECK條件中,可以調用
SYSDATE、USER等系統函數。一個列上可以定義多
個CHECK約束條件,一個CHECK約束可以包含一列
或多列。如果CHECK約束包含表的多列,則必須在表
級定義。比如圖書表的“單價”的值必須大于零,就
可以設置成CHECK約束條件。
第4章表和視圖
檢查約束的語法如下:
[CONSTRANT約束名]CHECK(約束條件)--歹U級,約
束條件中只包含本列
[CONSTRANT約束名]CHECK(約束條件)一表級,約
束條件中包含多列
5.外鍵(FOREIGNKEY)
指定表的一列或多列的組合作為外鍵,外鍵參照指定的
主鍵或惟一鍵。外鍵的值可以為NULL,如果不為NULL,
就必須是指定主鍵或惟一鍵的值之一。外鍵通常用來約束兩
個表之間的數據關系,這兩個表含有主鍵或惟一鍵的稱為主
表,定義外鍵的那張表稱為子表。如果外鍵只包含一列,則
可以在列級定義;如果包含多列,則必須在表級定義。
第4章表和視圖
外鍵的列的個數、列的數據類型和長度,應該和
參照的主鍵或惟一鍵一致。比如圖書表的“出版社編
號”歹U,可以定義成外鍵,參照出版社表的“編號”
列,但“編號”列必須先定義成為主鍵或惟一鍵。如
果外鍵定義成功,則出版社表稱為主表,圖書表稱為
子表。在表的創(chuàng)建過程中,應該先創(chuàng)建主表,后創(chuàng)建
子表。
|第4章表和視圖
外鍵約束的語法如下:
第一種語法,如果子記錄存在,則不允許刪除主記錄:
[CONSTRANT約束名]FOREIGNKEY(列名1,列名
2,…)REFERENCES表名(列名1,列名2,…)
第二種語法,如果子記錄存在,則刪除主記錄時,級聯
刪除子記錄:
[CONSTRANT約束名]FOREIGNKEY(列名1,列名
2,…)REFERENCES表名(歹U名1,列名2,…)ondeletecascade
第4章表和視圖
第三種語法,如果子記錄存在,則刪除主記錄時,
將子記錄置成空:
[CONSTRANT約束名]FOREIGNKEY(列名1,列
名2,...)REFERENCES表名(列名1,列名2,…)ondeleteset
null其中的表名為要參照的表名。
在以上5種約束的語法中,CONSTRANT關鍵字用
來定義約束名,如果省略,則系統自動生成以SYS_開
頭的惟一約束名。約束名的作用是當發(fā)生違反約束條
件的操作時,系統會顯示違反的約束條件名稱,這樣
用戶就可以了解到發(fā)生錯誤的原因。
迫.一
第4章表和視圖
4.2.3約束條件的創(chuàng)建
在表的創(chuàng)建語法中可以定義約束條件:
CREATETABLE表名(列名數據類型[DEFAULT表
達式][COLUMNCONSTRAINT],...
[TABLECONSTRAINT]
);
其中,COLUMNCONSTRAINT用來定義列級約束
條件;TABLECONSTRAINT用來定義表級約束條件。
第4章表和視圖
【訓練1】創(chuàng)建帶有約束條件的出版社表(如果已經存
在,先刪除):
CREATETABLE出版社(
編號VARCHAR2(2)CONSTRAINTPK_1PRIMARY
KEY,一
出版社名稱VARCHAR2(30)NOTNULL,
地址VARCHAR2(30)DEFAULT,未知;
聯系電話VARCHAR2(20)
);
執(zhí)行結果:
表已創(chuàng)建。
說明:出版社表的主鍵列是“編號”歹U,主鍵名為
PK_lo"出版社名稱”必須填寫,地址的默認值為“未
知“。.
第4章表和視圖
【訓練2】創(chuàng)建帶有約束條件(包括外鍵)的圖書表
(如果已經存在,先刪除):
CREATETABLE圖書(圖書編號VARCHAR2(5)
CONSTRAINTPK_2PRIMARYKEY,
圖書名稱VARCHAR2(30)NOTNULL,
出版社編號VARCHAR2(2)CHECK(LENGTH(出
版社編號尸2)NOTNULL,
作者VARCHAR2(10)DEFAULT,未知;
出版日期DATEDEFAULT,。1-1月-1900;
第4章表和視圖
數量NUMBER(3)DEFAULT1CHECK(數量>0),
單價NUMBER4,2),
CONSTRAINTYS_1UNIQUE(圖書名稱,作者),
CONSTRAINTFK_1FOREIGNKEY(出版社編號)
REFERENCES出版社(編號)ONDELETECASCADE
);
執(zhí)行結果:
表已創(chuàng)建。
一」爬
第4章表和視圖
說明:因為兩個表同屬于一個用戶,故約束名不能相
重,圖書表的主鍵為“圖書編號”歹U,主鍵名為PK_2。其
中,約束條件CHECK(LENGTH(出版社編號尸2)表示出版
社編號的長度必須是2,約束條件UNIQUE(圖書名稱,作者)
表示“圖書名稱”和“作者”兩列的內容組合必須惟一。
FOREIGNKEY(出版社編號)REFERENCES出版社(編號)
表示圖書表的“出版社編號”列參照出版社的“編號”主
鍵列。出版社表為主表,圖書表為子表,出版社表必須先
創(chuàng)建。ONDELETECASCADE表示當刪除出版社表的記錄
時,圖書表中的相關記錄同時刪除,比如刪除清華大學出
版社,則圖書表中清華大學出版社的圖書也會被刪除。
如果同時出現DEFAULT和CHECK,則DEFAULT需要
出現在CHECK約束條件之前。
第4章表和視圖
【訓練3】插入數據,驗證約束條件。
步驟1:插入出版社信息:
INSERTINTO出版社VALUESfOl;清華大學出版社?
北京;
執(zhí)行結果:
已創(chuàng)建1行。
繼續(xù)插入
INSERTINTO出版社VALUESC01;電子科技大學出版
社T西安);
執(zhí)行結果:
ERROR位于第1行:
ORA-00001:違反惟一約束條件(SCOTT.PK」)
第4章表和視圖
第二個插入語句違反約束條件PK」,即出版社表的主鍵
約束,原因是主鍵的值必須是惟一的。修改第二個語句的編
號為“02〃,重新執(zhí)行:
INSERTINTO出版社VALUES(,02?電子科技大學出版
社?西安
執(zhí)行結果:
已創(chuàng)建1行。
步驟2:插入圖書信息:
INSERTINTO圖書(圖書編號,圖書名稱,出版社編號,作
者,單價)VALUESCA0001?計算機原理?01;劉勇:25.30);
執(zhí)行結果:
已創(chuàng)建1行。
第4章表和視圖
繼續(xù)插入:
INSERTINTO圖書(圖書編號,圖書名稱,出版社編號,
作者,單價)VALUES(1A00027C語言程序設計馬麗:
18.75);
執(zhí)行結果:
ERROR位于第1行:
ORA-02291:違反完整約束條件(SCOTT.FK」)-未找到
父項關鍵字
第二個插入語句違反外鍵約束關系FK」,因為在出版
社表中,被參照的主鍵列中沒有“03〃這個出版社,所以產
生未找到父項關鍵字的錯誤,修改后重新插入:
第4章表和視圖
INSERTINTO圖書(圖書編號,圖書名稱,出版社
編號,作者,單價)VALUES('A0002,,'C語言程序設
計‘,'02','馬麗’,18.75);
執(zhí)行結果:
已創(chuàng)建1行。
繼續(xù)插入:
INSERTINTO圖書(圖書編號,圖書名稱,出版社編
號,作者,數量,單價)VALUESCA00031匯編語言程序設
計?02;黃海明:0,20.18);
i:渴上金--…
第4章表和視圖
執(zhí)行結果:
ERROR位于第1行:
ORA-02290:違反檢查約束條件
(SCOTT.SYS_C003114)
插入的數量為0,違反約束條件CHECK(數量>0)。
該約束條件沒有命名,所以約束名SYS_C003114為系
統自動生成。修改后重新執(zhí)行:
INSERTINTO圖書(圖書編號,圖書名稱,出版社編
號,作者,數量,單價)VALUES(,A0003;匯編語言程序設
計?02;黃海明:15,20.18);
—
第4章表和視圖
執(zhí)行結果:
已創(chuàng)建1行。
步驟3:顯示插入結果:
SELECT*FROM出版社;
執(zhí)行結果:
編號出版社名稱地址聯系電話
第4章表和視圖
01清華大學出版社北京010-
83456272
02電子科技大學出版社西安
繼續(xù)查詢:
SELECT*FROM圖書;
執(zhí)行結果:
圖書編號圖書名稱出版社編號作者出
版日期數量單價
第4章表和視圖
A0001計算機原理01劉勇01-1月-001
25.3
A0002C語言程序設計02馬麗01-1月-001
18.75
A0003匯編語言程序設計02黃海明01-1月-0015
20.18
步驟4:提交插入的數據:
COMMIT;
執(zhí)行結果:
提交完成。
說明:在圖書表中,沒有插入的數量取默認值1,沒有
插入的出版日期取默認值01-1月-00(即1900年1月1日)。
第4章表和視圖
【訓練4】通過刪除數據驗證ONDELETE
CASCADE的作用。
步驟1:刪除出版社01(清華大學):
DELETEFROM出版社WHERE編號士01;
執(zhí)行結果:
已刪除1行。
第4章表和視圖
步驟2:顯示刪除結果:
顯示出版社表結果:
SELECT*FROM出版社;
執(zhí)行結果:
編號出版社名稱地址聯系電話
02電子科技大學出版社西/p>
顯示圖書表結果:
SELECT*FROM圖書;
第4章表和視圖
執(zhí)行結果:
圖書編號圖書名稱出版社編號作者出
版日期數量單價
AOOO2c語言程序設計02馬麗01-1月-001
18.75
A0003匯編語言程序設計02黃海明01-1月-00
1520.18
第4章表和視圖
步驟3:恢復刪除:
ROLLBACK;
回退已完成。
說明:參見訓練2,外鍵約束FK_1帶有ON
DELETECASCAD選項,刪除清華大學出版社時,對
應的圖書也自動刪除。其他兩種情況用戶可自行驗證。
【練習1】創(chuàng)建學生、系部表,添加必要主鍵、外
鍵等約束條件。
第4章表和視圖
4.2.4查看約束條件
數據字典USER_CONSTRAINTS中包含了當前模式用
戶的約束條件信息。其中,CONSTRAINTS_TYPE顯示
的約束類型為:
C:CHECK約束。
P:PRIMARYKEY約束。
U:UNIQUE約束。
R:FOREIGNKEY約束。
其他信息可根據需要進行查詢顯示,可用DESCRIBE
命令查看USER_CONSTRAINTS的結構。
第4章表和視圖
【訓練1】檢查表的約束信息:
SELECT
CONSTRAINT_NAME,CONSTRAINT_TYPE,SEARCH_CONDITI
ONFROMUSERCONSTRAINTS
WHERETABLENAME士圖書';
執(zhí)行結果:
CONSTRAINTNAMECSEARCHCONDITION
SYS_C003111C”圖書名稱“ISNOTNULL
SYS_C003112C”出版社編號“ISNOTNULL
SYS_C003113CLENGTH(出版社編號)=2
SYS_C003114C數量>0
PK_2P
YS_1U
第4章表和視圖
說明:圖書表共有7個約束條件,一個PRIMARY
KEY(P)約束PK2,一個FOREIGNKEY(R)約束FK1,一
個UNIQUE(R)約束YS_1和4個CHECK(C)約束
SYS_C003111>SYS_C003112>SYS_C003113
和SYS_C003114,4個CHECK約束的名字是由系統命
名的。
第4章表和視圖
4.2.5使約束生效和失效
約束的作用是保護數據完整性,但有的時候約束的條
件可能不再適用或沒有必要,如果這個約束條件依然發(fā)生
作用就會影響操作的效率,比如導出和導入數據時要暫時
關閉約束條件,這時可以使用下面的命令關閉或打開約束
條件。
使約束條件失效:
ALTERTABLE表名DISABLECONSTRANT約束名;
使約束條件生效:
ALTERTABLE表名ENABLECONSTRANT約束名;
第4章表和視圖
【訓練1】使圖書表的數量檢查失效。
步驟1:使約束條件SYS_C003114(數量>0)失效:
ALTERTABLE圖書DISABLECONSTRAINT
SYS_C003114;
執(zhí)行結果:
表已更改。
步驟2:修改數量為0:
UPDATE圖書SET數量=0WHERE圖書編號與A000P;
執(zhí)行結果:
已更新1行。
__
第4章表和視圖
步驟3:使約束條件SYS_C003114生效:
ALTERTABLE圖書ENABLECONSTRAINT
SYS_C003114;
執(zhí)行結果:
ERROR位于第1行:
ORA-02293:無法驗證(SCOTT.SYS_C003114)-違反檢
查約束條件
繼續(xù)執(zhí)行:
UPDATE圖書SET數量=5WHERE圖書編號士A000P;
執(zhí)行結果:
已更新1行。
第4章表和視圖
繼續(xù)執(zhí)行:
ALTERTABLE圖書ENABLECONSTRAINT
SYS_C003114;
執(zhí)行結果:
表已更改。
說明:在步驟1中,先使名稱為SYS_C003114(數
量>0)的檢查條件暫時失效,所以步驟2修改第1條記錄
的數量為0才能成功。步驟3使該約束條件重新生效,
但因為表中有數據不滿足該約束條件,所以發(fā)生錯誤,
通過修改第一條記錄的數量為5,使約束條件重新生效。
第4章表和視圖
4.3修改表結構
4.3.1增加新列
增加新列的語法如下:
ALTERTABLE表名
ADD列名數據類型[DEFAULT表達式][COLUMN
CONSTRAINT];
如果要為表同時增加多列,可以按以下格式進行:
ALTERTABLE表名
ADD(歹ij名數據類型[DEFAULT表達式][COLUMN
CONSTRAINT]...);
第4章表和視圖
通過增加新列可以指定新列的數據類型、寬度、默認值
和約束條件。增加的新列總是位于表的最后。假如新列定義
了默認值,則新列的所有行自動填充默認值。對于有數據的
表,新增加列的值為NULL,所以有數據的表,新增加列不
能指定為NOTNULL約束條件。
【訓練1】為“出版社”增加一列“電子郵件”:
ALTERTABLE出版社
ADD電子郵件VARCHAR2(30)CHECK(電子郵件LIKE
%@%)
顯示結果:
表已更改。
?X
第4章表和視圖
說明:為出版社新增加了一列“電子郵件”,數
據類型為VARCHAR2,寬度為30。CHECK(電子郵件
LIKE%@%,)表示電子郵件中必須包含字符“@〃???/p>
用DESCRIBE命令查看表的新結構。
第4章表和視圖
4.3.2修改列
修改列的語法如下:
ALTERTABLE表名
MODIFY列名數據類型[DEFAULT表達式][COLUMN
CONSTRAINT]
如果要對表同時修改多列,可以按以下格式進行:
ALTERTABLE表名
MODIFY(列名數據類型[DEFAULT表達式][COLUMN
CONSTRAINT]...);
其中,列名是要修改的列的標識,不能修改。如果要改
變列名,只能先刪除該列,然后重新增加。其他部分都可以
進行修改,如果沒有給出新的定義,表示該部分屬性不變。
第4章表和視圖
修改列定義還有以下一些特點:
(1)列的寬度可以增加或減小,在表的列沒有數據
或數據為NULL時才能減小寬度。
(2)在表的列沒有數據或數據為NULL時才能改變
數據類型,CHAR和VARCHAR2之間可以隨意轉換。
(3)只有當列的值非空時,才能增加約束條件NOT
NULLo
(4)修改列的默認值,只影響以后插入的數據。
第4章表和視圖
【訓練1】修改“出版社”表“電子郵件”列的
寬度為40。
ALTERTABLE出版社
MODIFY電子郵件VARCHAR2(40);
執(zhí)行結果:
表已更改。
說明:將“電子郵件”列的寬度由原來的30修改
為40,約束條件保持不變??捎肈ESCRIBE命令查看
新結構。
第4章表和視圖
4.3.3刪除列
刪除列的語法如下:
ALTERTABLE表名
DROPCOLUMN歹U名[CASCADE
CONSTRAINTS];
如果要同時刪除多列,可以按以下格式進行:
ALTERTABLE表名
DROP(COLUMN列名數據類型[DEFAULT表達
式][COLUMNCONSTRAINT]...)
[CASCADECONSTRAINTS];
當刪除列時,列上的索引和約束條件同時被刪除。
但如果列是多列約束的一部分,則必須指定CASCADE
CONSTRAINTS才能刪除約束條件。
第4章表和視圖
【訓練1】刪除“出版社”表的“電子郵件”列。
ALTERTABLE出版社
DROPCOLUMN電子郵件;
執(zhí)行結果:
表已更改。
說明:此訓練將“電子郵件”列刪除??捎?/p>
DESCRIBE命令查看新結構。
第4章表和視圖
使用以下語法,可以將列置成UNUSED狀態(tài),這
樣就不會在表中顯示出該列:
ALTERTABLE表名SETUNUSEDCOLUMN歹U
名[CASCADECONSTRAINTS];
以后可以重新使用或刪除該列。通過數據字典可
以查看標志成UNUSED的列。
刪除標志成UNUSED的列:
ALTERTABLE表名DROPUNUSEDCOLUMNS;
第4章表和視圖
【訓練2】將“圖書”表的“出版日期”列置成
UNUSED,并查看。
步驟1:設置“出版日期”歹U為UNUSED:
ALTERTABLE圖書SETUNUSEDCOLUMN出版日期;
步驟2:顯示結構:
DESC圖書;
執(zhí)行結果:
名稱是否為空?類型
第4章表和視圖
圖書編號NOTNULLVARCHAR2(5)
圖書名稱NOTNULLVARCHAR2(30)
出版社編號NOTNULLVARCHAR2(2)
作者VARCHAR2(10)
數量NUMBER(3)
單價NUMBER(7,2)
步驟3:冊[J除UNUSED歹U:
ALTERTABLE圖書DROPUNUSEDCOLUMNS;
執(zhí)行結果:
表已更改。
第4章表和視圖
4.3.4約束條件的修改
可以為表增加或刪除表級約束條件。
1.增加約束條件
增加約束條件的語法如下:
ALTERTABLE表名ADD[CONSTRAINT約束名]表級
約束條件;
【訓練1】為emp表的mgr列增加外鍵約束:
ALTERTABLEempADDCONSTRAINTFK_3
FOREIGNKEY(mgr)REFERENCESemp(empno);一
執(zhí)行結果:
表已更改。
說明:本訓練增加的外鍵為參照自身的外鍵,含義是
mgr(經理編號)列的內容必須是empno(雇員編號)之一。
第4章表和視圖
2.刪除約束條件
刪除約束條件的語法如下:
ALTERTABLE表名
DROPPRIMARY_KEY|UNIQUE(列
名[CONSTRAINT約束名[CASCADE];
【訓I練2】刪除為emp表的mgr列增加的外鍵約束:
ALTERTABLEempDROPCONSTRAINTFK_3;
執(zhí)行結果:
表已更改。
第4章表和視圖
4.4分區(qū)表簡介
4.4.1分區(qū)的作用
在某些場合會使用非常大的表,比如人口信息統
計表。如果一個表很大,就會降低查詢的速度,并增
加管理的難度。一旦發(fā)生磁盤損壞,可能整個表的數
據就會丟失,恢復比較困難。根據這一情況,可以創(chuàng)
建分區(qū)表,把一個大表分成幾個區(qū)(小段),對數據的操
作和管理都可以針對分區(qū)進行,這樣就可以提高數據
庫的運行效率。分區(qū)可以存在于不同的表空間上,提
高了數據的可用性。
第4章表和視圖
分區(qū)的依據可以是一列或多列的值,這一列或多列稱為分
區(qū)關鍵字或分區(qū)列。
所有分區(qū)的邏輯屬性是一樣的(列名、數據類型、約束條
件等),但每個分區(qū)可以有自己的物理屬性(表空間、存儲參數
等)。
分區(qū)有三種:范圍分區(qū)、哈斯分區(qū)和混合分區(qū)。
范圍分區(qū)(RANGEPARTITIONING):根據分區(qū)關鍵字值
的范圍建立分區(qū)。比如,根據省份為人口數據表建立分區(qū)。
哈斯分區(qū)(HASHPARTITIONING):在分區(qū)列上使用
HASH算法進行分區(qū)。
混合分區(qū)(COMPOSITEPARTITIONING):混合以上兩種
方法,使用范圍分區(qū)建立主分區(qū),使用HASH算法建立子分區(qū)。
第4章表和視圖
4.4.2分區(qū)的實例
由于分區(qū)用到了很多存儲參數,故不在這里進行
詳細討論,只給出一個范圍分區(qū)的簡單訓練實例。
【訓練1】創(chuàng)建和使用分區(qū)表。
步驟1:創(chuàng)建按成績分區(qū)的考生表,共分為3個區(qū):
CREATETABLE考生(
考號VARCHAR2(5),
姓名VARCHAR2(30),
成績NUMBER(3)
)
第4章表和視圖
PARTITIONBYRANGE(成績)
(PARTITIONAVALUESLESSTHAN(300)
TABLESPACEUSERS,
PARTITIONBVALUESLESSTHAN(500)
TABLESPACEUSERS,
PARTITIONCVALUESLESSTHAN
(MAXVALUE)
TABLESPACEUSERS
);
?2:—,,
第4章表和視圖
步驟2:插入不同成績的若干考生:
INSERTINTO考生VALUES(100011王明;280);
INSERTINTO考生VALUES(10002;李亮:730);
INSERTINTO考生VALUES。10003;趙成:550);
INSERTINTO考生VALUES。10004;黃凱:490);
INSERTINTO考生VALUES(100051馬新;360);
INSERTINTO考生VALUES('10006','楊麗',670);
第4章表和視圖
步驟3:檢查A區(qū)中的考生:
SELECT*FROM考生PARTITION(A);
執(zhí)行結果:
考號姓名成績
10001王明280
步驟4:檢查全部的考生:
SELECT*FROM考生;
執(zhí)行結果:
考號姓名成績
第4章表和視圖
10001王明280
10004黃凱490
10005馬新360
10002李亮730
10003趙成550
10006楊麗670
說明:共創(chuàng)建A、B、C三個區(qū),A區(qū)的分數范圍為300
分以下,B區(qū)的分數范圍為300至500分,C區(qū)的分數范圍為
500分以上。共插入6名考生,插入時根據考生分數將自動
插入不同的區(qū)。
第4章表和視圖
4.5視圖創(chuàng)建和操作
4.5.1視圖的概念
視圖是基于一張表或多張表或另外一個視圖的邏輯
表。視圖不同于表,視圖本身不包含任何數據。表是實際
獨立存在的實體,是用于存儲數據的基本結構。而視圖只
是一種定義,對應一個查詢語句。視圖的數據都來自于某
些表,這些表被稱為基表。通過視圖來查看表,就像是從
不同的角度來觀察一個(或多個)表。
視圖有如下一些優(yōu)點:
*可以提高數據訪問的安全性,通過視圖往往只可以
訪問數據庫中表的特定部分,限制了用戶訪問表的全部行
和列。
第4章表和視圖
*簡化了對數據的查詢,隱藏了查詢的復雜性。視圖
的數據來自一個復雜的查詢,用戶對視圖的檢索卻很簡單。
*一個視圖可以檢索多張表的數據,因此用戶通過訪
問一個視圖,可完成對多個表的訪問。
*視圖是相同數據的不同表示,通過為不同的用戶創(chuàng)
建同一個表的不同視圖,使用戶可分別訪問同一個表的不
同部分。
視圖可以在表能夠使用的任何地方使用,但在對視圖
的操作上同表相比有些限制,特別是插入和修改操作。對
視圖的操作將傳遞到基表,所以在表上定義的約束條件和
觸發(fā)器在視圖上將同樣起作用。
第4章表和視圖
4.5.2視圖的創(chuàng)建
創(chuàng)建視圖需要CREAEVIEW系統權限,視圖的創(chuàng)建語法如
下:
CREATE[ORREPLACE][FORCE|NOFORCE]VIEW視圖
名[(別名1[,別名2…[)]
AS子查詢
[WITHCHECKOPTION[CONSTRAINT約束名]]
[WITHREADONLY]
其中:
ORREPLACE表示替代已經存在的視圖。
FORCE表示不管基表是否存在,創(chuàng)建視圖。
NOFORgp表示只有基表存在時,才創(chuàng)建視圖,是默認值。
第4章表和視圖
別名是為子查詢中選中的列新定義的名字,替代查詢表
中原有的列名。
子查詢是一個用于定義視圖的SELECT查詢語句,可以
包含連接、分組及子查詢。
WITHCHECKOPTION表示進行視圖插入或修改時必須
滿足子查詢的約束條件。后面的約束名是該約束條件的名字。
WITHREADONLY表示視圖是只讀的。
刪除視圖的語法如下:
DROPVIEW視圖名;
刪除視圖者需要是視圖的建立者或者擁有DROPANY
VIEW權限。視圖的刪除不影響基表,不會丟失數據。
第4章表和視圖
1.創(chuàng)建簡單視圖
【訓練1】創(chuàng)建圖書作者視圖。
步驟1:創(chuàng)建圖書作者視圖:
CREATEVIEW圖書作者(書名,作者)
ASSELECT圖書名稱,作者FROM圖書;
輸出結果:
視圖已建立。
步驟2:查詢視圖全部內容
SELECT*FROM圖書作者;
輸出結果:
書名作者
第4章表和視圖
計算機原理劉勇
C語言程序設計馬麗
匯編語言程序設計黃海明
步驟3:查詢部分視圖:
SELECT作者FROM圖書作者;
輸出結果:
作者
劉勇
馬麗
黃海明
第4章表和視圖
說明:本訓練創(chuàng)建的視圖名稱為“圖書作者”,
視圖只包含兩列,為“書名”和“作者”,對應圖書
表的“圖書名稱”和“作者”兩列。如果省略了視圖
名稱后面的列名,則視圖會采用和表一樣的列名。對
視圖查詢和對表查詢一樣,但通過視圖最多只能看到
表的兩列,可見視圖隱藏了表的部分內容。
第4章表和視圖
【訓練2】創(chuàng)建清華大學出版社的圖書視圖。
步驟1:創(chuàng)建清華大學出版社的圖書視圖:
CREATEVIEW清華圖書
ASSELECT圖書名稱,作者,單價FROM圖書
WHERE出版社編號=DP;
執(zhí)行結果:
視圖已建立。
步驟2:查詢圖書視圖:
SELECT*FROM清華圖書;
執(zhí)行結果:
圖書名稱作者單價
第4章表和視圖
計算機原理劉勇25.3
步驟3:刪除視圖:
DROPVIEW清華圖書;
執(zhí)行結果:
視圖已丟掉。
說明:該視圖包含了對記錄的約束條件。
【練習1】創(chuàng)建部門30的雇員名稱和職務的視圖,并查
詢。
【練習2】創(chuàng)建職務為“MANAGER〃的雇員名稱和工資
的視圖,并查詢。
第4章表和視圖
2.創(chuàng)建復雜視圖
【訓練3】修改作者視圖,加入出版社名稱。
步驟1:重建圖書作者視圖:
CREATEORREPLACEVIEW圖書作者(書名,作
者,出版社)
ASSELECT圖書名稱,作者,出版社名稱FROM圖
書,出版社
WHERE圖書.出版社編號=出版社.編號;
輸出結果:
視圖已建立。
第4章表和視圖
步驟2:查詢新視圖內容:
SELECT*FROM圖書作者;
輸出結果:
書名作者出版社
計算機原理劉勇清華大學出版社
C語言程序設計馬麗電子科技大學出版社
匯編語言程序設計黃海明電子科技大學出版社
說明:本訓練中,使用了ORREPLACE選項,使新的視
圖替代了同名的原有視圖,同時在查詢中使用了相等連接,
使得視圖的列來自于兩個不同的基表。
第4章表和視圖
【訓練4】創(chuàng)建一個統計視圖。
步驟1:創(chuàng)建emp表的一個統計視圖:
CREATEVIEW統計表(部門名,最大工資,最小工資,平
均工資)
ASSELECT
DNAME,MAX(SAL),MIN(SAL),AVG(SAL)FROMEMP
E,DEPTD
WHEREE.DEPTNO=D.DEPTNOGROUPBYDNAME;
執(zhí)行結果:
視圖已建立。
第4章表和視圖
步驟2:查詢統計表:
SELECT*FROM統計表;
執(zhí)行結果:
部門名最大工資最小工資平均工資
ACCOUNTING500013003050
RESEARCH30008002175
SALES28509501566.66667
說明:本訓練中,使用了分組查詢和連接查詢作為視
圖的子查詢,每次查詢該視圖都可以得到統計結果。
第4章表和視圖
3.創(chuàng)建只讀視圖
創(chuàng)建只讀視圖要用WITHREADONLY選項。
【訓練5】創(chuàng)建只讀視圖。
步驟1:創(chuàng)建emp表的經理視圖:
CREATEORREPLACEVIEWmanager
ASSELECT*FROMempWHEREjob=
?MANAGER'
WITHREADONLY;
執(zhí)行結果:
視圖已建立。
|第4章表和視圖
步驟2:進行刪除:
DELETEFROMmanager;
執(zhí)行結果:
ERROR位于第1行:
ORA-01752:不能從沒有一個鍵值保存表的視圖中刪除
4.創(chuàng)建基表不存在的視圖
正常情況下,不能創(chuàng)建錯誤的視圖,特別是當基表還不
存在時。但使用FORCE選項就可以在創(chuàng)建基表前先創(chuàng)建視
圖。創(chuàng)建的視圖是無效視圖,當訪問無效視圖時,Oracle將
重新編譯無效的視圖。
一一^_____
第4章表和視圖
【訓練6】使用FORCE選項創(chuàng)建帶有錯誤的視圖:
CREATEFORCEVIEW班干部ASSELECT*FROM
班級WHERE職務ISNOTNULL;
執(zhí)行結果:
警告:創(chuàng)建的視圖帶有編譯錯誤。
4.5.3視圖的操作
對視圖經常進行的操作是查詢操作,但也可以在一定
條件下對視圖進行插入、刪除和修改操作。對視圖的這些
操作最終傳遞到基表。但是對視圖的操作有很多限定。如
果視圖設置了只讀,則對視圖只能進行查詢,不能進行修
改操作。
第4章表和視圖
1.視圖的插入
【訓練1】視圖插入練習。
步驟1:創(chuàng)建清華大學出版社的圖書視圖:
CREATEORREPLACEVIEW清華圖書
ASSELECT*FROM圖書WHERE出版社編號=
'01';
執(zhí)行結果:
視圖已建立。
第4章表和視圖
步驟2:插入新圖書:
INSERTINTO清華圖書VALUESCA00051軟件工程?011
馮娟;5,27.3);
執(zhí)行結果:
已創(chuàng)建1行。
步驟3:顯示視圖:
SELECT*FROM清華圖書;
執(zhí)行結果:
圖書圖書名稱出作者數量單價
A0001計算機原理01劉勇525.3
A0005軟件工程01馮娟527.3
第4章表和視圖
步驟4:顯示基表
SELECT*FROM圖書;
執(zhí)行結果:
圖書圖書名稱出作者數量單價
A0001計算機原理01劉勇525.3
A0002C語言程序設計02馬麗118.75
A0003匯編語言程序設計02黃海明1520.18
A0005軟件工程01馮娟527.3
一
第4章表和視圖
說明:通過查看視圖,可見新圖書插入到了視圖
中。通過查看基表,看到該圖書也出現在基表中,說
明成功地進行了插入。新圖書的出版社編號為"01%
仍然屬于“清華大學出版社”。
但是有一個問題,就是如果在“清華圖書”的視
圖中插入其他出版社的圖書,結果會怎么樣呢?結果
是允許插入,但是在視圖中看不見,在基表中可以看
見,這顯然是不合理的。
第4章表和視圖
2.使用WITHCHECKOPTION選項
為了避免上述情況的發(fā)生,可以使用WITHCHECK
OPTION選項。使用該選項,可以對視圖的插入或更新
進行限制,即該數據必須滿足視圖定義中的子查詢中的
WHERE條件,否則不允許插入或更新。比如“清華圖
書”視圖的WHERE條件是出版社編號要等于“01〃(01
是清華大學出版社的編號),所以如果設置了WITH
CHECKOPTION選項,那么只有出版社編號為“01〃的
圖書才能通過清華視圖進行插入。
第4章表和視圖
【訓練2】使用WITH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度不動產投資信托合同協議
- 2025年度夫妻財產約定與家庭財務規(guī)劃協議書模板
- 2025年度公廁保潔與智能設備維護服務合同
- 2025年度房屋遺產繼承與遺產分配及稅務籌劃協議
- 2025年度單價合同在新能源技術研發(fā)中的合同履行與經濟效益
- 2025年度定向委培協議書:新材料研發(fā)人才定向培養(yǎng)協議
- 2025年度農村自來水用戶用水糾紛處理合同
- 2025年度建筑材料經銷商返點獎勵協議
- 2025年度勞動合同協商解除協議書-企業(yè)轉制員工安置協議
- 4S店裝飾維修服務合同
- 鋼網驗收報告
- 防水補漏工程合同(合同版本)
- 鐵路局中間站管理手冊
- 監(jiān)理日志表(標準模版)
- H3C-CAS虛擬化平臺詳細介紹
- 小學生韻母in、ing常見漢字與區(qū)分練習
- 藥房品種類別及數量清單
- 大學生安全教育課件(ppt共41張)
- 初中物理人教版八年級下冊 第1節(jié)牛頓第一定律 課件
- 網站培訓內容trswcm65表單選件用戶手冊
- 連續(xù)平壓熱壓機 三篇 俞敏等
評論
0/150
提交評論