版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)15.1 定義表結(jié)構(gòu)5.2 創(chuàng)建與管理表結(jié)構(gòu)5.3 查看與管理表5.4 數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性上一章上一章返回目錄返回目錄返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)2 所謂定義表結(jié)構(gòu)就是設(shè)計(jì)表中應(yīng)該包含哪些字段?各個(gè)字段應(yīng)該選擇哪種數(shù)據(jù)類型?各個(gè)字段值的寬度,以及該表與用戶數(shù)據(jù)庫(kù)中的哪些表相關(guān)。 為確定新表的結(jié)構(gòu),需要明確: 這個(gè)表將包含哪些類型的數(shù)據(jù)。 表中需要設(shè)置哪些字段。 哪些字段應(yīng)確定為主鍵或外鍵。 哪些字段可以接受空值。 是否使用約束,如果要用的話,在何處使用。 是否需要建立索引。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)3 在
2、SQL Server 2000中,一個(gè)數(shù)據(jù)庫(kù)中最多可以創(chuàng)建20億個(gè)表,每個(gè)表最多可以定義1024個(gè)列(字段),每行最多可以存儲(chǔ) 8,060 字節(jié),表的行數(shù)及總大小僅受可用存儲(chǔ)空間的限制。在同一數(shù)據(jù)庫(kù)的不同表中,可以有相同的字段,但在同一表中不允許有相同的字段。 在數(shù)據(jù)庫(kù)中表名必須是唯一的,但是,如果為表指定了不同的用戶,就可以創(chuàng)建多個(gè)相同名稱的表,即同一個(gè)名稱的表可以有多個(gè)不同的所有者,在使用這些表時(shí),需要在表的名稱前面加上所有者的名稱。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)41.使用企業(yè)管理器創(chuàng)建表使用企業(yè)管理器創(chuàng)建表 啟動(dòng)服務(wù)器,打開企業(yè)管理器,展開指定的服務(wù)器和數(shù)據(jù)庫(kù),打開想要
3、創(chuàng)建新表的數(shù)據(jù)庫(kù),右鍵單擊表對(duì)象,從所彈出的快捷菜單中選擇“新建表”,如圖5-1所示,返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)5圖5-1 選擇新建表 返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)6 或是點(diǎn)擊“操作”菜單下的“新建表”,或是在工具欄中選擇圖標(biāo),則會(huì)出現(xiàn)“設(shè)計(jì)表”對(duì)話框,如圖5-2所示,在此對(duì)話框中,可以定義字段的相關(guān)屬性:列名稱,數(shù)據(jù)類型、長(zhǎng)度、是否允許空值、描述、默認(rèn)值、精度、小數(shù)位數(shù)、是否有標(biāo)識(shí)、標(biāo)識(shí)種子、標(biāo)識(shí)遞增量、公式、排序規(guī)則等,在這些屬性當(dāng)中,一般如描述、默認(rèn)值、標(biāo)識(shí)等可以不填。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)7圖5-2 新建表對(duì)話框返回本
4、章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)8 填寫完成后,單擊圖5-2中工具欄的保存按鈕或直接關(guān)閉新建表對(duì)話框都會(huì)彈出“選擇名稱”對(duì)話框,如圖5-3所示。輸入新建表的名稱后,單擊【確定】按鈕,即會(huì)將新表保存到數(shù)據(jù)庫(kù)中去。圖5-3 新建表名對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)92.使用使用Transact-SQL語(yǔ)言創(chuàng)建表語(yǔ)言創(chuàng)建表 基本的語(yǔ)法格式:基本的語(yǔ)法格式: CREATE TABLE table_name ( Column _name data_type NOT NULL|NULL, PRIMARY KEY) 主要參數(shù)說(shuō)明:主要參數(shù)說(shuō)明: table_name:用于指定
5、新建表的名稱。表名必須符合標(biāo)識(shí)符規(guī)則。對(duì):用于指定新建表的名稱。表名必須符合標(biāo)識(shí)符規(guī)則。對(duì)于于數(shù)據(jù)庫(kù)來(lái)說(shuō),表名應(yīng)是唯一的。表名最長(zhǎng)不能超過(guò)數(shù)據(jù)庫(kù)來(lái)說(shuō),表名應(yīng)是唯一的。表名最長(zhǎng)不能超過(guò)128字符。字符。 Column_name::用于指定新建表的列名(字段),表名必須符合標(biāo)識(shí):用于指定新建表的列名(字段),表名必須符合標(biāo)識(shí)符規(guī)則,并且在表內(nèi)保持唯一。符規(guī)則,并且在表內(nèi)保持唯一。 data_type:指定列的數(shù)據(jù)類型。:指定列的數(shù)據(jù)類型。 NULL | NOT NULL:是確定列中是否允許空值的關(guān)鍵字。從嚴(yán)格意義:是確定列中是否允許空值的關(guān)鍵字。從嚴(yán)格意義上講,上講,NULL 不是約束,但可以使用
6、與指定不是約束,但可以使用與指定 NOT NULL 同樣的方法指定。同樣的方法指定。 PRIMARY KEY:是通過(guò)唯一索引對(duì)給定的一列或多列強(qiáng)制實(shí)體完整:是通過(guò)唯一索引對(duì)給定的一列或多列強(qiáng)制實(shí)體完整性的約束。對(duì)于每個(gè)表只能創(chuàng)建一個(gè)性的約束。對(duì)于每個(gè)表只能創(chuàng)建一個(gè) PRIMARY KEY 約束。約束。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)10 在對(duì)數(shù)據(jù)庫(kù)表操作時(shí),常常會(huì)涉及到對(duì)數(shù)據(jù)庫(kù)表的重新命名,當(dāng)重命名表時(shí),表名在包含該表的各數(shù)據(jù)庫(kù)關(guān)系圖中自動(dòng)更新。當(dāng)保存表或關(guān)系圖時(shí),表名在數(shù)據(jù)庫(kù)中被更新。 有兩種方法重新命名表:返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)111. 使用企業(yè)管
7、理器重新命名表使用企業(yè)管理器重新命名表 打開企業(yè)管理器,打開指定服務(wù)器中要修改的數(shù)據(jù)打開企業(yè)管理器,打開指定服務(wù)器中要修改的數(shù)據(jù)庫(kù)中的表,用右鍵單擊要進(jìn)行修改的表,從彈出的庫(kù)中的表,用右鍵單擊要進(jìn)行修改的表,從彈出的快捷菜單里選中快捷菜單里選中“重命名重命名”選項(xiàng)(如圖選項(xiàng)(如圖5-5(a)所)所示),便可企業(yè)管理器中重新命名表名。示),便可企業(yè)管理器中重新命名表名。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)12圖5-5(a)在企業(yè)管理器中重命名表返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)132使用使用Transact-SQL語(yǔ)言重命名表語(yǔ)言重命名表 使用使用Transact-SQ
8、L語(yǔ)言重新命名表名是在查語(yǔ)言重新命名表名是在查詢分析器中調(diào)用系統(tǒng)的存儲(chǔ)過(guò)程詢分析器中調(diào)用系統(tǒng)的存儲(chǔ)過(guò)程sp_rename為指為指定表重新命名表名。定表重新命名表名。 其基本語(yǔ)法格式:其基本語(yǔ)法格式: sp_rename old_table_name , new_table_name返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)14 數(shù)據(jù)庫(kù)中的表創(chuàng)建后,有時(shí)需要改變表中原先定義的一些選項(xiàng),例如增加、刪除或修改字段,更改表名或者是表的所有者、權(quán)限等。SQL Server提供了兩種方法來(lái)完成表字段的修改,即使用企業(yè)管理器和在查詢分析器中使用Transact-SQL語(yǔ)言修改表字段。返回本章首頁(yè)返回本
9、章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)151. 使用企業(yè)管理器修改表字段使用企業(yè)管理器修改表字段 打開企業(yè)管理器,打開指定服務(wù)器中要修改的數(shù)據(jù)庫(kù)中的表,用右鍵單擊要進(jìn)行修改的表,選中“設(shè)計(jì)表”菜單,則會(huì)彈出“設(shè)計(jì)表”對(duì)話框,如圖5-2所示。在該對(duì)話框中可以完成對(duì)字段的相應(yīng)修改。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)162使用使用Transact-SQL語(yǔ)言修改表字段語(yǔ)言修改表字段使用Transact-SQL語(yǔ)言修改表字段的命令是:ALTER TABLE其基本語(yǔ)法格式:ALTER TABLE table ADD COLUMN column_name data_type|ALTER COLUMN
10、 column_name new_data_type | DROP COLUMN column_name主要參數(shù)說(shuō)明:table:用于指定要更改的表的名稱。ADD COLUMN:指定要添加一個(gè)或多個(gè)列定義。column_name:是要更改、添加或刪除列的名稱。data_type:指定要添加列的數(shù)據(jù)類型ALTER COLUMN:指定要更改的列。new_data_type:指定列更改后的數(shù)據(jù)類型。DROP COLUMN: 用于指定從表中刪除列。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)17 在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)表后,經(jīng)常需要查看表中各種相關(guān)信息。例如表的屬性、表中的定義的字段、表中的數(shù)據(jù)類型等
11、。有時(shí)也需要改變表中一些記錄,例如增加、刪除或修改表中記錄等。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)18 查看表主要是查看表屬性和表中的數(shù)據(jù) 1查看表屬性查看表屬性 打開指定的服務(wù)器和數(shù)據(jù)庫(kù),展開表選中要查看的表格,用鼠標(biāo)右鍵單擊該表(如圖5-8所示),從彈出的快捷菜單中選擇“屬性”選項(xiàng),就會(huì)彈出“表屬性”窗口,并顯示該表所定義的鍵碼、各字段的名稱、數(shù)據(jù)類型、大?。ㄩL(zhǎng)度)等屬性,如圖5-9所示。單擊【權(quán)限】按鈕,還可以查看和修改表的權(quán)限。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)19圖 5-8 選擇表屬性對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)20圖5-9 表屬性
12、窗口返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)212查看表中數(shù)據(jù)查看表中數(shù)據(jù) 查看表中的數(shù)據(jù)可以使用企業(yè)管理器,還可以在查看表中的數(shù)據(jù)可以使用企業(yè)管理器,還可以在查詢分析器中使用查詢分析器中使用Transact-SQL語(yǔ)言查看表中的數(shù)據(jù)。語(yǔ)言查看表中的數(shù)據(jù)。 返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)22(1)使用企業(yè)管理器查看表中記錄)使用企業(yè)管理器查看表中記錄 在企業(yè)管理器中,打開指定的數(shù)據(jù)庫(kù)并展開表格,選在企業(yè)管理器中,打開指定的數(shù)據(jù)庫(kù)并展開表格,選中要查看的表并用鼠標(biāo)右鍵單擊該表,從彈出的快捷中要查看的表并用鼠標(biāo)右鍵單擊該表,從彈出的快捷菜單中選擇菜單中選擇“打開表打開表”
13、選項(xiàng),該項(xiàng)中有三個(gè)子菜單選項(xiàng),該項(xiàng)中有三個(gè)子菜單(見(jiàn)圖(見(jiàn)圖5-10),其中),其中“返回所有行返回所有行”表示顯示表中所表示顯示表中所有記錄;有記錄;“返回首行返回首行”表示顯示前表示顯示前N條記錄,要通過(guò)條記錄,要通過(guò)對(duì)話框輸入最大行數(shù),如圖對(duì)話框輸入最大行數(shù),如圖5-11所示;所示;“查詢查詢”用于用于查詢具體滿足某項(xiàng)條件的記錄。例如,選擇了查詢具體滿足某項(xiàng)條件的記錄。例如,選擇了“返回返回所有行所有行”或或“返回首行返回首行”后,會(huì)在對(duì)話框中顯示表中后,會(huì)在對(duì)話框中顯示表中的數(shù)據(jù),如圖的數(shù)據(jù),如圖5-12所示。所示。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)23表5.10 選擇打
14、開表對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)24圖5.11 輸入行數(shù)對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)25圖5.12 顯示表數(shù)據(jù)對(duì)話框 返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)26(2)使用)使用Transact-SQL語(yǔ)言查看表中記錄語(yǔ)言查看表中記錄 使用Transact-SQL語(yǔ)言查看表中記錄的命令是:SELECT SELECT查詢語(yǔ)句是Transact-SQL語(yǔ)言最重要的功能性語(yǔ)句之一,它的功能主要是從一個(gè)表或多個(gè)表中篩選出符合指定條件的記錄。 SELECT語(yǔ)句最簡(jiǎn)單的語(yǔ)法格式: SELECT fields FROM table WHERE se
15、arch_condition 主要參數(shù): fields:表示需要檢索字段的列表,字段名稱之間使用逗號(hào)分隔。 table:指定檢索數(shù)據(jù)的數(shù)據(jù)源表。 search_condition:篩選條件。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)27 向表中添加數(shù)據(jù)可以使用企業(yè)管理器,也可以在查詢分析器中使用Transact-SQL語(yǔ)言向表中添加數(shù)據(jù)。 1使用企業(yè)管理器向表中添加記錄使用企業(yè)管理器向表中添加記錄 在企業(yè)管理器中,打開指定的數(shù)據(jù)庫(kù)并展開表,在右邊的窗口中選中需要添加記錄的表,用鼠標(biāo)右鍵單擊該表,從彈出的快捷菜單中選擇“打開表”選項(xiàng),再選擇“返回所有行”,這時(shí)將在對(duì)話框中顯示該表的數(shù)據(jù),可
16、以在空行處輸入要添加的記錄(見(jiàn)圖5-12) 返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)282使用使用Transact-SQL語(yǔ)言向表中添加記錄語(yǔ)言向表中添加記錄 使用Transact-SQL語(yǔ)言向表中添加記錄的命令是:INSERT 其基本語(yǔ)法格式: INSERT INTO table_name (column_list ) VALUES( DEFAULT | NULL | expression ,.n ) 主要參數(shù)說(shuō)明: table_name:將要接收數(shù)據(jù)的表的名稱。 column_list:要在其中插入數(shù)據(jù)的一列或多列的列表。必須用圓括號(hào)將 column_list 括起來(lái),并且用逗號(hào)進(jìn)
17、行分隔。 VALUES:引入要插入的數(shù)據(jù)值的列表。 DEFAULT:強(qiáng)制 SQL Server 裝載為列定義的默認(rèn)值。 Expression:一個(gè)常量、變量或表達(dá)式。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)29 使用企業(yè)管理器和在查詢分析器中使用Transact-SQL語(yǔ)言可以刪除表中指定的記錄。 1使用企業(yè)管理器刪除表中記錄使用企業(yè)管理器刪除表中記錄 在企業(yè)管理器中,打開指定的數(shù)據(jù)庫(kù)并展開表格,在右邊的窗口中用鼠標(biāo)右鍵單擊要修改的表,從彈出的快捷菜單中選擇“打開表”選項(xiàng),選擇“返回所有行”或“返回首行”后,會(huì)在對(duì)話框中顯示表中的數(shù)據(jù)(見(jiàn)圖5-15),此時(shí)選中要?jiǎng)h除的記錄,點(diǎn)擊鼠標(biāo)右鍵
18、,從彈出的快捷菜單中選擇并點(diǎn)擊“刪除”選項(xiàng),可以刪除該記錄。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)30圖5-15 刪除記錄對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)312使用使用Transact-SQL語(yǔ)言刪除表中記錄語(yǔ)言刪除表中記錄 使用Transact-SQL語(yǔ)言刪除表中記錄的命令是:DELETE 其基本語(yǔ)法格式: DELETE FROM table_name WHERE search_condition返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)32 使用企業(yè)管理器或使用使用企業(yè)管理器或使用Transact-SQL語(yǔ)言可以語(yǔ)言可以對(duì)表中記錄值進(jìn)行修改。對(duì)表中記錄
19、值進(jìn)行修改。 1使用企業(yè)管理器對(duì)表中記錄進(jìn)行修改使用企業(yè)管理器對(duì)表中記錄進(jìn)行修改 在企業(yè)管理器中,打開指定的數(shù)據(jù)庫(kù)并展開表格,在右邊的窗口中用鼠標(biāo)右鍵單擊要修改的表,從彈出的快捷菜單中選擇“打開表”選項(xiàng),選擇“返回所有行”或“返回首行”后,將在對(duì)話框中顯示表中的數(shù)據(jù)(見(jiàn)圖5-12),此時(shí)可對(duì)相關(guān)記錄值進(jìn)行修改。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)332使用使用Transact-SQL語(yǔ)言對(duì)表中記錄進(jìn)行修改語(yǔ)言對(duì)表中記錄進(jìn)行修改使用Transact-SQL語(yǔ)言對(duì)表中記錄值進(jìn)行修改的命令是:UPDATE其基本語(yǔ)法格式:UPDATE table_name SET column_name
20、= expression | DEFAULT | NULL WHERE 主要參數(shù)說(shuō)明:table_name:需要修改的表的名稱。 SET:指定要修改的列或變量名稱的列表。column_name:含有要修改數(shù)據(jù)的列的名稱。expression:變量、表達(dá)式。DEFAULT:指定使用該列定義的默認(rèn)值替換列中的現(xiàn)有值。WHERE:指定條件來(lái)限定所修改的行。 search_condition:為要修改行指定需要滿足的條件。 返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)34 可以使用企業(yè)管理器和在查詢分析器中使用可以使用企業(yè)管理器和在查詢分析器中使用Transact-SQL語(yǔ)言刪除指定表。語(yǔ)言刪除指
21、定表。1使用企業(yè)管理器刪除表使用企業(yè)管理器刪除表 打開企業(yè)管理器,展開指定的數(shù)據(jù)庫(kù)和表,用鼠標(biāo)右鍵單擊要?jiǎng)h除的表,從彈出的快捷菜單中選擇“刪除”選項(xiàng),則會(huì)出現(xiàn)“除去對(duì)象”對(duì)話框,如圖5-16所示。單擊【全部除去】按鈕,即可刪除表。單擊【顯示相關(guān)性】按鈕,則會(huì)出現(xiàn)“相關(guān)性”對(duì)話框,該對(duì)話框列出了該對(duì)象所依賴的對(duì)象和依賴于該表的對(duì)象,當(dāng)有對(duì)象依賴于該表時(shí),該表就不能刪除。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)35圖5-16 除去對(duì)象對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)36使用使用Transact-SQL語(yǔ)言刪除表語(yǔ)言刪除表 使用Transact-SQL語(yǔ)言刪除表的命令是
22、:DROP 其基本語(yǔ)法格式:DROP TABLE table_name主要參數(shù)說(shuō)明:table_name:是要?jiǎng)h除的表名。 DROP TABLE語(yǔ)句可以刪除一個(gè)表的結(jié)構(gòu)和表中的數(shù)據(jù)及其與表有關(guān)的所有索引、觸發(fā)器、約束、許可對(duì)象。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)375.4.1 數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性概述 數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性是指數(shù)據(jù)庫(kù)運(yùn)行時(shí),應(yīng)防止輸入或輸出出現(xiàn)不符合語(yǔ)義的錯(cuò)誤數(shù)據(jù),而始終保持其數(shù)據(jù)的正確性。數(shù)據(jù)庫(kù)的完整性描述是數(shù)據(jù)庫(kù)內(nèi)容的完整性約束集合,對(duì)一個(gè)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),首先要判定其是否符合完整性約束,全部判定無(wú)矛盾時(shí)才可以執(zhí)行。數(shù)據(jù)的完整性要確保數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致、準(zhǔn)確,因此
23、,滿足數(shù)據(jù)完整性要求的數(shù)據(jù)應(yīng)具有以下特點(diǎn): (1)數(shù)據(jù)類型準(zhǔn)確無(wú)誤 (2)數(shù)據(jù)的值滿足范圍設(shè)置 (3)同一表格數(shù)據(jù)之間不存在沖突 (4)多個(gè)表格數(shù)據(jù)之間不存在沖突返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)382.數(shù)據(jù)完整性包括四類:實(shí)體的完整性實(shí)體的完整性(Entity Integrity)域完整性域完整性(Field Integrity)引用完整性引用完整性(Reference Integrity)用戶定義完整性用戶定義完整性返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)391.實(shí)體的完整性實(shí)體的完整性(Entity Integrity) 實(shí)體的完整性保證一個(gè)表中的每一行必須是惟一的
24、,也就是不允許輸入完全相同的數(shù)據(jù)記錄。實(shí)體的完整性可以通過(guò)設(shè)定索引、惟一性約束、主鍵約束等多種方法來(lái)實(shí)現(xiàn),例如,如果在讀者表中已經(jīng)存在學(xué)生證號(hào)為“210001”的記錄,那么,在試圖添加一個(gè)學(xué)生證號(hào)為“210001”的記錄時(shí),SQL Server將拒絕向數(shù)據(jù)表中添加該記錄。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)402.域完整性域完整性(Field Integrity) 域完整性保證一個(gè)數(shù)據(jù)庫(kù)不包含無(wú)意義的或不合理的值,即要求數(shù)據(jù)表中的數(shù)據(jù)位于某一個(gè)特定的允許范圍內(nèi)??梢允褂媚J(rèn)值(DEFAULT)、檢查(CHECK)約束、外鍵(FOREIGN KEY)約束和規(guī)則(RULE)等多種方法來(lái)
25、實(shí)現(xiàn)域的完整性。例如,如果限定“性別”字段的數(shù)據(jù)值為“男”或“女”,那么可以使用CHECK約束,這樣若輸入了其它值將被SQL Server 2000拒絕接受。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)413.引用完整性引用完整性(Reference Integrity) 引用完整性定義了一個(gè)關(guān)系數(shù)據(jù)庫(kù)中不同的列和不同的表之間的關(guān)系(主鍵與外鍵),它是用來(lái)維護(hù)相關(guān)數(shù)據(jù)表之間數(shù)據(jù)一致性的手段,通過(guò)實(shí)現(xiàn)引用完整性,可以避免因一個(gè)數(shù)據(jù)表的記錄改變而造成另一個(gè)數(shù)據(jù)表內(nèi)的數(shù)據(jù)變成無(wú)效的值。在輸入或刪除記錄時(shí),引用完整性將保持表之間已定義的關(guān)系,確保鍵值在所有表中一致。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上
26、一頁(yè)下一頁(yè)下一頁(yè)424用戶定義完整性用戶定義完整性用戶定義完整性使用戶得以定義不屬于其它任何完整性分類的特定業(yè)務(wù)規(guī)則。由于每個(gè)用戶的數(shù)據(jù)庫(kù)都有自己獨(dú)特的業(yè)務(wù)規(guī)則集,所以系統(tǒng)必須有一種方式來(lái)實(shí)現(xiàn)定制的業(yè)務(wù)規(guī)則,即定制的數(shù)據(jù)完整性約束。用戶定義完整性可以通過(guò)用戶定義數(shù)據(jù)類型、規(guī)則、存貯過(guò)程和觸發(fā)器來(lái)實(shí)現(xiàn)。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)43 利用約束可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性,約束包括:主鍵約束(PRIMARY KEY)、惟一性約束(UNIQUE)、檢查性約束(CHECK)、外部鍵約束(FOREIGN KEY)、默認(rèn)約束(DEFAULT)和級(jí)聯(lián)引用完整性約束。返回本章首頁(yè)返回本章首
27、頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)44 PRIMARY約束(主鍵約束)可以在表中定義一個(gè)主鍵,它是一個(gè)列或列的組合,它是唯一確定表中每一條記錄的標(biāo)識(shí)符,主鍵約束是最重要的一種約束。一個(gè)表只能有一個(gè)主鍵約束,而且主鍵約束的列不能接受空值。 主鍵約束的添加、刪除和修改可以使用企業(yè)管理器或在查詢分析器中使用Transact-SQL語(yǔ)言實(shí)現(xiàn)。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)451使用企業(yè)管理器設(shè)置主鍵約束使用企業(yè)管理器設(shè)置主鍵約束 在企業(yè)管理器中,用鼠標(biāo)右鍵單擊要操作在企業(yè)管理器中,用鼠標(biāo)右鍵單擊要操作的數(shù)據(jù)庫(kù)表,從彈出的快捷菜單中選擇的數(shù)據(jù)庫(kù)表,從彈出的快捷菜單中選擇“設(shè)計(jì)設(shè)計(jì)表表”選項(xiàng),彈
28、出選項(xiàng),彈出“設(shè)計(jì)表設(shè)計(jì)表”對(duì)話框(見(jiàn)圖對(duì)話框(見(jiàn)圖5-17)。在該對(duì)話框中,選擇要設(shè)定為主鍵的字)。在該對(duì)話框中,選擇要設(shè)定為主鍵的字段(如果需要選定多個(gè)字段,在按住段(如果需要選定多個(gè)字段,在按住Ctrl鍵的鍵的同時(shí),用鼠標(biāo)單擊每一個(gè)要選的字段),然后同時(shí),用鼠標(biāo)單擊每一個(gè)要選的字段),然后右鍵單擊選中的字段,從彈出的快捷菜單中選右鍵單擊選中的字段,從彈出的快捷菜單中選擇擇“設(shè)置主鍵設(shè)置主鍵”選項(xiàng),如圖選項(xiàng),如圖5-18所示(或單擊所示(或單擊工具欄上的按鈕來(lái)設(shè)置主鍵),被設(shè)置為主鍵工具欄上的按鈕來(lái)設(shè)置主鍵),被設(shè)置為主鍵的字段左端出現(xiàn)標(biāo)志。的字段左端出現(xiàn)標(biāo)志。返回本章首頁(yè)返回本章首頁(yè)上一
29、頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)46圖5-17 設(shè)置主鍵對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)47圖5-18 刪除主鍵對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)482使用使用Transact-SQL語(yǔ)言設(shè)置主鍵約束語(yǔ)言設(shè)置主鍵約束 使用使用Transact-SQL語(yǔ)言設(shè)置主鍵約束的命令是:語(yǔ)言設(shè)置主鍵約束的命令是:CONSTRAINT - PRIMARY 基本語(yǔ)法格式:基本語(yǔ)法格式: CONSTRAINT constraint_name PRIMARY KEY CLUSTERED | NONCLUSTERED (column_name ,.n ) 主要參數(shù)說(shuō)明:主要參數(shù)說(shuō)明:
30、constrain_name:是約束的名稱。:是約束的名稱。 CLUSTERED | NONCLUSTERED:是表示為指定約束創(chuàng)建聚:是表示為指定約束創(chuàng)建聚集索引或非聚集索引的關(guān)鍵字。集索引或非聚集索引的關(guān)鍵字。PRIMARY KEY 約束默認(rèn)為約束默認(rèn)為 CLUSTERED,UNIQUE 約束默認(rèn)為約束默認(rèn)為 NONCLUSTERED。 Column_name:用于指定主鍵約束的列名。:用于指定主鍵約束的列名。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)49 UNIQUE 約束(惟一性約束)用于指定一個(gè)列值或者多個(gè)列的組合值具有惟一性,以防止在列中輸入重復(fù)的值。 創(chuàng)建和修改惟一性約束的
31、操作方法也有兩種。 當(dāng)設(shè)置惟一性約束時(shí),需要考慮以下幾個(gè)因素:(1)惟一性約束主要用于非主鍵的一列或列組合。(2)一個(gè)表可以設(shè)置多個(gè) UNIQUE 約束,而只能設(shè)置一個(gè) PRIMARY KEY 約束。(3)使用惟一性約束的字段允許空值 返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)501.使用企業(yè)管理器創(chuàng)建和修改惟一性約束使用企業(yè)管理器創(chuàng)建和修改惟一性約束 打開企業(yè)管理器,打開指定的服務(wù)器和數(shù)據(jù)庫(kù),選擇“表”選項(xiàng),在右欄窗口中用鼠標(biāo)右鍵單擊選定的表格,并從彈出的菜單中選擇“設(shè)計(jì)表”選項(xiàng),將出現(xiàn)“設(shè)計(jì)表”對(duì)話框,在該對(duì)話框中右擊需要設(shè)置惟一性約束的字段,從彈出的快捷菜單中選擇“索引”選項(xiàng),則出
32、現(xiàn)“屬性”對(duì)話框的“索引/鍵”選項(xiàng)卡,如圖5-19所示。在“索引/鍵”選項(xiàng)卡中點(diǎn)擊【新建】按鈕,然后選擇“創(chuàng)建UNIQUE”和“約束”,在“列名”下展開列的列表,選擇要將約束附加的列,然后單擊【關(guān)閉】按鈕,最后在“表格編輯”對(duì)話框中選擇【保存】按鈕,即可使完成惟一性約束的創(chuàng)建和修改。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)51圖5-19 創(chuàng)建惟一性約束對(duì)話框返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)522使用使用Transact-SQL語(yǔ)言創(chuàng)建惟一性約束語(yǔ)言創(chuàng)建惟一性約束 使用使用Transact-SQL語(yǔ)言創(chuàng)建惟一性約束的命令是:語(yǔ)言創(chuàng)建惟一性約束的命令是:CONSTRAINT
33、 - UNIQUE 其基本語(yǔ)法格式:其基本語(yǔ)法格式: CONSTRAINT constraint_name UNIQUE CLUSTERED | NONCLUSTERED (column_name ,.n ) 主要參數(shù)說(shuō)明:主要參數(shù)說(shuō)明: constrain_name:是約束的名稱。約束名在數(shù)據(jù)庫(kù)內(nèi)必須是唯:是約束的名稱。約束名在數(shù)據(jù)庫(kù)內(nèi)必須是唯一的。如果不指定約束名,則系統(tǒng)會(huì)自動(dòng)生成一個(gè)約束名。一的。如果不指定約束名,則系統(tǒng)會(huì)自動(dòng)生成一個(gè)約束名。 CLUSTERED | NONCLUSTERED:是表示為指定約束創(chuàng)建聚:是表示為指定約束創(chuàng)建聚集或非聚集索引的關(guān)鍵字。集或非聚集索引的關(guān)鍵字。P
34、RIMARY KEY 約束默認(rèn)為約束默認(rèn)為 CLUSTERED,UNIQUE 約束默認(rèn)為約束默認(rèn)為 NONCLUSTERED。 column_name:用于指定惟一性約束的列名。:用于指定惟一性約束的列名。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)53 CHECK約束通過(guò)檢查一個(gè)或多個(gè)字段的輸入值是否符合設(shè)定的檢查條件來(lái)強(qiáng)制數(shù)據(jù)的完整性,如果輸入值不符合檢查條件,系統(tǒng)將拒絕這條記錄。 創(chuàng)建檢查約束常用的操作方法主要有兩種:返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)541.使用企業(yè)管理器創(chuàng)建檢查性約束使用企業(yè)管理器創(chuàng)建檢查性約束 同惟一性約束的創(chuàng)建類似,在打開同惟一性約束的創(chuàng)建類似,
35、在打開“表設(shè)計(jì)表設(shè)計(jì)”對(duì)對(duì)話框后,用鼠標(biāo)右鍵單擊要設(shè)置的檢查約束的字段,話框后,用鼠標(biāo)右鍵單擊要設(shè)置的檢查約束的字段,從彈出的快捷菜單中選擇從彈出的快捷菜單中選擇“屬性屬性”(見(jiàn)圖(見(jiàn)圖5-19),),然后在屬性對(duì)話框中選擇然后在屬性對(duì)話框中選擇“CHECK約束約束”選項(xiàng)卡,選項(xiàng)卡,單擊【新建】按鈕,就可以在約束表達(dá)式欄中輸入單擊【新建】按鈕,就可以在約束表達(dá)式欄中輸入檢查約束的表達(dá)式,輸入完檢查約束后,在檢查約束的表達(dá)式,輸入完檢查約束后,在“約束約束名名”文本框中輸入約束的名稱,然后單擊【關(guān)閉】文本框中輸入約束的名稱,然后單擊【關(guān)閉】按鈕,即完成了檢查性約束的設(shè)置。按鈕,即完成了檢查性約束
36、的設(shè)置。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)552.使用使用Transact-SQL語(yǔ)言創(chuàng)建檢查約束語(yǔ)言創(chuàng)建檢查約束 使用Transact-SQL語(yǔ)言創(chuàng)建檢查約束的命令是:CONSTRAINT - CHECK 其基本語(yǔ)法格式: CONSTRAINT constraint_name CHECK NOT FOR REPLICATION (logical_expression) 主要參數(shù)說(shuō)明: constrain_name:是約束的名稱。 NOT FOR REPLICATION:用于指定在把從其它表中復(fù)制的數(shù)據(jù)插入到該表時(shí)檢查約束對(duì)其不發(fā)生作用。 logical_expression:用
37、于指定邏輯條件表達(dá)式,返回值為TRUE或者FALSE。返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)56 FOREIGN KEY約束(外鍵約束)用于強(qiáng)制參照完整性,提供單個(gè)字段或者多個(gè)字段的參照完整性,外鍵 (FK) 主要用于維護(hù)兩個(gè)表之間的一致性關(guān)系。外鍵的設(shè)置主要是通過(guò)將一個(gè)表中主鍵所在的列包含到另一個(gè)表中,這個(gè)列就是另一個(gè)表的外鍵。 盡管設(shè)置外鍵約束的主要目的是控制存儲(chǔ)在外鍵表中的數(shù)據(jù),但它還可以控制主鍵表中數(shù)據(jù)的修改。 設(shè)置外鍵約束常用的操作方法有兩種 :返回本章首頁(yè)返回本章首頁(yè)上一頁(yè)上一頁(yè)下一頁(yè)下一頁(yè)571.用企業(yè)管理器設(shè)置外鍵約束用企業(yè)管理器設(shè)置外鍵約束 在企業(yè)管理器中展開指定數(shù)
38、據(jù)庫(kù),右鍵單擊對(duì)象“關(guān)系圖”,從彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(kù)關(guān)系圖”選項(xiàng),則將出現(xiàn)“創(chuàng)建數(shù)據(jù)庫(kù)關(guān)系圖向?qū)А睂?duì)話框,該向?qū)?huì)引導(dǎo)用戶將所需要的表添加到數(shù)據(jù)庫(kù)關(guān)系圖中。如果不想使用“創(chuàng)建數(shù)據(jù)庫(kù)關(guān)系圖向?qū)А边x擇相關(guān)表,可以單擊【取消】按鈕,然在出現(xiàn)的“新關(guān)系圖”對(duì)話框中,單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“添加表”選項(xiàng)(或單擊工具欄上的圖標(biāo)),從添加表中選擇要建立的關(guān)系圖的表,表格添加完后,將出現(xiàn)如圖5-20所示的“新關(guān)系圖”對(duì)話框。在該對(duì)話框中,單擊主鍵字段,并在按住鼠標(biāo)左鍵的同時(shí)拖動(dòng)只需要建立連接的外鍵字段處,然后釋放即可建立連接。此時(shí)可以看到在兩個(gè)表之間有一個(gè)箭頭,然后單擊【保存】按鈕時(shí),將會(huì)彈出“另存為”對(duì)話框(見(jiàn)圖5-21),輸入關(guān)系圖名稱并單擊【確定】按鈕,即完成外鍵約束的創(chuàng)建。返回本章首
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年武漢大學(xué)中南醫(yī)院門診部勞務(wù)派遣制導(dǎo)醫(yī)招聘?jìng)淇碱}庫(kù)及完整答案詳解一套
- 2026年普定縣梓涵明德學(xué)校教師招聘?jìng)淇碱}庫(kù)(9名)及參考答案詳解
- 會(huì)議室開會(huì)制度
- 2026年重慶醫(yī)科大學(xué)附屬康復(fù)醫(yī)院關(guān)于黨政辦公室黨建、宣傳干事、醫(yī)保辦工作人員招聘?jìng)淇碱}庫(kù)參考答案詳解
- 2026年深圳市龍華區(qū)第三實(shí)驗(yàn)學(xué)校附屬善德幼兒園招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 中學(xué)教學(xué)質(zhì)量保證措施制度
- 2026年西安交通大學(xué)附屬小學(xué)招聘?jìng)淇碱}庫(kù)附答案詳解
- 2026年漯河市城鄉(xiāng)一體化示范區(qū)事業(yè)單位人才引進(jìn)備考題庫(kù)及參考答案詳解1套
- 2026年重慶護(hù)理職業(yè)學(xué)院(第一批)公開招聘工作人員備考題庫(kù)及一套完整答案詳解
- 中國(guó)人民銀行所屬企業(yè)網(wǎng)聯(lián)清算有限公司2026年度校園招聘26人備考題庫(kù)及完整答案詳解一套
- 無(wú)人機(jī)UOM考試試題及答案
- 湖南省永州市祁陽(yáng)縣2024-2025學(xué)年數(shù)學(xué)七年級(jí)第一學(xué)期期末聯(lián)考試題含解析
- 非常規(guī)油氣藏超分子壓裂液體系研發(fā)與性能評(píng)價(jià)
- 運(yùn)用PDCA提高全院感染性休克集束化治療達(dá)標(biāo)率
- 第1講 數(shù)學(xué)建模簡(jiǎn)介課件
- DB36T-葉類蔬菜機(jī)械收獲作業(yè)技術(shù)規(guī)程
- 2024年全國(guó)體育單獨(dú)統(tǒng)一招生考試語(yǔ)文試卷附答案
- 遼寧2017建設(shè)工程費(fèi)用標(biāo)準(zhǔn)
- DB13-T5385-2021機(jī)器人檢測(cè)混凝土抗壓強(qiáng)度技術(shù)要求
- 安全生產(chǎn)管理辦法與實(shí)施細(xì)則
- 《牛津書蟲系列 綠野仙蹤》電子插畫版英語(yǔ)教學(xué)課外讀物(含翻譯)
評(píng)論
0/150
提交評(píng)論