




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 數(shù)1 數(shù)據(jù)庫(kù)系統(tǒng): 是由數(shù)據(jù)庫(kù)及其管理軟件組成的系統(tǒng), 常常把數(shù)據(jù)庫(kù)有關(guān)的硬件和軟件系統(tǒng) 成為數(shù)據(jù)庫(kù)系統(tǒng)2. 數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)就是數(shù)據(jù)的倉(cāng)庫(kù),由表、關(guān)系以及操作對(duì)象組成3. 數(shù)據(jù) :是描述事物的符號(hào)記錄(數(shù)字、文字、圖形、圖像、聲音等)4. 數(shù)據(jù)庫(kù)的作用 存儲(chǔ)大量數(shù)據(jù),方便檢索和訪問 保持?jǐn)?shù)據(jù)信息的一致、完整 共享和安全通過組合分析,產(chǎn)生新的有用信息人工管理階段 : 數(shù)據(jù)不保存;使用應(yīng)用程序管理數(shù)據(jù);數(shù)據(jù)不共享;數(shù)據(jù)不具有獨(dú)立 性。文件系統(tǒng)階段:數(shù)據(jù)可以長(zhǎng)期保存;由文件系統(tǒng)管理數(shù)據(jù);共享性差,數(shù)據(jù)冗余大; 數(shù)據(jù)獨(dú)立性差。數(shù)據(jù)庫(kù)系統(tǒng)階段:數(shù)據(jù)結(jié)構(gòu)化;數(shù)據(jù)共享性高;數(shù)據(jù)獨(dú)立性強(qiáng);數(shù)據(jù)粒度小;
2、獨(dú)立的 數(shù)據(jù)操作界面;統(tǒng)一管理和控制5. 數(shù)據(jù)庫(kù)經(jīng)歷的三個(gè)階段及特點(diǎn)2)3)1)6. 數(shù)據(jù)模型的分類層次模型網(wǎng)絡(luò)模型關(guān)系模型7. E-R圖三個(gè)主要部分1)1.實(shí)體集:在E-R圖中用長(zhǎng)方形來(lái)表示實(shí)體集,實(shí)體是實(shí)體集的成員。2)聯(lián)系: 在 E-R 圖中用菱形來(lái)表示聯(lián)系,聯(lián)系與其涉及的實(shí)體集之間以直線連接, 在直線端部標(biāo)上聯(lián)系的種類 , (1:1, 1:N, M:N)。在屬3)屬性: 在 E-R 圖中用橢圓形來(lái)表示實(shí)體集和聯(lián)系的屬性,對(duì)于主鍵碼的屬性, 性名下劃一橫線。8. 繪制 E-R 圖所需的圖形長(zhǎng)方形框 實(shí)體集(考慮問題的對(duì)象)菱形框 聯(lián)系 (實(shí)體集間聯(lián)系 )橢圓形框 實(shí)體集和聯(lián)系的屬性直線
3、連接相關(guān)的聯(lián)系和實(shí)體,并可標(biāo)上聯(lián)系的種類1)2)3)4)9. E-R 圖設(shè)計(jì)原則:真實(shí)性;避免冗余;簡(jiǎn)單性10. 三大范式第一范式:在關(guān)系模型中的每一個(gè)具體關(guān)系R中,如果每個(gè)屬性都是不可再分的,則稱關(guān)系(R)屬于第一范式(1NF)R屬于第一范式,且每一個(gè)非主屬性都完全依賴于主碼,則稱關(guān)第二范式:如果關(guān)系模式系 R 是屬于第二范式的R為2NF,并且R中的每個(gè)非主屬性不傳遞依賴于R的主碼,則稱第三范式: 如果關(guān)系模式關(guān)系R是屬于第三范式的第二章 數(shù)據(jù)庫(kù)的安裝1.常見的數(shù)據(jù)庫(kù)類型: Access、SQL server2000、2005、2008, Oracle 數(shù)據(jù)庫(kù)等適用于無(wú)連接的客戶端或獨(dú)立應(yīng)用
4、程序 適用于工作組或分支機(jī)構(gòu)操作的數(shù)據(jù)庫(kù) 部門級(jí)應(yīng)用程序的數(shù)據(jù)庫(kù)服務(wù)器 高度可伸縮和高度可用的企業(yè)級(jí)數(shù)據(jù)庫(kù) Enterprise 版,但是只授予開發(fā)和測(cè)試用許可 供托管公司提供低成本、高伸縮的托管服務(wù),只收取低廉的每月許可費(fèi) 用于智能手持式設(shè)備的精簡(jiǎn)數(shù)據(jù)庫(kù)2. 數(shù)據(jù)庫(kù)管理員的工作是:配置數(shù)據(jù)庫(kù)服務(wù)器環(huán)境 數(shù)據(jù)庫(kù)的對(duì)象權(quán)限 ;制定數(shù)據(jù)庫(kù)的性能優(yōu)化策略 構(gòu)協(xié)同結(jié)構(gòu)3.SQL Server 2008 的版本ExpressWorkgroupStandardEnterpriseDeveloperWebMobile;管理數(shù)據(jù)庫(kù)的邏輯對(duì)象結(jié)構(gòu); 配置;數(shù)據(jù)庫(kù)的備份還原策略 ;數(shù)據(jù)庫(kù)的異12.掌握 SQL S
5、erver 2008數(shù)據(jù)庫(kù)的安裝與卸載第三章 數(shù)據(jù)庫(kù)的管理1.T-SQL 語(yǔ)言分類 DDL (數(shù)據(jù)定義語(yǔ)言)-create-alter -drop (創(chuàng)建)修改)刪除 )DQL (數(shù)據(jù)查詢語(yǔ)言)-inter (插入)-update (更新)DML (數(shù)據(jù)操作語(yǔ)言)-select (查詢)DCL (數(shù)據(jù)控制語(yǔ)言)-revoke(-deny(-grant(2. 數(shù)據(jù)庫(kù)文件撤銷) 拒絕) 同意、授權(quán) )主數(shù)據(jù)文件( .mdf ):一個(gè)數(shù)據(jù)庫(kù)有且只有一個(gè)輔助數(shù)據(jù)文件 (.ndf) :根據(jù)需要自由選擇,當(dāng)數(shù)據(jù)庫(kù)很大時(shí),可以選擇多個(gè) 日志文件 (.ldf) :用于存儲(chǔ)恢復(fù)數(shù)據(jù)庫(kù)所需的事務(wù)日志信息3. 掌握
6、數(shù)據(jù)庫(kù)的創(chuàng)建及修改(圖形化及代碼) 修改數(shù)據(jù)庫(kù)包括4. 語(yǔ)法1 )修改數(shù)據(jù)庫(kù)名Alter database Modify name =: 擴(kuò)展、收縮、分離附加、刪除原數(shù)據(jù)庫(kù)名新數(shù)據(jù)庫(kù)名例子:【例】將數(shù)據(jù)庫(kù) book 的名字改為 books alter database bookmodify name=books2 )修改文件屬性 Alter database數(shù)據(jù)庫(kù)名Modify filename=' 邏輯名 ', size= 修改后的大小 , maxsize= 修改后的大小, filegrowth= 修改后的大小)Go 例子:把初始大小由原來(lái) 5mb 增大為 12mb alte
7、r database books modify file(name='book_data', size=12mb) go數(shù)據(jù)庫(kù)名3) 添加日志文件 Alter database Add log file (name= 邏輯名' , filename = 文件的存放路徑' , size= 日志文件的初始大小 , maxsize= 日志文件的最大大小 , filegrowth= 日志文件的增長(zhǎng)方式)Go例子:【例】向 shop 數(shù)據(jù)庫(kù)中添加一個(gè)日志文件 alter database shopadd log file( name='shop_log2'
8、, filename ='c:shop_log2.ldf', size=10mb, maxsize=20mb, filegrowth=10%) go數(shù)據(jù)庫(kù)名 文件的邏輯名 shop_data2 alter4 )刪除空文件Alter databaseRemove file例子 : 刪除文件database shop removefile shop_data24) 添加輔助數(shù)據(jù)文件 alter database 數(shù)據(jù)庫(kù)名add file(n ame='邏輯名 ,filename= 文件存放的路徑' , size= 初始大小, maxsixe= 最大大小 , file
9、growth= 增長(zhǎng)方式)Go例子:向數(shù)據(jù)庫(kù) shop 中添加一個(gè)輔助數(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ù)庫(kù)Create database 數(shù)據(jù)庫(kù)名on primary數(shù)據(jù)文件( -name='邏輯名,filename= 文件的存放路徑' size= 數(shù)據(jù)文件的初始大小, maxsize= 數(shù)據(jù)文件的最大大小, fileg
10、rowth= 文件的增長(zhǎng)方式 )log on (日志文件name='邏輯名,filename= 文件的存放路徑' , size= 數(shù)據(jù)文件的初始大小, maxsize= 數(shù)據(jù)文件的最大大小, filegrowth= 文件的增長(zhǎng)方式 ) go例子:創(chuàng)建一個(gè)名為 book的數(shù)據(jù)庫(kù),其初始值大小為 5MB最大大小為50MB,允許 數(shù)據(jù)庫(kù)自動(dòng)增長(zhǎng),增長(zhǎng)方式是按 10%比例增長(zhǎng);日志文件初始 為2MB最大可增長(zhǎng)到5MB 按1MB增長(zhǎng)。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ù)庫(kù)Drop database數(shù)據(jù)庫(kù)名例子:刪除數(shù)據(jù)庫(kù) sho pdrop database shop第四章數(shù)據(jù)表的操作1. 在SQL server中創(chuàng)建表的極限:每個(gè)數(shù)據(jù)庫(kù)可以有 20億個(gè)表,每個(gè)表有1024個(gè)列,每個(gè)列可以有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日期和時(shí)間datetime, smalldatetime字符Non-Uni codechar,varchar,varchar(max), textUn icoden char, nvarchar, nvarchar(max), ntext二進(jìn)制bin ary,varb in ary,varb in ary(max)圖像image全局標(biāo)識(shí)符uniq ueide ntifierXmlxml特殊bit, cursor, timesta mp
13、, sys name, table, sql varia nt3.字符類型字符、數(shù)字、特殊符號(hào)-char():固定長(zhǎng)度,以空格填補(bǔ)多余長(zhǎng)度空間-varchar():可變長(zhǎng)長(zhǎng)度,不以空格填補(bǔ)多余長(zhǎng)度空間-n char( ):un icode固定長(zhǎng)度-n varchar( ) : uni code可變長(zhǎng)長(zhǎng)度-uni code國(guó)際標(biāo)準(zhǔn)碼:雙字節(jié)模式(固定每個(gè)字符16bit)一個(gè)漢字占兩個(gè)字節(jié) (16bit)一個(gè)字母占兩個(gè)字節(jié)(16bit)4. 語(yǔ)法:1 )創(chuàng)建表create table 表名2 )修改表alter table 表名3 )刪除表 drop/delete table 表名4)將查出的信息
14、放入新表Select * into 新表名 from 舊表名5)添加的信息必須滿足現(xiàn)有表結(jié)構(gòu) Insert into 現(xiàn)有表 select * from5.drop 和 delete 、truncate 的區(qū)別: drop 記錄5. 數(shù)據(jù)操作語(yǔ)言 DMLselectinsert舊表名是刪除表,而 delete 和 truncate 是刪除表中updatedelete從表或視圖中檢索數(shù)據(jù) 將數(shù)據(jù)插入到表或視圖中 修改表或視圖中的數(shù)據(jù) 從表或視圖中刪除數(shù)據(jù)第五章基礎(chǔ)查詢語(yǔ)法結(jié)構(gòu)基本語(yǔ)法: select 字段名From目標(biāo)表Where 條件 例】查詢學(xué)生成績(jī)數(shù)據(jù)庫(kù)( student_score us
15、e student_score1.select)學(xué)生情況表(Membe)中的 所有列。select *from Member2.Where 條件限定語(yǔ)法的用法 基本語(yǔ)法: useSelectFromWhere數(shù)據(jù)庫(kù)名字段名目標(biāo)名字段名 =“內(nèi)容”Go【例】查詢Member表中Mname為馬德保的相關(guān)信息 use student_scoreselect *from Memberwhere Mname=' 馬德保 'go3. 模糊查詢 like1 )基本語(yǔ)法:FromWhere select 字段名目標(biāo)名目標(biāo)名 like 條件例】查找學(xué)生姓名以劉'開頭的所有學(xué)生信息use
16、student_scoreselect *from Memberwhere Mname like '劉 %'go2) % 代表所有可能的情況3)%的使用%N% 表示包含 NN%表示 N 開頭%N表示 N 結(jié)尾4 )“A '代表不、不是、不以的意思4. Or/and/not 的邏輯運(yùn)算【例】將Mnamc以'劉開頭,或總學(xué)分為60,且專業(yè)名為網(wǎng)絡(luò)互連的學(xué)生Mnameuse student_scoreselect Mname,Mtotalscore,MMajorfrom Member where Mname like '劉 %' or MTotalsc
17、ore=60and MMajor=' 網(wǎng)絡(luò)互連 'go5.Betweenand 在范圍之內(nèi)【例】查找總學(xué)分為 60和 70之間的學(xué)生所有信息use student_scoreselect *from Memberwhere MTotalScore between 60 and 70go 6.In =or 或【例】查找總學(xué)分為 70 和 80的所有學(xué)生信息use student_scoreselectfrom Member70', 80')where Mtotalscore in('70','80') where Mtotalsco
18、re not in(go6.Is null 為空的查詢【例】查詢所在地區(qū)為空的學(xué)生姓名use student_scoreselect Maera,Mnamefrom Memberwhere Maera is nullgo7.Order by 排序: asc 升序; desc 降序【例】查找學(xué)生的總學(xué)分以升序排列,出生日期以降序排列的學(xué)生姓名和學(xué)號(hào)use student_scoreselect Mname,Mbirth,Mtotalscore, MID from Memberorder by Mtotalscore asc ,Mbirth descgo8. distinct數(shù)據(jù)過濾和消除重復(fù)記錄
19、【例】查詢student_score數(shù)據(jù)庫(kù)中Member表中的總學(xué)分,但是不能有重復(fù)use student_scoreselect distinct Mtotalscorefrom Member order by Mtotalscorego9. Top 和 top with ties 的用法【例】求學(xué)分最高的 5位學(xué)生的信息 ,并且返回與第 5并列的學(xué)生信息use student_scoreselect top 5 with ties MID,Mtotalscorefrom Member order by Mtotalscorego注: with ties 必須與 order by 連用10.
20、as 取別名【例】在student_score 數(shù)據(jù)庫(kù)中的 Member表中對(duì) Mname取別名為a, 專業(yè)名為b,并在 補(bǔ)一列為性別,并取別名為 cuse student_score性別' as cselect Mname as a, MMajor as b , from Member go第六章 高級(jí)查詢1. 聯(lián)接定義:根據(jù)各個(gè)數(shù)據(jù)庫(kù)表之間的邏輯關(guān)系從二個(gè)或多個(gè)數(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é)果集中除了包括滿足連接條件的行外,還包括兩個(gè)表的所on語(yǔ)句進(jìn)行連接Jion 指定需要連接的數(shù)據(jù)表On指定連接條件(inner可省略)【例】查找選修了 01 課程且成績(jī)?cè)?30 分以上的學(xué)生編號(hào)和成績(jī)go5. 外連接語(yǔ)法: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例】查找所有學(xué)生信息及其考試成績(jī),若該生未參加任何考試,也列出其信息 use student_scoreselect M.*,S.CID,S.scorefrom Score S right join Member Mon M.MID=S.MIDgo6. 交叉連接語(yǔ)法: 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ù):是一段特殊的程序代碼,它能對(duì)查詢結(jié)果進(jìn)行一定的操作函數(shù)的作用:就是使用戶不必書寫太多的程序代碼即可完成復(fù)雜的操作SQL Server 函數(shù)類型包括系統(tǒng)函數(shù)、字符串函數(shù)、 日期時(shí)間函數(shù)、聚合函數(shù)等 系統(tǒng)函數(shù)對(duì) SQL Server 服務(wù)器和數(shù)據(jù)庫(kù)對(duì)象進(jìn)行操作,返回服務(wù)器配置和數(shù)據(jù)庫(kù)對(duì)1.第七章 函數(shù)2.3.
24、 象數(shù)值等信息CURRENTTIMESTA MP可返回系統(tǒng)當(dāng)前日期和時(shí)間,類型為datetimeHOST_NAME (返) 回主機(jī)名稱SYSTEM_USER返回當(dāng)前系統(tǒng)用戶 USER_NAME( ) 返回 id 標(biāo)識(shí)指定的用戶名稱 db_n ame()返回當(dāng)前會(huì)話的數(shù)據(jù)庫(kù)名稱4. 聚合函數(shù)功能1)Sum()計(jì)算表達(dá)式所有值之和【例】求選修 01 課程的學(xué)生的總成績(jī)。課程 01總成績(jī) 'use student_score select sum(score) as ' from Score where CID='01go2)Avg()【例】求選修use stude nt計(jì)算
25、表達(dá)式的平均值10課程的學(xué)生的平均成績(jī)。scoreselect avg(score) as 'from Score課程10平均成績(jī)'where CID='1O'go3)Count(列名)計(jì)算表達(dá)式中非空值的數(shù)量 【例】求學(xué)生的總成績(jī)use stude nt_score select coun t() as from Member'學(xué)生總成績(jī)'go4)cou nt(*)計(jì)算表達(dá)式中所有值的數(shù)量【例】求學(xué)生的總?cè)藬?shù)use stude nt_score select coun t(*) as from Member'學(xué)生總?cè)藬?shù)'go5)
26、Min()計(jì)算表達(dá)式的最小值【例】求選修00課程的學(xué)生的最低分use student scoreselect min(score) as ' 課程 00 的最低分' from Score where CID='00'go6)Max()計(jì)算表達(dá)式的最大值【例】求選修11課程的學(xué)生的最高分use stude nt_scoreselect max(score) as ' 課程 11 的最高分'from Score where CID='11'go第八章數(shù)據(jù)的完整性1. 數(shù)據(jù)庫(kù)完整性:2. 數(shù)據(jù)完整性的類型1 )域(列)完整性:指定對(duì)列的
27、一組有效值并決定是否允許有空值。也可以通 列中限定數(shù)據(jù)類型,格式和可能值的范圍來(lái)強(qiáng)制數(shù)據(jù)完整性。2)實(shí)體(行)完整性:要求表中所有的行具有唯一的標(biāo)識(shí)符,例如主關(guān)鍵字值。3)參照完整性:確保維持主關(guān)鍵字和外部關(guān)鍵字的關(guān)系3. 約束的概念:確保在列中輸入有效的值并維護(hù)表之間的關(guān)系。4. 約束的類型是指存儲(chǔ)在數(shù)據(jù)庫(kù)中數(shù)據(jù)的一致性和標(biāo)準(zhǔn)性過在一完整性類型約束類型說明域DEFAULT指定列的默認(rèn)值CHECK指定列的允許值NULL指定是否允許NULL實(shí)體P RIMARY KEY唯一標(biāo)識(shí)每一行UNIQUE防止非主鍵重復(fù)引用FOREIGN KEY定義值必須與此表的主鍵匹 配的列5. default功能:執(zhí)行i
28、nsert語(yǔ)句時(shí)將默認(rèn)值自動(dòng)插入約束所在的列 語(yǔ)法:alter table 表名add con stra int約束名default( 默認(rèn)值)for 字段名go【例】修改數(shù)據(jù)庫(kù) student_score中的Menber表,將性別的默認(rèn)值設(shè)置為男'use student scorealter table Member add con stra int df_sex default。男')for Msexgo6. check功能:check(檢查約束),每次執(zhí)行Insert/update語(yǔ)句時(shí),該約束要校驗(yàn)數(shù)據(jù)的alter table 表名 add con stra int約束
29、名check(條件)合法性語(yǔ)法:go【例】 修改數(shù)據(jù)庫(kù)student_score中的Score表,使成績(jī)限制在0100之間use stude nt_score alter table Scoreadd con stra int ck_cj check(score>=0 and score<=100) go7. primary key 功能:primary key( 主鍵約束),一個(gè)表中只有能一個(gè)pk,不能有空值,不能有 重復(fù)值;pk所在列的值能夠唯一標(biāo)識(shí)此行;能與fk關(guān)聯(lián),pk所在表為主表;同時(shí)創(chuàng)建一個(gè)與 PK約束名的簇索引。表名約束名語(yǔ)法:alter tableadd con s
30、tra intprimary key(字段名)go【例】修改數(shù)據(jù)庫(kù)student_score 中的kc表,將課程號(hào)設(shè)置為主鍵use stude nt_scorealter table Courseadd con stra int p k_kch primary key(CID)go8. Unique功能:unique(唯一約束),指定在同一列中的兩行不能有相同的值,只能有一行為 空值,該約束自動(dòng)創(chuàng)建一個(gè)與約束同名的非簇索引 語(yǔ)法: alter table 表名 add constraint 約束名 unique ( 字段名 ) go【例】修改數(shù)據(jù)庫(kù) student_score 中的 Cours
31、e 表 , 將課程名設(shè)置為 unique use student_score alter table Course add constraint un_kcm unique(Cname) go, 在插入 / 修改時(shí)自動(dòng)執(zhí)行。約束9. FOREIGN KEY功能: 參照完整性確保維持主關(guān)鍵字(在主表中)和外部關(guān)鍵字 中)的關(guān)系。語(yǔ)法: alter table 表名 1add constraint約束名字段名 )表名 2(字段名 )foreign key( referencesgo例】修改數(shù)據(jù)庫(kù) studentscore 中的 Score 表, 將課程號(hào)設(shè)置為外鍵 use student_scor
32、e alter table Score add constraint fk_kchforeign key(CID) references Course(CID) go在輔表10. 刪除約束語(yǔ)法:例】 刪除alter table 表名drop constraint 約束名 Menber 表的 fk_xh 約束。use student_score alter table Scoredrop constraint gofk_xh第九章 視圖似乎是1. 視圖 ; 是從一個(gè)或多個(gè)表(或視圖)導(dǎo)出的虛表。對(duì)于數(shù)據(jù)庫(kù)用戶來(lái)說,視圖 個(gè)真實(shí)的表,它具有一組命名的數(shù)據(jù)列和行。但是,與真實(shí)的表不 同,在視圖中沒有
33、存儲(chǔ) 任何數(shù)據(jù), 僅僅是一種較簡(jiǎn)單的訪問數(shù)據(jù)庫(kù)里其他表 中數(shù)據(jù)的方式, 因此稱它為 “虛表”。 視圖只能建立在當(dāng)前正在使用的數(shù)據(jù)庫(kù)中2. 視圖的優(yōu)點(diǎn) 聚焦數(shù)據(jù),創(chuàng)建可以控制的環(huán)境,將需要的、常規(guī)的、適當(dāng)?shù)臄?shù)據(jù)存儲(chǔ)在視圖中。 隱藏?cái)?shù)據(jù)庫(kù)的復(fù)雜性簡(jiǎn)化對(duì)用戶的許可管理數(shù)據(jù)庫(kù)擁有者只允許用戶通過視圖查詢數(shù)據(jù) , 保護(hù)了底層基本表的設(shè)計(jì)結(jié)構(gòu) 提高性能存儲(chǔ)復(fù)雜查詢、分割數(shù)據(jù)輸出數(shù)據(jù)給其他應(yīng)用程序的基表或者則必須為列對(duì)象存在,3. 視圖創(chuàng)建是應(yīng)注意的情況 只能在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建視圖。 如果視圖引用的基表或者視圖被刪除,則該視圖不能再被使用,直到創(chuàng)建新 視圖。如果視圖中某一列是函數(shù)、數(shù)學(xué)表達(dá)式、常量或者來(lái)自多
34、個(gè)表的列名相同, 定義名稱。當(dāng)通過視圖查詢數(shù)據(jù)時(shí), SQL Server 要檢查以確保語(yǔ)句中涉及的所有數(shù)據(jù)庫(kù) 而且數(shù)據(jù)修改語(yǔ)句不能違反數(shù)據(jù)完整性規(guī)則。視圖的名稱必須遵循標(biāo)識(shí)符的規(guī)則,且對(duì)每個(gè)用戶必須是唯一的2.語(yǔ)法 ;1) create view 視圖名 創(chuàng)建視圖【例】創(chuàng)建 v1 視圖,包括作者為馬德保的書籍 ISBN, 名稱,及單價(jià) 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, 作者及單價(jià) 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、 活動(dòng)目錄”的單價(jià)增加10。use book goupdate v1set unitprice=unitprice+10where bookname='Windows Server 2008 活動(dòng)目錄 ' go第十章 索引1. 建立索引目的 : 是希望提高 SQL Server 數(shù)據(jù)檢索的速度2. 索引的分類聚集索引 非聚集索引 唯一索引3. 建立索引的原則1) 定義主鍵數(shù)據(jù)列一定要建立索引2) 定義外鍵數(shù)據(jù)列上一定建立索引3) 對(duì)于經(jīng)常查詢的數(shù)據(jù)列最好建立索引4) 對(duì)于需要在指定范圍內(nèi)快速或頻繁查詢的數(shù)據(jù)列5) 經(jīng)常用在 where 子句中的數(shù)據(jù)列6) 對(duì)于那些查詢中很少涉及
37、的列 , 重復(fù)值較多的列不要建立索引索引名 索引名 索引名Create unique alter unique drop unique7) 對(duì)于定義為 text 、 image 和 bit 數(shù)據(jù)類型的列不要建立索引 4.語(yǔ)法 ;創(chuàng)建索引 修改索引 刪除索引第十一章 存儲(chǔ)過程1. 存儲(chǔ)過程的類型系統(tǒng)存儲(chǔ)過程本地存儲(chǔ)過程擴(kuò)展存儲(chǔ)過程臨時(shí)存儲(chǔ)過程2. 語(yǔ)法:1)Creat procedure名字以存儲(chǔ)在用戶定義的數(shù)據(jù)庫(kù)中 )名字都以"xp_”為前綴,存儲(chǔ)在master里) ( 名字以 #開頭 )sp_ ”為前綴 , 存儲(chǔ)在 master 里 )存儲(chǔ)過程名創(chuàng)建存儲(chǔ)過程【例】創(chuàng)建名為 p_bo
38、ok_info 的存儲(chǔ)過程 , 該存儲(chǔ)過程查詢所有書籍的信息 use book gocreate procedure p_book_infoas select * from bookinfo order by ISBN go【例】 p_order_detail 可以通過以下方式執(zhí)行exec p_order_detail3)Alter procedure 存儲(chǔ)過程名修改存儲(chǔ)過程【例】修改 p_order_detail, 返回訂單 id, 用戶姓名 , 用戶地址 , 書籍單價(jià) , 書籍名稱及 訂 單數(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 存儲(chǔ)過程名 刪除存儲(chǔ)過程 【例】刪除 xscj 數(shù)據(jù)庫(kù)中的 p_book_info 存儲(chǔ)過程 use bookgodrop procedure p_book_infogo第十二章 流程設(shè)計(jì)1.2.3.4.流程控制語(yǔ)句:是指那些用來(lái)控制程序執(zhí)行和流程分支的
40、命令,在 SQL Server 中,流 程控制語(yǔ)句主要用來(lái)控制SQL語(yǔ)句、語(yǔ)句塊或者存儲(chǔ)過程的執(zhí)行流程。變量分為 : 局部變量和全局變量 運(yùn)算符 算術(shù)運(yùn)算符: +賦值運(yùn)算符:比較運(yùn)算符 : >,<,>=,<=,=,!=,<>,!>,!<邏輯運(yùn)算符:-all,and,any,between,existsn,like,not,or,some字符串串聯(lián)運(yùn)算符 : + 按位運(yùn)算符:& |,A,流程控制1) beginend:定義語(yǔ)句塊。2) goto label從 label 所定義的 label 之后的語(yǔ)句處繼續(xù)進(jìn)行處理。3) if else
41、定義條件以及當(dāng)一個(gè)條件為 FALSE 時(shí)的操作。4) while 當(dāng)特定條件為 TRUE 時(shí)重復(fù)語(yǔ)句。5) waitfor 為語(yǔ)句的執(zhí)行設(shè)置延遲*,/,%>,<,>=,<=第十三章 觸發(fā)器觸發(fā)器 :是一種特殊的存儲(chǔ)過程, 它被分配給某個(gè)特定的表,觸發(fā)器都是自動(dòng) 調(diào)用的。動(dòng)作,觸發(fā)器是確保數(shù)1.當(dāng)一特定的表數(shù)據(jù)被插入、更新或刪除時(shí),數(shù)據(jù)庫(kù)需要執(zhí)行一定的 據(jù)完整性和一致性的基本有效的方法2. 觸發(fā)器的動(dòng)作DeleteUpdateInsert3. 觸發(fā)器的作用禁止無(wú)效的修改 級(jí)聯(lián)修改相關(guān)表格 執(zhí)行較為復(fù)雜的約束操作4. 觸發(fā)器特點(diǎn) 不接受用戶參數(shù) , 也不返回用戶參數(shù) ; 存
42、儲(chǔ)在表上。 數(shù)據(jù)庫(kù)中跨越相關(guān)表的級(jí)聯(lián)修改。對(duì)數(shù)據(jù)庫(kù)中的相關(guān)表進(jìn)行級(jí) 聯(lián)更新和刪除強(qiáng)制比Check約束更復(fù)雜的數(shù)據(jù)完整性.可以引用其他表中的列5. 語(yǔ)法:1 ) Create trigger 觸發(fā)器名 創(chuàng)建觸發(fā)器【例】對(duì)于stude nt_score 數(shù)據(jù)庫(kù),如果在 Member表中刪除數(shù)據(jù),則在執(zhí)行時(shí)顯示提示信息。use student_score gocreate trigger tr_delete on Member for delete as print ' 你已經(jīng)刪除了此數(shù)據(jù)!go2 ) alter trigger觸發(fā)器名 修改觸發(fā)器【例】在Member表中定義觸發(fā)器,當(dāng)修改紀(jì)
43、錄時(shí)彈出消息:恭喜!你修改了此表!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ù)庫(kù)用戶,便于訪問數(shù)據(jù)庫(kù)。 指定用戶能夠?qū)δ男?shù)據(jù)庫(kù)對(duì)象執(zhí)行哪種操作。 將具有相同權(quán)限的用戶設(shè)置為同一角色,減少權(quán)限設(shè)置的工作量第十四章數(shù)據(jù)庫(kù)安全第十五章數(shù)據(jù)庫(kù)災(zāi)難性恢復(fù)Win dows身份驗(yàn)證SQL Server身份驗(yàn)證當(dāng)用戶登陸到 Windows域時(shí),用戶名和密 碼在被傳送到Windows域控制器之前被加 密Win dows操作系統(tǒng)從不驗(yàn)證用戶支持復(fù)雜加密、密碼的截止日期和最短長(zhǎng)
45、 度等密碼策略支持密碼策略(Sql2000不支持)支持帳戶鎖疋策略,在使用無(wú)效密碼進(jìn)仃 多次嘗試后鎖定帳戶不支持帳戶鎖定功能在 Windows98/me中不能使用在Windows98/me中可以使用1. SQL Server 2008的安全性管理可分為 3個(gè)等級(jí):1)操作系統(tǒng)級(jí)2)SQL Server 級(jí)3)數(shù)據(jù)庫(kù)級(jí)2. SQL Server登錄認(rèn)證簡(jiǎn)介;Windows和SQL Server身份驗(yàn)證3數(shù)據(jù)庫(kù)安全通過以下三種方式實(shí)施: 帳戶管理:權(quán)限管理:角色管理:1. 備份和恢復(fù)的必要性計(jì)算機(jī)硬件故障、軟件故障、病毒、誤操作、)特點(diǎn):1 )速度慢、時(shí)間長(zhǎng);2 )占用大量的數(shù)據(jù)庫(kù)中的數(shù)據(jù)丟失或被
46、破壞的原因:自然災(zāi)害、盜竊2. 備份類型完全備份(Database Full Backups磁盤空間;3 )完全備份的頻率通常比差異備份或事務(wù)日志備份低事務(wù)日志備份(Transaction Log Backups )特點(diǎn):1 )速度快、時(shí)間少 2 )占用磁盤 空間少3 )操作復(fù)雜)特點(diǎn):1)速度一般、時(shí)間短 2)占差異備份(Differential Database Backups用磁盤空間少3 )需要經(jīng)常備份3. 恢復(fù)模式恢復(fù)模式描述簡(jiǎn)單恢復(fù)模式數(shù)據(jù)庫(kù)的完整或差異副本,截?cái)嗍聞?wù)日志完整恢復(fù)模式包括數(shù)據(jù)庫(kù)備份和事務(wù)日志備份大容量日志恢復(fù)包括數(shù)據(jù)庫(kù)和事務(wù)日志備份,但使用較少的日志空間4. 當(dāng)選擇恢復(fù)模式時(shí),必須考慮原則:1)2)3)4)大規(guī)模操作的性能(如大容量裝載) 數(shù)據(jù)丟失表現(xiàn)(如已提交的事務(wù)丟失) 事務(wù)日志空間損耗備份和恢復(fù)過程的簡(jiǎn)化5. 備份還原的方法完整備份和還原完整+差異備份與還原 完整+事務(wù)日志備份與還原6. 創(chuàng)建備份設(shè)備:物理和邏輯7. 語(yǔ)法:1 )創(chuàng)建數(shù)據(jù)庫(kù)備份完全備份backup databas
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨時(shí)勞工合同范本
- 與企業(yè)有關(guān)合同范本文檔
- 書籍委托銷售合同范本
- 2024年溫州市自來(lái)水有限公司招聘考試真題
- 2024年天津市中西醫(yī)結(jié)合醫(yī)院(天津市南開醫(yī)院)招聘考試真題
- 加油站公司合同范本
- 2024年廈門市集美區(qū)杏?xùn)|中學(xué)教師招聘考試真題
- 2024年溫州文成農(nóng)商銀行招聘筆試真題
- 鳳崗酒店蔬菜配送合同范本
- 2024年六安霍邱聯(lián)合村鎮(zhèn)銀行招聘考試真題
- 《化工工程制圖》完整教案
- 心肌梗死后心衰病例分享
- 洪恩識(shí)字識(shí)字卡(001-100)可直接打印剪裁
- 《單片機(jī)技術(shù)及應(yīng)用》教學(xué)大綱
- J-STD-033D處理包裝運(yùn)輸和使用濕度回流和過程敏感設(shè)備
- 文聯(lián)述職報(bào)告
- 四年級(jí)全冊(cè)《勞動(dòng)》課程知識(shí)點(diǎn)匯總精排
- SCI期刊的名稱縮寫與全稱對(duì)照表
- 人本位醫(yī)療培訓(xùn)課件
- 水利工程危險(xiǎn)源辨識(shí)評(píng)價(jià)及風(fēng)險(xiǎn)管控清單
- 桂西北丹池成礦帶主要金屬礦床成礦特征及成礦規(guī)律
評(píng)論
0/150
提交評(píng)論