實(shí)驗(yàn)三、四 創(chuàng)建表及輸入數(shù)據(jù)及完整性約束_第1頁(yè)
實(shí)驗(yàn)三、四 創(chuàng)建表及輸入數(shù)據(jù)及完整性約束_第2頁(yè)
實(shí)驗(yàn)三、四 創(chuàng)建表及輸入數(shù)據(jù)及完整性約束_第3頁(yè)
實(shí)驗(yàn)三、四 創(chuàng)建表及輸入數(shù)據(jù)及完整性約束_第4頁(yè)
實(shí)驗(yàn)三、四 創(chuàng)建表及輸入數(shù)據(jù)及完整性約束_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)驗(yàn)三、四 創(chuàng)建表及輸入數(shù)據(jù)及完整性約束 本實(shí)驗(yàn)需要4學(xué)時(shí)。一、實(shí)驗(yàn)?zāi)康?要求學(xué)生熟練掌握和使用Transact-SQL、SQL Server企業(yè)管理器創(chuàng)建表、索引和修改表結(jié)構(gòu),并學(xué)會(huì)使用SQL Server 查詢分析器接收Transact-SQL語(yǔ)句和進(jìn)行結(jié)果分析。學(xué)生熟練掌握使用 SQL、Transact-SQL和SQL Server企業(yè)管理器向數(shù)據(jù)庫(kù)輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)的操作。二、實(shí)驗(yàn)內(nèi)容 1 創(chuàng)建表、確定表的主碼和約束條件。為主碼建索引。 2 查看和修改表結(jié)構(gòu)。 3 輸入數(shù)據(jù)、修改數(shù)據(jù)和刪除數(shù)據(jù)三、實(shí)驗(yàn)步驟 (1)通過(guò)企業(yè)管理器,在建好的圖書(shū)借閱數(shù)據(jù)庫(kù)中建立圖書(shū)、讀者和借閱3個(gè)

2、表,其結(jié)構(gòu)為; 圖書(shū)(書(shū)號(hào),類(lèi)別,出版社,作者,書(shū)名,定價(jià),作者). 讀者(編號(hào),姓名,單位,性別,電話) 借閱(書(shū)號(hào),讀者編號(hào),借閱日期) 要求為屬性選擇合適的數(shù)據(jù)類(lèi)型,定義每個(gè)表的主碼.是否允許空值和默認(rèn)值等列級(jí)數(shù)據(jù)約束。(2)在企業(yè)管理器中建立圖書(shū)、讀者和借閱3個(gè)表的表級(jí)約束每個(gè)表的主碼約束借閱表與圖書(shū)表間、借閱表與讀者表之間的外碼約束,要求按語(yǔ)義先確定外碼約束表達(dá)式再通過(guò)操作予以實(shí)現(xiàn)實(shí)現(xiàn)借閱表的書(shū)號(hào)和讀者編號(hào)的惟一性約束:實(shí)現(xiàn)讀者性別只能是“男”或“女”的Check(檢查)約束。(3)通過(guò)企業(yè)管理器,在圖書(shū)借閱數(shù)據(jù)庫(kù)的圖書(shū)、讀者和借閱3個(gè)表中各輸入10條記錄。要求記錄不僅滿足數(shù)據(jù)約束要

3、求還要有表間關(guān)聯(lián)的記錄。 (4)通過(guò)企業(yè)管理器實(shí)現(xiàn)對(duì)圖書(shū)借閱數(shù)據(jù)庫(kù)的圖書(shū)、讀者和借閱3個(gè)表中數(shù)據(jù)的插入。刪除和修改操作。 (5)通過(guò)企業(yè)管理器實(shí)現(xiàn)對(duì)學(xué)生選課庫(kù)的數(shù)據(jù)增加、數(shù)據(jù)刪除和數(shù)據(jù)修改操作、要求學(xué)生、課程和選課表中各有10條以上的記錄。四、實(shí)驗(yàn)方法 1 新建表 在 SQL Serve 2000的數(shù)據(jù)庫(kù)中,文件夾是按數(shù)據(jù)庫(kù)對(duì)象的類(lèi)型建立的文件夾名是該數(shù)據(jù)庫(kù)對(duì)象名。當(dāng)在企業(yè)管理器中選擇服務(wù)器和數(shù)據(jù)庫(kù)文件夾,并打開(kāi)已定義好的圖書(shū)讀者數(shù)據(jù)庫(kù)后,會(huì)發(fā)現(xiàn)它自動(dòng)設(shè)置了關(guān)系圖、表、視圖、存儲(chǔ)過(guò)程、用戶、角色、規(guī)則、默認(rèn)等文件夾。 要建立“圖書(shū)”表,先選中圖書(shū)上者數(shù)據(jù)庫(kù)中的表文件夾,單由鼠標(biāo)右鍵,在彈出的菜

4、單中選擇“新建表”,如圖37所示,隨后的輸入表結(jié)構(gòu)對(duì) 如圖3-8所示。輸人表結(jié)構(gòu)對(duì)話框是一張表它的列屬性有列名、數(shù)據(jù)類(lèi)型、長(zhǎng)度和是否允許空4項(xiàng)。用戶把新建表的結(jié)構(gòu)填入對(duì)話框的表中,表中的每一行定義新建表(圖書(shū))的一列。每一列定義新建表的一個(gè)列屬性n當(dāng)光標(biāo)移到表中的某一行時(shí),下面的列描述就會(huì)對(duì)應(yīng)當(dāng)前行顯示輸入項(xiàng),用戶可在其中對(duì)關(guān)系的屬性進(jìn)行進(jìn)一步說(shuō)明。列描述包括數(shù)據(jù)的精度、小數(shù)位數(shù)、默認(rèn)值、是否標(biāo)識(shí)等項(xiàng)。 輸入表結(jié)構(gòu)時(shí)應(yīng)注意以下8點(diǎn): l)列名列用于輸入字段名 例如“編號(hào)”、“類(lèi)別”等,列名類(lèi)似于變量名,其命名規(guī)則與變量一致。列名中不允許出現(xiàn)空格,一張表也不允許有重復(fù)的列名 2)數(shù)據(jù)類(lèi)型列中的數(shù)

5、據(jù)類(lèi)型是通過(guò)選擇方法,而不是直接鍵入數(shù)據(jù)類(lèi)型字符輸入的。當(dāng)鼠標(biāo)指針移向該列時(shí)就會(huì)出現(xiàn)控制鍵,單擊后就會(huì)出現(xiàn)數(shù)據(jù)類(lèi)型下拉框,如圖3-8所示,可選擇其中之一為指定的數(shù)據(jù)類(lèi)型。 圖37數(shù)據(jù)庫(kù)中的表文件夾的彈出單 圖38輸入表結(jié)構(gòu)對(duì)話框3)長(zhǎng)度列、精度和小數(shù)位數(shù)項(xiàng)不是所有字段都必須的。例如int和date time型的長(zhǎng)度是固定的,也不需要數(shù)據(jù)精度值。數(shù)據(jù)精度僅對(duì)一些數(shù)值型、字符型、貨幣性等數(shù)據(jù)有效,小數(shù)位僅對(duì)一些數(shù)值型數(shù)據(jù)有效。4)允許空列用于設(shè)置是否允許字段為空值,默認(rèn)項(xiàng)用于設(shè)置字段的默認(rèn)值。5)標(biāo)識(shí)、標(biāo)始種子和標(biāo)識(shí)的增量用于設(shè)置字段具有的心聲行遞增性、初始值以及步長(zhǎng),以便讓SQLServer20

6、00自動(dòng)添該列的值。具有表示性能的字段的數(shù)據(jù)類(lèi)型只能為int,smallint.tinyint,decimal(p,0),或numeric(p,0),不允許為空值。一個(gè)標(biāo)只允許有一列具有標(biāo)識(shí)性能。6)列名前的一列按鈕為字段表示按鈕列。鑰匙圖標(biāo)說(shuō)明這個(gè)字段為主碼,黑三角圖表說(shuō)明所指示行微當(dāng)前字段。7)在對(duì)話框中單擊鼠標(biāo)右鍵,則會(huì)出現(xiàn)一個(gè)淡出框,如圖39所示。其中的幾個(gè)選項(xiàng)非常有用:選擇“設(shè)置主健”項(xiàng),則定義當(dāng)前字段為主碼,表中第一列處會(huì)顯示鑰匙圖案;選擇“插入列”項(xiàng),則在當(dāng)前字段處插入一個(gè)新行;選擇“刪除列”項(xiàng),則刪除當(dāng)前字段;選擇“屬性”項(xiàng),可調(diào)出表屬性對(duì)話框,如圖310所示,可以在其中定義索

7、引鍵、與其他表間的關(guān)聯(lián)和約束等屬性。具體方法將在下面介紹。圖39建表對(duì)話框的彈出框 圖310表屬性對(duì)話框8)字段輸入完后。就可以關(guān)閉建表對(duì)話框了。最后 會(huì)彈出“輸入表名”對(duì)話框,如圖3-11所示。在對(duì)話框中輸入“圖書(shū)”表名,單擊“確定”按鈕后。建表工作就完成了。圖3-11 輸入表名對(duì)話框2 定義表的完整性約束和索引 表的約束包括碼(主鍵)約束、外碼約束(關(guān)聯(lián)或關(guān)系約束)、惟一性約束、Check(檢查)約束4種、這些約束可以在表屬性對(duì)話框中定義。定義索引和鍵選擇“索引/鍵”頁(yè)面其界面如圖310所示。 1)查看、修改或刪除索引時(shí),先要在“選定的索引”下拉列表框中選擇索引名。其素引內(nèi)容就顯示在表中需

8、要時(shí),可以直接在表中修改索引內(nèi)容,如改變索引列名、改變排序方法等。對(duì)于不需要的索引可以單擊“刪除”按鈕,直接刪除此索引。 2)新建一個(gè)索引時(shí),單擊“新建”按鈕,并在下面的表中輸入索引名、索引列名及排列順序。 3)設(shè)置 UNIQUE復(fù)選框確定是否為唯一素引約束設(shè)置 CLUSTERED復(fù)選框確定是否為群集素引(CLUSTERED)。 (2)定義表間關(guān)聯(lián) 選擇表頁(yè)面,其界面如圖3-12所示 1)查看、修改或刪除表關(guān)聯(lián)的,先要在“選定的關(guān)系”下拉列表框中選擇關(guān)聯(lián)名(即關(guān)系名),其關(guān)聯(lián)內(nèi)容就顯示在表中。需要時(shí)??梢灾苯釉诒碇行薷年P(guān)聯(lián)內(nèi)容,例如改變主鍵、改變外碼鍵等。對(duì)于不需要的關(guān)聯(lián)可以單擊“刪除”按鈕,

9、直接刪除此關(guān)聯(lián) 2)新建一個(gè)關(guān)聯(lián)時(shí),單擊“新建”按鈕,選擇庫(kù)中的關(guān)聯(lián)表(參照表)后,在表中輸入關(guān)聯(lián)名、主碼和外碼。 3)設(shè)置“創(chuàng)建中檢查現(xiàn)存數(shù)據(jù)”復(fù)選框,確定新建關(guān)聯(lián)時(shí)是否對(duì)數(shù)據(jù)進(jìn)行檢查,要求符合外同約束;設(shè)置“對(duì)復(fù)制強(qiáng)制關(guān)系”復(fù)選框,確定在進(jìn)行數(shù)據(jù)復(fù)制時(shí)是否要符合外碼的束;設(shè)置“對(duì)INSERT和UPDATE強(qiáng)制關(guān)系”復(fù)選框,確認(rèn)在對(duì)數(shù)據(jù)插入和更新時(shí),是否符合外因約束;設(shè)置“級(jí)聯(lián)更新相關(guān)的字段”復(fù)選框和“級(jí)聯(lián)刪除相關(guān)的記錄”復(fù)選框,確認(rèn)被參照關(guān)系的主碼值被修改時(shí)是否也將參照表中的對(duì)應(yīng)的外碼值修改,而被參照關(guān)系的主碼值被刪除時(shí),是否也將參照表中對(duì)應(yīng)外碼的記錄刪除。 (3)定義CHECK約束 選擇

10、CHECK約束頁(yè)面,其界面如圖3-13 所示。 圖3-12 表屬世對(duì)話框中的表關(guān)聯(lián)頁(yè)面 圖3-13表屬性對(duì)話框中的約束頁(yè)面 1)查看、修改或刪除CHECK約束時(shí),先要在“選定的約束”下拉列表框中選擇約束名,其約束內(nèi)容就顯示在約束表達(dá)式框中。需要時(shí),可以直接在框中修改約束表達(dá)式。對(duì)于不需要的CHECK約束可以按“刪除”按鈕、直接刪除此約束. 2)新建一個(gè)CHECK約束時(shí),單擊“新建”按鈕,并在表中輸入約束名和約束表達(dá)式。 3)設(shè)置“創(chuàng)建中檢查現(xiàn)存數(shù)據(jù)”確認(rèn)在創(chuàng)建約束時(shí)是否對(duì)表中數(shù)據(jù)進(jìn)行檢查。要求符合約束要求;設(shè)置“對(duì)復(fù)制強(qiáng)制約束”復(fù)合框,確認(rèn)對(duì)數(shù)據(jù)復(fù)制時(shí)是否要求符合約束條件;設(shè)置“對(duì)INSERT

11、和UPDATE強(qiáng)制約束”。確認(rèn)在進(jìn)行數(shù)據(jù)插入和數(shù)據(jù)修改時(shí),是否要求符合約束條件。3 修改表結(jié)構(gòu) 當(dāng)需要對(duì)建好的表修改結(jié)構(gòu)時(shí),首先要在企業(yè)管理器中找到該表。用鼠標(biāo)右擊該表名就會(huì)彈出一個(gè)菜單,如圖3-14所示。隨后,在彈出的菜單中選擇“設(shè)計(jì)表”頂,企業(yè)管理器會(huì)調(diào)出如圖39所示的建表對(duì)話框,用戶可對(duì)原有內(nèi)容進(jìn)行修改。  圖3-l4 在彈出菜單中選擇 “設(shè)計(jì)表”項(xiàng)4 數(shù)據(jù)操作在Microsoft SQL Server2000的企業(yè)管理器中,對(duì)表進(jìn)行數(shù)據(jù)增、刪、改操作非常簡(jiǎn)便。其操作方法是 l)選中服務(wù)器,展開(kāi)數(shù)據(jù)庫(kù)文件夾,進(jìn)一步展開(kāi)指定的數(shù)據(jù)庫(kù)。單擊表文件夾,找到需要更新數(shù)據(jù)的基本表。 2)

12、 用鼠標(biāo)右擊要更新數(shù)據(jù)的表 會(huì)出現(xiàn)與表相關(guān)操作的彈出菜單 如圖3-15所示。在彈出菜單中選擇“打開(kāi)表” “返回所有行”就會(huì)出現(xiàn)表數(shù)據(jù)更新對(duì)話框,如圖3-16所示 圖3-15 基本表的彈出菜單 圖3-16 在表中插入、修改或刪除數(shù)據(jù)界面 在該對(duì)話框中。數(shù)據(jù)以表格形式組織,每個(gè)字段就是表中的一列,每條記錄是表中的一行。原有的記錄已經(jīng)在表格中,通過(guò)移動(dòng)右邊的滑塊可查閱所有的記錄。 3)需要數(shù)據(jù)插入時(shí),就在最后一條記錄后輸入一條記錄。當(dāng)鼠標(biāo)點(diǎn)擊其他行時(shí),輸入的記錄會(huì)自動(dòng)保存在表中。4)需要修改記錄時(shí)直接對(duì)表中已有記錄的數(shù)據(jù)進(jìn)行改動(dòng),用新值替換原有值。5)需要?jiǎng)h除記錄時(shí)先用鼠標(biāo)單擊要?jiǎng)h除行的左邊灰色方塊

13、,使該記錄成為當(dāng)前行然后按 <Delete>鍵。為了防止誤操作SQL Server 2000將彈出一個(gè)警告框要求用戶確認(rèn)刪除操作。單擊“確認(rèn)”按鈕即可刪除記錄也可通過(guò)先選中一行或多行記錄,然后再按 <Delete>鍵的方法一次刪除多條記錄。 6)在表中單擊鼠標(biāo)右鍵時(shí),會(huì)彈出如圖316所示的菜單,選擇菜單項(xiàng)可執(zhí)行相應(yīng)的操作如剪切、復(fù)制等操作。 五、實(shí)驗(yàn)報(bào)告要求 1 分別用SQL和Transact-SQL表示的學(xué)生-課程庫(kù)建表操作、指出SQL和Transact-SQL定義語(yǔ)句的不同之處。2 指出圖書(shū)讀者數(shù)據(jù)庫(kù)和學(xué)生課程庫(kù)中各表的主碼、外碼和數(shù)據(jù)約束。 3 以一條記錄為例,分別寫(xiě)出用SQL和Transact -SQL表示的向圖書(shū)表中插入、修改和刪除數(shù)據(jù)的語(yǔ)句。 4用Transact-SQL實(shí)現(xiàn)在讀者表中增加“借書(shū)冊(cè)數(shù)”字段,統(tǒng)計(jì)借書(shū)者在1998年1999年間所借書(shū)的冊(cè)數(shù)并將結(jié)果送入讀者表中的借書(shū)冊(cè)數(shù)字段的操作語(yǔ)句。 5 寫(xiě)出操作的過(guò)程和操作結(jié)果(數(shù)據(jù)庫(kù)中各表的數(shù)據(jù))。 6 實(shí)驗(yàn)操作步驟和實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)中出現(xiàn)的問(wèn)題和解決方法。 7 體會(huì)和提高。 六、事項(xiàng) 1 建表中如果出現(xiàn)錯(cuò)誤應(yīng)采用相應(yīng)的修改結(jié)構(gòu)或刪除結(jié)構(gòu)的方

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論