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

下載本文檔

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

文檔簡介

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

2、數(shù)據(jù)共享性高;數(shù)據(jù)獨立性強;數(shù)據(jù)粒度??;獨立的數(shù)據(jù)操作界面;統(tǒng)一管理和控制6. 數(shù)據(jù)模型的分類層次模型網(wǎng)絡模型關(guān)系模型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 圖所需的圖形1) 長方形框 - 實體集(考慮問題的對象)2) 菱形框 - 聯(lián)系 ( 實體集間聯(lián)系 )3) 橢圓形框 -

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

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

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

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

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

8、0mb,filegrowth=10%)go4 )刪除空文件Alter databaseRemove file數(shù)據(jù)庫名文件的邏輯名例子 :刪除文件shop_data2 alterdatabase shop removefile shop_data24) 添加輔助數(shù)據(jù)文件alter database數(shù)據(jù)庫名add file(name=邏輯名 ,filename=文件存放的路徑,size= 初始大小,maxsixe= 最大大小 ,filegrowth=增長方式)Go例子:向數(shù)據(jù)庫shop 中添加一個輔助數(shù)據(jù)文件alter database shopadd file(name='shop_da

9、ta3',filename='c:',size=5mb,maxsize=10mb,filegrowth=10%)go5 )創(chuàng)建 / 刪除數(shù)據(jù)庫Create databaseon primary數(shù)據(jù)庫名(-數(shù)據(jù)文件name=邏輯名 ,filename=文件的存放路徑 ,size= 數(shù)據(jù)文件的初始大小,maxsize= 數(shù)據(jù)文件的最大大小,filegrowth=文件的增長方式)log on (-日志文件 name=邏輯名,filename=文件的存放路徑 ,size= 數(shù)據(jù)文件的初始大小,maxsize= 數(shù)據(jù)文件的最大大小,filegrowth=文件的增長方式)go例子:

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

11、atabase數(shù)據(jù)庫名例子:刪除數(shù)據(jù)庫shopdrop database shop第四章數(shù)據(jù)表的操作1.在 SQL server中創(chuàng)建表的極限:每個數(shù)據(jù)庫可以有20 億個表 , 每個表有 1024 個列 , 每個列可以有 8064 字節(jié)2.數(shù)據(jù)類型種類數(shù)據(jù)類型數(shù)字整數(shù)int, bigint, smallint, tinyint精確數(shù)值decimal, numeri c近似數(shù)值float, real貨幣money, smallmoney日期和時間datetime, smalldatetime字符Non-Unicodechar,varchar,varchar(max), textUnicodenc

12、har,nvarchar,nvarchar(max),ntext二進制binary,varbinary,varbinary(max)圖像image全局標識符uniqueidentifierXmlxml特殊bit, cursor, timestamp, sysname,table, sql_variant3. 字符類型字符、數(shù)字、特殊符號 char( ) :固定長度 , 以空格填補多余長度空間 varchar( ):可變長長度 , 不以空格填補多余長度空間 nchar( ):unicode固定長度 nvarchar( ) : unicode可變長長度 unicode國際標準碼:雙字節(jié)模式 ( 固

13、定每個字符16bit)一個漢字占兩個字節(jié)(16bit)一個字母占兩個字節(jié)(16bit)4. 語法:1 )創(chuàng)建表create table表名2alter table表名3)刪除表drop/delete table表名4) 將查出的信息放入新表Select * into新表名 from舊表名5) 添加的信息必須滿足現(xiàn)有表結(jié)構(gòu)Insert into現(xiàn)有表 select * from舊表名和 delete 、 truncate的區(qū)別: drop 是刪除表,而delete和truncate是刪除表中記錄5.數(shù)據(jù)操作語言DMLselect從表或視圖中檢索數(shù)據(jù)insert將數(shù)據(jù)插入到表或視圖中update修

14、改表或視圖中的數(shù)據(jù)delete從表或視圖中刪除數(shù)據(jù)第五章基礎(chǔ)查詢語法結(jié)構(gòu)基本語法: select字段名From目標表Where條件【例】查詢學生成績數(shù)據(jù)庫(student_score)學生情況表(Member)中的所有列。use student_scoreselect *from Member條件限定語法的用法基本語法: use 數(shù)據(jù)庫名Select字段名From目標名Where字段名 =“內(nèi)容”Go【例】查詢Member表中 Mname為馬德保的相關(guān)信息use student_scoreselect *from Memberwhere Mname=' 馬德保 'go3. 模糊

15、查詢 like1)基本語法:select字段名From目標名Where目標名 like條件【例】查找學生姓名以劉開頭的所有學生信息use student_scoreselect *from Memberwhere Mname like '劉 %'go2) % 代表所有可能的情況3) %的使用%N%表示包含NN%表示 N開頭%N表示 N結(jié)尾4)“ 代表不、不是、不以的意思4. Or/and/not的邏輯運算【例】將 Mname以劉開頭,或總學分為60,且專業(yè)名為網(wǎng)絡互連的學生Mnameuse student_scoreselect Mname,Mtotalscore,MMajor

16、from Member where Mname like '劉 %' or MTotalscore=60and MMajor=' 網(wǎng)絡互連 'go and 在范圍之內(nèi)【例】查找總學分為60 和 70 之間的學生所有信息use student_scoreselect *from Memberwhere MTotalScore between 60 and 70go=or或【例】查找總學分為70 和 80 的所有學生信息use student_scoreselectfrom Memberwhere Mtotalscore in('70','8

17、0')-where Mtotalscore not in(gonull為空的查詢 70', 80')【例】查詢所在地區(qū)為空的學生姓名use student_scoreselect Maera,Mnamefrom Memberwhere Maera is nullgoby排序 : asc升序;desc降序【例】查找學生的總學分以升序排列,出生日期以降序排列的學生姓名和學號use student_scoreselect Mname,Mbirth,Mtotalscore, MIDfrom Memberorder by Mtotalscore asc ,Mbirth descg

18、o數(shù)據(jù)過濾和消除重復記錄【例】查詢student_score數(shù)據(jù)庫中Member表中的總學分, 但是不能有重復use student_scoreselect distinct Mtotalscorefrom Member order by Mtotalscorego和 top with ties【例】求學分最高的的用法5 位學生的信息, 并且返回與第5 并列的學生信息use student_scoreselect top 5 with ties MID,Mtotalscorefrom Member order by Mtotalscorego注: with ties取別名必須與order by

19、連用【例】在 student_score數(shù)據(jù)庫中的Member表中對 Mname取別名為a, 專業(yè)名為b,并在補一列為性別,并取別名為cuse student_scoreselect Mname as a, MMajor as b ,性別as cfrom Membergo第六章高級查詢1. 聯(lián)接定義:根據(jù)各個數(shù)據(jù)庫表之間的邏輯關(guān)系從二個或多個數(shù)據(jù)表中檢索數(shù)據(jù)2. 聯(lián)接分類內(nèi)連接:基本內(nèi)連接、多表連接、自連接外連接:左外連接、右外連接、全外連接交叉連接3. 左外連接、右外連接、全外連接的含義left outer join左外連接 (join左邊的表 ), 結(jié)果集中除了包括滿足連接條件的行外,還包

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

21、gt;=30go5. 外連接語法: select 字段名 1,字段名 2字段 nFrom表 1 left outer join表 2from表 1 right outer join表 2from表 1 full outer join表 2Go【例】查找所有學生信息及其考試成績,若該生未參加任何考試,也列出其信息use student_scoreselect M.*,from Score S right join Member Mon =go6. 交叉連接語法:select字段 1,字段 2From表 1 cross join表 2Go【例】返回Member表和 Score 表所有可能記錄的組合

22、use student_scoreselect ,CID,Scorefrom Member M cross join Score Sgo第七章函數(shù)1. 函數(shù):是一段特殊的程序代碼,它能對查詢結(jié)果進行一定的操作函數(shù)的作用:就是使用戶不必書寫太多的程序代碼即可完成復雜的操作2. SQL Server函數(shù)類型包括系統(tǒng)函數(shù)、字符串函數(shù)、日期時間函數(shù)、聚合函數(shù)等3. 系統(tǒng)函數(shù)對 SQL Server 服務器和數(shù)據(jù)庫對象進行操作,返回服務器配置和數(shù)據(jù)庫對象數(shù)值等信息CURRENT_TIMESTAMP(可)返回系統(tǒng)當前日期和時間,類型為 datetime HOST_NAME ()返回主機名稱SYSTEM_U

23、SER返回當前系統(tǒng)用戶USER_NAME( ) 返回 id標識指定的用戶名稱db_name() 返回當前會話的數(shù)據(jù)庫名稱4.聚合函數(shù)1)Sum()【例】求選修功能計算表達式所有值之和01 課程的學生的總成績。use student_scoreselect sum(score) as '課程 01 總成績 'from Scorewhere CID='01go2)Avg ()【例】求選修計算表達式的平均值10 課程的學生的平均成績。use student_scoreselect avg(score) as '課程10 平均成績'from Scorewhere

24、 CID='10'go3)Count( 列名 )計算表達式中非空值的數(shù)量【例】求學生的總成績use student_scoreselect count() as學生總成績from Membergo4)count(*)計算表達式中所有值的數(shù)量【例】求學生的總?cè)藬?shù)use student_scoreselect count(*) as學生總?cè)藬?shù)from Membergo5) Min()【例】求選修計算表達式的最小值00 課程的學生的最低分use student_scoreselect min(score) as '課程00 的最低分'from Score where

25、CID='00'go6) Max()【例】求選修計算表達式的最大值11 課程的學生的最高分use student_scoreselect max(score) as '課程11 的最高分'from Score where CID='11'go第八章數(shù)據(jù)的完整性1.數(shù)據(jù)庫完整性:是指存儲在數(shù)據(jù)庫中數(shù)據(jù)的一致性和標準性2. 數(shù)據(jù)完整性的類型1)域(列)完整性:指定對列的一組有效值并決定是否允許有空值。也可以通過在一列中限定數(shù)據(jù)類型,格式和可能值的范圍來強制數(shù)據(jù)完整性。2) 實體(行)完整性:要求表中所有的行具有唯一的標識符,例如主關(guān)鍵字值。3) 參照

26、完整性:確保維持主關(guān)鍵字和外部關(guān)鍵字的關(guān)系3.約束的概念:確保在列中輸入有效的值并維護表之間的關(guān)系。4. 約束的類型完整性類型域?qū)嶓w引用約束類型DEFAULTCHECKNULLPRIMARY KEYUNIQUEFOREIGN KEY說明指定列的默認值指定列的允許值指定是否允許NULL唯一標識每一行防止非主鍵重復定義值必須與此表的主鍵匹配的列功能:執(zhí)行語法:insert語句時將默認值自動插入約束所在的列alter table表名add constraint約束名default(for默認值字段名)go【例】修改數(shù)據(jù)庫 student_score 中的 Menber 表 , 將性別的默認值設(shè)置為男

27、 use student_scorealter table Memberadd constraint df_sexdefault('男 ') for Msexgo6. check 功能: check( 檢查約束 ),語法: alter table表名add constraint約束名每次執(zhí)行Insert/update語句時,該約束要校驗數(shù)據(jù)的合法性check(條件 )go【例】修改數(shù)據(jù)庫student_score中的 Score 表 , 使成績限制在0100 之間use student_scorealter table Scoreadd constraint ck_cjchec

28、k(score>=0 and score<=100)go7.primary key功能: primary key(主鍵約束 ) ,一個表中只有能一個pk,不能有空值,不能有重復值; pk 所在列的值能夠唯一標識此行;能與 fk 關(guān)聯(lián), pk 所在表為主表;同時創(chuàng)建一個與PK約束名的簇索引。語法:alter table表名add constraint約束名primary key(字段名 )go【例】修改數(shù)據(jù)庫 student_score 中的 kc 表 , 將課程號設(shè)置為主鍵 use student_scorealter table Courseadd constraint pk_k

29、chprimary key(CID)go8. Unique 功能: unique(唯一約束 ),指定在同一列中的兩行不能有相同的值,只能有一行為值,該約束自動創(chuàng)建一個與約束同名的非簇索引, 在插入 / 修改時自動執(zhí)行。語法:alter table表名add constraint約束名空unique (字段名 )go【例】修改數(shù)據(jù)庫 student_score 中的 Course 表 , 將課程名設(shè)置為 unique 約束 use student_scorealter table Courseadd constraint un_kcmunique(Cname)go9. FOREIGNKEY功能:

30、 參照完整性確保維持主關(guān)鍵字(在主表中)和外部關(guān)鍵字(在輔表中)的關(guān)系。語法:alter table add constraint foreign key(表名 1約束名字段名 )references表名 2( 字段名 )go【例】修改數(shù)據(jù)庫 student_score 中的 Score 表 , 將課程號設(shè)置為外鍵 use student_scorealter table Scoreadd constraint fk_kchforeign key(CID)references Course(CID)go10.刪除約束語法:alter table表名drop constraint【例】刪除 Me

31、nber 表的 fk_xhuse student_scorealter table Score約束名約束。drop constraint fk_xhgo第九章視圖1.視圖 ;是從一個或多個表(或視圖)導出的虛表。對于數(shù)據(jù)庫用戶來說,視圖似乎是一個真實的表,它具有一組命名的數(shù)據(jù)列和行。但是,與真實的表不 同,在視圖中沒有存儲任何數(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ù)庫擁有者只允許用戶通過視圖

32、查詢數(shù)據(jù) , 保護了底層基本表的設(shè)計結(jié)構(gòu)提高性能存儲復雜查詢、分割數(shù)據(jù)輸出數(shù)據(jù)給其他應用程序3. 視圖創(chuàng)建是應注意的情況只能在當前數(shù)據(jù)庫中創(chuàng)建視圖。如果視圖引用的基表或者視圖被刪除,則該視圖不能再被使用,直到創(chuàng)建新的基表或者視圖。如果視圖中某一列是函數(shù)、數(shù)學表達式、常量或者來自多個表的列名相同,則必須為列定義名稱。當通過視圖查詢數(shù)據(jù)時,SQLServer要檢查以確保語句中涉及的所有數(shù)據(jù)庫對象存在,而且數(shù)據(jù)修改語句不能違反數(shù)據(jù)完整性規(guī)則。視圖的名稱必須遵循標識符的規(guī)則,且對每個用戶必須是唯一的2.語法;1) create view視圖名創(chuàng)建視圖【例】創(chuàng)建v1 視圖,包括作者為馬德保的書籍ISBN

33、, 名稱,及單價use bookgocreate view v1asselect isbn,bookname,unitpricefrom bookinfowhere author='馬德保 'go2) drop view視圖名刪除視圖【例】刪除名為v2 的視圖drop view v23) alter view視圖名修改視圖【例】修改v1 視圖,包括出版社為工業(yè)出版社的書籍use bookISBN, 作者及單價goalter view v1asselect isbn,author,unitpricefrom bookinfowhere publisher='工業(yè)出版社 &

34、#39;go4) exec sp_helptext視圖名查看視圖定義【例】查看視圖v1:exec sp_helptext v15) update視圖名更新視圖【例】將v1 視圖中書名為“Windows Server 2008use bookgoupdate v1set unitprice=unitprice+10where bookname='Windows Server 2008go活動目錄”的單價增加活動目錄 '10。第十章索引1. 建立索引目的 : 是希望提高 SQL Server 數(shù)據(jù)檢索的速度2. 索引的分類聚集索引非聚集索引唯一索引3. 建立索引的原則1) 定義主鍵

35、數(shù)據(jù)列一定要建立索引2) 定義外鍵數(shù)據(jù)列上一定建立索引3) 對于經(jīng)常查詢的數(shù)據(jù)列最好建立索引4) 對于需要在指定范圍內(nèi)快速或頻繁查詢的數(shù)據(jù)列5) 經(jīng)常用在 where 子句中的數(shù)據(jù)列6) 對于那些查詢中很少涉及的列 , 重復值較多的列不要建立索引7) 對于定義為 text 、image 和 bit 數(shù)據(jù)類型的列不要建立索引4. 語法 ;創(chuàng)建索引修改索引刪除索引Create unique alter unique drop unique索引名索引名索引名第十一章存儲過程1.存儲過程的類型系統(tǒng)存儲過程本地存儲過程擴展存儲過程(名字以“ sp_ ”為前綴 , 存儲在 master 里 )存儲在用戶定

36、義的數(shù)據(jù)庫中)名字都以“ xp_ ”為前綴 , 存儲在 master 里 )臨時存儲過程( 名字以 #開頭 )2. 語法:1)Creat procedure存儲過程名創(chuàng)建存儲過程【例】創(chuàng)建名為p_book_info的存儲過程 , 該存儲過程查詢所有書籍的信息use bookgocreate procedure p_book_infoasselect * from bookinfoorder by ISBNgo2)Exec procedure存儲過程名執(zhí)行存儲過程【例】 p_order_detail可以通過以下方式執(zhí)行exec p_order_detail3)Alter procedure存儲過

37、程名修改存儲過程【例】修改p_order_detail,返回訂單id, 用戶姓名 , 用戶地址alter procedure p_order_detailasselect,from orderdetail as o join userinfo as uon =join bookinfo as bon =go4)Drop procedure存儲過程名刪除存儲過程【例】刪除xscj數(shù)據(jù)庫中的p_book_info存儲過程, 書籍單價,書籍名稱及訂單數(shù)量use bookgodrop procedure p_book_infogo第十二章流程設(shè)計1.流程控制語句:是指那些用來控制程序執(zhí)行和流程分支的命

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

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

40、制比 Check 約束更復雜的數(shù)據(jù)完整性. 可以引用其他表中的列5. 語法:1) Create trigger觸發(fā)器名創(chuàng)建觸發(fā)器【例】對于 student_score 數(shù)據(jù)庫,如果在 Member表中刪除數(shù)據(jù),則在執(zhí)行時顯示提示信息。use student_scoregocreate trigger tr_deleteon Memberfor deleteasprint ' 你已經(jīng)刪除了此數(shù)據(jù)!'go2) alter trigger觸發(fā)器名修改觸發(fā)器【例】在Member表中定義觸發(fā)器,當修改紀錄時彈出消息:恭喜!你修改了此表!use student_scoregoalter t

41、rigger tr_deleteon Memberfor deleteasprint '恭喜!你修改了此表!go3) disable trigger觸發(fā)器名禁用觸發(fā)器【例】禁用tr_update觸發(fā)器use student_scoregoalter table Memberdisable trigger tr_updatego4) enable trigger觸發(fā)器名啟用觸發(fā)器【例】啟用 tr_insert觸發(fā)器use student_scoregoalter table Memberenable trigger tr_insertgo5) drop trigger觸發(fā)器名刪除觸發(fā)器【

42、例】刪除名為tr_insert 的觸發(fā)器drop trigger tr_insert第十四章數(shù)據(jù)庫安全1.SQL Server 2008的安全性管理可分為3 個等級:1)操作系統(tǒng)級2) SQL Server級3)數(shù)據(jù)庫級2.SQL Server 登錄認證簡介;Windows 和 SQL Server身份驗證Windows 身份驗證SQL Server 身份驗證當用戶登陸到Windows 域時,用戶名和密Windows 操作系統(tǒng)從不驗證用戶碼在被傳送到Windows 域控制器之前被加密支持復雜加密、密碼的截止日期和最短長支持密碼策略( Sql2000 不支持)度等密碼策略支持帳戶鎖定策略,在使用

43、無效密碼進行不支持帳戶鎖定功能多次嘗試后鎖定帳戶在 Windows98/me 中不能使用在 Windows98/me 中可以使用3 數(shù)據(jù)庫安全通過以下三種方式實施:帳戶管理:添加和刪除數(shù)據(jù)庫用戶,便于訪問數(shù)據(jù)庫。權(quán)限管理:指定用戶能夠?qū)δ男?shù)據(jù)庫對象執(zhí)行哪種操作。角色管理:將具有相同權(quán)限的用戶設(shè)置為同一角色,減少權(quán)限設(shè)置的工作量第十五章數(shù)據(jù)庫災難性恢復1.備份和恢復的必要性數(shù)據(jù)庫中的數(shù)據(jù)丟失或被破壞的原因:計算機硬件故障、軟件故障、病毒、誤操作、自然災害、盜竊2.備份類型完全備份( Database Full Backups) 特點: 1 )速度慢、時間長;2 )占用大量的磁盤空間; 3 )完

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

溫馨提示

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

評論

0/150

提交評論