數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)綜述_第1頁
數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)綜述_第2頁
數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)綜述_第3頁
數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)綜述_第4頁
數(shù)據(jù)庫系統(tǒng)實(shí)驗(yàn)指導(dǎo)綜述_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)系統(tǒng)概論實(shí)驗(yàn)指導(dǎo)范明虎計(jì)算機(jī)與信息工程學(xué)院2016年 2 月22日目錄實(shí)驗(yàn) 1 SQL Server 的安裝及管理工具的使用 3實(shí)驗(yàn) 2 SQL 數(shù)據(jù)庫定義與操作 4實(shí)驗(yàn) 3 SQL 數(shù)據(jù)查詢語句 11實(shí)驗(yàn) 4 SQL 數(shù)據(jù)更新語句 15實(shí)驗(yàn) 5 視圖的定義與操作 17實(shí)驗(yàn) 7 數(shù)據(jù)庫安全性的管理 18實(shí)驗(yàn) 6 數(shù)據(jù)庫完整性的管理 21實(shí)驗(yàn) 8 觸發(fā)器實(shí)驗(yàn) 30實(shí)驗(yàn) 9 存儲過程實(shí)驗(yàn) 34實(shí)驗(yàn) 10 數(shù)據(jù)庫備份與恢復(fù) 35實(shí)驗(yàn) 11 數(shù)據(jù)庫設(shè)計(jì)綜合應(yīng)用 36實(shí)驗(yàn) 1 SQL Server 的安裝及管理工具的使用一、實(shí)驗(yàn)?zāi)康耐ㄟ^對某個(gè)商用數(shù)據(jù)庫管理系統(tǒng)的使用,了解 DBMS 的工作原理和系統(tǒng)

2、構(gòu) 架。在此推薦數(shù)據(jù)庫管理系統(tǒng) SQL Server 2008該系統(tǒng)已經(jīng)在機(jī)房FTP上。 你也可以從微軟官方網(wǎng)站上下載該系統(tǒng)。熟悉 DBMS 的操作。二、實(shí)驗(yàn)內(nèi)容1、根據(jù)安裝文件的說明安裝數(shù)據(jù)庫管理系統(tǒng)。在安裝過程中記錄安裝的選擇, 并且對所作的選擇進(jìn)行思考, 為何要進(jìn)行這樣的配置, 對今后運(yùn)行數(shù)據(jù)庫管理系 統(tǒng)會有什么影響。2、學(xué)會啟動(dòng)和停止數(shù)據(jù)庫服務(wù),思考可以用哪些方式來完成啟動(dòng)和停止。3、掌握管理工具的使用(1) SQL Server Ma nageme nt Studio的使用連接服務(wù)器的方法查詢編輯器的使用(2) 配置管理器的使用4、了解數(shù)據(jù)庫系統(tǒng)的邏輯組件:它們主要是數(shù)據(jù)庫對象,包括

3、基本表、視圖、觸發(fā)器、存儲過程、約束等。今后將學(xué)習(xí)如何操作這些數(shù)據(jù)庫對象。四、實(shí)驗(yàn)報(bào)告要求1、給出安裝過程中出現(xiàn)的錯(cuò)誤及解決方法。2、 根據(jù)你所了解的SQL Server 工具,寫出部分主要組件的功能(以 SQLServer2008為例,寫出 SQL Server Management Studio 配置管理器)。實(shí)驗(yàn) 2 SQL 數(shù)據(jù)庫定義與操作一、實(shí)驗(yàn)?zāi)康谋敬螌?shí)驗(yàn)了解SQL Server 2008的啟動(dòng),熟悉如何使用 SSMS和SQL建立數(shù) 據(jù)庫和表,并加深對于完整性的理解。二、背景知識在使用數(shù)據(jù)庫的過程中, 接觸最多的就是數(shù)據(jù)庫中的表。 表是數(shù)據(jù)存儲的地 方,是數(shù)據(jù)庫中最重要的部分,管理

4、好表也就管理好了數(shù)據(jù)庫。表是由行和列組成的。 創(chuàng)建表的過程主要就是定義表的列的過程。 表的列名 在同一個(gè)表中具有唯一性, 同一列的數(shù)據(jù)屬于同一種數(shù)據(jù)類型。 除了用列名和數(shù) 據(jù)類型來指定列的屬性外, 還可以定義其它屬性: 是否為空、默認(rèn)值、標(biāo)識符列、 全局唯一標(biāo)識符列等。約束是SQL Server提供的自動(dòng)保持?jǐn)?shù)據(jù)庫完整性的一種方法,定義了可輸 入表或表的單個(gè)列中的數(shù)據(jù)的限制條件。在SQL Server中有5種約束:主關(guān)鍵字約束(Primary Key Constraint)、外關(guān)鍵字約束(Foreign Key Constraint)、惟一 性約束(Unique Constraint)檢查約束

5、(Check Constraint)和默認(rèn)約束(Default Constraint)。三、實(shí)驗(yàn)內(nèi)容方法 1:在 SSMS 中創(chuàng)建數(shù)據(jù)庫和表在本練習(xí)中,將使用SQL Server2008數(shù)據(jù)庫管理系統(tǒng)創(chuàng)建Student數(shù)據(jù)庫, 并在Student數(shù)據(jù)庫中創(chuàng)建表Student,使你能夠掌握使用SQL Server2008數(shù)據(jù)庫 管理系統(tǒng)創(chuàng)建數(shù)據(jù)庫和表的方法。1) 啟動(dòng) SQL Server2008:依次單擊開始 所有程序 SQL Server 2008SQL Server Management Studio 啟動(dòng) SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)2) 登錄數(shù)據(jù)庫服務(wù)器:點(diǎn)擊“連接到服

6、務(wù)器”對話框中的連接按鈕連接到 SQL Server 2008數(shù)據(jù)庫服務(wù)器3)創(chuàng)建數(shù)據(jù)庫Student在SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)的左邊欄“對象資源管理器”中右擊數(shù) 據(jù)庫對象,在彈出的快捷菜單中單擊 新建數(shù)據(jù)庫”命令。在彈出的“新建數(shù)據(jù)庫”對話框右側(cè)的數(shù)據(jù)庫名稱中輸入數(shù)據(jù)庫名稱“Stude n”,然后單擊確定4) 在Student數(shù)據(jù)庫中新建表“ Studenf單擊SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)的左側(cè)的“對象資源管理器”欄中的“刷新”仝L按鈕,以顯示出新建的數(shù)據(jù)庫“ Stude nt” “Stude nf,并右擊新建表”命令。依次展開左側(cè)欄對象資源管理器中的“數(shù)

7、據(jù)庫”-Stude nt數(shù)據(jù)庫中的表項(xiàng)目,在彈出的快捷菜單中單擊在右側(cè)在工作區(qū)中輸入“ Studen”表的信息,該表具有如下列:列名數(shù)據(jù)類型完整性約束SnoCHAR(5)主碼Sn ameCHAR(10)非空SsexBIT無SageINT無SdeptCHAR(15)無單擊文件菜單中的保存命令保存該表,并取名為“ Stude n。方法二、使用SQL語句創(chuàng)建數(shù)據(jù)庫和表1)單擊工具欄中的“新建查詢”按鈕,并在彈出的“連接到服務(wù)器”對話 框中單擊“連接”按鈕,新建一個(gè) SQL腳本。2)在右側(cè)的SQL腳本輸入框中輸入如下SQL代碼:CREATE DATABASE STUDENT -倉U建 STUDENT

8、數(shù)據(jù)庫GOUSE STUDENT轉(zhuǎn)到STUDENT數(shù)據(jù)庫GOCREATE TABLE STUDENT -在STUDENT 數(shù)據(jù)庫中創(chuàng)建表 STUDENT(Sno CHAR (5) PRIMARY KEY ,Sname CHAR (10) NOT NULL,Ssex BIT ,SageINT ,Sdept CHAR (15)單擊工具欄中的執(zhí)行按鈕,運(yùn)行SQL語句,完成數(shù)據(jù)庫與表的創(chuàng)建四、實(shí)驗(yàn)任務(wù)1 用兩種方法建立一個(gè)新數(shù)據(jù)庫 HRM (也可任意取名)2在數(shù)據(jù)庫HRM中,建立如下所示的三個(gè)表:Employee 表列名數(shù)據(jù)類型長度是否允許為空說明EmployeeIDChar6否員工編號,主鍵Name

9、Char10否姓名BirthdayDatetime8否出生日期SexBit1否性別AddressChar20是地址ZipChar6是郵編Pho neNumberChar12是電話號碼EmailAddressChar30是電子郵件地址Departme ntIDChar3否員工部門號,外鍵Departme nts 表列名數(shù)據(jù)類型長度是否允許為空說明Departme ntIDChar3否員工部門號,主鍵Departme ntNameChar20否部門名NoteText16是備注Salary 表列名數(shù)據(jù)類型長度是否允許為空說明EmployeelDChar6否員工編號,外鍵In comeFloat8否收

10、入OutComeFloat8否支出3對三張表輸入數(shù)據(jù)(可任意輸入,但注意要符合完整性要求,否則會出錯(cuò), 在本實(shí)驗(yàn)中,外鍵設(shè)置可先不做要求)五、實(shí)驗(yàn)報(bào)告要求1、要求給出三個(gè)表創(chuàng)建的SQL語句,要求建表時(shí)給出主外鍵約束、唯一約束、 取空值約束、用戶自定義的約束等。;2、畫出這三個(gè)表的關(guān)系圖;3、 舉例說明如何操作會違背完整性(實(shí)體完整性、參照完整性)。實(shí)驗(yàn)3 SQL數(shù)據(jù)查詢語句、實(shí)驗(yàn)?zāi)康牧私釹QL Server 2008查詢編輯器的啟動(dòng),熟悉如何在 SQL Server 2008查詢編輯器查詢記錄。掌握SELECT語句的基本語法和查詢條件表示方法掌握GROUP BY和ORDER BY 子句的作用和

11、使用方法掌握連接查詢和子查詢的使用方法 二、實(shí)驗(yàn)內(nèi)容1、單擊工具欄中的“新建查詢”按鈕,并在彈出的“連接到服務(wù)器”對話框中 單擊“連接”按鈕,新建一個(gè) SQL腳本。2、在SQL腳本中寫數(shù)據(jù)查詢語句執(zhí)行;從表中查詢數(shù)據(jù):在查詢分析器的查詢窗口中輸入 SQL語句,如圖所示訝1 查誨-r EAC HER331 .Test. TEAC HER331 Administrator C:pocumenti and 5ettlngsAdmlnistselect from test 1 JJlfl點(diǎn)擊按鈕,執(zhí)行該SQL語句,在查詢窗口下部出現(xiàn)一個(gè)輸出窗口,如圖所示。三、實(shí)驗(yàn)任務(wù)1.對上節(jié)建立的表輸入數(shù)據(jù):Dep

12、artme nts 表:Departme ntIDDepartme ntNameNote1財(cái)務(wù)部財(cái)務(wù)部2研發(fā)部研發(fā)部3人力資源部人力資源部Employee 表EmployeelDNameBirthdaySexAddressZipPho neNumberEmailAddressDepartr1001李勇78-3-120河南4750013880378lyhe nu .edu.c n11002王敏80-11-21河南4750020378311wmhe .c n11003劉晨78-6-220河南4750030378322lche nu .edu.c n12001張立78-8-10河南475

13、0040378333zlhe nu .edu.c n22002劉毅82-1-230河南4750050378344lyhe nu .edu.c n22003張玫81-3-151河南 :4750060378355zmhe nu .edu.c n23001徐靜76-8-121河南4750070378366xjhe nu .edu.c n33002趙軍79-2-190河南4750080378377zjhe nu .edu.c n3Salary 表EmployeeIDIn comeOutCome1001360015001002330010001003370012002001400016002002380

14、018002003380015003001420020003002410018002、練習(xí)下面簡單的查詢語句:a)查詢每個(gè)雇員的所有信息b)查詢每個(gè)雇員的地址和電話c)查詢EmployeelD為000001的雇員的地址和電話。d)查詢女雇員地址和電話,并用AS子句將結(jié)果中各列的標(biāo)題分別指定為“地址”和“電話”。e)計(jì)算每個(gè)雇員的實(shí)際收入。f)找出所有姓王的雇員的部門號。思考:找出所有地址中含有“中山”的雇員的號碼和部門號。3、練習(xí)多表連接查詢和嵌套查詢:a)查詢每個(gè)雇員的情況及工資情況(工資 =1 ncome - Outcome)b)查詢財(cái)務(wù)部工資在2200元以上的雇員姓名及工資情況c)查詢研

15、發(fā)部在1966年以前出生的雇員姓名及其工資詳情d)查詢?nèi)肆Y源部雇員的最高和最低工資e)將各雇員的情況按工資由低到高排列f)求各部門的雇員數(shù)g)找出所有在財(cái)務(wù)部和人力資源部工作的雇員的編號h)統(tǒng)計(jì)人力資源部工資在2500以上雇員的人數(shù)i)求財(cái)務(wù)部雇員的總?cè)藬?shù)j)求財(cái)務(wù)部雇員的平均工資k)查找比所有財(cái)務(wù)部的雇員工資都高的雇員的姓名l) 查找財(cái)務(wù)部年齡不低于研發(fā)部所有雇員年齡的雇員的姓名m) 查找在財(cái)務(wù)部工作的雇員的情況四、實(shí)驗(yàn)報(bào)告要求1、寫出與上述查詢?nèi)蝿?wù)相對應(yīng)的 SQL 查詢語句2、并記錄在實(shí)驗(yàn)過程中遇到的問題、解決辦法及心得體會。實(shí)驗(yàn)4 SQL數(shù)據(jù)更新語句、實(shí)驗(yàn)?zāi)康募由顚QL數(shù)據(jù)更新(插入

16、、修改及刪除)語句的基本語法格式的掌握掌握單個(gè)元組及多個(gè)元組的插入、修改及刪除操作的實(shí)現(xiàn)過程加深對更新操作時(shí)數(shù)據(jù)庫中數(shù)據(jù)一致性問題的了解加深對約束條件在數(shù)據(jù)更新操作執(zhí)行中的作用問題的了解 二、實(shí)驗(yàn)內(nèi)容方法一:在SSMS中插入、刪除及修改數(shù)據(jù),方法二:在查詢編輯器中寫SQL插入、刪除及修改數(shù)據(jù) 三、實(shí)驗(yàn)任務(wù)設(shè)有一個(gè)SPJ數(shù)據(jù)庫,包括S,P,J,SPJ四個(gè)關(guān)系模式:S(SNO,SNAME,STATUS,CITY)義-dbo. S- dbo. F f表-dbo. J 摘要列名數(shù)據(jù)類型允許空SISchar SNAIVEvarchar(200STATUSdiar(4)0CITYchar (10)0P(P

17、NO,PNAME,COLOR,WEIGHT)列名數(shù)據(jù)類型允許空char (2)PNAMEvarchar(20)回COLORdiar(4)0WEIGHTint0數(shù)據(jù)類型J (JNO, JNAME , CITY )列名UnoJNAME crnch茁 varcharJM) char (10)SPJ (SNO,PNO,JNO,QTY)列名數(shù)據(jù)類型允許空亟char (2)PNOchar JNOcbiar QTTYmt0供應(yīng)商表S由供應(yīng)商代碼(SNO)、供應(yīng)商姓名(SNAME)、供應(yīng)商(STATUS)、 供應(yīng)商所在城市(CITY )組成;零件表P由零件代碼(PNO)、零件名(PNAME )、顏色(COLO

18、R)、重量(WEIGHT) 組成;工程項(xiàng)目表J由工程項(xiàng)目代碼(JNO)、工程項(xiàng)目名(JNAME )、工程項(xiàng)目所在城 市(CITY、組成;供應(yīng)情況表SPJ由供應(yīng)商代碼(SNO)、零件代碼(PNO)、工程項(xiàng)目代碼(JNO)、 供應(yīng)數(shù)量(QTY)組成,表示某供應(yīng)商供應(yīng)某種零件給某工程項(xiàng)目的數(shù)量為 QTY。 試完成以下操作:1在S表中插入元組“ s6華譽(yù),40,廣州”2 在J表中插入元組“j8傳感器廠”3 對每一個(gè)供應(yīng)商,求他為各種工程供應(yīng)零件的總數(shù)量,并將此結(jié)果存入數(shù)據(jù) 庫4. 將P表中PNO值為p6的元組的color屬性值改為綠,weight屬性值改為605 .將SPJ表中前4個(gè)元組的qty屬性值

19、統(tǒng)一修改為3006. 將S表中city屬性名含有 京”或 津”的相應(yīng)status屬性值增加1007. 將供應(yīng)商s2為一汽”工程項(xiàng)目所供應(yīng)的零件數(shù)量修改為 20008. 將全部紅色零件的顏色修改為淺紅色9. 由s5供給j4的零件p6改為由s3供應(yīng)10. 在SPJ表中新增一名為SDATE的屬性列,對該表中的每一元組在 SDATE 屬性列上填上實(shí)驗(yàn)當(dāng)時(shí)的日期和時(shí)間11. 刪除所在城市為 廣州”的供應(yīng)商記錄12. 刪除所有零件名稱中第一個(gè)字為 螺”字的零件記錄,并在供應(yīng)情況表中刪除 相應(yīng)的記錄13. 刪除s3和s4兩供應(yīng)商為 三建”工程供應(yīng) 螺母”或 螺絲刀”零件的相應(yīng)供應(yīng) 情況數(shù)據(jù)信息四、實(shí)驗(yàn)報(bào)告要

20、求1、寫出與上述任務(wù)相對應(yīng)的 SQL更新語句2、并記錄在實(shí)驗(yàn)過程中遇到的問題、解決辦法及心得體會。實(shí)驗(yàn) 5 視圖的定義與操作一、實(shí)驗(yàn)?zāi)康模豪斫庖晥D的概念,掌握視圖的使用方法。二、預(yù)計(jì)實(shí)驗(yàn)時(shí)間 :上機(jī)一次三、實(shí)驗(yàn)過程1對應(yīng) HRM 數(shù)據(jù)庫,參照前面實(shí)驗(yàn)中完成的查詢,按如下要求自行設(shè)計(jì)視圖:1)基于單個(gè)表按投影操作定義視圖。 舉例:定義一個(gè)視圖用以查看所有員工的編號、姓名和出生日期。2)基于單個(gè)表按選擇操作定義視圖。舉例:定義一個(gè)滿足sex= true勺員工的所有信息的視圖。3)基于單個(gè)表按選擇和投影操作定義視圖。舉例:定義一個(gè)視圖用以查看部門號碼為 2的所有員工的姓名、 電話和郵件 地址。4)基

21、于多個(gè)表根據(jù)連接操作定義視圖。 舉例:定義一個(gè)視圖用以查看所有員工的姓名、部門名及工資。5)基于多個(gè)表根據(jù)嵌套查詢定義視圖。舉例:定義一個(gè)比所有財(cái)務(wù)部的雇員工資都高的雇員的信息的視圖6)定義含有虛字段(即基本表中原本不存在的字段)的視圖。 舉例:定義一個(gè)視圖用以查看所有雇員的編號、姓名、年齡。2 分別在定義的視圖上進(jìn)行查詢、插入、更新和刪除操作,分情況(查詢、更 新)討論哪些操作可以成功完成,哪些不能成功完成,并分析原因。四、實(shí)驗(yàn)報(bào)告要求:1、在實(shí)驗(yàn)報(bào)告中要給出上述任務(wù)的視圖定義語句;2、分情況討論哪些操作可以成功完成,哪些不能成功完成。查詢操作:舉出一個(gè)進(jìn)行查詢操作的例子。 更新操作:更新操

22、作包含插入、更新、刪除,針對不能成功完成更新操作的情況舉出兩個(gè)例子,并分析原因?qū)嶒?yàn) 7 數(shù)據(jù)庫安全性的管理一、實(shí)驗(yàn)?zāi)康恼莆誗QL Server身份驗(yàn)證模式。掌握創(chuàng)建登錄賬戶、數(shù)據(jù)庫用戶的方法。 掌握使用角色實(shí)現(xiàn)數(shù)據(jù)庫安全性的方法。掌握權(quán)限的分配。二、實(shí)驗(yàn)內(nèi)容1、設(shè)置身份驗(yàn)證模式: Windows 身份驗(yàn)證模式和混合模驗(yàn)證模式。2、設(shè)置登錄賬戶3、設(shè)置數(shù)據(jù)庫用戶4、設(shè)置數(shù)據(jù)庫角色。5、設(shè)置管理對象的權(quán)限三、實(shí)驗(yàn)步驟1設(shè)置身份驗(yàn)證模式依次 單擊開始 所有程序 SQL Server 2008 SQL Server Management Studio 啟動(dòng) SQL Server 2008數(shù)據(jù)庫管理系統(tǒng)

23、 連接成功后,右鍵你的實(shí)例,選擇 屬性 在屬性窗口中,轉(zhuǎn)到Security(安全性)項(xiàng),在服務(wù)器身份驗(yàn)證中設(shè)置 為SQL Server和Windows身份驗(yàn)證模式,確定,根據(jù)提示,應(yīng)該重新 啟動(dòng) sql 服務(wù)然后執(zhí)行下面的語句啟用sa用戶,同時(shí)清除sa的密碼(能成功登陸后再 根據(jù)你的需要設(shè)置 )EXEC sp_password null,null,saALTER LOGIN sa ENABLE語句執(zhí)行完成后,再用sa連接你的實(shí)例,應(yīng)該就沒有問題了 . 2設(shè)置登錄賬戶創(chuàng)建使用 Windows 身份驗(yàn)證 (SQL Server Management Studio) 的 SQL Server 登錄名

24、在 SQL Server Management Studio 中,打開對象資源管理器并展開 要在其中創(chuàng)建新登錄名的服務(wù)器實(shí)例的文件夾。右鍵單擊“安全性”文件夾,指向“新建” ,然后單擊“登錄名” 。 在“常規(guī)”頁上的“登錄名”框中輸入一個(gè) Windows 用戶名。 選擇“ Windows 身份驗(yàn)證”。單擊“確定”創(chuàng)建使用 SQL Server 身份驗(yàn)證 (SQL Server Management Studio) 的 SQL Server 登錄名在 SQL Server Management Studio 中,打開對象資源管理器并展開 要在其中創(chuàng)建新登錄名的服務(wù)器實(shí)例的文件夾。右鍵單擊“安全性

25、”文件夾,指向“新建”,然后單擊“登錄名”。 在“常規(guī)”頁上的“登錄名”框中輸入一個(gè)新登錄名的名稱。選擇“ SQL Server 身份驗(yàn)證”。輸入登錄名的密碼。 選擇應(yīng)當(dāng)應(yīng)用于新登錄名的密碼策略選項(xiàng)。通常,強(qiáng)制密碼策略是 更安全的選擇。單擊“確定”。通過 Transact-SQL 創(chuàng)建使用 Windows 身份驗(yàn)證的 SQL Server 登錄名 在查詢編輯器中,輸入以下 Transact-SQL 命令: CREATE LOGIN FROM WINDOWS; GO通過 Transact-SQL 創(chuàng)建使用 SQL Server 身份驗(yàn)證的 SQL Server 登錄 名在查詢編輯器中,輸入以下

26、Transact-SQL 命令: CREATE LOGIN WITH PASSWORD = ; GO 3設(shè)置數(shù)據(jù)庫用戶創(chuàng)建數(shù)據(jù)庫用戶在 SQL Server Management Studio 中,打開對象資源管理器并展開 要在其中創(chuàng)建新登錄名的服務(wù)器實(shí)例的文件夾。 依次展開數(shù)據(jù)庫,某個(gè)具體數(shù)據(jù)庫, “用戶” 右鍵單擊用戶,選擇“新建用戶”輸入用戶名,選擇登錄名,確定通過 Transact-SQL 創(chuàng)建數(shù)據(jù)庫用戶( create user): create user dba for login dba with default_schema=dbo并指定數(shù)據(jù)庫用戶“ dba”的默認(rèn)schema

27、是“ dbo。這意味著 用戶“ dba在執(zhí)行 “ select from t ”,實(shí)際上執(zhí)行的是“ select fromdbo.t 。4設(shè)置數(shù)據(jù)庫角色新建角色在 SQL Server Management Studio 中,打開對象資源管理器并展開 要在其中創(chuàng)建新登錄名的服務(wù)器實(shí)例的文件夾。依次展開數(shù)據(jù)庫,某個(gè)具體數(shù)據(jù)庫, “角色 ” 右擊選中新建角色通過 Transact-SQL 新建角色: CREATE ROLE role_name 在對象資源管理器中設(shè)置數(shù)據(jù)庫角色在 SQL Server Management Studio 中,打開對象資源管理器并展開 要在其中創(chuàng)建新登錄名的服務(wù)器實(shí)例

28、的文件夾。依次展開數(shù)據(jù)庫,某個(gè)具體數(shù)據(jù)庫, “用戶 ”選中某用戶,右擊 “屬性 ”,在展開的數(shù)據(jù)庫用戶屬性對話框中進(jìn)行 設(shè)置通過 Transact-SQL 設(shè)置數(shù)據(jù)庫角色通過加入數(shù)據(jù)庫角色,賦予數(shù)據(jù)庫用戶“ dba權(quán)限:execsp_addrolemember db_owner, dba此時(shí), dba 就可以全權(quán)管理數(shù)據(jù)庫 mydb 中的對象了。如果想讓SQL Server登陸帳戶“dba訪問多個(gè)數(shù)據(jù)庫,比如 mydb2??梢宰宻a執(zhí)行下面的語句:use mydb2 go create user dba for login dba with default_schema=dbo go exec

29、 sp_addrolemember db_owner, dba go此時(shí), dba 就可以有兩個(gè)數(shù)據(jù)庫 mydb, mydb2 的管理權(quán)限了! 5設(shè)置管理對象的權(quán)限在對象資源管理器中授權(quán):選中需要授權(quán)的登錄名、用戶名或角色名右鍵單擊選擇 “屬性”,在彈出的該對象的屬性窗口中選擇 “安全對 象”,進(jìn)行權(quán)限分配通過Transact-SQL分配權(quán)限:通過 GRANT和REVOKE語句四、實(shí)驗(yàn)任務(wù)1、創(chuàng)建角色ProgramerRole,擁有創(chuàng)建表,存儲過程,視圖權(quán)限,擁有對 Salary 表的查詢、修改、插入權(quán)限2、創(chuàng)建一個(gè)登錄賬號 Testlogin3、 創(chuàng)建對應(yīng)于這個(gè)登錄賬號的數(shù)據(jù)庫用戶TestU

30、ser4、將用戶TestUser添加到TestRole角色中五、實(shí)驗(yàn)報(bào)告要求1 、寫出與上述任務(wù)相對應(yīng)的 SQL 語句2、思考數(shù)據(jù)庫服務(wù)器上的角色有哪些?權(quán)限類型有哪些?3、并記錄在實(shí)驗(yàn)過程中遇到的問題、解決辦法及心得體會。實(shí)驗(yàn)6數(shù)據(jù)庫完整性的管理一、實(shí)驗(yàn)?zāi)康恼莆沼蛲暾缘膶?shí)現(xiàn)方法。掌握實(shí)體完整性的實(shí)現(xiàn)方法。掌握參照完整性的方法。二、實(shí)驗(yàn)內(nèi)容1、數(shù)據(jù)庫的完整性設(shè)置。三、實(shí)驗(yàn)步驟可視化界面的操作方法:實(shí)體完整性1將student表的“ snO字段設(shè)為主鍵:在表設(shè)計(jì)界面中,單擊左邊的行選定 塊,選定“ sn(字段,單擊工具按鈕 皿設(shè)置主鍵。如圖1所示:-一包刃a Hii*4d44t沖Mid中*If

31、fE)彌迥(必巧目迥喪弗堆心工削D決口迎 ttEKJ WBiinjJ SfaS-iSii山忸迅沖出型號氐USISJtLfS:CTO姑(*3)Eflcnve皿 *30)廠crwSmtpFK - dboLourie *gm.屈努擁霑wrnoKdbfl咧日盞設(shè)計(jì)丟TftcVliwe 立件捆 PWMAft.v邸.F1 點(diǎn)諂)-x 9 T1LdB i ii U5TOQQ3 (5QL fl.a:!3W - il)A Di梅庠ffi LJ系狡常撼庫 I _J戲齋庫快姿+ j Ad-ertireWorksff J列居性|furQQ刊昭加M舊屬堆誠北省津馬弔孝濟(jì)應(yīng)國 *0田RflMrtSerwff J 日u呦a

32、塾is聲先察.囪 日H険出Lj殺如9 dbQ.raurf*ffl 匚I dbOiKS 3 dbo.studerit 0二l程國 田一I釀詞 固J可編桎曲 FR _J SftECi Brdw圖11. 將“ s(表的“ sno和 “ eno設(shè)置為主鍵:在表設(shè)計(jì)界面中,單擊并按住 Ctrl 鍵拖動(dòng)左邊的行選定塊,選定sno和eno字段,單擊工具按鈕皿設(shè)置主 鍵。如圖2所示:9 -dbo.s-c* 骼尊lMjSK12) J:.fl U5 WWS (5Qt 5*aw ,Bl13W n) h _j IHKJtA系堀理8庫 載齋.阻快姿 MertweWorls: AdarhreWo* hWRjeportSe

33、rw Rflr鬧吟TWffi 曲 囹如.w O dbiK dt.stu-3ert田FR3 as 服詞可編桎吐2j 5tnt BdEitia,U5TB2M3.XPJ - SQLuwyS.sql* 曲霧* X1 凹園n寺搭英阻oTTIeks-mvwdwdOj訶ustfaS血warn#vwdwtLOj廠上mt廠LHtLIC Fiji_j泓總齢|目|西U * h詼jil MlM h懾b .k 43 鬥 F_ L* I a Ik I et iwt_TJ2SJ迭宦的匚HEG:的愈羋 | OtjShJWL示 連推炒甲害呂BIU Lr5TffiJOC3C5X 5*vtr .O4399 - M)S Dl S*1

34、 U凰町畑i即+ _j熬IMt快罷d jj AckeWdreWHH;S ij MwiertveWfeOW+ J fkxxsg庫 J+ R.epCTlSwvsrTempCCE LI :聞71 _j JGSXKI 日i義01 ij廉狂ffl 二 dbo.LWTM3 Zi .k 9 CfcC SS Bi 口 |QQ;79737導(dǎo)百孫比;爲(wèi)北省拿市津便燈菠3m(F)也啦少頂目迪垂設(shè)計(jì)品心 TJKD 世口 t出社區(qū)口 HiftlEi.J 宓亭曲.1沁乞:白 / d J Q二1 b L- =r己保存的5報(bào)開崗-I到旦旦固廠刮創(chuàng)宜I衛(wèi)旦宜創(chuàng)也也lij亙I宜I命令方式操作方法:實(shí)體完整性1將“ studen表

35、的“ snO字段設(shè)為主鍵:當(dāng)“ studen表已存在則執(zhí)行:Alter table stude nt add con stra int pk_s no primary key (sno)當(dāng)“studen表不存在則執(zhí)行:Create table stude nt(s no CHAR(5) primary key ,sn ame CHAR(10) NOT NULL,ssex CHAR(2),sage int,sdept CHAR )注:可用命令 “drop table studen刪除”“studen表2. 添加一身份證號字段,設(shè)置其惟一性.(注:操作前應(yīng)刪除表中的所有記錄)Alter table

36、 stude nt add id char(18) unique (id)3. 將“ sc表的“ sno和“ eno設(shè)置為主鍵:當(dāng)“sc表已存在則執(zhí)行:alter table sc add con stra int PK_S noCno primary key (sno,cno)當(dāng)“ sc表不存在則執(zhí)行:Create table sc(sno CHAR(5), cno CHAR(2), grade INT NULL, constraint PK_SnoCno primary key (sno,cno)域完整性4. 將“sse字段設(shè)置為只能取 男”,女”兩值:當(dāng)“ studen表已存在則執(zhí)行:a

37、lter table stude nt add con stra int CK_Sex check (ssex in 男:女)當(dāng)“ studen表不存在則執(zhí)行:Create table student(sno CHAR(5) primary key , sname CHAR(10), ssex CHAR(2) check (ssex in (男 ,女) , sage int, sdept CHAR(4)5. 設(shè)置學(xué)號字段只能輸入數(shù)字 :alter table student add constraint CK_Sno_Format check (sno like 0-90-90-90-90-9

38、)6. 設(shè)置身份證號的輸入格式 :alter table student add constraint CK_ID_Format check (id like 0-90-90-90-90-90-91-20-90-90-90-10-90-30-90-90-90-9 _) OR (id like0-90-90-90-90-90-90-90-90-10-90-30-90-90-90-9)7. 設(shè)置 18 位身份證號的第 7 位到第 10 位為合法的年份 (1900-2050) alter table student add constraint CK_ID_Format2 check (len(id

39、)=18 and( (convert(smallint,substring(id,7,4) )=1900) and(convert(smallint,substring(id,7,4) )=22 or ssex= 女 and sage=20 )參照完整性9. 將“studen表和“ sc表中的“ sno字段設(shè)為參照:當(dāng)“sc表已存在則執(zhí)行:alter table sc add constraint FP_sno foreign key (sno) references student(sno ) 當(dāng)“ sc表不存在則執(zhí)行:Create table sc(sno CHAR(5) constrai

40、nt FP_snoforeig n key refere nces stude nt(s no),eno CHAR(2),grade INT NULL,con stra int PK_S noCno primary key (sno,cno)完整性驗(yàn)證1.實(shí)體完整性:在“ studen表數(shù)據(jù)瀏覽可視化界面中輸入學(xué)號相同的兩條記錄將會出現(xiàn)錯(cuò)誤如圖5所示:MiEirninri MJL iWrvvr Mjnjfrfmpnl! studio-文件迴昨可擔(dān)田塑頊目帖計(jì)翻雖工期D an(H)杜區(qū)g 簾購少sfwsnanw95003壬4山男2Z悟粧益爲(wèi)】旳陽麻5SB10李耳e男0250CS0NULLNULL

41、MXLMALHULLULJU_l創(chuàng)畫|更改笑出伯甲| ?兩r : 廻軋X.Si冬總血山訪傍岳已 J 矗貼孕呂三 口爭U 3 m 詡 ilE訂S?側(cè)5引辛 居 witbapg?5 怕U5TBOT3 (SQL Swvw 彌日即-已) 回J述氏1|妥練數(shù)據(jù)庠a數(shù)晁譚吱坦 國(J AidMptuWQfks 田 |J SnmrtWiciD冒S3 |J打氏沖IB ij RepotStfM#IH b j Report5erMfTempDB 回 U xsglT 一J數(shù)據(jù)算求藍(lán)國 叵_J表 國J累Si歪 ffl 二 dbo.cftjrse IJ1 dbo.sc 宙 dn.ss Tl 3 dtw.stucfsrt

42、T _j NUEB fr _j間義聞 m 一|可坍程性Twina a|空|處|J2I疋悄引両目彳ol昌4 y| aiHj牛陽:.國J二鍛& ft .叮呼圖5或者在命令窗口輸入下面兩條命令也會出現(xiàn)錯(cuò)誤提示:in sert into stude nt values95003,張三,男,24,CSin sert into stude nt values95001,李四,女,21,CSf uve * 耳巒 | 石竝 11* C i 1_ uOchlI- WBlmun I U!:Ll_Jj* . y=舉-翼 PS TTHHM

43、LIlLliJIJlL!lViJ3a: I u 丄口tn 匸口dine.lu口丘口口 1.李四 ;女.是1Ch.屯H H H N P 1 口汩三1 3-S:gU n !H 1|叮0 ! |“ It士呻h二消兄Z7.垢別14r伙亞1, H E錨塞冒不如皿 3. 咖心朋一刊曲歸WU4.朗韋豪幣曠品字理OftTB)|i g a g曲叢丨詔m 02 “-空空III血色隆國a缶目h,| 衛(wèi)|凹國國刃麗 冒*導(dǎo)目d導(dǎo),|負(fù)HE d于扉韶SB二歸Z0:552. 域完整性:使用下面的語句驗(yàn)證“ sseX字段的域完整性:insert into student values(95009張勻,大,20,CS, 42

44、222919901012904XigM FiIir rhS*rMArAFiE itudii玄件0K|:U畫創(chuàng)KWU? TifiOtJ 工 HeW = -:- SHJi?nr 1-與宅氐Mjl*1 I naa-E- h. mt口 匕udm*E vh 1u*h i; 1 9SO口a,弓杞 習(xí),r,大1f ft 5 LB) 丁 E悝IW的曲.LtSTEHXn (SQL供也 jJ HHIT.| ra珂 ns応-?西33 ”巧護(hù):3. 參照完整性:使用下面的語句 驗(yàn)證” s表中的“snc字段的域完整性(假設(shè)student表中沒有 學(xué)號為“95998勺學(xué)生記錄):insert into sc values

45、(98998, 1O,98)i. MicraiDH Swynr MjnjfrfHnpnl! studio兗件酉SMb(e:i 4JtS(u)査聞:0鞏目血XH(D宙d曲ttZCQ幫融蟲A.新昶血皿Lb曲凸已 由.7呂 矗丿馬卡分T. -1:事X瑕-dtc.rtudwit Jbru2003jcgl - QlQue!叩T.tql* Jffi*10 98 IInseft Imo st values i * 9B998*,llUBUM 國回國國國國回AdwturWkapw 抑號沖R sport SefwerRcpcrtSOWTemipPB詢_j ffrlEKS.H二JS.熱表El回?1njifi* |

46、芾息遜別 込 世烝*,弟1行;7IJT5ERT語甸與POPIIDM EIY的束沖夾.該沖突發(fā)生于皴據(jù)陽Hfll卄 表-業(yè)d“w3eiW colviinj sqo 痔旬已藝止*口 dbo-cou- 口 dbo.sc 迥口列 回口健| RC_5noCho ? FP_sm口的英口羅題期 國口養(yǎng)引 列口號計(jì)佰凰 口 dti5S 口故血眞朮 v mZJ11:2;西7371曲皿地;劉上有罩區(qū)幣羊思學(xué)耳(fiT2003 C9 0 TU:i 沁(E)曲 100:00:00fl ICh4Q四、實(shí)驗(yàn)任務(wù) :1、建立課程的實(shí)體完整性 , 和課程號 cno 的參照完整性 ;2、對 HRM 數(shù)據(jù)庫,練習(xí)建立三個(gè)表的主外鍵約束、唯一約束、取空值約束、 用戶自定義的約束(參考 HRM 數(shù)據(jù)庫表定義圖中說明) ;3、建立salary表的In come字段限定在0-9999之間。五、實(shí)驗(yàn)報(bào)告要求1、寫出與上述任務(wù)相對應(yīng)的 SQL 語句2、并記錄在實(shí)驗(yàn)過程中遇到的問題、解決辦法及心得體會。實(shí)驗(yàn) 8 觸發(fā)器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆沼|發(fā)器的創(chuàng)建、修改和刪除

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論