




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用實 梁文娟 目錄 實驗1 SQL Server的安裝及管理工具的使用2 實驗2交互式SQL2 實驗3數據完整性和安全性管理13 實驗4觸發器和存儲過程實驗23 實驗5數據庫備份與恢復26 實驗6數據庫設計綜合應用27 實驗 1SQL Server 的安裝及管理工具的使用 一、實驗目的 1、通過對某個商用數據庫管理系統的使用,了解DBMS 的工作原理和系統構架。 在此推薦數據庫管理系統SQL Server 2005,該系統已經在機房 FTP上。你也可以從微軟官 方網站上下載該系統。 2、熟悉對 DBMS 的操作 二、實驗內容 1、根據安裝文件的說明安裝數據庫管理系統。在安裝過程中記錄安裝的選擇
2、,并且對所作 的選擇進行思考,為何要進行這樣的配置,對今后運行數據庫管理系統會有什么影響。 2、學會啟動和停止數據庫服務,思考可以用哪些方式來完成啟動和停止。 3、掌握管理工具的使用 (1) SQL Server Management Studio 的使用 連接服務器的方法 查詢編輯器的使用 (2) 配置管理器的使用 4、了解數據庫系統的邏輯組件: 它們主要是數據庫對象,包括基本表、視圖、觸發器、存儲過程、約束等。今后將學 習如何操作這些數據庫對象。 三、實驗報告要求 1、給出安裝過程中出現的錯誤及解決方法。 2、根據你所了解的SQL Server工具,寫出部分主要組件的功能(以 SQL Se
3、rver2005為 例,寫出 SQL Server Management Studio 、配置管理器)。 實驗 2 交互式 SQL 2.1 創建數據庫及表 一、實驗目的 本次實驗了解 SQL Server 2005 的啟動,熟悉如何使用 SSMS 和 SQL 建立數據庫和 表,并加深對于完整性的理解。 二、背景知識 在使用數據庫的過程中,接觸最多的就是數據庫中的表。表是數據存儲的地方,是數 據庫中最重要的部分,管理好表也就管理好了數據庫。 表是由行和列組成的。創建表的過程主要就是定義表的列的過程。表的列名在同一個表 中具有唯一性,同一列的數據屬于同一種數據類型。除了用列名和數據類型來指定列的屬
4、 性外,還可以定義其它屬性:是否為空、默認值、標識符列、全局唯一標識符列等。 約束是 SQL Server 提供的自動保持數據庫完整性的一種方法,定義了可輸入表或表的 單個列中的數據的限制條件。在SQL Server中有5種約束:主關鍵字約束(Primary Key Constraint)、外關鍵 字約束(Foreign Key Constraint)、惟一性 約 束(Unique Constraint)、檢查約束(Check Constraint)和默認約束(Default Constraint)。 三、實驗內容 方法1:在SSMS中創建數據庫和表 在本練習中,將使用 SQL Server2
5、005數據庫管理系統創建 Student數據庫,并在 Student數 據庫中創建表Student,使你能夠掌握使用SQL Server2005數據庫管理系統創建數據庫和表 的方法。 1) 啟動 SQL Server2005 : 依次單擊開始 所有程序SQL Server 2005 SQL Server Management Studio 啟動 SQL Server 2005數據庫管理系統 2) 登錄數據庫服務器: 點擊“連接到服務器“對話框中的連接按鈕連接到SQL Server 2005數據庫服務器。 3) 創建數據庫Student 在SQL Server 2005數據庫管理系統的左邊欄“對
6、象資源管理器”中右擊數據庫對象, 在彈出的快捷菜單中單擊“新建數據庫”命令。 在彈出的“新建數據庫”對話框右側的數據庫名稱中輸入數據庫名稱“Stude nt”, 然后單擊確定。 擬頂?- 號*申_ 熾;川酣 Stud.Tit 文件黑盤文件組 WftAdMMB)自動增卡 FfillUfiY Stnd “Student”,并右擊 Student數 據庫中的表工程,在彈出的快捷菜單中單擊“新建表”命令。 在右側在工作區中輸入“Stude nt”表的信息,該表具有如下列: 列名 數據類型 完整性約束 Sno CHAR(5) 主碼 Sn ame CHAR(10) 非空 Ssex BIT 無 Sage I
7、NT 無 Sdept CHAR(15) 無 s Mfcrosoft SQL Server Man-aigement StudFo Enprc-s- Snarrw Ssex L jsi adept 1TH1IMKP A CfXEQLCKP. . NT -字*甘0阿會 Wfe 曲l股電 ? Snol比*啊 d-ia-TC K bit Ink EJ Eun 妊W) 薈BE 皺認即St 單擊文件菜單中的保存命令保存該表,并取名為Stude nt”。 方法二、使用SQL語句創建數據庫和表 1)單擊工具欄中的“新建查詢”按鈕,并在彈出的“連接到服務器”對話框中單擊 “連接”按鈕,新建一個 SQL腳本。 2
8、)在右側的SQL腳本輸入框中輸入如下 SQL代碼: CREATEDATABASE STUDENT -倉U建 STUDENT數據庫 GO USESTUDENT GO - 轉至U STUDENT數據庫 在STUDENT數據庫中創建表STUDENT CREATETABLE STUDENT ( Sno CHAR( 5) PRIMARYKEY, Sname CHAR: 10 )NOTNULL, Ssex BIT , Sage INT , Sdept CHAR 15) ) 單擊工具欄中的執行按鈕,運行SQL語句,完成數據庫與表的創建。 四、實驗任務 1.用兩種方法建立一個新數據庫HRM (也可任意取名)。
9、 2在數據庫HRM中,建立如下所示的三個表: Employee 表 列名 數據類型 長度 是否允許為空 說明 EmployeelD Char 6 :否 員工編號,主鍵 Name Char 10 否 B名 Birthday Datetime 8 否 出生日期 Sex Bit 1 否 性別 Address Char 20 是 地址 Zip Char 6 是 郵編 Phon eNumber Char 12 是 電話號碼 EmailAddress Char 30 是 電子郵件地址 Departme ntID Char 3 否 員工部門號,外鍵 Departme nts 表 列名 數據類型 長度 是否允
10、許為空 說明 Departme ntID Char 3 否 員工部門號,主鍵 Departme ntName Char 20 否 部門名 Note Text 16 是 備注 Salary 表 列名 數據類型 長度 是否允許為空 說明 EmployeeID Char 6 否 員工編號,外鍵 In come Float 8 否 收入 OutCome Float 8 否 支出 3對三張表輸入數據(可任意輸入,但注意要符合完整性要求,否則會出錯,在本實驗 中,外鍵設置可先不做要求) 五、實驗報告要求 1、要求給出三個表創建的 SQL語句,要求建表時給出主外鍵約束、唯一約束、取空 值約束、用戶自定義的約
11、束等。(注:在實驗報告上只需寫出其中一個表的SQL語句即 可) 2、舉例說明如何操作會違背完整性(實體完整性、參照完整性)。 2.2 SQL數據查詢語句 、實驗目的 了解SQL Server 2005查詢編輯器的啟動,熟悉如何在SQL Server 2005查詢編輯 器查詢記錄。 掌握SELECT語句的基本語法和查詢條件表示方法 掌握GROUP BY和ORDER BY子句的作用和使用方法 掌握連接查詢和子查詢的使用方法 二、實驗內容 1、單擊工具欄中的“新建查詢”按鈕,并在彈出的“連接到服務器”對話框中單擊“連 接”按鈕,新建一個 SQL腳本。 2、在SQL腳本中寫數據查詢語句執行; 從表中查
12、詢數據: 在查詢分析器的查詢窗口中輸入SQL語句,如圖所示。 lnx| 查詢-TE ACHER331 .Test JE ACHER331 Administrator - C:DocumeiAs and SettingfV select * from tesi I :| 點擊按鈕,執行該SQL語句,在查詢窗口下部出現一個輸出窗口,如圖所示。 三、實驗任務 1對上節建立的表輸入數據: Departme nts 表: Departme ntID Departme ntName Note 1 財務部 財務部 2 研發部 研發部 3 人力資源部 人力資源部 Employee 表 EmployeelD N
13、ame Birthday Sex Address Zip Phon eNumber EmailAddress Departme ntID 1001 李勇 78-3-12 0 河南 475001 3880378 lyhe nu .edu.c n 1 1002 ” 王敏 80-11-2 1 河南 475002 0378311 wmhe nu .edu.c n 1 1003 劉晨 78-6-22 0 河南 475003 0378322 lche nu .edu.c n 1 2001 張立 78-8-1 0 河南 475004 0378333 zlhe nu .edu.c n 2 2002 劉毅 82
14、-1-23 0 河南 475005 0378344 lyhe nu .edu.c n 2 2003 張玫 81-3-15 1 河南 475006 0378355 zmhe nu .edu.c n 2 3001 徐靜 76-8-12 1 河南 475007 0378366 xjhe nu .edu.c n 3 3002 趙軍 79-2-19 0 河南 475008 0378377 zjhe nu .edu.c n 3 Salary 表 EmployeeID In come OutCome 1001 3600 1500 1002 3300 1000 1003 3700 P1200 2001 400
15、0 1600 2002 3800 1800 2003 3800 1500 3001 4200 2000 3002 4100 1800 2、練習下面簡單的查詢語句: a) 查詢每個雇員的所有信息 b) 查詢每個雇員的地址和電話 c) 查詢 EmployeeID 為 000001 的雇員的地址和電話。 d) 查詢女雇員地址和電話,并用 AS 子句將結果中各列的標題分別指定為“地址”和 “電話”。 e) 計算每個雇員的實際收入。 f) 找出所有姓王的雇員的部門號。 思考:找出所有地址中含有“中山”的雇員的號碼和部門號。 3、練習多表連接查詢和嵌套查詢: a) 查詢每個雇員的情況及工資情況(工資=In
16、come - Outcome ) b) 查詢財務部工資在 2200 元以上的雇員姓名及工資情況 c) 查詢研發部在 1966 年以前出生的雇員姓名及其工資詳情 d) 查詢人力資源部雇員的最高和最低工資 e) 將各雇員的情況按工資由低到高排列 f) 求各部門的雇員數 g) 找出所有在財務部和人力資源部工作的雇員的編號 h) 統計人力資源部工資在 2500 以上雇員的人數 i) 求財務部雇員的總人數 j) 求財務部雇員的平均工資 k) 查找比所有財務部的雇員工資都高的雇員的姓名 l) 查找財務部年齡不低于研發部所有雇員年齡的雇員的姓名 m) 查找在財務部工作的雇員的情況 四、實驗報告要求 1、寫出
17、與上述查詢任務相對應的SQL 查詢語句(注:在實驗報告上寫出2-d、2-e、 2-f 及 3 中所有練習的 SQL 語句) 2、并記錄在實驗過程中遇到的問題、解決辦法及心得體會。2.3 視圖的定義和操作 一、實驗目的: 理解視圖的概念,掌握視圖的使用方法。 二、預計實驗時間 :上機一次 三、實驗過程 1 對應 HRM 數據庫,參照前面實驗中完成的查詢,按如下要求自行設計視圖: 1)基于單個表按投影操作定義視圖。 舉例:定義一個視圖用以查看所有員工的編號、姓名和出生日期。 2)基于單個表按選擇操作定義視圖。 舉例:定義一個滿足 sex= true 的員工的所有信息的視圖。 3) 基于單個表按選擇
18、和投影操作定義視圖。 舉例:定義一個視圖用以查看部門號碼為2 的所有員工的姓名、電話和郵件地 址。 4)基于多個表根據連接操作定義視圖。 舉例:定義一個視圖用以查看所有員工的姓名、部門名及工資。 5)基于多個表根據嵌套查詢定義視圖。 舉例:定義一個比所有財務部的雇員工資都高的雇員的信息的視圖 6)定義含有虛字段(即基本表中原本不存在的字段)的視圖。 舉例:定義一個視圖用以查看所有雇員的編號、姓名、年齡。 2. 分別在定義的視圖上進行查詢、插入、更新和刪除操作,分情況(查詢、更新)討 論哪些操作可以成功完成,哪些不能成功完成,并分析原因。 四、實驗報告要求: 1在實驗報告中要給出上述任務的視圖定
19、義語句;(注:實驗報告上寫出4、5、6的SQL 語句) 2、分情況討論哪些操作可以成功完成,哪些不能成功完成。 查詢操作:舉出一個進行查詢操作的例子。更新操作:更新操作包含插入、更新、刪 除,針對不能成功完成更新操作的情況舉出兩個例子,并分析原因。 2.4 SQL數據更新語句 一、實驗目的 加深對SQL數據更新(插入、修改及刪除)語句的基本語法格式的掌握 掌握單個元組及多個元組的插入、修改及刪除操作的實現過程 加深對更新操作時數據庫中數據一致性問題的了解 加深對約束條件在數據更新操作執行中的作用問題的了解 二、實驗內容 方法一:在SSMS中插入、刪除及修改數據, 方法二:在查詢編輯器中寫 SQ
20、L插入、刪除及修改數據 三、實驗任務 設有一個SPJ數據庫,包括S, P, J, SPJ四個關系模式: S (SNO , SNAME , STATUS , CITY ) 表-廠袁-dbo. F f表-dbo. J f摘要 列名 數據類型 允許空 SIS diar(2) SNAIVE varchar(20 0 STATUS char (4) 0 CITY char CIO) 0 P (PNO, PNAME , COLOR , WEIGHT ) 列名數據類型允許空 SZEI char (2) PNAME varchar(20) COLOR diar(4) WEIGHT int J (JNO, JN
21、AME , CITY ) 1列容 數據類型 允許空 1 JNO char (2) JNAME 0 CITY char(lD) 0 SPJ ( SNO, PNO , JNO, QTY ) 列名 數據類型 允許空 char (2) PNO char JNO char QTY int 0 供應商表 S由供應商代碼(SNO)、供應商姓名(SNAME )、供應商(STATUS)、供應商 所在城市(CITY )組成; 零件表 P由零件代碼(PNO)、零件名(PNAME )、顏色(COLOR )、重量 (WEIGHT ) 組成; 工程工程表 J由工程工程代碼( JNO)、工程工程名(JNAME )、工程工程
22、所在城市 (CITY )組成; 供應情況表 SPJ由供應商代碼(SNO)、零件代碼(PNO )、工程工程代碼(JNO)、供 應數量(QTY )組成,表示某供應商供應某種零件給某工程工程的數量為QTY。試完成以 下操作: 1在S表中插入元組“ S6,華譽,40,廣州” 2在J表中插入元組“ j8,傳感器廠” 3 對每一個供應商,求他為各種工程供應零件的總數量,并將此結果存入數據庫 4. 將P表中PNO值為p6的元組的color屬性值改為綠,weight屬性值改為60 5. 將SPJ表中前4個元組的qty屬性值統一修改為 300 6. 將S表中city屬性名含有“京”或“津”的相應 status屬
23、性值增加100 7 將供應商S2為“一汽”工程工程所供應的零件數量修改為2000 &將全部紅色零件的顏色修改為淺紅色 9. 由S5供給j4的零件p6改為由S3供應 10. 在SPJ表中新增一名為 SDATE的屬性列,對該表中的每一元組在SDATE屬性列上填 上實驗當時的日期和時間 11. 刪除所在城市為“廣州”的供應商記錄 12刪除所有零件名稱中第一個字為“螺”字的零件記錄,并在供應情況表中刪除相應的 記錄 13刪除S3和S4兩供應商為“三建”工程供應“螺母”或“螺絲刀”零件的相應供應情 況數據信息 四、實驗報告要求 1、 寫出與上述任務相對應的 SQL更新語句(實驗報告上寫出3、5、10的S
24、QL語句) 2、并記錄在實驗過程中遇到的問題、解決辦法及心得體會。 實驗3數據完整性和安全性管理 3.1數據完整性管理 一、實驗目的 掌握域完整性的實現方法。 掌握實體完整性的實現方法。 掌握參照完整性的方法。 二、實驗內容 數據庫的完整性設置。 三、實驗步驟 可視化界面的操作方法: 實體完整性 1. 將student表的“ sno”字段設為主鍵:在表設計界面中,單擊左邊的行選定塊,選定 “ sno”字段,單擊工具按鈕設置主鍵。如圖1所示: , MbriaEHTl MM 541-+ HsriitegMiiMlfc liM&d S*HEJ W;D HS.l TIRCEJ ftAkiRiU Zft
25、LD 1! 口畫 社區口 *眩2衛 -1 m uST&attJa Sct*- w? E | J| SAff 田p .披齟露41 田匚J *! J AdvwrALTBWorka J Mn vt ir a WoMJW J US .J ReDwtSef1- BRMHtS#r.rTn4C4 :-:w HU _j KUilK El HJWoCWjrw 田3誨吐閲 田 3 ihi.iiuiflffi 朗一I W閣 .+. jj 3 孑 WW|b(iLijf RfX 竺 wd*w3) flniaCn 削性I 丨 Q t 章#b r*:- 怪僵1 ntuis: tri 運 E沖 I 圖1 1.將sc”表的“
26、sno”和eno”設置為主鍵:在表設計界面中,單擊并按住Ctrl 鍵拖動左邊的行選定塊,選定sno和eno字段,單擊工具按鈕設置主鍵。如圖 2所示: 1 MicirawH 鼠jL wvvr Muinjirffcmpnl! &budia 立件也辟吋覗圖辿頊目側 Sifei+HiO XflfP sa(w?社反利恥) A.飆互越皿su皿核匸b $書耳心包is丘 2品目丸 叵,謝窮.11引筆 |立童責i!治理器 坯掘邊-力1 T 巳注引的!3 S15 ft許空 m vvetwt 10 r :22 am v araMJ5 刑若 t LE= L* ifin s4?pt 2站M曲 ES B 再 db.cti
27、Mient* | USTH20Cr3.:-3fll S vMcbartf) 堆定的r:HE匚k均噸國! laOtbderteT* Mi 陶 CD) MwaMgaST Tuvrs | 口星 曰 CU-3H) 巳俺再RWI 犧汗則I Hr 血 O例 I到也4旦囲FT 創 胡 1 口 fil 1倒旳擁到也 沖.對 |+I-!-I+I+|+L IjJ USTE2003 (S5L 5ei vti 9-.D. j W 曰二 S &.S.?PJBJE m 丄 j J ArJwrtireWrtgrkj |J AdF血r曲心hfD卿 jj 加;*ag b J Rapo-tS-arwr RepoHSdtTTewD
28、fi U心 is _i毀:e暉耳:s.團 a i眾燒霰 ffii 口 cto.nw 田 n dtwisc 注1 m dh-a.iB ffl 口 dbotudert + j楓田 3 _j同黑遢 + _j Q1MK14 油! 1SJJE i 否工J 參照完整性 4.將student”表和sc”表中的sno”字段設為參照:打開sc”表的設計界面,點擊工 具欄按鈕I,在彈出的屬性(properties)對話框中點擊新建”按鈕,在主鍵表 (Primary key table)”下拉框中選擇student”表,在其下的字段選擇框中選擇sno”,在外鍵表 (Foreign key table)”下拉框中選擇
29、sc”表,在其下的字段選擇框中選擇sno”,單擊關 閉即可。見圖4。 許空 it studio R沱弓世HP畐H 陛雷 I * 1 奉 i dlL. 玄胖上EE3C凹 科逅 i+RitLi Xi蛀區 0WWwHf 柯 EJ: IrtuLkrll. J林便宜皿皿Lh E&dQ丨Li山匕*|豎少3呂, ViwehsCLQJ r-chwf3OI -一鳶一 一拖Ln住. IQQ汗97耳嚴I曲!疔!EiT# 巴19存的毆 *TF*fc|J M Cfl9& E3 e 11也i也i也1 SIH7目I &l創創創創 #1 m 址I址I也I創I 命令方式操作方法: 實體完整性 1將student”表的“ sno
30、”字段設為主鍵: 當student”表已存在則執行: alter table stude nt add con stra int pk_s no primary key (sno) 當student”表不存在則執行: Create table stude nt(s no CHAR(5) primary key , sn ame CHAR(10) NOT NULL, ssex CHAR(2), sage int, sdept CHAR(4) 注:可用命令drop table student” 刪除student” 表 2. 添加一身份證號字段,設置其惟一性.(注:操作前應刪除表中的所有記錄) A
31、lter table stude nt add id char(18) unique (id) 3. 將sc”表的“ sno”和eno”設置為主鍵: 當“sc”表已存在則執行: alter table sc add con stra int PK_S noCno primary key (sno,cno) 當“ sc”表不存在則執行: Create table sc(s no CHAR(5), eno CHAR(2), grade INT NULL, con stra int PK_S noCno primary key (sno,cno) 域完整性 4. 將“ ssex”字段設置為只能取“男
32、”,“女”兩值: 當student”表已存在則執行: alter table student add constraint CK_Sex check (ssex in ( 男 ,女 ) 當student”表不存在則執行: Create table student(sno CHAR(5) primary key , sname CHAR(10), ssex CHAR(2) check (ssex in ( 男 ,女) , sage int, sdept CHAR(4) 5. 設置學號字段只能輸入數字 : alter table student add constraint CK_Sno_Form
33、at check (sno like 0-90-90-90-90-9) 6. 設置身份證號的輸入格式 : 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 like 0-90-90-9090-90-90-90-90-10-90-30-90-90-90-9) 7. 設置 18位身份證號的第 7位到第 10 位為合法的年份 (1900-2050) alter table student add con
34、straint CK_ID_Format2 check (len(id)=18 and ( (convert(smallint,substring(id,7,4) )=1900) and(convert(smallint,substring(id,7,4) )=22 or ssex=女and sage=20 ) 參照完整性 9.將student”表和sc”表中的“ sno”字段設為參照: 當“ sc”表已存在則執行: alter table sc add constraint FP_sno foreign key (sno) references student(sno ) 當“ sc”表不存
35、在則執行: Create table sc(sno CHAR(5) constraint FP_sno foreign key references student(sno), cno CHAR(2),grade INT NULL, constraint PK_SnoCno primary key (sno,cno) ) 完整性驗證 1 實體完整性:在“ student”表數據瀏覽可視化界面中輸入學號相同的兩條記錄將會出 現錯誤如圖 5 所示: 兗件如匡)US(u)頂目迪査詢設計歡雖Ifl.(D ffincwj WE()昭助:也 爲富直血皿8皿活畐4 J 鼻移矛= 蟲i表視毗甲H畫毋 巳注犧的
36、廂咅禺 U(3耳口也 石:j將屁屋引宰 居gbSQ嚇 lz,d USTE003 (SQL Server 9.D.J3W- m) Iz 丄 sd&ii * J 11 _J Ij 田 國 田 Q 田 回 AfiTMtWgHcflW 抑址旳 Q RepfftServer J RsportSwverTsffpDB J箱M T _1數據岸心因 _i舌 國::ass懲 ffl n dbo.ccase JI Z3 dbo.sc SI 3女腐 Jl db砧“陽 t nr _j 機 EB F 一i間義聞 莊_1可坍程愕 更逼梵fi!(比 I ?酹爐口銅角 i =li 妙空j-3這由貝|電對gjj亠|也対血H創跑
37、番、.|目q琶|門曲 圖5 或者在命令窗口輸入下面兩條命令也會出現錯誤提示: insertintostudentvalues (95003, 張三,男 ,24, CS insertintostudentvalues (95001, 李四,女 ,21 , CS , 立中 ID iWsLQ WEQm 宣呦ta XIHEEJ 工員(D1E(J 簾 E:tD | f 1M5W # W - *-? jn-Kt*ni: 陽口00陽眞噸-號事3侍腎氐*切嚴 nl UOcnE. val ues | 卯 g-tlOi d/iam口
38、damc. vm 1-lshk |,1 9S口 1 丄| ! KOOi 閆 0 RTm (El i :TT*MWr 消總覽別14r伙呑1,耳芒行 JJjSiT P&.IU1ARV RXT PK iMi*uC H 不fife左巧矗業o . .UZEL 中捕小工配惚- 泊句自歸止. Jj |QQ:7Q737&4歸押.;期嘰律暢砂曇爭那 -J 圖6 F面的語句用來驗證“ SC”表中的實體完整性: insert into sc values(95002, 1O,65) in sert into sc values(95002, 10,90) MlfiFd-c&iAi XjQLLMjn jFrriint
39、 Studio- 文胖Q 曲輯唱 llffi(v) 畫顛目5 工且由口(凹社魚) 那皐更皿6迢,由茹 &芳U 衆血I 8 盅材il 巨ti熬翳.1=引擎 皿 LiAh2tH3 去呂 | 曲 LISTB2DG3 笙LS旳MJ3W E 一1如麗 數抵陣咲膽 AchrtrtueWotksDW xxcg P epor i: Ser vw Rpurt5*tv*i-TAfnpDB 亠丄UUUUUU wffi田田田曲田曰 I* THjPF競現朋 Q LJ 5? iU 口序.岐惡 田 n 竝LQoufe dbD.sc 二 dfew -ss 3 b.-itudri Uffl 回文國 一I町*握性 +1 味丨迂專
40、碼融園gi二蘭丨軍班二 X-dHiffeudiOfc 1 U5ir62003.Kl - SQtQuerrt.MiiPiiWv liiseL- 1117 0 皀:匚 ?。縷丄|.|芒弐 : ”= 1L 5S inhere匚 vb 1 口貫鬥總弓口口立丨章 1 ! r 9Q| -infl I Cl行受橐勁 消氫亡沁扱別K.恍專1. K 2 違反了 PRIHAPY KEV 均甬 1 PK Sra&C&o1 s 不睫在時象dbo. -中fS A_ J B 語句已撼止* UJ 行3:列】Ch 1Crw 旳汗蚓| NJe莊E3乳1ejh.| _js51|云,,構時也l 也4也討注J亍旦;3D 1詒總心斗曠
41、 辺旳 !蠡譚己墨匪但WIS- usnem te.o kimJ 2.域完整性: 使用下面的語句驗證ssex”字段的域完整性: insert into student values(95009,張勻,大,20,CS, 申 MIriir net? 譏3KQ 電譚itt? fl B(E) XAtU n所有程序 SQL Server 2005 SQL Server Management Studio 啟動 SQL Server 2005數據庫管理系統 連接成功后,右鍵你的實例,選擇屬性 在 屬性 窗口中, 轉到 Security( 安全性 )項,在 服務器身份驗證 中設置為 SQL Server 和
42、Windows 身份驗證模式 , 確定,根據提示,應該重新啟動sql 服務 然后執行下面的語句啟用sa用戶,同時清除sa的密碼(能成功登陸后再根據你的 需要設置 ) EXEC sp_password null,null,sa ALTER LOGIN sa ENABLE 語句執行完成后,再用sa連接你的實例,應該就沒有問題了 . 2. 設置登錄賬戶 創建使用 Windows 身份驗證 (SQL Server Management Studio) 的 SQL Server 登錄 名 ?在 SQL Server Management Studio 中,打開對象資源管理器并展開要在其中 創建新登錄名的
43、服務器實例的文件夾。 ?右鍵單擊“安全性”文件夾,指向“新建”,然后單擊“登錄名”。 ?在“常規”頁上的“登錄名”框中輸入一個Windows 用戶名。 ?選擇“ Windows 身份驗證”。 ?單擊“確定”。 創建使用 SQL Server 身份驗證 (SQL Server Management Studio) 的 SQL Server 登錄 名 ?在 SQL Server Management Studio 中,打開對象資源管理器并展開要在其中 創建新登錄名的服務器實例的文件夾。 ?右鍵單擊“安全性”文件夾,指向“新建”,然后單擊“登錄名”。 ?在“常規”頁上的“登錄名”框中輸入一個新登錄名
44、的名稱。 ?選擇“ SQL Server 身份驗證”。 ?輸入登錄名的密碼。 ?選擇應當應用于新登錄名的密碼策略選項。通常,強制密碼策略是更安全 的選擇。 ?單擊“確定”。 通過 Transact-SQL 創建使用 Windows 身份驗證的 SQL Server 登錄名 ?在查詢編輯器中,輸入以下Transact-SQL 命令: CREATE LOGIN FROM WINDOWS 。 GO 通過 Transact-SQL 創建使用 SQL Server 身份驗證的 SQL Server 登錄名 ?在查詢編輯器中,輸入以下 Transact-SQL 命令: CREATE LOGIN WITH
45、PASSWORD = 。 GO 3. 設置數據庫用戶 創建數據庫用戶 在 SQL Server Management Studio 中,打開對象資源管理器并展開要在其中 創建新登錄名的服務器實例的文件夾。 依次展開數據庫,某個具體數據庫,“用戶” 右鍵單擊用戶,選擇“新建用戶” 輸入用戶名,選擇登錄名,確定 通過 Transact-SQL 創建數據庫用戶( create user): create user dba for login dba with default_schema=dbo 并指定數據庫用戶“dba” 的默認 schema 是“ dbo ”。這意味著 用戶 “dba” 在執行“
46、 select * from t ”,實際上執行的是 “ select * from dbo.t ”。 4 設置數據庫角色 新建角色 在 SQL Server Management Studio 中,打開對象資源管理器并展開要在其中 創建新登錄名的服務器實例的文件夾。 依次展開數據庫,某個具體數據庫,“角色” 右擊選中新建角色 通過 Transact-SQL 新建角色: CREATE ROLE role_name 在對象資源管理器中設置數據庫角色 在 SQL Server Management Studio 中,打開對象資源管理器并展開要在其中 創建新登錄名的服務器實例的文件夾。 依次展開數據
47、庫,某個具體數據庫,“用戶” 選中某用戶,右擊“屬性”,在展開的數據庫用戶屬性對話框中進行設置 通過 Transact-SQL 設置數據庫角色 通 過 加 入 數 據 庫 角 色 , 賦 予 數 據 庫 用 戶 “ dba” 權 限 : exec sp_addrolemember db_owner, dba 此時, dba 就可以全權管理數據庫 mydb 中的對象了。 如果想讓SQL Server登陸帳戶dba”訪問多個數據庫,比如mydb2??梢?讓 sa 執行下面的語句: use mydb2 go create user dba for login dba with default_sch
48、ema=dbo go exec sp_addrolemember db_owner, dba go 此時, dba 就可以有兩個數據庫 mydb, mydb2 的管理權限了! 5.設置管理對象的權限 在對象資源管理器中授權: 選中需要授權的登錄名、用戶名或角色名 右鍵單擊選擇“屬性”,在彈出的該對象的屬性窗口中選擇“安全對象”, 進行權限分配 通過 Transact-SQL 分配權限:通過 GRANT 和 REVOKE 語句 四、實驗任務 1、創建角色 ProgramerRole ,擁有創建表,存儲過程,視圖權限,擁有對 Salary 表的查 詢、修改、插入權限 2、創建一個登錄賬號 Test
49、login 3、創建對應于這個登錄賬號的數據庫用戶TestUser 4、將用戶 TestUser 添加到 TestRole 角色中 五、實驗報告要求 1、寫出與上述任務相對應的 SQL 語句 2、思考數據庫服務器上的角色有哪些?權限類型有哪些? 3、并記錄在實驗過程中遇到的問題、解決辦法及心得體會。 實驗 4 觸發器和存儲過程實驗 4.1 觸發器實驗 一、實驗目的 掌握觸發器的創建、修改和刪除操作。 掌握觸發器的觸發執行。 掌握觸發器與約束的不同。 二、實驗要求 1. 創建觸發器。 2. 觸發器執行觸發器。 3. 驗證約束與觸發器的不同作用期。 4. 刪除新創建的觸發器。 三、實驗內容 (一)
50、示例 1. 創建觸發器 啟動SQL Server查詢編輯器,選擇要操作數據庫,如“sc (學生選課)”數據 庫。 在查詢命令窗口中輸入以下CREATE TRIGGE語句,創建觸發器。 為sc(學生選課)表創建一個基于 UPDATE操作和DELETE操作的復合型觸發 器,當修改了該表中的成績信息或者刪除了成績記錄時,觸發器被激活生效, 顯示相關的操作信息。 - 創建觸發器 CREATE TRIGGER tri_UPDATE_DELETE_sc ON sc FOR UPDAT,E DELETE AS - 檢測成績列表是否被更新 IF UPDATE(成績) BEGIN - 顯示學號、課程號、原成績和
51、新成績信息 SELECT INSERTED課程號,DELETED成績 AS原成績, INSERTED成績AS新成績 FROM DELETED, INSERTED WHERE DELETED.號 INSERTED學號 END - 檢測是更新還是刪除操作 ELSE IF COLUMNS_UPDATED( )=0 BEGIN - 顯示被刪除的學號、課程號和成績信號 SELECT被刪除的學號=DELETED學號,DELETED課程號, DELETED成績AS原成績 FROM DELETED END ELSE - 返回提示信息 PRINT 更新了非成績列! 點擊快捷工具欄上的快捷按鈕,完成觸發器的創建。
52、 2. 觸發觸發器 在查詢命令窗口中輸入以下 UPDATE sc SET成績=成績+5 WHERE課程號=101 在查詢命令窗口中輸入以下 UPDATE sc SET 課程號 = 113 WHERE課程號=103 在查詢命令窗口中輸入以下 DELETE sc UPDATE sc語句,修改成績列,激發觸發器。 UPDATE sc語句修改非成績列,激發觸發器。 DELETE sc 語句,刪除成績記錄,激發觸發器。 WHERE課程號=102 3. 比較約束與觸發器的不同作用期 在查詢命令窗口中輸入并執行以下ALTER TABLE 語句,為 sc 表添加一個約束, 使得成績只能大于等于 0 且小于等于
53、 100。 ALTER TABLE sc ADD CONSTRAINT C成績 CHECK成績 =0 AND成績 =100) 在查詢命令窗口中輸入并執行以下UPDATE sc語句,查看執行結果。 UPDATE sc SET 成績=120 WHERE課程號=108 在查詢命令窗口中輸入執行以下UPDATE sc 語句,查看執行結果。 UPDATE sc SET成績=90 WHERE課程號=108 從這部分實驗中,我們可以看到,約束優先于觸發器起作用,它在更新 前就生效,以對要更新的值進行規則檢查。當檢查到與現有規則沖突時,系 統給出錯誤消息,并取消更新操作。如果檢查沒有問題,更新被執行,當執 行
54、完畢后,再激活觸發器。 4. 刪除新創建的觸發器 在查詢命令窗口中輸入 DROP TRIGGER語句,刪除新創建的觸發器。 DROP TRIGGER tri_UPDATE_DELETE_sc 點擊快捷工具欄上的快捷按鈕,刪除觸發器。 (二)練習 1. 在 Student 表中編寫 insert 的觸發器,假如每個班的學生不能超過 30個,如果低 于此數,添加可以完成;如果超過此數,則插入將不能實現。 2. 在SC表上編寫update觸發器,當修改 SC表中的grade字段時將其修改前后的信 息保存在 SC_log 表中。 四、實驗報告要求 1、 寫出與上述任務相對應的SQL 語句 2、并記錄在
55、實驗過程中遇到的問題、解決辦法及心得體會。 4.2 存儲過程實驗 一、實驗目的 掌握用戶存儲過程的創建操作。 掌握用戶存儲過程的執行操作。 掌握用戶存儲過程的刪除操作。 二、實驗內容 1、創建帶輸入參數的存儲過程的存儲過程。 2、執行所創建的存儲過程。 3、刪除所有新創建的存儲過程。 三、實驗步驟 對應于student數據庫 (1) 創建一個無參存儲過程 StuScoreInfo,查詢以下信息:學號,姓名,性別,課程名稱,考試成績 (2) 創建一個帶參數的存儲過程stu_ info,該存儲過程根據傳入的學生編號在stude nt表中查詢 此學生的信息 . (3) 創建一個帶參數的存儲過程Stu
56、Score Info2,該存儲過程根據傳入的學生編號和課程名稱 查詢以下信息 :姓名,課程名稱 ,考試成績 . (4) 編寫帶參數的存儲過程 ,根據傳入的課程名稱統計該課程的平均成績. (5) 編寫存儲過程 ,根據傳入的課程名統計這門課的成績分布情況,即按照各分數段統計人數 四、實驗報告要求 1、寫出與上述任務相對應的 SQL 語句 2、并記錄在實驗過程中遇到的問題、解決辦法及心得體會。 實驗 5 數據庫備份與恢復 一、實驗目的 熟悉數據庫備份及恢復機制; 了解 SQL Server 的數據備份和恢復機制; 掌握 SQL-Server 中數據庫備份和恢復的方法。 二、實驗內容 以管理員帳號登錄
57、 SQL Server Management Studio ,以原有數據庫 student 為基礎, 請使用 Management Studio 界面方式或 T-SQL 語句實現以下操作: 1. 針對數據庫 stu 創建完全數據庫備份集 stu.bak ,目標磁盤為 D: user stu.bak ; 2. 在數據庫 stu 中新建數據表 ceshi ,內容自定,然后針對數據庫 stu 創建差異備 份; 3. 向數據庫 stu 的數據表 ceshi 插入部分記錄,然后針對數據庫 stu 創建事務日志 備份; 4. 根據需要,將數據庫恢復到數據庫 stu 的最初狀態; 5. 根據需要,將數據庫恢
58、復到創建數據表 ceshi 后的狀態; 6. 根據需要,將數據庫恢復到在 ceshi 表插入記錄后的狀態; 7. 針對現有數據庫 stu 創建完全文件和文件組備份集 stu_file ,目標磁盤為 D: user stu_file.bak ; 8. 在當前數據庫中新建數據表 ceshi2 ,然后針對數據庫 stu 創建差異文件和文件組 備份; 9. 向數據庫 stu 的數據表 ceshi2 插入部分記錄,然后針對數據庫 stu 創建事務日志 文件和文件組備份; 10. 根據需要,將數據庫以文件和文件組方式恢復到創建數據表 ceshi2 后的狀態; 11. 根據需要,將數據庫以文件和文件組方式恢
59、復到數據表 ceshi2 插入記錄后的狀 態; 三、思考 說明數據庫的備份和恢復的基本步驟; SQL Server 中的完全備份、事務日志備份和增量備份形式的功能特點; 四、實驗報告要求 1寫出與上述任務相對應的SQL語句 2、并記錄在實驗過程中遇到的問題、解決辦法及心得體會。 實驗 6 數據庫設計綜合應用 一、實驗任務與要求 目的與任務 : 1. 掌握數據庫設計和實現的基本過程 2. 掌握數據庫模式設計、分析和實現的方法 3. 了解數據庫應用系統軟件開發的一般過程。 實驗基本要求 : (1)學習相關的預備知識 (2)按照數據庫設計與實現過程完成數據庫的設計,應用程序的開發,上機調試、運行 (
60、3)寫出課程設計報告 二、課程設計基礎知識 數據庫設計與實現的基本過程包括需求分析、概念結構設計、邏輯結構設計、數據庫的 物理設計以及數據庫的實施和維護等內容。需求分析確定系統的數據需求和處理需求;概 念結構設計通過對用戶需求的綜合、歸納和抽象,形成一個獨立的概念模型;邏輯結構設 計則將概念模型轉換為具體的數據庫管理系統所支持的數據模型;數據庫的物理設計結合 應用確定數據模型的存儲結構和存取方式。在這些工作完成之后,就可以建立數據庫并開 始調試運行了,在數據庫的運行過程中必須對其進行維護包括數據庫的備份與恢復、 性能分析與改進等等。 1概念結構設計 ER 圖 概念模型是用戶需求的抽象,通常用實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 伊春市上甘嶺區2025屆四下數學期末學業水平測試模擬試題含解析
- 上海思博職業技術學院《數控技術及應用》2023-2024學年第二學期期末試卷
- 景德鎮陶瓷職業技術學院《建筑工程定額與預算》2023-2024學年第二學期期末試卷
- 昆明理工大學津橋學院《基礎日語(IV)》2023-2024學年第一學期期末試卷
- 石家莊工商職業學院《生物醫學產品標準及生產法規》2023-2024學年第一學期期末試卷
- 廈門東海職業技術學院《中學生物教育技術》2023-2024學年第二學期期末試卷
- 山東石油化工學院《中外文化概論》2023-2024學年第一學期期末試卷
- 江西婺源縣重點達標名校2025年初三下學期第二次質檢語文試題含解析
- 蘇州工業園區服務外包職業學院《DeutschIntensivⅡ》2023-2024學年第二學期期末試卷
- 四川省成都市青羊區部分校2024-2025學年中考模擬最后十套:語文試題(三)考前提分仿真卷含解析
- 2024北京一零一中初二(下)期中數學試題及答案
- 2025-2030中國考試系統行業市場發展現狀分析及發展趨勢與投資前景研究報告
- GB/T 45456-2025包裝折疊紙盒折痕挺度的測定
- 國企薪酬福利體系與市場化改革
- 2025年保安員職業技能考試筆試試題(700題)附答案
- 2025屆江蘇省江陰市四校高三下-第四次月考數學試題試卷
- 2025年04月國家稅務總局稅務干部學院公開招聘事業單位工作人員36人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2024-2024年上海市高考英語試題及答案
- IEC603645523電線電纜載流量行業資料國內外標準規范
- 最新安全生產管理教材電子版
- 國標鐵路機車牽引電機懸掛抱軸瓦油
評論
0/150
提交評論