創(chuàng)建數(shù)據(jù)庫表數(shù)據(jù)庫原理.ppt
《創(chuàng)建數(shù)據(jù)庫表數(shù)據(jù)庫原理.ppt》由會員分享,可在線閱讀,更多相關(guān)《創(chuàng)建數(shù)據(jù)庫表數(shù)據(jù)庫原理.ppt(110頁珍藏版)》請在裝配圖網(wǎng)上搜索。
數(shù)據(jù)庫原理與應(yīng)用第10章數(shù)據(jù)庫表 學(xué)習(xí)目的 掌握利用企業(yè)管理器 EnterpriseManager 創(chuàng)建表 掌握利用Transact SQL語句中的create命令創(chuàng)建表 重點 難點 重點利用Transact SQL語句中的create命令創(chuàng)建表難點無 第10章數(shù)據(jù)庫表 數(shù)據(jù)庫最重要的功能之一是存儲數(shù)據(jù) 關(guān)系型數(shù)據(jù)庫中 數(shù)據(jù)保存在表中 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計后 得到了一系列的關(guān)系模式 進(jìn)入數(shù)據(jù)庫實施階段 將把關(guān)系模式轉(zhuǎn)換為DBMS的數(shù)據(jù)庫表 數(shù)據(jù)庫表是數(shù)據(jù)的最基本構(gòu)成元素 對數(shù)據(jù)庫的操作大多基于數(shù)據(jù)庫表 第10章數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表10 2修改數(shù)據(jù)庫表10 3使用約束10 4建立索引10 5刪除數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表 創(chuàng)建表創(chuàng)建表 就是將邏輯設(shè)計階段得到的關(guān)系模式用DBMS所支持的形式表達(dá)出來 每一個關(guān)系模式就是一張數(shù)據(jù) 庫 表 可看作定義這張表的 表頭 如何命名每一列及每一列的屬性特點是什么 在SQLServer2000中 每個數(shù)據(jù)庫中最多可以創(chuàng)建200萬個表 用戶創(chuàng)建數(shù)據(jù)庫表時 最多可以定義1024列 也就是可以定義1024個字段 10 1創(chuàng)建數(shù)據(jù)庫表 SQLServer2000提供了兩種方法創(chuàng)建數(shù)據(jù)庫表利用企業(yè)管理器 EnterpriseManager 創(chuàng)建表利用Transact SQL語句中的create命令創(chuàng)建表 10 1創(chuàng)建數(shù)據(jù)庫表 利用企業(yè)管理器 EnterpriseManager 創(chuàng)建表步驟如下 1 在樹形目錄中找到要建表的數(shù)據(jù)庫 展開該數(shù)據(jù)庫 2 選擇表 單擊鼠標(biāo)右鍵 在彈出的快捷菜單中選擇 新建表 命令 表設(shè)計器如圖所示 10 1創(chuàng)建數(shù)據(jù)庫表 利用企業(yè)管理器 EnterpriseManager 創(chuàng)建表步驟如下 1 在樹形目錄中找到要建表的數(shù)據(jù)庫 展開該數(shù)據(jù)庫 2 選擇表 單擊鼠標(biāo)右鍵 在彈出的快捷菜單中選擇 新建表 命令 表設(shè)計器如圖所示 3 表設(shè)計器的上半部分有一個表格 在這個表格中輸入列的屬性 表格的每一行對應(yīng)一列 對每一列都需要進(jìn)行以下設(shè)置 其中前三項是必須在建表時給出的 它們是 列名 即字段名 數(shù)據(jù)類型 數(shù)據(jù)類型是一個下拉列表框 其中包括了所有的系統(tǒng)數(shù)據(jù)類型長度 如果選擇的數(shù)據(jù)類型需要長度 則指定長度 允許空 單擊鼠標(biāo) 可以切換是否允許為空值的狀態(tài) 勾選說明允許為空值 空白說明不允許為空值 默認(rèn)狀態(tài)下是允許為空值的 10 1創(chuàng)建數(shù)據(jù)庫表 利用企業(yè)管理器 EnterpriseManager 創(chuàng)建表步驟如下 3 表設(shè)計器的上半部分有一個表格 在這個表格中輸入列的屬性 表格的每一行對應(yīng)一列 對每一列都需要進(jìn)行以下設(shè)置 其中前三項必須在建表時給出 它們是 列名 即字段名 數(shù)據(jù)類型 數(shù)據(jù)類型是一個下拉列表框 其中包括了所有的系統(tǒng)數(shù)據(jù)類型長度 如果選擇的數(shù)據(jù)類型需要長度 則指定長度 允許空 單擊鼠標(biāo) 可以切換是否允許為空值的狀態(tài) 勾選說明允許為空值 空白說明不允許為空值 默認(rèn)狀態(tài)下是允許為空值的 10 1創(chuàng)建數(shù)據(jù)庫表 利用企業(yè)管理器 EnterpriseManager 創(chuàng)建表步驟如下 3 表設(shè)計器的上半部分有一個表格 在這個表格中輸入列的屬性 表格的每一行對應(yīng)一列 表設(shè)計器的下半部分是特定列的詳細(xì)屬性 包括是否是標(biāo)識列 是否使用默認(rèn)值等 4 定義好所有列后 單擊工具欄上的保存按扭 表就創(chuàng)建完成了 10 1創(chuàng)建數(shù)據(jù)庫表 利用Transact SQL語句中的create命令創(chuàng)建表其語法形式如下 CREATETABLE表名 列名1數(shù)據(jù)類型 identity notnull null 列名2數(shù)據(jù)類型 identity notnull null 注意 在創(chuàng)建表之前 要先使用use命令打開需要創(chuàng)建表的數(shù)據(jù)庫 10 1創(chuàng)建數(shù)據(jù)庫表 三個參數(shù)的含義 null 表示該列的值可以為空值 即沒有存儲任何數(shù)據(jù) 此為默認(rèn)參數(shù) 不能將空值理解為該列的值是0或空字符串等值 notnull 表示該列的值不能為空 identify 計數(shù)器 表示該列的值是一組遞增的整數(shù)數(shù)據(jù) 初始值默認(rèn)為1 增長步長默認(rèn)為1 也可自己指定初始值和增長步長 課本表10 1 10 1創(chuàng)建數(shù)據(jù)庫表 例 在Company數(shù)據(jù)庫中創(chuàng)建一個雇員信息表該表記錄了雇員的號碼 姓名 性別 出生日期 雇傭日期 職工種類 工資信息 其中 職工號碼 整型 不能為空姓名 可變長度字符型 允許為空出生日期 日期型 允許為空雇傭日期 日期型 不能為空職工種類 可變長度字符型 允許為空工資 貨幣型 允許為空 10 1創(chuàng)建數(shù)據(jù)庫表 其SQL語句的程序清單如下 useCompanygoCREATETABLEemployee numberintnotnull namevarchar 10 NULL birthdaydatetimenull hire datedatetimeNOTNULL professional titlevarchar 10 null salarymoneynull 10 1創(chuàng)建數(shù)據(jù)庫表 表名在同一數(shù)據(jù)庫內(nèi) 數(shù)據(jù)庫表的名稱是惟一的可以使用中文 也可以使用西文符號最多64個字符 一個漢字占兩個字符 建立臨時表臨時表的表名必須以 打頭仍然使用CREATETABLE命令例 Createtable demotable user idnumeric 10 0 identity Namevarchar 30 notNULL 10 1創(chuàng)建數(shù)據(jù)庫表 例10 1確定期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表的表名 10 1創(chuàng)建數(shù)據(jù)庫表 列名表中的每一列也稱為字段 所以列名也叫字段名字段名的命名方式基本同數(shù)據(jù)表名的命名字段名在數(shù)據(jù)表中要求是惟一的 但在整個數(shù)據(jù)庫中可以重名 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型定義數(shù)據(jù)表中的每一個字段必須聲明其數(shù)據(jù)類型 DBMS才能實現(xiàn)對數(shù)據(jù)的存儲管理 為每一個字段選擇合適的數(shù)據(jù)類型和數(shù)據(jù)長度將直接影響著數(shù)據(jù)庫系統(tǒng)存儲空間的利用和系統(tǒng)的性能 在建立數(shù)據(jù)庫表時 要慎重決定每個字段的數(shù)據(jù)類型 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型T SQL中支持的 常用的數(shù)據(jù)類型字符型日期時間類型數(shù)值類型二進(jìn)制型位型文本型圖像型時間戳型 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 1 字符型字符型變量應(yīng)定義長度允許定義的最大長度是255有兩種固定長度的char 類型可變長度的varchar 類型輸入字符型數(shù)據(jù)時必須用單引號將數(shù)據(jù)括起來 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 2 日期時間型datetime和smalldatetime是用來存儲日期和時間數(shù)據(jù) 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 3 整數(shù)類型多用于處理數(shù)值類型數(shù)據(jù) 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 4 浮點數(shù)類型多用于處理取值范圍很大的數(shù)字量 使用時有一定的精確度 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 5 精確數(shù)類型精確數(shù)類型有兩種形式DecimalNumeric與浮點類型數(shù)據(jù)的區(qū)別可自定義精度的位數(shù)例num col 5 2 可以表示的最大值是999 99 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 6 貨幣型 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 7 位數(shù)據(jù)類型位數(shù)據(jù)類型bit是一種邏輯數(shù)據(jù)類型只有1和0兩種數(shù)值一般常用作true false使用定義bit列時 不允許為NULL 也不能建立索引多個bit列可占用一個字節(jié) 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 8 文本型和圖像型文本類型text圖像類型image每行可以存儲2GB的二進(jìn)制大型對象 10 1創(chuàng)建數(shù)據(jù)庫表 數(shù)據(jù)類型 9 時間戳型時間戳型表示Timestamp由系統(tǒng)自動賦值的一個計數(shù)器數(shù)據(jù)記錄了數(shù)據(jù)行的操作順序時間戳列的數(shù)據(jù)保持惟一 它可以惟一標(biāo)識表中的列時間戳列的值實際來自于事務(wù)日志 10 1創(chuàng)建數(shù)據(jù)庫表 例10 2確定期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表中字段的字段名和數(shù)據(jù)類型 數(shù)據(jù)表Mag dept 10 1創(chuàng)建數(shù)據(jù)庫表 例10 2確定期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表中字段的字段名和數(shù)據(jù)類型 數(shù)據(jù)表mag emp 10 1創(chuàng)建數(shù)據(jù)庫表 例10 2確定期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表中字段的字段名和數(shù)據(jù)類型 數(shù)據(jù)表Mag info 10 1創(chuàng)建數(shù)據(jù)庫表 例10 2確定期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表中字段的字段名和數(shù)據(jù)類型 數(shù)據(jù)表mag doc 10 1創(chuàng)建數(shù)據(jù)庫表 例10 3建立期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表 創(chuàng)建mag dept表 10 1創(chuàng)建數(shù)據(jù)庫表 例10 3建立期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表 創(chuàng)建mag emp表 10 1創(chuàng)建數(shù)據(jù)庫表 例10 3建立期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表 創(chuàng)建mag info表 10 1創(chuàng)建數(shù)據(jù)庫表 例10 3建立期刊采編系統(tǒng)數(shù)據(jù)庫中各數(shù)據(jù)表 創(chuàng)建mag doc表 10 1創(chuàng)建數(shù)據(jù)庫表 用T SQL語句查看表定義1 使用系統(tǒng)存儲過程sp help可以查看表的定義 在查詢分析器中輸入sp helpemployee命令 可以查看剛剛創(chuàng)建的employee表的結(jié)構(gòu) 補(bǔ)充 10 1創(chuàng)建數(shù)據(jù)庫表 2 使用系統(tǒng)存儲過程sp helpdb格式如下 sp helpdb 數(shù)據(jù)庫名 1 不給出參數(shù) 將顯示服務(wù)器中所有數(shù)據(jù)庫的信息 如圖所示 補(bǔ)充 10 1創(chuàng)建數(shù)據(jù)庫表 使用系統(tǒng)存儲過程sp helpdb 10 1創(chuàng)建數(shù)據(jù)庫表 使用系統(tǒng)存儲過程sp helpdb 給出某個數(shù)據(jù)庫名時 只顯示這個數(shù)據(jù)庫的信息 如圖 10 1創(chuàng)建數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表 3 使用系統(tǒng)存儲過程sp databases格式如下 sp databases顯示服務(wù)器中所有可以使用的數(shù)據(jù)庫的信息 如圖所示 注意 sp helpdb也是顯示服務(wù)器中所有數(shù)據(jù)庫的信息 兩者之間的差別在哪 補(bǔ)充 10 1創(chuàng)建數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表 4 使用系統(tǒng)存儲過程sp helpfile格式如下 sp helpfile 文件名 查看數(shù)據(jù)庫中文件的信息 注意 要先使用use命令打開所要查看的數(shù)據(jù)庫 補(bǔ)充 10 1創(chuàng)建數(shù)據(jù)庫表 4 使用系統(tǒng)存儲過程sp helpfile 1 不加文件名 顯示數(shù)據(jù)庫中所有文件的信息 如圖所示 補(bǔ)充 10 1創(chuàng)建數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表 4 使用系統(tǒng)存儲過程sp helpfile 2 加文件名 顯示數(shù)據(jù)庫中某一文件的信息 補(bǔ)充 10 1創(chuàng)建數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表 5 使用系統(tǒng)存儲過程sp helpfilegroup格式如下 sp helpfilegroup 文件組名 不加文件組名 顯示數(shù)據(jù)庫中所有文件組的信息 用法同sp helpfile 補(bǔ)充 第10章數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表10 2修改數(shù)據(jù)庫表10 3使用約束10 4建立索引10 5刪除數(shù)據(jù)庫表 10 2修改數(shù)據(jù)庫表 添加或刪除列修改列的屬性更改列名和表名 10 2修改數(shù)據(jù)庫表 利用企業(yè)管理器增加 刪除和修改字段 在企業(yè)管理器中 打開指定的服務(wù)器中要修改表的數(shù)據(jù)庫 用右鍵單擊要進(jìn)行修改的表 從彈出的快捷菜單中選擇設(shè)計表選項 則會出現(xiàn)設(shè)計表對話框 在該對話框中 可以利用圖形化工具完成增加 刪除和修改字段的操作 利用Transact SQL語言中的altertable命令增加 刪除和修改字段 10 2修改數(shù)據(jù)庫表 增加列語句格式 ALTERTABLE表名ADD列名列的描述例如 向Company數(shù)據(jù)庫的employee表中添加性別 sex 列 useCompanygoaltertableemployeeaddsexchar 4 null 10 2修改數(shù)據(jù)庫表 增加列例10 4向數(shù)據(jù)表mag emp中添加一新屬性ID 身份證號碼 數(shù)據(jù)類型為字符型 固定長度18 10 2修改數(shù)據(jù)庫表 刪除列語句格式 ALTERTABLE表名DROPCOLUMN列名例如 刪除employee表的sex列 useCompanygoaltertableemployeedropcolumnsex 10 2修改數(shù)據(jù)庫表 刪除列例10 5刪除數(shù)據(jù)表mag emp中屬性ID 10 2修改數(shù)據(jù)庫表 修改列定義表中的每一列都有其定義 包括列名 數(shù)據(jù)類型 數(shù)據(jù)長度以及是否允許為空值等 這些值都可以在表創(chuàng)建好以后修改 修改列定義的語句格式為 ALTERTABLE表名ALTERCOLUMN列名數(shù)據(jù)類型列的描述 10 2修改數(shù)據(jù)庫表 修改列定義例如 將employee表的name列改為最大長度為20的varchar型數(shù)據(jù) 且不允許空值 useCompanygoaltertableemployeealtercolumnnamevarchar 20 notnull默認(rèn)狀態(tài)下 列是被設(shè)置為允許空值的 將一個原來允許空值的列改為不允許空值 必須在以下兩個條件滿足時才能成功 1 列中沒有存放是空值的記錄 2 在列上沒有創(chuàng)建索引 10 2修改數(shù)據(jù)庫表 修改列定義例10 6將數(shù)據(jù)表mag info中PubDate的數(shù)據(jù)類型更改為smalldatetime 10 2修改數(shù)據(jù)庫表 更改列名和表名更改列名sp rename 表名 列名 新列名更改表名sp rename原表名 新表名 10 2修改數(shù)據(jù)庫表 更改列名和表名例10 7數(shù)據(jù)庫usedb1中建有數(shù)據(jù)表test 包含number stu name和class三個字段 請將class更名為class no 10 2修改數(shù)據(jù)庫表 更改列名和表名例10 8將數(shù)據(jù)庫usedb1中數(shù)據(jù)表test更名為student 第10章數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表10 2修改數(shù)據(jù)庫表10 3使用約束10 4建立索引10 5刪除數(shù)據(jù)庫表 10 3使用約束 約束的作用實現(xiàn)數(shù)據(jù)的完整性實體完整性參照完整性用戶自定義完整性 10 3使用約束 約束的類型 10 3使用約束 建立約束定義約束時使用Createtable語句或使用Altertable語句即可以在定義數(shù)據(jù)表的數(shù)據(jù)列時直接定義約束 也可以對已定義的數(shù)據(jù)表添加約束 10 3使用約束 建立約束使用Createtable語句格式 Createtable表名 列名1數(shù)據(jù)類型 identity NOTNULL NULL Constraint約束名 約束定義 列名2數(shù)據(jù)類型 identity NOTNULL NULL Constraint約束名 約束定義 Constraint約束名 約束定義 建立約束時看隨數(shù)據(jù)定義或者單獨定義 10 3使用約束 建立約束使用Altertable語句格式 Altertable表名Add Constraint約束名 約束定義約束名是一個可選項 如果用戶自己不定義約束名 則系統(tǒng)將按照一定規(guī)則命名該約束 不命名約束名時 關(guān)鍵字constraint也要省略 10 3使用約束 1 primarykey主鍵的添加 刪除和修改操作方法有兩種 1 企業(yè)管理器操作法 在企業(yè)管理器中 用右鍵單擊要操作的數(shù)據(jù)庫表 從彈出的快捷菜單中選擇設(shè)計表選項 然后根據(jù)提示操作 如圖 10 3使用約束 10 3使用約束 1 primarykey主鍵的添加 刪除和修改操作方法有兩種 2 Transact SQL語句操作法其語法形式如下 CONSTRAINTconstraint name PRIMARYKEY 列名1 列名2 當(dāng)主鍵由多個列構(gòu)成時 則將列名依次寫在括號中 10 3使用約束 1 primarykey主鍵的添加 刪除和修改操作方法有兩種 2 Transact SQL語句操作法例10 9向數(shù)據(jù)表map dept中添加主鍵約束 10 3使用約束 注意 此例沒有定義約束名 則系統(tǒng)會按照一定規(guī)則命名該約束 查看約束名方法 如圖 10 3使用約束 1 primarykey使用createtable建立主鍵約束時兩種寫法 1 定義列名和數(shù)據(jù)類型后 直接寫上關(guān)鍵字primarykey 2 定義完所有列名和數(shù)據(jù)類型后 單獨寫明primarykey 列名1 列名2 當(dāng)主鍵有兩個或兩個以上屬性共同構(gòu)成時 必須用第二種方法 即單獨定義 而不能隨列的定義而定義 10 3使用約束 1 定義列名和數(shù)據(jù)類型后 直接寫上關(guān)鍵字primarykey例10 10在數(shù)據(jù)庫usedb2中建立數(shù)據(jù)表map dept 同時定義主鍵約束 10 3使用約束 2 定義完所有列名和數(shù)據(jù)類型后 單獨寫明primarykey 列名1 列名2 例10 11在數(shù)據(jù)庫usedb1中建立數(shù)據(jù)表grade 表中包括學(xué)號sno char 課程號cno char 成績gmark numeric 屬性 主鍵由學(xué)號和課程號構(gòu)成 10 3使用約束 2 unique唯一性約束用于指定一個或者多個列的組合的值具有唯一性 以防止在列中輸入重復(fù)的值 當(dāng)使用唯一性約束時 需要考慮以下幾個因素 主鍵自動具有unique的特性 一個表中可以允許有多個唯一性約束 可以把唯一性約束定義在多個字段上 唯一性約束用于強(qiáng)制在指定字段上創(chuàng)建一個唯一性索引 10 3使用約束 2 unique 1 企業(yè)管理器操作法 10 3使用約束 2 unique 2 Transact SQL語句操作法 CONSTRAINT約束名 UNIQUE 列名1 n 基本用法同主鍵約束 10 3使用約束 2 unique例10 12向數(shù)據(jù)庫usedb2中數(shù)據(jù)表mag dept屬性DepManager增加UNIQUE約束 10 3使用約束 3 foreignkey外部鍵約束用于強(qiáng)制參照完整性 提供單個字段或者多個字段的參照完整性 基本格式為 constraint約束名 foreignkey 列名1 列名2 references表名 列名1 列名2 10 3使用約束 3 foreignkey注意 1 使用createtable命令建表時 若隨著列的定義一同定義外鍵 則可以省略關(guān)鍵字foreignkey及列名 但使用altertable命令增加外部鍵時不行 2 定義外部鍵時要保證被定義為外鍵的屬性在參照表中已經(jīng)被定義為主鍵 10 3使用約束 3 foreignkey例10 13向數(shù)據(jù)庫MagDb中數(shù)據(jù)表mag emp的屬性DepId添加外鍵約束 10 3使用約束 3 foreignkey例10 14在數(shù)據(jù)庫usedb2中建立數(shù)據(jù)表mag emp 同時定義主鍵和外鍵 10 3使用約束 4 check一個列級檢查約束只能與限制的字段有關(guān) 一個表級檢查約束只能與限制的表中字段有關(guān) 一個表中可以定義多個檢查約束 每個CREATETABLE語句中每個字段只能定義一個檢查約束 在多個字段上定義檢查約束 則必須將檢查約束定義為表級約束 當(dāng)執(zhí)行INSERT語句或者UPDATE語句時 檢查約束將驗證數(shù)據(jù) 10 3使用約束 4 check 1 企業(yè)管理器操作法 10 3使用約束 4 check 2 Transact SQL語句操作法 其語法形式如下 CONSTRAINT約束名 CHECK 邏輯表達(dá)式 10 3使用約束 4 check例10 15將數(shù)據(jù)庫MagDb中數(shù)據(jù)表mag emp的屬性EmpAge取值范圍限定在1 100之間 含1和100 并將此約束命名為ck age 10 3使用約束 4 check例子 創(chuàng)建一個學(xué)生信息表 其中輸入性別字段值時 只能接受 F 或者 M 并且為phonenum字段創(chuàng)建檢查約束 限制只能輸入類似80798654之類的數(shù)據(jù) 而不能隨意輸入其他數(shù)據(jù) createtablestudent idchar 8 namechar 8 sexchar 2 phonenumint constraintchk sexcheck sexin F M constraintchk phonenumcheck phonenumlike 0 9 0 9 0 9 0 9 0 9 0 9 0 9 0 9 10 3使用約束 5 default用于指定某個屬性的默認(rèn)值 當(dāng)數(shù)據(jù)表中的某一列具有大量相同數(shù)據(jù)時 為了減少數(shù)據(jù)錄入的工作量 可以指定默認(rèn)值 則該屬性自動具有了數(shù)據(jù) 1 企業(yè)管理器中 10 3使用約束 5 default 2 T SQL語句定義default約束基本格式 constraint約束名 default常量表達(dá)式for字段名 10 3使用約束 5 default例10 16將數(shù)據(jù)庫MagDb中數(shù)據(jù)表mag emp的屬性EmpRole的默認(rèn)值指定為 編輯 10 3使用約束 5 default使用缺省約束時 應(yīng)該注意以下幾點 每個字段只能定義一個缺省約束 如果定義的缺省值長于其對應(yīng)字段的允許長度 那么輸入到表中的缺省值將被截斷 不能加入到帶有IDENTITY屬性的字段上 10 3使用約束 刪除約束語句格式 altertable表名dropconstraint約束名注意 定義約束的時候若省略了約束名 則要先查出系統(tǒng)自動命名的約束名然后進(jìn)行刪除 10 3使用約束 刪除約束例10 17刪除數(shù)據(jù)庫usedb2中數(shù)據(jù)表mag dept屬性DepManager的UNIQUE約束 第10章數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表10 2修改數(shù)據(jù)庫表10 3使用約束10 4建立索引10 5刪除數(shù)據(jù)庫表 10 4建立索引 數(shù)據(jù)庫中的索引與書籍中的索引類似 在一本書中 利用索引可以快速查找所需信息 無須閱讀整本書 在數(shù)據(jù)庫中 索引使數(shù)據(jù)庫程序無須對整個表進(jìn)行掃描 就可以在其中找到所需數(shù)據(jù) 書中的索引是一個詞語列表 其中注明了包含各個詞的頁碼 而數(shù)據(jù)庫中的索引是某個表中一列或者若干列值的集合和相應(yīng)的指向表中物理標(biāo)識這些值的數(shù)據(jù)頁的邏輯指針清單 10 4建立索引 索引的作用通過創(chuàng)建唯一索引 可以保證數(shù)據(jù)記錄的唯一性 可以大大加快數(shù)據(jù)檢索速度 可以加速表與表之間的連接 這一點在實現(xiàn)數(shù)據(jù)的參照完整性方面有特別的意義 10 4建立索引 索引的類型聚集索引 clustered 是一種物理存儲方式一個數(shù)據(jù)表只能建立一個聚集索引非聚集索引 nonclustered 是一種邏輯存儲方式索引的次序并不影響數(shù)據(jù)的物理存儲順序一個數(shù)據(jù)表最多可以建立249個非聚集索引 10 4建立索引 創(chuàng)建索引的方法SQLServer2000創(chuàng)建索引的方法 1 用企業(yè)管理器直接創(chuàng)建索引 2 利用Transact SQL語句中的CREATEINDEX命令創(chuàng)建索引 10 4建立索引 用企業(yè)管理器直接創(chuàng)建索引 具體步驟如下 在企業(yè)管理器中 展開指定的服務(wù)器和數(shù)據(jù)庫 選擇要創(chuàng)建索引的表 用右鍵單擊該表 從彈出的快捷菜單中選擇所有任務(wù)項的管理索引選項 10 4建立索引 用企業(yè)管理器直接創(chuàng)建索引 具體步驟如下 出現(xiàn)管理索引對話框 如圖所示 在該對話框中 可以選擇要處理的數(shù)據(jù)庫和表 管理索引對話框 10 4建立索引 用企業(yè)管理器直接創(chuàng)建索引 具體步驟如下 單擊 新建 按鈕 則出現(xiàn)新建索引對話框 如圖所示 3 選擇完成后單擊 確定 按鈕 即可生成新的索引 單擊 取消 按鈕 則取消新建索引的操作 10 4建立索引 利用Transact SQL語句中的CREATEINDEX命令創(chuàng)建索引 建立索引的語法為 create unique clustered nonclustered index索引名on表名 列名1 列名2 unique 惟一索引默認(rèn)情況下 創(chuàng)建的索引是非惟一的非聚集索引 必須先建立聚集索引 再建立非聚集索引 10 4建立索引 例10 18對數(shù)據(jù)表mag emp屬性EmpAge建立非惟一的非聚集索引age index 注意 1 當(dāng)數(shù)據(jù)表建立主鍵后 就自動建立惟一聚集索引 2 數(shù)據(jù)表使用unique約束后 可自動產(chǎn)生一個非聚集索引 10 4建立索引 創(chuàng)建索引時一般應(yīng)遵循以下原則經(jīng)常要查找的列經(jīng)常要按順序檢索的列經(jīng)常用于多個數(shù)據(jù)表連接的列經(jīng)常用于進(jìn)行統(tǒng)計計算 如求極值 求和等 的列 在查詢條件中頻繁使用的列如果一個列中只有幾個不同的數(shù)據(jù)值 或者被索引的列多于20個字節(jié)時 通常不應(yīng)該建立索引 10 4建立索引 刪除索引的語法Dropindex表名 索引名注意使用primarykey約束和unique約束建立的索引不能刪除 例10 19刪除索引age index 第10章數(shù)據(jù)庫表 10 1創(chuàng)建數(shù)據(jù)庫表10 2修改數(shù)據(jù)庫表10 3使用約束10 4建立索引10 5刪除數(shù)據(jù)庫表 10 5刪除數(shù)據(jù)庫表 刪除數(shù)據(jù)表的語法Droptable表名 例10 20刪除usedb2中數(shù)據(jù)表mag dept- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 創(chuàng)建 數(shù)據(jù)庫 原理
鏈接地址:http://ioszen.com/p-5336750.html