摘要:下面是由希賽小編整理的中級通信互聯(lián)網(wǎng)技術(shù)知識點(diǎn)精講之?dāng)?shù)據(jù)定義,希望能幫助學(xué)友們。具體內(nèi)容如下
下面是由希賽小編整理的中級通信互聯(lián)網(wǎng)技術(shù)知識點(diǎn)精講之?dāng)?shù)據(jù)定義,希望能幫助學(xué)友們。具體內(nèi)容如下:
數(shù)據(jù)定義
關(guān)系數(shù)據(jù)庫系統(tǒng)支持三級模式結(jié)構(gòu),其模式、外模式和內(nèi)模式中的基本對象有表、視圖和索引。因此SQL的數(shù)據(jù)定義功能包括定義表、定義視圖和定索引,如表8-4所示。
視圖是基于基本表的虛表,索引是依附于基本表的,因此SQL通常不提供修改視圖定義和修改索引定義的操作。用戶如果想修改視圖定義或索引定義,只能先將它們刪除掉,然后再重建。
1.定義、刪除與修改基本表
(1)定義基本表
建立數(shù)據(jù)庫最重要的一步就是定義一些基本表。SQL使用CREATETABLE語句定義基本表,其一般格式如下:
CREATETABLE<表名>(<列名x數(shù)據(jù)類型>{列級完整性約束條件}
[,<列名x數(shù)據(jù)類型>[列級完整性約束條件]]…[,<表級完整性約束條件>];
其中,<表名>是所要定義的基本表的名字,它可以由一個或多個屬性〈列〉組成。
建表的同時通常還可以定義與該表有關(guān)的完整性約束條件,這些完整性約束條件被存入系統(tǒng)的數(shù)據(jù)字典中,當(dāng)用戶操作表中數(shù)據(jù)時由DBMS自動檢查該操作是否違背這些完整性約束條件。如果完整性約束條件涉及該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級,也可以定義在表級。
(2)修改基本表
隨著應(yīng)用環(huán)境和應(yīng)用需求的變化,有時需要修改己建立好的基本表,SQL用ALTERTABLE語句修改基本表,其一般格式如下:
ALTERTABLE<表名>
[ADD<新列名><數(shù)據(jù)類型>[完整性約束]]
[DROP<完整性約束名>
[MODIFY<列名x數(shù)據(jù)類型>]
其中,<表名>是要修改的基本表,ADD子句用于增加新列和新的完整性約束條件,DROP子句用于刪除指定的完整性約束條件,MODIFY子句用于修改原有的列定義,包括修改列名和數(shù)據(jù)類型。
(3)刪除基本表
當(dāng)某個基本表不再需要時,可以使用DROPTABLE語句將其刪除。其一般格式如下:DROPTABLE<表名>
基本表定義一旦刪除,表中的數(shù)據(jù)、此表上建立的索引和視圖都將自動被刪除掉。因此執(zhí)行刪除基本表的操作一定要格外小心。
2.建立與刪除索引
建立索引是加快査詢速度的有效手段。用戶可以根據(jù)應(yīng)用環(huán)境的需要,在基本表上建立-個或多個索引,以提供多種存取路徑,加快查找速度。
(1)建立索引
在SQL中,建立索引使用CREATEINDEX語句,其一般格式如下:
CREATE[IUNIQUE]INDEX<索引名>
ON<表名>(<列名>[<次序>][,<列名>[<次序>]]...);
其中,<表名>是要建索引的基本表的名字。索引可以建立在該表的一列或多列上,各列名之間用逗號分隔。每個<列名>后面還可以用<次序>指定索引值的排列次序,可選ASC(升序)或DESC(降序),缺省值為ASC。
UNIQUE表明此索引的每一個索引值只對應(yīng)數(shù)據(jù)記錄。
(2)刪除索引
索引一經(jīng)建立,就由系統(tǒng)使用和維護(hù)它,不需用戶干預(yù)。建立索引是為了減少査詢操作的時間,但如果數(shù)據(jù)增加刪改頻繁,系統(tǒng)會花費(fèi)許多時間來維護(hù)索引。這時,可以刪除一些不必要的索引。
在SQL中,刪除索引使用DROPINDEX語旬,其一般格式如下:
DROPINDEX<索弓|名>;
刪除索引時,系統(tǒng)會同時從數(shù)據(jù)字典中刪去有關(guān)該索引的描述。
返回目錄:中級通信互聯(lián)網(wǎng)技術(shù)知識點(diǎn)精講之?dāng)?shù)據(jù)庫技術(shù)匯總
相關(guān)推薦:
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題