![實驗六 利用SQL命令創(chuàng)建表_第1頁](http://file4.renrendoc.com/view/61d461644eca6aa2bb353a1947a05d4b/61d461644eca6aa2bb353a1947a05d4b1.gif)
![實驗六 利用SQL命令創(chuàng)建表_第2頁](http://file4.renrendoc.com/view/61d461644eca6aa2bb353a1947a05d4b/61d461644eca6aa2bb353a1947a05d4b2.gif)
![實驗六 利用SQL命令創(chuàng)建表_第3頁](http://file4.renrendoc.com/view/61d461644eca6aa2bb353a1947a05d4b/61d461644eca6aa2bb353a1947a05d4b3.gif)
![實驗六 利用SQL命令創(chuàng)建表_第4頁](http://file4.renrendoc.com/view/61d461644eca6aa2bb353a1947a05d4b/61d461644eca6aa2bb353a1947a05d4b4.gif)
![實驗六 利用SQL命令創(chuàng)建表_第5頁](http://file4.renrendoc.com/view/61d461644eca6aa2bb353a1947a05d4b/61d461644eca6aa2bb353a1947a05d4b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
實驗六利用SQL命令創(chuàng)建表一、實驗?zāi)康模毫私饣镜臄?shù)據(jù)類型;掌握表的創(chuàng)建和表的完整性約束;修改表的定義;刪除、重命名和清空表。二、實驗內(nèi)容:數(shù)據(jù)庫中的數(shù)據(jù)是以表的形式存儲。數(shù)據(jù)庫中的每一個表都被為一個模式(或用戶)所擁用,因此表是一種典型的模式對象。在創(chuàng)建表時,Oracle將在一個指定的表空間中為其分配存儲空間。表是常見的一種組織數(shù)據(jù)的方式,一張表一般都具有多個列,或者稱為字段。每個字段都具有特定的屬性,包括字段名、字段數(shù)據(jù)類型、字段長度、約束、默認值等,這些屬性在創(chuàng)建表時被確定。從用戶角度來看,數(shù)據(jù)庫中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,在表中通過行和列來組織數(shù)據(jù)。在表中的每一行存放一條信息,通常稱表中的一行為一條記錄。創(chuàng)建表:創(chuàng)建表時需要使用CREATETABLE語句,為了在用戶自己的模式中創(chuàng)建一個新表,則用戶必須具有CREATETABLE系統(tǒng)權(quán)限。如果要在其他用戶模式中創(chuàng)建表,則必須具有CREATEANYTABLE的系統(tǒng)權(quán)限。此外,用戶還必須在指定的表空間中具有一定的配額存儲空間。表6-1Oracle中常用的數(shù)據(jù)類型數(shù)據(jù)類型描述CHAR(size)定長字符數(shù)據(jù)VARCHAR2(size)可變長字符數(shù)據(jù)NUMBER(p,s)可變長數(shù)值數(shù)據(jù)Int、INTEGER、SAMLLINT整型數(shù)據(jù)DATE日期型數(shù)據(jù)LONG可變長字符數(shù)據(jù),最大可達到2GCLOB字符數(shù)據(jù),最大可達到4GBLOB二進制數(shù)據(jù),最大可達到4GBFILE存儲外部文件的二進制數(shù)據(jù),最大可達到4G在創(chuàng)建表時可以為表指定存儲空間,如果不指定,Oracle會將該表存儲到默認表空間中。使用子查詢創(chuàng)建表:為了保存原始數(shù)據(jù)以便于恢復(fù)或是得到一個與源表一樣結(jié)構(gòu)的表,可通過子查詢創(chuàng)建表,創(chuàng)建表時候用ASsubquery選項,將創(chuàng)建表和插入數(shù)據(jù)結(jié)合起來。CREATETABLEtable[(column,column...)]ASsubquery;修改表:使用ALTERTABLE語句修改表結(jié)構(gòu)。追加新的列:ALTERTABLEtableADD(columndatatype[DEFAULTexpr][,columndatatype...);修改現(xiàn)有的列、為新追加的列定義默認值:ALTERTABLEtableMODIFY(columndatatype[DEFAULTexpr],columndatatype...);刪除一個列:ALTERTABLEtableDROP(column);禁用列:ALTERTABLEtableSETUNUSED(column,……);ALTERTABLEtableSETUNUSEDCOLUMNcolumn;重命名列:ALTERTABLEtablenameRENAMECOLUMNold_nameTOnew_name;重命名表:有兩種語法形式,一種是使用ALTERTABLE語句,語法如下:ALTERTABLEtable_nameRENAMETOnew_table_name;另一種是直接使用RENAME語句,語法如下:RENAMEtable_nameTOnew_table_name;刪除表:刪除表使用DROPTABLE語句,表的數(shù)據(jù)和結(jié)構(gòu)都被刪除,所有正在運行的相關(guān)事務(wù)被提交,所有相關(guān)索引被刪除,DROPTABLE語句不能回滾。清空表使用TRUNCATETABLE語句,刪除表中所有的數(shù)據(jù),釋放表的存儲空間,TRUNCATE語句不能回滾。也可以使用DELETE語句刪除數(shù)據(jù),DELETE語句可以回滾。添加注釋:使用COMMENT語句給表或列添加注釋。COMMENTONTABLEtableIScomment;定義和管理數(shù)據(jù)完整性約束:數(shù)據(jù)庫不僅僅是存儲數(shù)據(jù),它也必須保證所存儲數(shù)據(jù)的正確性。如果數(shù)據(jù)不準確或不一致,那么該數(shù)據(jù)的完整性可能就受了到破壞,從而給數(shù)據(jù)庫本身的可靠性帶來問題。為了維護數(shù)據(jù)庫中數(shù)據(jù)的完整性,在創(chuàng)建表時常常需要定義一些約束。約束可以限制列的取值范圍,強制列的取值來自合理的范圍。按照約束的用途可以將表的完整性約束分為5類,如表6-2所示。表6-2完整性約束的類型約束說明NOTNULL非空約束。指定一列不允許存儲空值。這實際就是一種強制的CHECK約束PRIMARYKEY主鍵約束。指定表的主鍵。主鍵由一列或多列組成,唯一標識表中的一行UNIQUE唯一約束。指定一列或一組列只能存儲唯一的值FOREIGNKEY外鍵約束。指定表的外鍵。外鍵引用另外一個表中的一列,在自引用的情況中,則引用本表中的一列CHECK檢查約束。指定一列或一組列的值必須滿足某種條件非空約束:非空約束就是限制必須為某個列提供值。在表中,當某些字段的值是不缺少的,那么就可以為該列定義為非空約束。這樣當插入數(shù)據(jù)時,如果沒有為該列提供數(shù)據(jù),那么系統(tǒng)就會出現(xiàn)一個錯誤消息。主鍵約束:主鍵約束用于惟一地確定表中的每一行數(shù)據(jù)。在一個表中,最多只能有一個主鍵約束,主鍵約束即可以是一個列組成的,也可能是由兩個或兩個以上列組成的。對于表中的每一行數(shù)據(jù),主鍵約束列都是不同的,主鍵約束同時也具有非空約束。唯一性約束:唯一性約束強調(diào)所在的列不允許有相同的值。但是,它的定義比主鍵約束弱,即它所在的列允許空值。UNIQUE約束的主要作用是在保證除主鍵列外、其他列值的惟一性。外鍵約束:外鍵約束是幾種約束是最復(fù)雜的,外鍵約束可以使兩個表進行關(guān)聯(lián)。外鍵是指引用另一個表中的某個列或某幾個列,或者本表中另一個列或另幾個列的列。被引用的列應(yīng)該具有主鍵約束,或者惟一性約束。檢查約束:語法格式為:CREATETABLEtable_name(column_namedatatype[NOTNULL|NULL][DEFAULTconstraint_expression][CONSTRAINTcheck_nameCHECK(check_expression)][PRIMARYKEY|UNIQUE][[FOREIGNKEY]REFERENCESref_table(ref_column)][,…n])禁止和激活約束:為什么要禁用約束呢?這是因為約束的存在會降低插入和更改數(shù)據(jù)的效率,系統(tǒng)必須確認這些數(shù)據(jù)是否滿足定義的約束條件。當執(zhí)行一些特殊操作時,如使用SQL*Loader從外部數(shù)據(jù)源向表中導(dǎo)入大量數(shù)據(jù),并且事先知道操作的數(shù)據(jù)滿足了定義的約束,為提高運行效率,就可以禁用這些約束。在定義約束時,可以將約束設(shè)置為禁用狀態(tài),默認為激活狀態(tài)。也可以在約束創(chuàng)建后,修改約束狀態(tài)為禁用。創(chuàng)建表時禁用約束。CREATETABLEtable_name(column_namedatatypeconstraint_typeDISALBE,…);或利用ALTERTABLE-DISABLE-[CASCADE]禁用約束。利用ALTERTABLE,"ENABLE…語句激活約束。刪除約束:如果不再需要某個約束時,則可以刪除該約束??梢允褂茫綝ROPCONSTRAINT子句的ALTERTABLE語句刪除約束。刪除約束與禁用約束不相同,禁用約束是可以激活的,但是刪除的約束在表中就完全消失了。ALTERTABLEtable_nameDROPCONSTRAINTcheck_name在OEM中創(chuàng)建表:⑴登錄OEM,在“方案”類別中選擇“表”鼠標左鍵單擊進入“表搜索”界面。如圖6-1所示。圖6-1表搜索界面(2)單擊“創(chuàng)建”按鈕,進入“創(chuàng)建表:表的組織形式”界面,指定表的存儲類型及是否為臨時表。如圖6-2所示。圖6-2表的組織形式界面⑶單擊“繼續(xù)”按鈕,進入“創(chuàng)建表”界面。該界面有5個選項頁面,可以完成對表的定義。如圖6-3所示。⑷單擊“約束條件”選項頁面,進入“約束條件”選項界面。在該選項頁面可以定義表的完整性約束條件。如圖6-4所示。ORACLGEnterpriseManager11ORACLGEnterpriseManager11gDatabaseControl數(shù)據(jù)庫實例:>表>創(chuàng)建表設(shè)置首選項幫助注萱數(shù)據(jù)庫作為SYS登錄顯示SQLj取消j確定)一般信息]均束條件[存儲選項分區(qū)選擇名稱類型表列禁用可延返最初延退驗證RELY檢查條件引用方案引用表引用表列縝聯(lián)■除<SysteniAssigned0>PRIMARYSN0N0N0N0YESNON0約束條件PRIMARYv.添加j編輯j刪除\一般信息〕約束條件|存儲選項分區(qū)、顯示SQL).、取消j.確定)圖6-4約束條件界面(5)單擊“存儲”選項頁面,進入“存儲”選項界面。如圖6-5所示。ORACLGEnterpriseManager11gORACLGEnterpriseManager11gDatabaseControl數(shù)據(jù)庫設(shè)置首選項幫助注銷作為SYS登錄數(shù)據(jù)庫實例:orcl>S>創(chuàng)建表顯示W(wǎng)QLj取消j作為SYS登錄一般信息約束條件」存慵煎分區(qū)0提示大多敏情況下,存儲參數(shù)的默認值是可以接受的。某些情況下,可以對這些選項進行更改以改善對象性能。表空間稱理理型名管管類區(qū)段配USERS本地自動STSTEI稱理理型名管管類區(qū)段配區(qū)數(shù)初始大小64KB凹空間使用情況空閑空間百分比(PCTFREE)(%)10圖6-5存儲選項界面⑹單擊“選項”選項頁面,進入“選項”選項界面。如圖6-6所示。ORACLEEnterpriseManager11ORACLEEnterpriseManager11gDatabaseControl數(shù)據(jù)庫實例:QEC1>表>創(chuàng)建表設(shè)置首選項幫助注棗數(shù)據(jù)庫作為SYS登錄顯示SQLj取消j確定)一般信息約束條件存儲J選項[筮啟用行移動v默認a叫并行-創(chuàng)建此對象或?qū)Υ藢ο髨?zhí)行DML時可使用多個線程。并行度默認值值匚高速緩存-將經(jīng)常訪問的數(shù)據(jù)放在緩沖區(qū)高速縫存的頂端。顯示SQL一般信息約束條件存儲]選項「分區(qū)取消j一確定j
⑺顯示SQL圖6-7分區(qū)選項界面三、上機作業(yè):利用SQL語句,在SCOTT用戶中,創(chuàng)建Student(學生表)、Course(課程表)和SC(學生選課表)。各表的結(jié)構(gòu)如表所示:Student表結(jié)構(gòu)列名數(shù)據(jù)類型非空說明Snochar(10)V學號,主鍵Snamechar(10)V姓名Ssexchar(2)性別Sagesmallint年齡Sdeptchar(20)所在系Course表結(jié)構(gòu)列名數(shù)據(jù)類型是否空值說明Cnochar(4)V課程號,主鍵Cnamechar(20)V課程名Cpnochar(4)先行課號,外鍵CCreditsmallint學分SC表結(jié)構(gòu)列名數(shù)據(jù)類型是否空值說明Snochar(10)V學號,外鍵,(sno,cno)為主鍵Cnochar(4)V課程號,外鍵Gradenumber(4,1)
數(shù)據(jù)如下表所示:Student表數(shù)據(jù)SnoSnameSsex
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房租屋租賃合同委托書
- 二手房買賣合同分期付款
- 航空旅客行李運輸合同
- 塑料件委外加工協(xié)議書范本
- 跨城順風車旅客協(xié)議
- 勞務(wù)公司租賃場地合同
- 傳媒公司拍攝協(xié)議書范本
- 中國特色金融文化活動方案
- 屋頂彩鋼瓦施工合同范本
- 司機駕駛員用工合同范本
- 2022年垃圾焚燒發(fā)電項目可行性研究報告
- 無菌技術(shù)操作-PPT課件
- 公司辦公室5S管理規(guī)定(實用含圖片)
- 人教版小學五年級數(shù)學下冊教材解讀
- JTT888-2020公共汽車類型劃分及等級評定_(高清-最新)
- 某天然氣公司場站設(shè)備管理制度
- 臨時碼頭施工方案
- 汶川地震災(zāi)后恢復(fù)重建生產(chǎn)力布局和產(chǎn)業(yè)調(diào)整專項規(guī)劃
- 教師專業(yè)發(fā)展與職業(yè)生涯規(guī)劃優(yōu)秀課件
- 稅務(wù)師事務(wù)所收費標準
- 電力工程施工單位如何提升管理辦法
評論
0/150
提交評論