資源描述:
《chap6管理和維護(hù)表.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫(kù)。
1、chap6管理和維護(hù)表王之倉(cāng)青海師范大學(xué)6.1表的概述在Oracle數(shù)據(jù)庫(kù)中,每個(gè)關(guān)系表都由許多列組成。給每一列指派特定的數(shù)據(jù)類型來(lái)定義將在這個(gè)列中存儲(chǔ)得數(shù)據(jù)類型。一、標(biāo)量數(shù)據(jù)類型1、CHAR最多可以以固定長(zhǎng)度的格式存儲(chǔ)2000個(gè)字符或字節(jié)。默認(rèn)指定為以字符形式進(jìn)行存儲(chǔ),這個(gè)數(shù)據(jù)類型是固定長(zhǎng)度的,并且當(dāng)位數(shù)不夠時(shí),需要在其右邊添加空格來(lái)補(bǔ)滿。CREATETABLEtest(namechar(20))2、VARCHAR和VARCHAR2最多可以以可變長(zhǎng)度來(lái)存儲(chǔ)4000B,因此不需要空格來(lái)作補(bǔ)充。VARCHAR2比VARCHAR更適合使用,由于兼容性的原因,所以仍然在
2、Oracle數(shù)據(jù)庫(kù)中保留著VARCHAR。CREATETABLEtest(namevarchar2(20))一、標(biāo)量數(shù)據(jù)類型3、NCHARNLS(nationallanguagesupport,國(guó)際語(yǔ)言支持)的數(shù)據(jù)類型僅可以存儲(chǔ)由數(shù)據(jù)庫(kù)NLS字符集定義的Unicode字符集。該數(shù)據(jù)類型最多可以存儲(chǔ)2000B。NCHAR的列在位數(shù)不夠時(shí)需要在右邊填充空格。CREATETABLEtest(nameNchar(20))注意:在Oracle9i數(shù)據(jù)庫(kù)及其更新的版本中,僅使用Unicode數(shù)據(jù)類型4、NVARCHAR2NLS的數(shù)據(jù)類型與VARCHAR2數(shù)據(jù)類型等價(jià)。這個(gè)數(shù)據(jù)
3、類型最多可存儲(chǔ)4000B。CREATETABLEtest(nameNvarchar2(20))注意:在Oracle9i數(shù)據(jù)庫(kù)及其更新的版本中,僅使用Unicode數(shù)據(jù)類型一、標(biāo)量數(shù)據(jù)類型5、NUMBER用于存儲(chǔ)零、正數(shù)、定長(zhǎng)負(fù)數(shù)以及浮點(diǎn)數(shù)。以NUMBER(P,S)的形式來(lái)定義數(shù)字的精度和范圍。p表示精度(1-38),它表示存儲(chǔ)在列中數(shù)字的總長(zhǎng)度是p位。s表示范圍,它表示小數(shù)點(diǎn)后的位數(shù)。該取值范圍可以從-84到127。#使用精度5來(lái)定義一個(gè)正數(shù)(如12345)CREATETABLEtest(namenumber(5))#使用精度5和范圍2來(lái)定義一個(gè)數(shù)字。如12.34
4、。CREATETABLEtest(namenumber(5,2))6、LONGLONG類型的列存儲(chǔ)可變長(zhǎng)度的字符串,最多可以存儲(chǔ)2GB的數(shù)據(jù)。LONG類型的列有很多在VARCHAR2類型列中所具有的特征??梢允褂肔ONG類型的列來(lái)存儲(chǔ)LONG類型的文本字符串。LONG數(shù)據(jù)類型的使用是為了向前兼容的需要。建議使用LOB數(shù)據(jù)類型來(lái)代替LONG類型。例如:CREATETABLEtest(namelong)一、標(biāo)量數(shù)據(jù)類型7、DATE用于在數(shù)據(jù)庫(kù)中存儲(chǔ)日期和時(shí)間。存儲(chǔ)時(shí)間的精度可以達(dá)到1/100s。不提供時(shí)區(qū)的相關(guān)信息。CREATETABLEtest(nameDATE)8
5、、TIMESTAMP使用年、月、日、小時(shí)、分鐘、秒域來(lái)對(duì)日期/時(shí)間提供更詳細(xì)的支持。最多可以使用9位數(shù)字的精度來(lái)存儲(chǔ)秒(受底層操作系統(tǒng)支持的限制)。這個(gè)數(shù)據(jù)類型沒(méi)有時(shí)區(qū)的相關(guān)信息,CREATETABLEtest(timestamp_columnTIMESTAMP);一、標(biāo)量數(shù)據(jù)類型9、RAW用于存儲(chǔ)raw類型的二進(jìn)制數(shù)據(jù)。最多可以存儲(chǔ)2000B。建議使用BLOB來(lái)代替它。CREATETABLEtest(raw_columnRAW(2000));10、LONGRAW用于存儲(chǔ)raw類型的二進(jìn)制數(shù)據(jù)。最多可以存儲(chǔ)2GB的數(shù)據(jù)。建議使用BLOB來(lái)代替它。CREATETAB
6、LEtest(raw_columnLONGRAW);一、標(biāo)量數(shù)據(jù)類型11、CLOB用于存儲(chǔ)基于字符的大對(duì)象??纱鎯?chǔ)4GB。CREATETABLEtest(clob_columnCLOB);13、BLOB最多可以存儲(chǔ)4GB數(shù)據(jù)的二進(jìn)制大對(duì)象,比如照片、PPT、二進(jìn)制圖像等。CREATETABLEtest(blob_columnBLOB);一、標(biāo)量數(shù)據(jù)類型14、BFILE存儲(chǔ)指向數(shù)據(jù)庫(kù)外部文件的定位符。外部文件最大為4GB。CREATETABLEtest(bfile_columnBFILE);二、集合數(shù)據(jù)類型---嵌套表一種數(shù)據(jù)挖掘模型配置,該配置中表的一個(gè)列包含一個(gè)
7、表。1、嵌套表的定義嵌套表是表中之表。一個(gè)嵌套表是某些行的集合,它在主表中表示為其中的一列。對(duì)主表中的每一條記錄,嵌套表可以包含多個(gè)行。在某種意義上,它是在一個(gè)表中存儲(chǔ)一對(duì)多關(guān)系的一種方法??疾橐粋€(gè)包含部門信息的表,在任何時(shí)間內(nèi)每個(gè)部門會(huì)有很多項(xiàng)目正在實(shí)施。在一個(gè)嚴(yán)格的關(guān)系模型中,將需要建立兩個(gè)獨(dú)立的表department和project。二、集合數(shù)據(jù)類型---嵌套表2舉例說(shuō)明嵌套表的使用假設(shè)有一個(gè)關(guān)于動(dòng)物飼養(yǎng)員的表,希望其中具有他們飼養(yǎng)的動(dòng)物的信息。用一個(gè)嵌套表,就可以在同一個(gè)表中存儲(chǔ)飼養(yǎng)員和其飼養(yǎng)的全部動(dòng)物的信息。1)創(chuàng)建類型animal_ty:此類型中,對(duì)于
8、每個(gè)動(dòng)物都