sqlsever數(shù)據(jù)庫知識點總結(jié)_第1頁
sqlsever數(shù)據(jù)庫知識點總結(jié)_第2頁
sqlsever數(shù)據(jù)庫知識點總結(jié)_第3頁
sqlsever數(shù)據(jù)庫知識點總結(jié)_第4頁
sqlsever數(shù)據(jù)庫知識點總結(jié)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第一章 數(shù)1 數(shù)據(jù)庫系統(tǒng): 是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng), 常常把數(shù)據(jù)庫有關的硬件和軟件系統(tǒng) 成為數(shù)據(jù)庫系統(tǒng)2. 數(shù)據(jù)庫:數(shù)據(jù)庫就是數(shù)據(jù)的倉庫,由表、關系以及操作對象組成3. 數(shù)據(jù) :是描述事物的符號記錄(數(shù)字、文字、圖形、圖像、聲音等)4. 數(shù)據(jù)庫的作用 存儲大量數(shù)據(jù),方便檢索和訪問 保持數(shù)據(jù)信息的一致、完整 共享和安全通過組合分析,產(chǎn)生新的有用信息人工管理階段 : 數(shù)據(jù)不保存;使用應用程序管理數(shù)據(jù);數(shù)據(jù)不共享;數(shù)據(jù)不具有獨立 性。文件系統(tǒng)階段:數(shù)據(jù)可以長期保存;由文件系統(tǒng)管理數(shù)據(jù);共享性差,數(shù)據(jù)冗余大; 數(shù)據(jù)獨立性差。數(shù)據(jù)庫系統(tǒng)階段:數(shù)據(jù)結(jié)構化;數(shù)據(jù)共享性高;數(shù)據(jù)獨立性強;數(shù)據(jù)粒度?。?/p>

2、獨立的 數(shù)據(jù)操作界面;統(tǒng)一管理和控制5. 數(shù)據(jù)庫經(jīng)歷的三個階段及特點2)3)1)6. 數(shù)據(jù)模型的分類層次模型網(wǎng)絡模型關系模型7. E-R圖三個主要部分1)1.實體集:在E-R圖中用長方形來表示實體集,實體是實體集的成員。2)聯(lián)系: 在 E-R 圖中用菱形來表示聯(lián)系,聯(lián)系與其涉及的實體集之間以直線連接, 在直線端部標上聯(lián)系的種類 , (1:1, 1:N, M:N)。在屬3)屬性: 在 E-R 圖中用橢圓形來表示實體集和聯(lián)系的屬性,對于主鍵碼的屬性, 性名下劃一橫線。8. 繪制 E-R 圖所需的圖形長方形框 實體集(考慮問題的對象)菱形框 聯(lián)系 (實體集間聯(lián)系 )橢圓形框 實體集和聯(lián)系的屬性直線

3、連接相關的聯(lián)系和實體,并可標上聯(lián)系的種類1)2)3)4)9. E-R 圖設計原則:真實性;避免冗余;簡單性10. 三大范式第一范式:在關系模型中的每一個具體關系R中,如果每個屬性都是不可再分的,則稱關系(R)屬于第一范式(1NF)R屬于第一范式,且每一個非主屬性都完全依賴于主碼,則稱關第二范式:如果關系模式系 R 是屬于第二范式的R為2NF,并且R中的每個非主屬性不傳遞依賴于R的主碼,則稱第三范式: 如果關系模式關系R是屬于第三范式的第二章 數(shù)據(jù)庫的安裝1.常見的數(shù)據(jù)庫類型: Access、SQL server2000、2005、2008, Oracle 數(shù)據(jù)庫等適用于無連接的客戶端或獨立應用

4、程序 適用于工作組或分支機構操作的數(shù)據(jù)庫 部門級應用程序的數(shù)據(jù)庫服務器 高度可伸縮和高度可用的企業(yè)級數(shù)據(jù)庫 Enterprise 版,但是只授予開發(fā)和測試用許可 供托管公司提供低成本、高伸縮的托管服務,只收取低廉的每月許可費 用于智能手持式設備的精簡數(shù)據(jù)庫2. 數(shù)據(jù)庫管理員的工作是:配置數(shù)據(jù)庫服務器環(huán)境 數(shù)據(jù)庫的對象權限 ;制定數(shù)據(jù)庫的性能優(yōu)化策略 構協(xié)同結(jié)構3.SQL Server 2008 的版本ExpressWorkgroupStandardEnterpriseDeveloperWebMobile;管理數(shù)據(jù)庫的邏輯對象結(jié)構; 配置;數(shù)據(jù)庫的備份還原策略 ;數(shù)據(jù)庫的異12.掌握 SQL S

5、erver 2008數(shù)據(jù)庫的安裝與卸載第三章 數(shù)據(jù)庫的管理1.T-SQL 語言分類 DDL (數(shù)據(jù)定義語言)-create-alter -drop (創(chuàng)建)修改)刪除 )DQL (數(shù)據(jù)查詢語言)-inter (插入)-update (更新)DML (數(shù)據(jù)操作語言)-select (查詢)DCL (數(shù)據(jù)控制語言)-revoke(-deny(-grant(2. 數(shù)據(jù)庫文件撤銷) 拒絕) 同意、授權 )主數(shù)據(jù)文件( .mdf ):一個數(shù)據(jù)庫有且只有一個輔助數(shù)據(jù)文件 (.ndf) :根據(jù)需要自由選擇,當數(shù)據(jù)庫很大時,可以選擇多個 日志文件 (.ldf) :用于存儲恢復數(shù)據(jù)庫所需的事務日志信息3. 掌握

6、數(shù)據(jù)庫的創(chuàng)建及修改(圖形化及代碼) 修改數(shù)據(jù)庫包括4. 語法1 )修改數(shù)據(jù)庫名Alter database Modify name =: 擴展、收縮、分離附加、刪除原數(shù)據(jù)庫名新數(shù)據(jù)庫名例子:【例】將數(shù)據(jù)庫 book 的名字改為 books alter database bookmodify name=books2 )修改文件屬性 Alter database數(shù)據(jù)庫名Modify filename=' 邏輯名 ', size= 修改后的大小 , maxsize= 修改后的大小, filegrowth= 修改后的大小)Go 例子:把初始大小由原來 5mb 增大為 12mb alte

7、r database books modify file(name='book_data', size=12mb) go數(shù)據(jù)庫名3) 添加日志文件 Alter database Add log file (name= 邏輯名' , filename = 文件的存放路徑' , size= 日志文件的初始大小 , maxsize= 日志文件的最大大小 , filegrowth= 日志文件的增長方式)Go例子:【例】向 shop 數(shù)據(jù)庫中添加一個日志文件 alter database shopadd log file( name='shop_log2'

8、, filename ='c:shop_log2.ldf', size=10mb, maxsize=20mb, filegrowth=10%) go數(shù)據(jù)庫名 文件的邏輯名 shop_data2 alter4 )刪除空文件Alter databaseRemove file例子 : 刪除文件database shop removefile shop_data24) 添加輔助數(shù)據(jù)文件 alter database 數(shù)據(jù)庫名add file(n ame='邏輯名 ,filename= 文件存放的路徑' , size= 初始大小, maxsixe= 最大大小 , file

9、growth= 增長方式)Go例子:向數(shù)據(jù)庫 shop 中添加一個輔助數(shù)據(jù)文件 alter database shopadd file(name='shop_data3', filename='c:shop_data3.ndf', size=5mb,maxsize=10mb,filegrowth=10%)go5 )創(chuàng)建 / 刪除數(shù)據(jù)庫Create database 數(shù)據(jù)庫名on primary數(shù)據(jù)文件( -name='邏輯名,filename= 文件的存放路徑' size= 數(shù)據(jù)文件的初始大小, maxsize= 數(shù)據(jù)文件的最大大小, fileg

10、rowth= 文件的增長方式 )log on (日志文件name='邏輯名,filename= 文件的存放路徑' , size= 數(shù)據(jù)文件的初始大小, maxsize= 數(shù)據(jù)文件的最大大小, filegrowth= 文件的增長方式 ) go例子:創(chuàng)建一個名為 book的數(shù)據(jù)庫,其初始值大小為 5MB最大大小為50MB,允許 數(shù)據(jù)庫自動增長,增長方式是按 10%比例增長;日志文件初始 為2MB最大可增長到5MB 按1MB增長。create database bookon primary( name= book_data', filename='c:book_dat

11、a.mdf',size=5mb, maxsize=50mb, filegrowth=10% ) log on(n ame book_Log', file name='c:book_log .Idf, size=2mb, maxsize=5mb, filegrowth=1mb)6)刪除數(shù)據(jù)庫Drop database數(shù)據(jù)庫名例子:刪除數(shù)據(jù)庫 sho pdrop database shop第四章數(shù)據(jù)表的操作1. 在SQL server中創(chuàng)建表的極限:每個數(shù)據(jù)庫可以有 20億個表,每個表有1024個列,每個列可以有8064字節(jié)2. 數(shù)據(jù)類型種類數(shù)據(jù)類型數(shù)字整數(shù)int, big

12、i nt, small int, tinyint精確數(shù)值decimal, nu meric近似數(shù)值float, real貨幣mon ey, smallm oney日期和時間datetime, smalldatetime字符Non-Uni codechar,varchar,varchar(max), textUn icoden char, nvarchar, nvarchar(max), ntext二進制bin ary,varb in ary,varb in ary(max)圖像image全局標識符uniq ueide ntifierXmlxml特殊bit, cursor, timesta mp

13、, sys name, table, sql varia nt3.字符類型字符、數(shù)字、特殊符號-char():固定長度,以空格填補多余長度空間-varchar():可變長長度,不以空格填補多余長度空間-n char( ):un icode固定長度-n varchar( ) : uni code可變長長度-uni code國際標準碼:雙字節(jié)模式(固定每個字符16bit)一個漢字占兩個字節(jié) (16bit)一個字母占兩個字節(jié)(16bit)4. 語法:1 )創(chuàng)建表create table 表名2 )修改表alter table 表名3 )刪除表 drop/delete table 表名4)將查出的信息

14、放入新表Select * into 新表名 from 舊表名5)添加的信息必須滿足現(xiàn)有表結(jié)構 Insert into 現(xiàn)有表 select * from5.drop 和 delete 、truncate 的區(qū)別: drop 記錄5. 數(shù)據(jù)操作語言 DMLselectinsert舊表名是刪除表,而 delete 和 truncate 是刪除表中updatedelete從表或視圖中檢索數(shù)據(jù) 將數(shù)據(jù)插入到表或視圖中 修改表或視圖中的數(shù)據(jù) 從表或視圖中刪除數(shù)據(jù)第五章基礎查詢語法結(jié)構基本語法: select 字段名From目標表Where 條件 例】查詢學生成績數(shù)據(jù)庫( student_score us

15、e student_score1.select)學生情況表(Membe)中的 所有列。select *from Member2.Where 條件限定語法的用法 基本語法: useSelectFromWhere數(shù)據(jù)庫名字段名目標名字段名 =“內(nèi)容”Go【例】查詢Member表中Mname為馬德保的相關信息 use student_scoreselect *from Memberwhere Mname=' 馬德保 'go3. 模糊查詢 like1 )基本語法:FromWhere select 字段名目標名目標名 like 條件例】查找學生姓名以劉'開頭的所有學生信息use

16、student_scoreselect *from Memberwhere Mname like '劉 %'go2) % 代表所有可能的情況3)%的使用%N% 表示包含 NN%表示 N 開頭%N表示 N 結(jié)尾4 )“A '代表不、不是、不以的意思4. Or/and/not 的邏輯運算【例】將Mnamc以'劉開頭,或總學分為60,且專業(yè)名為網(wǎng)絡互連的學生Mnameuse student_scoreselect Mname,Mtotalscore,MMajorfrom Member where Mname like '劉 %' or MTotalsc

17、ore=60and MMajor=' 網(wǎng)絡互連 'go5.Betweenand 在范圍之內(nèi)【例】查找總學分為 60和 70之間的學生所有信息use student_scoreselect *from Memberwhere MTotalScore between 60 and 70go 6.In =or 或【例】查找總學分為 70 和 80的所有學生信息use student_scoreselectfrom Member70', 80')where Mtotalscore in('70','80') where Mtotalsco

18、re not in(go6.Is null 為空的查詢【例】查詢所在地區(qū)為空的學生姓名use student_scoreselect Maera,Mnamefrom Memberwhere Maera is nullgo7.Order by 排序: asc 升序; desc 降序【例】查找學生的總學分以升序排列,出生日期以降序排列的學生姓名和學號use student_scoreselect Mname,Mbirth,Mtotalscore, MID from Memberorder by Mtotalscore asc ,Mbirth descgo8. distinct數(shù)據(jù)過濾和消除重復記錄

19、【例】查詢student_score數(shù)據(jù)庫中Member表中的總學分,但是不能有重復use student_scoreselect distinct Mtotalscorefrom Member order by Mtotalscorego9. Top 和 top with ties 的用法【例】求學分最高的 5位學生的信息 ,并且返回與第 5并列的學生信息use student_scoreselect top 5 with ties MID,Mtotalscorefrom Member order by Mtotalscorego注: with ties 必須與 order by 連用10.

20、as 取別名【例】在student_score 數(shù)據(jù)庫中的 Member表中對 Mname取別名為a, 專業(yè)名為b,并在 補一列為性別,并取別名為 cuse student_score性別' as cselect Mname as a, MMajor as b , from Member go第六章 高級查詢1. 聯(lián)接定義:根據(jù)各個數(shù)據(jù)庫表之間的邏輯關系從二個或多個數(shù)據(jù)表中檢索數(shù)據(jù)2. 聯(lián)接分類內(nèi)連接:基本內(nèi)連接、多表連接、自連接外連接:左外連接、右外連接、全外連接交叉連接3. 左外連接、右外連接、全外連接的含義left outer join包 括左表所有行right outer jo

21、in還包括右表所有行full outer join有行4. 內(nèi)連接概述1)用innerjion左外連接 (join 左邊的表 ), 結(jié)果集中除了包括滿足連接條件的行外,還右外連接 (join 右邊的表 ), 結(jié)果集中除了包括滿足連接條件的行外,全外連接 , 結(jié)果集中除了包括滿足連接條件的行外,還包括兩個表的所on語句進行連接Jion 指定需要連接的數(shù)據(jù)表On指定連接條件(inner可省略)【例】查找選修了 01 課程且成績在 30 分以上的學生編號和成績go5. 外連接語法:use student_score select M.MID,S.score from Member M join Sc

22、ore S on M.MID=S.MID where CID='01' and score>=30From表 1 left outer join表2from表 1 right outer join表2from表 1 full outer join表2Goselect 字段名 1,字段名2字段n例】查找所有學生信息及其考試成績,若該生未參加任何考試,也列出其信息 use student_scoreselect M.*,S.CID,S.scorefrom Score S right join Member Mon M.MID=S.MIDgo6. 交叉連接語法: select

23、字段 1,字段 2 From表 1 cross join 表 2Go【例】返回Member表和Score表所有可能記錄的組合use student_scoreselect M.MID,M.Mname,CID,Scorefrom Member M cross join Score S go函數(shù):是一段特殊的程序代碼,它能對查詢結(jié)果進行一定的操作函數(shù)的作用:就是使用戶不必書寫太多的程序代碼即可完成復雜的操作SQL Server 函數(shù)類型包括系統(tǒng)函數(shù)、字符串函數(shù)、 日期時間函數(shù)、聚合函數(shù)等 系統(tǒng)函數(shù)對 SQL Server 服務器和數(shù)據(jù)庫對象進行操作,返回服務器配置和數(shù)據(jù)庫對1.第七章 函數(shù)2.3.

24、 象數(shù)值等信息CURRENTTIMESTA MP可返回系統(tǒng)當前日期和時間,類型為datetimeHOST_NAME (返) 回主機名稱SYSTEM_USER返回當前系統(tǒng)用戶 USER_NAME( ) 返回 id 標識指定的用戶名稱 db_n ame()返回當前會話的數(shù)據(jù)庫名稱4. 聚合函數(shù)功能1)Sum()計算表達式所有值之和【例】求選修 01 課程的學生的總成績。課程 01總成績 'use student_score select sum(score) as ' from Score where CID='01go2)Avg()【例】求選修use stude nt計算

25、表達式的平均值10課程的學生的平均成績。scoreselect avg(score) as 'from Score課程10平均成績'where CID='1O'go3)Count(列名)計算表達式中非空值的數(shù)量 【例】求學生的總成績use stude nt_score select coun t() as from Member'學生總成績'go4)cou nt(*)計算表達式中所有值的數(shù)量【例】求學生的總?cè)藬?shù)use stude nt_score select coun t(*) as from Member'學生總?cè)藬?shù)'go5)

26、Min()計算表達式的最小值【例】求選修00課程的學生的最低分use student scoreselect min(score) as ' 課程 00 的最低分' from Score where CID='00'go6)Max()計算表達式的最大值【例】求選修11課程的學生的最高分use stude nt_scoreselect max(score) as ' 課程 11 的最高分'from Score where CID='11'go第八章數(shù)據(jù)的完整性1. 數(shù)據(jù)庫完整性:2. 數(shù)據(jù)完整性的類型1 )域(列)完整性:指定對列的

27、一組有效值并決定是否允許有空值。也可以通 列中限定數(shù)據(jù)類型,格式和可能值的范圍來強制數(shù)據(jù)完整性。2)實體(行)完整性:要求表中所有的行具有唯一的標識符,例如主關鍵字值。3)參照完整性:確保維持主關鍵字和外部關鍵字的關系3. 約束的概念:確保在列中輸入有效的值并維護表之間的關系。4. 約束的類型是指存儲在數(shù)據(jù)庫中數(shù)據(jù)的一致性和標準性過在一完整性類型約束類型說明域DEFAULT指定列的默認值CHECK指定列的允許值NULL指定是否允許NULL實體P RIMARY KEY唯一標識每一行UNIQUE防止非主鍵重復引用FOREIGN KEY定義值必須與此表的主鍵匹 配的列5. default功能:執(zhí)行i

28、nsert語句時將默認值自動插入約束所在的列 語法:alter table 表名add con stra int約束名default( 默認值)for 字段名go【例】修改數(shù)據(jù)庫 student_score中的Menber表,將性別的默認值設置為男'use student scorealter table Member add con stra int df_sex default。男')for Msexgo6. check功能:check(檢查約束),每次執(zhí)行Insert/update語句時,該約束要校驗數(shù)據(jù)的alter table 表名 add con stra int約束

29、名check(條件)合法性語法:go【例】 修改數(shù)據(jù)庫student_score中的Score表,使成績限制在0100之間use stude nt_score alter table Scoreadd con stra int ck_cj check(score>=0 and score<=100) go7. primary key 功能:primary key( 主鍵約束),一個表中只有能一個pk,不能有空值,不能有 重復值;pk所在列的值能夠唯一標識此行;能與fk關聯(lián),pk所在表為主表;同時創(chuàng)建一個與 PK約束名的簇索引。表名約束名語法:alter tableadd con s

30、tra intprimary key(字段名)go【例】修改數(shù)據(jù)庫student_score 中的kc表,將課程號設置為主鍵use stude nt_scorealter table Courseadd con stra int p k_kch primary key(CID)go8. Unique功能:unique(唯一約束),指定在同一列中的兩行不能有相同的值,只能有一行為 空值,該約束自動創(chuàng)建一個與約束同名的非簇索引 語法: alter table 表名 add constraint 約束名 unique ( 字段名 ) go【例】修改數(shù)據(jù)庫 student_score 中的 Cours

31、e 表 , 將課程名設置為 unique use student_score alter table Course add constraint un_kcm unique(Cname) go, 在插入 / 修改時自動執(zhí)行。約束9. FOREIGN KEY功能: 參照完整性確保維持主關鍵字(在主表中)和外部關鍵字 中)的關系。語法: alter table 表名 1add constraint約束名字段名 )表名 2(字段名 )foreign key( referencesgo例】修改數(shù)據(jù)庫 studentscore 中的 Score 表, 將課程號設置為外鍵 use student_scor

32、e alter table Score add constraint fk_kchforeign key(CID) references Course(CID) go在輔表10. 刪除約束語法:例】 刪除alter table 表名drop constraint 約束名 Menber 表的 fk_xh 約束。use student_score alter table Scoredrop constraint gofk_xh第九章 視圖似乎是1. 視圖 ; 是從一個或多個表(或視圖)導出的虛表。對于數(shù)據(jù)庫用戶來說,視圖 個真實的表,它具有一組命名的數(shù)據(jù)列和行。但是,與真實的表不 同,在視圖中沒有

33、存儲 任何數(shù)據(jù), 僅僅是一種較簡單的訪問數(shù)據(jù)庫里其他表 中數(shù)據(jù)的方式, 因此稱它為 “虛表”。 視圖只能建立在當前正在使用的數(shù)據(jù)庫中2. 視圖的優(yōu)點 聚焦數(shù)據(jù),創(chuàng)建可以控制的環(huán)境,將需要的、常規(guī)的、適當?shù)臄?shù)據(jù)存儲在視圖中。 隱藏數(shù)據(jù)庫的復雜性簡化對用戶的許可管理數(shù)據(jù)庫擁有者只允許用戶通過視圖查詢數(shù)據(jù) , 保護了底層基本表的設計結(jié)構 提高性能存儲復雜查詢、分割數(shù)據(jù)輸出數(shù)據(jù)給其他應用程序的基表或者則必須為列對象存在,3. 視圖創(chuàng)建是應注意的情況 只能在當前數(shù)據(jù)庫中創(chuàng)建視圖。 如果視圖引用的基表或者視圖被刪除,則該視圖不能再被使用,直到創(chuàng)建新 視圖。如果視圖中某一列是函數(shù)、數(shù)學表達式、常量或者來自多

34、個表的列名相同, 定義名稱。當通過視圖查詢數(shù)據(jù)時, SQL Server 要檢查以確保語句中涉及的所有數(shù)據(jù)庫 而且數(shù)據(jù)修改語句不能違反數(shù)據(jù)完整性規(guī)則。視圖的名稱必須遵循標識符的規(guī)則,且對每個用戶必須是唯一的2.語法 ;1) create view 視圖名 創(chuàng)建視圖【例】創(chuàng)建 v1 視圖,包括作者為馬德保的書籍 ISBN, 名稱,及單價 use book gocreate view v1 asselect isbn,bookname,unitprice from bookinfowhere author=' 馬德保 ' go2) drop view 視圖名 刪除視圖 【例】刪除名

35、為 v2 的視圖drop view v23) alter view 視圖名 修改視圖【例】修改 v1 視圖,包括出版社為工業(yè)出版社的書籍 ISBN, 作者及單價 use book goalter view v1 asselect isbn,author,unitpricefrom bookinfo where publisher=' 工業(yè)出版社 ' go4) exec sp_helptext 視圖名 查看視圖定義 【例】查看視圖 v1:exec sp_helptext v15) update 視圖名 更新視圖【例】將 v1 視圖中書名為“ Windows Server 2008

36、 活動目錄”的單價增加10。use book goupdate v1set unitprice=unitprice+10where bookname='Windows Server 2008 活動目錄 ' go第十章 索引1. 建立索引目的 : 是希望提高 SQL Server 數(shù)據(jù)檢索的速度2. 索引的分類聚集索引 非聚集索引 唯一索引3. 建立索引的原則1) 定義主鍵數(shù)據(jù)列一定要建立索引2) 定義外鍵數(shù)據(jù)列上一定建立索引3) 對于經(jīng)常查詢的數(shù)據(jù)列最好建立索引4) 對于需要在指定范圍內(nèi)快速或頻繁查詢的數(shù)據(jù)列5) 經(jīng)常用在 where 子句中的數(shù)據(jù)列6) 對于那些查詢中很少涉及

37、的列 , 重復值較多的列不要建立索引索引名 索引名 索引名Create unique alter unique drop unique7) 對于定義為 text 、 image 和 bit 數(shù)據(jù)類型的列不要建立索引 4.語法 ;創(chuàng)建索引 修改索引 刪除索引第十一章 存儲過程1. 存儲過程的類型系統(tǒng)存儲過程本地存儲過程擴展存儲過程臨時存儲過程2. 語法:1)Creat procedure名字以存儲在用戶定義的數(shù)據(jù)庫中 )名字都以"xp_”為前綴,存儲在master里) ( 名字以 #開頭 )sp_ ”為前綴 , 存儲在 master 里 )存儲過程名創(chuàng)建存儲過程【例】創(chuàng)建名為 p_bo

38、ok_info 的存儲過程 , 該存儲過程查詢所有書籍的信息 use book gocreate procedure p_book_infoas select * from bookinfo order by ISBN go【例】 p_order_detail 可以通過以下方式執(zhí)行exec p_order_detail3)Alter procedure 存儲過程名修改存儲過程【例】修改 p_order_detail, 返回訂單 id, 用戶姓名 , 用戶地址 , 書籍單價 , 書籍名稱及 訂 單數(shù)量alter procedure p_order_detail asselecto.orderde

39、tailid,u.username,u.addr,b.unitprice,b.bookname,o.quantity from orderdetail as o join userinfo as uon o.userid=u.useridjoin bookinfo as bon o.isbn=b.isbn go4)Drop procedure 存儲過程名 刪除存儲過程 【例】刪除 xscj 數(shù)據(jù)庫中的 p_book_info 存儲過程 use bookgodrop procedure p_book_infogo第十二章 流程設計1.2.3.4.流程控制語句:是指那些用來控制程序執(zhí)行和流程分支的

40、命令,在 SQL Server 中,流 程控制語句主要用來控制SQL語句、語句塊或者存儲過程的執(zhí)行流程。變量分為 : 局部變量和全局變量 運算符 算術運算符: +賦值運算符:比較運算符 : >,<,>=,<=,=,!=,<>,!>,!<邏輯運算符:-all,and,any,between,existsn,like,not,or,some字符串串聯(lián)運算符 : + 按位運算符:& |,A,流程控制1) beginend:定義語句塊。2) goto label從 label 所定義的 label 之后的語句處繼續(xù)進行處理。3) if else

41、定義條件以及當一個條件為 FALSE 時的操作。4) while 當特定條件為 TRUE 時重復語句。5) waitfor 為語句的執(zhí)行設置延遲*,/,%>,<,>=,<=第十三章 觸發(fā)器觸發(fā)器 :是一種特殊的存儲過程, 它被分配給某個特定的表,觸發(fā)器都是自動 調(diào)用的。動作,觸發(fā)器是確保數(shù)1.當一特定的表數(shù)據(jù)被插入、更新或刪除時,數(shù)據(jù)庫需要執(zhí)行一定的 據(jù)完整性和一致性的基本有效的方法2. 觸發(fā)器的動作DeleteUpdateInsert3. 觸發(fā)器的作用禁止無效的修改 級聯(lián)修改相關表格 執(zhí)行較為復雜的約束操作4. 觸發(fā)器特點 不接受用戶參數(shù) , 也不返回用戶參數(shù) ; 存

42、儲在表上。 數(shù)據(jù)庫中跨越相關表的級聯(lián)修改。對數(shù)據(jù)庫中的相關表進行級 聯(lián)更新和刪除強制比Check約束更復雜的數(shù)據(jù)完整性.可以引用其他表中的列5. 語法:1 ) Create trigger 觸發(fā)器名 創(chuàng)建觸發(fā)器【例】對于stude nt_score 數(shù)據(jù)庫,如果在 Member表中刪除數(shù)據(jù),則在執(zhí)行時顯示提示信息。use student_score gocreate trigger tr_delete on Member for delete as print ' 你已經(jīng)刪除了此數(shù)據(jù)!go2 ) alter trigger觸發(fā)器名 修改觸發(fā)器【例】在Member表中定義觸發(fā)器,當修改紀

43、錄時彈出消息:恭喜!你修改了此表!use student_score goalter trigger tr_delete on Memberfor delete asprint ' 恭喜!你修改了此表!go禁用觸發(fā)器啟用觸發(fā)器3 ) disable trigger觸發(fā)器名【例】禁用 tr_update 觸發(fā)器use student_score goalter table Member disable trigger tr_update go4 ) enable trigger 觸發(fā)器名【例】啟用 tr_insert 觸發(fā)器use student_scoregoalter table M

44、emberen able trigger tr_insertgo5 ) drop trigger觸發(fā)器名刪除觸發(fā)器【例】刪除名為tr_i nsert的觸發(fā)器drop trigger tr_in sert添加和刪除數(shù)據(jù)庫用戶,便于訪問數(shù)據(jù)庫。 指定用戶能夠?qū)δ男?shù)據(jù)庫對象執(zhí)行哪種操作。 將具有相同權限的用戶設置為同一角色,減少權限設置的工作量第十四章數(shù)據(jù)庫安全第十五章數(shù)據(jù)庫災難性恢復Win dows身份驗證SQL Server身份驗證當用戶登陸到 Windows域時,用戶名和密 碼在被傳送到Windows域控制器之前被加 密Win dows操作系統(tǒng)從不驗證用戶支持復雜加密、密碼的截止日期和最短長

45、 度等密碼策略支持密碼策略(Sql2000不支持)支持帳戶鎖疋策略,在使用無效密碼進仃 多次嘗試后鎖定帳戶不支持帳戶鎖定功能在 Windows98/me中不能使用在Windows98/me中可以使用1. SQL Server 2008的安全性管理可分為 3個等級:1)操作系統(tǒng)級2)SQL Server 級3)數(shù)據(jù)庫級2. SQL Server登錄認證簡介;Windows和SQL Server身份驗證3數(shù)據(jù)庫安全通過以下三種方式實施: 帳戶管理:權限管理:角色管理:1. 備份和恢復的必要性計算機硬件故障、軟件故障、病毒、誤操作、)特點:1 )速度慢、時間長;2 )占用大量的數(shù)據(jù)庫中的數(shù)據(jù)丟失或被

46、破壞的原因:自然災害、盜竊2. 備份類型完全備份(Database Full Backups磁盤空間;3 )完全備份的頻率通常比差異備份或事務日志備份低事務日志備份(Transaction Log Backups )特點:1 )速度快、時間少 2 )占用磁盤 空間少3 )操作復雜)特點:1)速度一般、時間短 2)占差異備份(Differential Database Backups用磁盤空間少3 )需要經(jīng)常備份3. 恢復模式恢復模式描述簡單恢復模式數(shù)據(jù)庫的完整或差異副本,截斷事務日志完整恢復模式包括數(shù)據(jù)庫備份和事務日志備份大容量日志恢復包括數(shù)據(jù)庫和事務日志備份,但使用較少的日志空間4. 當選擇恢復模式時,必須考慮原則:1)2)3)4)大規(guī)模操作的性能(如大容量裝載) 數(shù)據(jù)丟失表現(xiàn)(如已提交的事務丟失) 事務日志空間損耗備份和恢復過程的簡化5. 備份還原的方法完整備份和還原完整+差異備份與還原 完整+事務日志備份與還原6. 創(chuàng)建備份設備:物理和邏輯7. 語法:1 )創(chuàng)建數(shù)據(jù)庫備份完全備份backup databas

溫馨提示

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

評論

0/150

提交評論