tft每日頭條

 > 科技

 > 數據庫基礎創建索引

數據庫基礎創建索引

科技 更新时间:2024-07-22 06:16:14

  本文介紹基于Microsoft SQL Server軟件,實現數據庫表完整性約束、索引與視圖創建等操作的方法。

  數據庫系列文章請見專欄:數據庫基礎_瘋狂學習GIS的博客-CSDN博客。

  系列文章中示例數據來源于《SQL Server實驗指導(2005版)》一書。尊重版權,因此遺憾不能将相關示例數據一并提供給大家;但是依據本系列文章的思想與對操作步驟、代碼的詳細解釋,大家用自己手頭的數據,可以将相關操作與分析過程加以完整重現。

1 交互式為數據庫表S創建PRIMARY KEY約束

(1) 啟動Microsoft SQL Server 2008 R2軟件;

(2) 在“對象資源管理器”窗格中,在“數據庫”處右鍵,在彈出的菜單中選擇“附加”選項;

(3) 選擇需要加以附加的jxsk數據庫物理文件,選擇定位文件夾“G:\sql\chutianjia sql”并選擇對應數據庫jxsk的物理文件并選擇“确定”按鈕,再次選擇“确定”即可;

(4) 選擇“數據庫”→“jxsk”→“表”,右擊并在彈出的菜單中選擇“設計”選項,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)1

(5) 選擇SNO列,右擊并選擇“設置主鍵”,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)2

(6) 保存修改,關閉表設計器;

2 交互式創建數據庫表TEST_SC,創建PRIMARY KEY約束

(1) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”處右鍵,在彈出的菜單中選擇“新建表”選項,輸入TEST_SC各列的設置,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)3

(2) 同時選擇SNO和CNO列, 右擊并選擇“設置主鍵”,在SNO列和CNO列的行選擇器中各顯示一把鑰匙,表示SNO與CNO是關系TEST_SC的主鍵。此時SNO和CNO列中“允許NULL值”列的對勾消失,表示SNO、CNO都不能取空值,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)4

(3) 保存修改,輸入表名TEST_SC,關閉表設計器,重命名後如下圖;

數據庫基礎創建索引(數據庫表完整性約束)5

3 T-SQL創建數據庫表T的PRIMARY KEY約束

(1) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.T”處右鍵,在彈出的菜單中選擇“設計”選項,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)6

(2) 将TNO列“允許NULL值”值設置為非空,保存修改,如下圖;關閉表設計器;

數據庫基礎創建索引(數據庫表完整性約束)7

(3) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER TABLE T ADD CONSTRAINT PK_TNO PRIMARY KEY(TNO) GO

(4) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)8

(5) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.T”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“列”與“索引”,可見其所示内容中已存在通過上述方法新建立的聚集類型索引PK_TNO,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)9

4 T-SQL創建數據庫表TEST_C,以列約束形式創建PRIMARY KEY約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO CREATE TABLE TEST_C( CNO CHAR(2)CONSTRAINT PK_TEST_C PRIMARY KEY, CN CHAR(10), CT TINYINT) GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)10

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.TEST_C”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“列”與“索引”,可見其所示内容中已存在通過上述方法新建立的聚集類型索引PK_ TEST_C,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)11

5 T-SQL創建數據庫表TEST_TC,以表約束形式創建PRIMARY KEY約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO CREATE TABLE TEST_TC( TNO CHAR(2), CNO CHAR(2), CONSTRAINT PK_TEST_TC PRIMARY KEY(TNO,CNO)) GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)12

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.TEST_TC”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“列”與“索引”,可見其所示内容中已存在通過上述方法新建立的聚集類型索引PK_ TEST_TC,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)13

6 交互式向數據庫表TEST_TC中CNO與TNO列添加UNIQUE約束

(1) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.TC”處右鍵,在彈出的菜單中選擇“設計”選項;

(2) 單擊工具欄“管理索引和鍵”按鈕,選擇“添加”,按要求設置名稱;單擊“列”右端省略号按鈕,單擊第二行第一列下拉按鈕,選擇CNO列,單擊“确定”按鈕;在“類型”處選擇“唯一值”,如下四幅圖;

數據庫基礎創建索引(數據庫表完整性約束)14

數據庫基礎創建索引(數據庫表完整性約束)15

數據庫基礎創建索引(數據庫表完整性約束)16

數據庫基礎創建索引(數據庫表完整性約束)17

(3) 關閉對話框;

7 T-SQL為數據庫表C中CN列創建UNIQUE約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER TABLE C ADD CONSTRAINT UNIQUE_C UNIQUE(CN) GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)18

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo. C”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“列”與“索引”,可見其所示内容中已存在通過上述方法新建立的聚集類型索引PK_ TEST_C與非聚集類型索引UNIQUE_C,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)19

8 交互式為數據庫表TEST_SC中添加新列ID_SC,設置列屬性IDENTITY

(1) 在“對象資源管理器”窗格中,選擇“數據庫”→“jxsk”→“表”,右擊“dbo.TEST_SC”,在彈出的菜單中選擇“設計”;

(2) 插入新空行,輸入列名ID_SC,數據類型為int,且不許為空;選中此列,在“标識規範”左側的加号圖标處單擊,在打開的列表中選擇“是”,如以下兩幅圖;

數據庫基礎創建索引(數據庫表完整性約束)20

數據庫基礎創建索引(數據庫表完整性約束)21

(3) 單擊工具欄中的保存按鈕,并将窗口關閉;

9 T-SQL向數據庫表TEST_TC中添加列ID_TC,設置列屬性IDENTITY

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER TABLE TEST_TC ADD ID_TC INT IDENTITY GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)22

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo. TEST_TC”處右鍵,在彈出的菜單中選擇“設計”選項,查看屬性窗口中“标識列”的屬性設置,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)23

10 交互式删除數據庫表TEST_SC的主鍵PK_TEST_SC并取消ID_SC列标識屬性

(1) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo. TEST_TC”處右鍵,在彈出的菜單中選擇“設計”選項,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)24

(2) 單擊“标識規範”左側加号圖标,在“(是标識)”右側下拉按鈕打開的下拉列表中選擇“否”;

(3) 選中SNO與CNO列,右擊選擇“删除主鍵”,如下圖;關閉表設計器;

數據庫基礎創建索引(數據庫表完整性約束)25

11 T-SQL删除數據庫表C中列CN的UNIQUE約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句,如下圖:

USE jxsk GO ALTER TABLE C DROP UNIQUE_C GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)26

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.C”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“列”與“索引”,可見其所示内容中已不存在通過上述方法新建立的非聚集類型索引UNIQUE_C,鍵中也不含該索引,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)27

12 交互式為數據庫表T創建DEFAULT和CHECK約束

(1) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.C”處右鍵,在彈出的菜單中選擇“設計”選項;

(2) 單擊選擇SEX列,然後在窗口下面的“列屬性”框中“默認值或綁定”輸入框中,輸入‘男’,在說明中輸入DE_T_SEX,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)28

(3) 單擊工具欄中的“管理CHECK約束”按鈕,打開表T的“CHECK約束”對話框;單擊“添加”按鈕,查看窗口内容變化。對窗口中的各項進行如下設置:在“(名稱)”輸入框中,把默認名改為CHECK_T,将“在創建或重新啟用時檢查現有數據”選項設置為“否”,單擊“表達式”右端的按鈕,打開“CHECK約束表達式”對話框,輸入以下表達式,如以下圖:

數據庫基礎創建索引(數據庫表完整性約束)29

數據庫基礎創建索引(數據庫表完整性約束)30

(PROF='教授' AND COMM=4000)OR (PROF='副教授' AND COMM=2000)OR (PROF='講師' AND COMM=1500)OR (PROF='助教' AND COMM=1000)

(4) 單擊“确定”→“确定”,如下圖;關閉對話框與設計器;

數據庫基礎創建索引(數據庫表完整性約束)31

13 T-SQL為數據庫表S創建CHECK約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER TABLE S WITH CHECK ADD CONSTRAINT CHECK_AGE CHECK(AGE>=14 AND AGE<=40) GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)32

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.S”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“約束”,可見其所示内容中已存在通過上述方法新建立約束CHECK_AGE,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)33

14 T-SQL創建數據庫表TEST_S并包含DEFAULT和CHECK約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO CREATE TABLE TEST_S( SNO CHAR(2) NOT NULL, SN CHAR(8) NOT NULL, SEX CHAR(2) NULL CONSTRAINT DEFAULT_SEX DEFAULT '男' CONSTRAINT CHECK_SEX CHECK(SEX='男' OR SEX='女'), AGE TINYINT NULL CONSTRAINT DEFAULT_AGE DEFAULT 18, CONSTRAINT CHECK_S_AGE CHECK(AGE>=14 AND AGE<=40)) GO

(2) 将jxsk設置為當前數據庫,單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)34

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.TEST_S”處右鍵,在彈出的菜單中選擇“刷新”選項,查看“列”和“約束”,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)35

15 T-SQL删除數據庫表T中PROF和COMM間CHECK約束

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER TABLE T DROP CONSTRAINT CHECK_T GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)36

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.T”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“約束”可見其所示内容中不已存在通過上述方法新建立的CHECK約束,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)37

16 交互式删除數據庫表TEST_S中列SEX的DEFAULT約束列和列AGE的CHECK約束

(1) 在“對象資源管理器”窗格中,選擇“數據庫”→“jxsk”→“表”并右擊表TEXT_S,在彈出的菜單中選擇“設計”;

(2) 在表格下方,清除“默認值”中的‘男’,如下圖;打開CHECK約束對話框,在“選定的CHECK約束:”框中選擇CHECK_S_AGE約束;

數據庫基礎創建索引(數據庫表完整性約束)38

數據庫基礎創建索引(數據庫表完整性約束)39

數據庫基礎創建索引(數據庫表完整性約束)40

(3) 單擊“删除”按鈕,可以看到CHECK_S_AGE約束被删除,如上方圖;

(4) 關閉表TEST_S“CHECK約束”對話框與表設計器;

17 交互式創建表S與SC間參照關系

(1) 在“對象資源管理器”窗格中,選擇“數據庫”→“jxsk”→“表”并右擊表SC,在彈出的菜單中選擇“設計”;

(2) 單擊 “關系”按鈕,打開“外鍵關系”窗口,單擊“添加”按鈕,查看到關系名是系統給出的默認名:FK_SC_SC。單擊“表和列規範”右端的按鈕,打開“表和列”對話框。在“主鍵表”中,選定主表S,選定字段SNO。在“外鍵表”中,選定子表SC,選定字段SNO。單擊“确定”按鈕關閉“表和列”對話框。将“外鍵關系”對話框中的“在創建或重新啟用時檢查現有數據”一項設置為“否”。單擊“INSERT和UPDATE規範”左側的田按鈕,将“更新規則”一項設置為“級聯”,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)41

數據庫基礎創建索引(數據庫表完整性約束)42

(3) 關閉“外鍵關系”對話框,關閉表設計器,保存對表SC進行的上述修改。;

(4) 打開數據表S與SC,對照其中學号為S1的記錄;把數據庫表S中的學号S1改為S9,數據庫表S中的内容次序發生改變,如圖所示。單擊SC表窗口,使其成為當前表,查看到SC表中2個學号值是S1的都變為S9,且表SC中的記錄次序也發生了改變,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)43

數據庫基礎創建索引(數據庫表完整性約束)44

數據庫基礎創建索引(數據庫表完整性約束)45

18 T-SQL創建數據庫表T與TC間參照關系

(1) 點擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER TABLE TC WITH NOCHECK ADD CONSTRAINT FK_T_TC FOREIGN KEY(TNO)REFERENCES T(TNO) ON DELETE CASCADE GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)46

(3) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.TC”處右鍵,在彈出的菜單中選擇“刷新”選項,選擇“鍵”可見其所示内容中已存在通過上述方法新建立的FK_T_TC約束,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)47

(4) 打開數據庫表T與TC,使用“删除”命令把數據庫表T學号值為T1的記錄删除;單擊數據庫表TC使其成為當前窗口,單擊工具欄中的運行置鈕,查看到TC表中2個學号值是T1的記錄都不存在了,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)48

數據庫基礎創建索引(數據庫表完整性約束)49

19 創建數據庫jxsk中5個表間關聯關系圖

(1) 在“對象資源管理器”窗格中,選擇“數據庫”→“jxsk”,右擊數據關系圖,打開2個窗口,一個是創建關系圖的窗口;一個是“添加表”窗口,其中列出了jxsk中的所有用戶表,如下圖;

數據庫基礎創建索引(數據庫表完整性約束)50

(2) 選擇表C,單擊“添加”按鈕,表C即加入關系圖窗口中。重複此過程,把表S、SC、T、TC都添加到關系圖窗口中,添加完成後還可調整5個表的相對位置。添加到關系圖中的數據庫表如圖所示;

數據庫基礎創建索引(數據庫表完整性約束)51

數據庫基礎創建索引(數據庫表完整性約束)52

(3) 在關系圖窗口中,可以看到表T與TC之間已存在一條關系線;單擊并按住表C中的CNO字段,拖動至表TC中的CNO字段,松開鼠标左鍵,同時打開“外鍵關系”和“表和列”兩個窗口,觀察窗口中的各項值。單擊“表和列”窗口的“确定”按鈕退出該窗口,然後在“外鍵關系”窗口中,将“在創建或重新啟用時檢查現有數據”一項設置為“否”,單擊“INSERT和UPDATE規範”左側的田按鈕,将“更新規則”和“删除規則”兩項均設置為“級聯”,單擊确定;重複步驟,形成五個表之間的關系關聯圖;

數據庫基礎創建索引(數據庫表完整性約束)53

(4) 點擊保存按鈕,輸入關系圖名稱;關閉窗口;

(5) 在“對象資源管理器”窗格中,選擇“數據庫”→“jxsk”,選擇數據關系圖,可顯示關系圖;

20 交互式删除表C與表TC間引用關系

(1) 在“對象資源管理器”窗格中,在“數據庫”→“jxsk”→“表”→“dbo.C”處右鍵,在彈出的菜單中選擇“設計”選項;

(2) 在“選定的關系”框中,選擇名為FK_TC_C的關系,單擊“删除”按鈕,此關系即被删除。關閉外鍵關系窗口,關閉表設計器窗口;

數據庫基礎創建索引(數據庫表完整性約束)54

21 交互式為表SC創建PRIMARY KEY,在此主鍵自動創建聚簇索引

(1) 用表設計器打開表SC;打開“索引/鍵”對話框。在SC表設計器中,選擇“索引/鍵”選項,打開“索引/鍵”對話框,如下圖示;此時窗口中内容為空,說明表SC中沒有創建任何索引。單擊“關閉”按鈕,返回表設計器;

數據庫基礎創建索引(數據庫表完整性約束)55

數據庫基礎創建索引(數據庫表完整性約束)56

(2) 同時選中列SNO和列CNO,單擊工具欄中的按鈕,即在SNO和CNO上創建了主鍵,如圖所示。

數據庫基礎創建索引(數據庫表完整性約束)57

(3) 在SC表設計器中,右擊,選擇“索引/鍵”選項,打開“索引/鍵”對話框,查看列表中的信息:索引“列”是SNO(ASC)和CNO(ASC),當前的索引“名稱”為PK_SC_1,“創建為聚集的”為“是”。此索引即是創建主鍵時,系統自動生成的聚簇索引。

(4) 關閉表設計器窗口;

22 T-SQL創建數據庫表T在TNO列上按降序創建聚簇索引IND_TNO

(1) 點擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO CREATE CLUSTERED INDEX IND_TNO ON T(TNO DESC) GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

(3) 在表設計器中,選擇“索引/鍵”選項,打開“索引/鍵”對話框,可看到IND_TNO;

數據庫基礎創建索引(數據庫表完整性約束)58

23 交互式為表T在TN列上按升序和在AGE列上按降序創建非聚簇索引IND_TN_AGE

(1) 用表設計器打開數據庫 jxsk 中的數據庫表T。打卡創建“索引/鍵”對話框。在T表設計器中,右擊,選擇“索引/鍵”選項,打開“索引/鍵”對話框,如圖所示。

數據庫基礎創建索引(數據庫表完整性約束)59

(2) 單擊“添加”扭鈕,觀察“索引/鍵”對話框中各項的變化。在右側列表中,單擊“列”行中的一個單元格,再單擊該行右端的按鈕,打開“索引列”對話框,按照圖所示進行設置。設置完成後單擊“确定”按鈕返回“索引/鍵”對話框。設置索引名稱并保存;

數據庫基礎創建索引(數據庫表完整性約束)60

數據庫基礎創建索引(數據庫表完整性約束)61

24 T-SQL創建數據庫表C在CN列上按升序創建聚簇索引IND_CN

(1) 點擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO CREATE UNIQUE INDEX IND_CN ON C(CN) GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

25 交互式删除C索引IND_CN

(1) 用表設計器打開表SC;打開“索引/鍵”對話框。在SC表設計器中,選擇“索引/鍵”選項,打開“索引/鍵”對話框;

數據庫基礎創建索引(數據庫表完整性約束)62

數據庫基礎創建索引(數據庫表完整性約束)63

(2) 單擊删除按鈕,保存修改并關閉窗口;

26 T-SQL删除索引IND_TN_AGE

(1) 點擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO DROP INDEX T.IND_TN_AGE GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

27 交互式創建視圖

(1) 在“對象資源管理器”中,展開數據庫jxsk,右擊“視圖”,在打開的快捷菜單中選擇“新建視圖”選項,如圖所示,即可打開一個“添加表”對話框;

數據庫基礎創建索引(數據庫表完整性約束)64

(2) 添加基本表。在“添加表”對話框中選擇表S,單擊“添加”按鈕,如圖所示,選擇“關閉”按鈕,關閉“添加表”對話框,返回創建視圖窗口,可看到創建視圖窗口中增加了表S,如圖所示。

數據庫基礎創建索引(數據庫表完整性約束)65

(3) 在表S中,分别選中字段SNO、SN、SEX、DEPT左側的複選框,表示選中這些字段,将它們加入視圖中,觀察下面窗格中的變化,如圖所示。

數據庫基礎創建索引(數據庫表完整性約束)66

數據庫基礎創建索引(數據庫表完整性約束)67

(4) 單擊視圖設計器工具欄中的1按鈕,執行視圖定義。窗口下面的表格數據即為視圖的内容。單擊工具欄中的口按鈕,打開對話框,輸入視圖名稱View_S,如圖所示。單擊“确定”按鈕即可保存;

數據庫基礎創建索引(數據庫表完整性約束)68

(5) 關閉“創建視圖窗口”,在“對象資源管理器”中,單擊數據庫jxsk中的“視圖”節點,右窗口“摘要”中的View_S即是剛創建的視圖,另一個為系統視圖文件夾,如下圖所示;

數據庫基礎創建索引(數據庫表完整性約束)69

28 交互式創建成績視圖VIEW_SCORETABLE

(1) 在“對象資源管理器”中,展開數據庫jxsk,右擊“視圖”,在打開的快捷菜單中選擇“新建視圖”選項,打開“添加表”窗口;

(2) 在“添加表”窗口中,選擇表C和表SC,單擊“添加”令,可看到創建視圖窗口上部分窗格中增加了表C和表SC,并查看下面SQL窗格中語句的變化。以此類推,在“視圖”選項卡中添加視圖View_S。單擊“關閉”按鈕,關閉“添加表”窗口,返回創建視圖窗口;

數據庫基礎創建索引(數據庫表完整性約束)70

(3) 在視圖View_S中,選中字段SN左側的複選框,表示選中字段SN。以此類推,在表C中選擇CN,在表SC中選擇SCORE,如圖所示; 選中視圖View_S中的SNO并将其拖曳到表SC中的SNO,查看下面SQL窗格中語句的變化;同樣選中表SC中的CNO并拖曳到表C中的CNO,查看下面SQL窗格中語句的變化;

數據庫基礎創建索引(數據庫表完整性約束)71

(4) 單擊視圖設計器工具欄中按鈕,執行視圖定義。窗口下面的表格數據即是視圖的内容,如圖所示;

數據庫基礎創建索引(數據庫表完整性約束)72

數據庫基礎創建索引(數據庫表完整性約束)73

數據庫基礎創建索引(數據庫表完整性約束)74

(5) 單擊工具欄中的口按鈕,打開對話框,輸入視圖名稱View_SCORETABLE,單擊“确定”按鈕;

數據庫基礎創建索引(數據庫表完整性約束)75

(6) 關閉“創建視圖窗口”。查看數據庫中的視圖信息。在“對象資源管理器”中,展開數據庫jxsk中的“視圖”節點, View_SCORETABLE即是剛創建的視圖,如上方圖所示;

29 T-SQL創建課程表視圖VIEW_CTABLE

(1) 擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO CREATE VIEW VIEW_CTABLE AS SELECT TN,CN FROM T,C,TC WHERE T.TNO=TC.TNO AND C.CNO=TC.CNO GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句;

(3) 在“對象資源管理器”中,展開數據庫jxsk中的“視圖”節點, View_SCORETABLE即是剛創建的視圖;

數據庫基礎創建索引(數據庫表完整性約束)76

30 交互式删除視圖字段

(1) 在“對象資源管理器”中,展開數據庫jxsk中的“視圖”節點。右擊View_S,在快捷菜單中選擇“修改”選項,打開設計視圖窗口,如圖所示。在此窗口中可查看窗口中各部分内容的關系;

數據庫基礎創建索引(數據庫表完整性約束)77

(2) 在數據庫表S中,取消選中SNO左端的複選框,即取消此項選擇,然後查看窗口下部分列表和SQL語句的變化;

數據庫基礎創建索引(數據庫表完整性約束)78

(3) 執行操作。單擊視圖設計器工具欄中的事按鈕,執行對視圖定義進行改變的操作。窗口下部分表格中顯示的是删除SNO後視圖中的數據,如圖所示。保存後關閉視圖設計器窗口。

31 T-SQL為視圖ViewCTABLE增加一個課時字段Cttinyint

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER VIEW VIEW_CTABLE AS SELECT TN,CN,CT FROM T,C,TC WHERE T.TNO=TC.TNO AND C.CNO=TC.CNO GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

(3) 在“對象資源管理器”中,展開數據庫jxsk中的“視圖”節點,在右窗格的“摘要”中,右擊視圖View_CTABLE,在打開的快捷菜單中選擇“打開視圖”項,打開視圖ViewCTABLE的數據窗口,顯示出修改後的視圖數據,如圖所示;

數據庫基礎創建索引(數據庫表完整性約束)79

32 交互式修改視圖數據以實現修改數據庫表數據

(1) 分别打開視圖View S和數據庫表S的内容,如圖所示,可見兩個表中“李奇”記錄的各字段數據相同;

數據庫基礎創建索引(數據庫表完整性約束)80

數據庫基礎創建索引(數據庫表完整性約束)81

(2) 在視圖View_S中,把“李奇”的系名DEPT“外語”改為“計算機”。單擊薄按鈕,執行進行這個改變的操作,如圖所示。單擊表S窗口,使其成為當前窗口,查看到“李奇”的DEPT字段值仍然是“外語”,單擊按鈕霸,再查看“李奇”的DEPT字段值與當前的視圖View_S中的改變一緻,如下圖所示。

數據庫基礎創建索引(數據庫表完整性約束)82

數據庫基礎創建索引(數據庫表完整性約束)83

數據庫基礎創建索引(數據庫表完整性約束)84

33 對視圖執行INSERT語句

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO INSERT INTO VIEW_S VALUES('S8','古明','男','自動化') GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,顯示執行失敗。這是因為,視圖View_S來源于基本表S,但卻不包含基本表S的主鍵SNO,主鍵的性質是不許取空值。當向視圖中插入一行新數據時,因沒有SNO字段值,所以,從視圖到基本表映射插入此行數據時,表S中的SNO字段值自動取空值,這是主鍵所不允許的,故執行失敗。

數據庫基礎創建索引(數據庫表完整性約束)85

34 修改視圖定義後進行插入操作

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO ALTER VIEW VIEW_S AS SELECT SNO,SN,SEX,DEPT FROM S GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

(3) 在“對象資源管理器”中,分别打開視圖View_S和數據庫表S的數據窗口,兩個窗口中的數據的對應行列完全相同;

(4) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO INSERT INTO VIEW_S VALUES('S8','古明','男','自動化') GO

(5) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

(6) 打開視圖View_S和數據庫表S的數據窗口,如圖所示,“古明”的記錄已插入到視圖中。再單擊表S窗口中的按鈕,更新當前表内容,如圖所示,“古明”的記錄也已插入數據庫表S中;分别關閉視圖和數據庫表的窗口;

數據庫基礎創建索引(數據庫表完整性約束)86

數據庫基礎創建索引(數據庫表完整性約束)87

數據庫基礎創建索引(數據庫表完整性約束)88

35 T-SQL對視圖進行DELETE操作并查看數據變化

(1) 在“對象資源管理器”中,分别打開視圖View_S和數據庫表S的數據窗口,兩個窗口中的内容是一緻的,都存在學号是S8的學生記錄;

(2) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO DELETE VIEW_S WHERE SNO='S8' GO

(3) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

(4) 單擊View_S視圖窗口選項卡,然後單擊按鈕,更新當前視圖内容,如圖所示,學号是S8的學生記錄已經不存在。再單擊表S窗口選項卡和按鈕,更新當前表内容,如圖所示,學号是S8的學生記錄也已經不存在。分别關閉視圖和數據庫表的窗口;

數據庫基礎創建索引(數據庫表完整性約束)89

36 交互式删除視圖

(1) 在“對象資源管理器”中,單擊數據庫jxsk中的視圖節點,右窗格“摘要”中的内容即為數據庫jxsk中的視圖内容。

(2) 在右窗格中,右擊視圖View_S,在打開的快捷菜單中選擇“删除”選項,打開“删除對象”對話框。

(3) 查看“要删除的對象”列表,單擊要删除的視圖View_S左側的複選框,單擊“确定”按鈕,視圖View_S即被删除。

數據庫基礎創建索引(數據庫表完整性約束)90

(4) 在“對象資源管理器”中,刷新數據庫jxsk中的“視圖”節點,可看到視圖View_S已經不存在;

數據庫基礎創建索引(數據庫表完整性約束)91

37 T-SQL删除視圖

(1) 單擊屏幕上方 “工具欄”菜單中的“新建查詢”按鈕,打開“查詢編輯器”窗口,并在“查詢編輯器”窗口中輸入以下T-SQL語句:

USE jxsk GO DROP VIEW VIEW_CTABLE GO

(2) 單擊 “工具欄”中的“執行(x)”按鈕,即可執行上述T-SQL語句。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved