資源描述:
《數(shù)據(jù)庫及表的創(chuàng)建》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第二章數(shù)據(jù)庫和表的創(chuàng)建2、1基本概念2、1、1數(shù)據(jù)庫一、數(shù)據(jù)庫內(nèi)部結(jié)構(gòu)(1)表空間:是邏輯劃分,每個數(shù)據(jù)庫至少有一個表空間。每個表空間由一個或多個數(shù)據(jù)文件組成。一個表空間只屬于一個數(shù)據(jù)庫。(2)表:是數(shù)據(jù)庫中存放用戶數(shù)據(jù)的對象,它包含一組固定的列,描述該表所跟蹤的實體的屬性。(3)約束條件(CONSTRAINT).確保數(shù)據(jù)的引用完整性。主要有以下5種約束。①主鍵(primarykey)②默認(rèn)(default):在表中插入一行數(shù)據(jù)但沒有為列指定值時生成一個在定義表時預(yù)先指定的值。③唯一性(unique)④檢查(check):
2、確保指定列中的值符合一定的條件。Check列約束條件不能引用一個獨立表。非空值約束條件被看作是一個check約束條件。⑤外鍵(foreignkey):規(guī)定表間的關(guān)系性質(zhì)。一個外鍵使一個表的一列或多列與已定義為主鍵的表中的一批相同的列相關(guān)聯(lián)。當(dāng)在已定義主鍵約束的表中更新列值時,其他表中定義有外鍵約束的列會被自動更新。(4)分區(qū)(partition):在大的數(shù)據(jù)庫中,可以通過把一個大表的數(shù)據(jù)分成多個小表來簡化數(shù)據(jù)庫的管理,這些小表稱作分區(qū)。還可對索引進(jìn)行分區(qū)。(5)索引(index):當(dāng)createtable命令中規(guī)定uniq
3、ue或primarykey約束條件子句時,自動創(chuàng)建一個索引,也可以通過createindex命令手工創(chuàng)建自己的索引。(6)簇(cluster)。經(jīng)常被同時訪問的表在物理位置上可以存儲在一起。為了將它們存儲在一起,就要創(chuàng)建一個簇來管理這些表。表中相關(guān)的列稱為簇鍵。簇鍵用一個簇索引來進(jìn)行索引,對于簇中的多個表,簇鍵值只存儲一次。在把任何行插入簇的表中之前,都必須先創(chuàng)建一個簇索引。(7)用戶(8)方案(schema)。用戶帳戶擁有的對象集稱為用戶的方案。(9)同義詞。為了給不同的用戶使用數(shù)據(jù)庫對象時提供一個簡單的、唯一標(biāo)識數(shù)據(jù)庫
4、對象的名稱,可以對數(shù)據(jù)庫對象創(chuàng)建同義詞。(10)權(quán)限、角色、段、區(qū)間、塊二、數(shù)據(jù)庫外部結(jié)構(gòu)如果從操作系統(tǒng)的觀點來看,oracle9i數(shù)據(jù)庫就是操作系統(tǒng)內(nèi)的各種文件,最重要的文件包括數(shù)據(jù)文件、重做日志文件、控制文件等。注:一個數(shù)據(jù)文件只能對應(yīng)一個表空間,數(shù)據(jù)文件一旦加入到表空間,則不能再移出。2、2界面創(chuàng)建數(shù)據(jù)庫和表2、2、1數(shù)據(jù)庫的創(chuàng)建和刪除一、創(chuàng)建數(shù)據(jù)庫。使用DBCA二、修改數(shù)據(jù)庫:對已有的數(shù)據(jù)庫可以進(jìn)行的修改主要有:★增加和刪除數(shù)據(jù)文件★改變數(shù)據(jù)文件的大小和增長方式不論進(jìn)行什么修改都需要登錄的指定的數(shù)據(jù)庫?!窀淖償?shù)據(jù)文
5、件的大小和增長方式及增加數(shù)據(jù)文件有兩種方式:①在“數(shù)據(jù)文件”文件夾下直接修改數(shù)據(jù)文件。②在相應(yīng)的表空間中修改數(shù)據(jù)文件。●刪除數(shù)據(jù)文件:在oracle9i數(shù)據(jù)庫中,system數(shù)據(jù)文件不能刪除。在數(shù)據(jù)庫的使用過程中,不能刪除數(shù)據(jù)文件。若要刪除數(shù)據(jù)文件,可以在關(guān)閉數(shù)據(jù)庫后,在操作系統(tǒng)中進(jìn)行。三、刪除數(shù)據(jù)庫:使用DBCA2.2.2創(chuàng)建和管理表空間(1)利用OEM創(chuàng)建和管理表空間(2)利用createtablespace命令創(chuàng)建和管理表空間。Alter來修改,drop來刪除。語法格式如下:Createtablespacetable
6、space_nameDatafile‘path/filename’[sizeinteger[k
7、m]][reuse][autoextend[off
8、on[nextinteger[k
9、m]][maxsizeunlimited
10、integer[k
11、m]]]][defaultstoragestorage_clause][online
12、offline][logging
13、nologging][permanent
14、temporary][extentmanagement[dictionary
15、local[autoallocate
16、uni
17、form[sizeinteger[k
18、m]]]]]說明:Reuse表示若該文件存在,則清除該文件再重新建立該文件;若不存在則建立新文件。AutoextendOff/0n禁止或允許自動擴(kuò)展數(shù)據(jù)文件。Next指定當(dāng)需要更多盤區(qū)時分配給數(shù)據(jù)文件的磁盤空間Maxsizeunlimited指定允許分配給數(shù)據(jù)文件的最大磁盤空間Online在創(chuàng)建表空間之后使該表空間立即對授權(quán)訪問該表空間的用戶可用。這是默認(rèn)設(shè)置Offline在創(chuàng)建表空間之后使該表空間不可用Logging/nologging指定日志屬性,它表示將來的表、索引等是否需要進(jìn)行
19、日志處理。默認(rèn)為loggingPermanent指定表空間將用于保存永久對象,這是默認(rèn)的Temporary指定表空間將用于保存臨時對象Extentmanagement指定如何管理表空間的盤區(qū)Dictionary指定使用數(shù)據(jù)字典來管理表空間,這是默認(rèn)的Local指定局部管理表空間Autoallocate指