版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章數(shù)據(jù)庫基礎(chǔ)
1數(shù)據(jù)庫系統(tǒng):是由數(shù)據(jù)庫及其管理軟件組成的系統(tǒng),經(jī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ù),方便檢索和訪問
保持?jǐn)?shù)據(jù)信息的一致、完整
共享和安全
通過組合分析,產(chǎn)生新的有用信息
5.數(shù)據(jù)庫經(jīng)歷的三個階段及特點(diǎn)
1)人工管理階段:數(shù)據(jù)不保存;使用應(yīng)用程序管理數(shù)據(jù);數(shù)據(jù)不共享;數(shù)據(jù)不具有獨(dú)立性。
2)文獻(xiàn)系統(tǒng)階段:數(shù)據(jù)可以長期保存;由文獻(xiàn)系統(tǒng)管理數(shù)據(jù);共享性差,數(shù)據(jù)冗余大;
數(shù)據(jù)獨(dú)立性差。
3)數(shù)據(jù)庫系統(tǒng)階段:數(shù)據(jù)結(jié)構(gòu)化;數(shù)據(jù)共享性高;數(shù)據(jù)獨(dú)立性強(qiáng);數(shù)據(jù)粒度?。华?dú)立的數(shù)據(jù)
操作界面;統(tǒng)一管理和控制
6.數(shù)據(jù)模型的分類
層次模型
網(wǎng)絡(luò)模型
關(guān)系模型
7.E-R圖三個重要部分
1)1.實(shí)體集:在E-R圖中用長方形來表達(dá)實(shí)體集,實(shí)體是實(shí)體集的成員。
2)聯(lián)系:在E-R圖中用菱形來表達(dá)聯(lián)系,聯(lián)系與其涉及的實(shí)體集之間以直線連接,
并在直線端部標(biāo)上聯(lián)系的種類,(1:1,1:N,M:N)。
3)屬性:在E-R圖中用橢圓形來表達(dá)實(shí)體集和聯(lián)系的屬性,對于主鍵碼的屬性,在屬性
名下劃一橫線。
8.繪制E-R圖所需的圖形
1)長方形框一-實(shí)體集(考慮問題的對象)
2)菱形框---一聯(lián)系(實(shí)體集間聯(lián)系)
3)橢圓形框―-實(shí)體集和聯(lián)系的屬性
4)直線-一連接相關(guān)的聯(lián)系和實(shí)體,并可標(biāo)上聯(lián)系的種類
9.E-R圖設(shè)計原則:真實(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、SQLserver2023、2023、2023,0racIe數(shù)據(jù)庫等
2.數(shù)據(jù)庫管理員的工作是:配置數(shù)據(jù)庫服務(wù)器環(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.SQLServer2023的版本
Express合用于無連接的客戶端或獨(dú)立應(yīng)用程序
Workgroup合用于工作組或分支機(jī)構(gòu)操作的數(shù)據(jù)庫
Standard部門級應(yīng)用程序的數(shù)據(jù)庫服務(wù)器
Enterprise高度可伸縮和高度可用的公司級數(shù)據(jù)庫
Deve1operEnterprise版,但是只授予開發(fā)和測試用許可
Web供托管公司提供低成本、高伸縮的托管服務(wù),只收取低廉的每月許可費(fèi)
Mobile用于智能手持式設(shè)備的精簡數(shù)據(jù)庫
12.掌握SQLServer2023數(shù)據(jù)庫的安裝與卸載
第三章數(shù)據(jù)庫的管理
1.T-SQL語言分類
DDL(數(shù)據(jù)定義語言)
-create(創(chuàng)建)
-alter(修改)
-drop(刪除)
DQL(數(shù)據(jù)查詢語言)
-inter(插入)
-update(更新)
DML(數(shù)據(jù)操作語言)
-select(查詢)
DCL(數(shù)據(jù)控制語言)
—revoke(撤消)
—deny(拒絕)
-grant(批準(zhǔn)、授權(quán))
2.數(shù)據(jù)庫文獻(xiàn)
主數(shù)據(jù)文獻(xiàn)(.mdf):一個數(shù)據(jù)庫有且只有一個
輔助數(shù)據(jù)文獻(xiàn)(.ndf):根據(jù)需要自由選擇,當(dāng)數(shù)據(jù)庫很大時,可以選擇多個
日記文獻(xiàn)(.ldf):用于存儲恢復(fù)數(shù)據(jù)庫所需的事務(wù)日記信息
3.掌握數(shù)據(jù)庫的創(chuàng)建及修改(圖形化及代碼)
修改數(shù)據(jù)庫涉及:擴(kuò)展、收縮、分離附加、刪除
4.語法
1)修改數(shù)據(jù)庫名
Alterdatabase原數(shù)據(jù)庫名
Modifyname=新數(shù)據(jù)庫名
例子:【例】將數(shù)據(jù)庫book的名字改為books
alterdatabasebook
modifyname=books
2)修改文獻(xiàn)屬性
A1terdatabase數(shù)據(jù)庫名
Modifyfile
(
name='邏輯名',
size二修改后的大小,
maxsiz6=修改后的大小,
filegrowth二修改后的大小
)
Go
例子:把初始大小由本來5mb增大為12mb
alterdatabasebooks
modifyfile
(
name='book_data,,
size=l2mb
)
go
3)添加日記文獻(xiàn)
Alterdatabase數(shù)據(jù)庫名
Addlogfile
name='邏輯名',
filename'文獻(xiàn)的存放途徑',
size;日記文獻(xiàn)的初始大小,
maxsize=日記文獻(xiàn)的最大大小,
filegrowth^日記文獻(xiàn)的增長方式
)
Go
例子:【例】向shop數(shù)據(jù)庫中添加一個日記文獻(xiàn)
alterdatabaseshop
addlogfi1e
(
name=,shop_log2),
filename=,c:\shop_log2.1df',
size=10mb,maxsize=2Omb,
filegrowth=10%
)
go
4)刪除空文獻(xiàn)
A1terdatabase數(shù)據(jù)庫名
Removefile文獻(xiàn)的邏輯名
例子:刪除文獻(xiàn)shop_data2alter
databaseshopremove
fileshop_data2
4)添加輔助數(shù)據(jù)文獻(xiàn)
alterdatabase數(shù)據(jù)庫名
addfile
name='邏輯名',
filename='文獻(xiàn)存放的途徑',
size二初始大小,
maxsixe二最大大小,
fi1egrowth二增長方式
)
Go
例子:向數(shù)據(jù)庫shop中添加一個輔助數(shù)據(jù)文獻(xiàn)
a1terdatabaseshop
addfile
(
name='shop_data3',
filename=,c:\shop_data3.ndf',
size=5mb,
maxsize=10mb,
filegrowth=10%
)
go
5)創(chuàng)建/刪除數(shù)據(jù)庫
Createdatabase數(shù)據(jù)庫名
onprimary
(
-數(shù)據(jù)文獻(xiàn)name='邏輯名',
filename='文獻(xiàn)的存放途徑',
si20=數(shù)據(jù)文獻(xiàn)的初始大小,
maxsize二數(shù)據(jù)文獻(xiàn)的最大大小,
filegrowth=文獻(xiàn)的增長方式)
logon
(
-一日記文獻(xiàn)name='邏輯名',
filename='文獻(xiàn)的存放途徑',
size二數(shù)據(jù)文獻(xiàn)的初始大小,
maxsize二數(shù)據(jù)文獻(xiàn)的最大大小,
filegrowth=文獻(xiàn)的增長方式)
go
例子:創(chuàng)建一個名為b。ok的數(shù)據(jù)庫,其初始值大小為5MB,最大大小為50MB,允
許數(shù)據(jù)庫自動增長,增長方式是按10%比例增長;日記文獻(xiàn)初始為2MB,最大可增長到5
MB,按1MB增長。
createdatabasebook
onprimary
(
name='book_data',
filename='c:\book_data.mdf7,
size=5mb,
maxsize=50mb,
filegrowth=10%)
logon
(
name='book_Log,,
filename=,c:\book_log.1df',
size=2mb,
maxsize=5mb,
filegrowth=lmb
)
6)刪除數(shù)據(jù)庫
Dropdatabase數(shù)據(jù)庫名
例子:刪除數(shù)據(jù)庫sh。p
dropdatabaseshop
第四章數(shù)據(jù)表的操作
1.在SQLserver中創(chuàng)建表的極限:每個數(shù)據(jù)庫可以有20億個表,每個表有1024
個列,每個列可以有8064字節(jié)
2.數(shù)據(jù)類型
卜類數(shù)據(jù)類型
數(shù)字整數(shù)int,bigint,smaHint,
tinyint
精確數(shù)值decimal,numeric
近似數(shù)值float,real
貨幣money,smallmoney
日期和時間datetime,smalldatetime
字符Non-Unicodechar,varchar,varchar(m
ax),text
Unicodenchar,nvarchar,nvarchar(m
ax),ntext
二進(jìn)制binary,varbinary,varbina
ry(max)
圖像image
全局標(biāo)記符uniqueidentifier
Xmlxml
特殊bit,cursor,timestamp,s
ysname,table,sql_vari
ant
3.字符類型
字符、數(shù)字、特殊符號
-char():固定長度,以空格填補(bǔ)多余長度空間
-varchar():可變長長度,不以空格填補(bǔ)多余長度空間
-nchar():unicode固定長度
nvarchar()unicode可變長長度
-unicode國際標(biāo)準(zhǔn)碼:雙字節(jié)模式(固定每個字符16bit)
一個漢字占兩個字節(jié)(16bit)
一個字母占兩個字節(jié)(16bit)
4.語法:
1)創(chuàng)建表
createtab1e表名
2)修改表
altertable表名
3)刪除表
drop/deletetable表名
4)將查出的信息放入新表
Select*into新表名from舊表名
5)添加的信息必須滿足現(xiàn)有表結(jié)構(gòu)
Insertinto現(xiàn)有表select*from舊表名
5.drop和delete、truncate的區(qū)另U:drop是刪除表,而de1ete和truncate是刪
除表中記錄
5.數(shù)據(jù)操作語言DML
se1ect從表或視圖中檢索數(shù)據(jù)
insert將數(shù)據(jù)插入到表或視圖中
update修改表或視圖中的數(shù)據(jù)
delete從表或視圖中刪除數(shù)據(jù)
第五章基礎(chǔ)查詢
1.se1eCt語法結(jié)構(gòu)
基本語法:se1ect字段名
From目的表
Where條件
【例】查詢學(xué)生成績數(shù)據(jù)庫(student_score)學(xué)生情況表(Member)中的所有列。
usestudent_score
select*
fromMember
2.Where條件限定語法的用法
基本語法:use數(shù)據(jù)庫名
Select字段名
From目的名
Where字段名二“內(nèi)容”
Go
【例】查詢Member表中Mname為馬德保的相關(guān)信息
usestudent_score
select*
fromMember
whereMname='馬德保'
go
3.模糊查詢1ike
1)基本語法:select字段名
From目的名
Where目的名like條件
【例】查找學(xué)生姓名以'劉'開頭的所有學(xué)生信息
usestudent_score
se1ect*
fromMember
whereMnamelike'文!j%'
go
2)%代表所有也許的情況
3)%的使用
%N%表達(dá)包含N
N%表達(dá)N開頭
%N表達(dá)N結(jié)尾
4)“一代表不、不是、不以的意思
4.Or/and/not的邏輯運(yùn)算
【例】將Mname以'文『開頭,或總學(xué)分為60,且專業(yè)名為網(wǎng)絡(luò)互連的學(xué)生Mname
usestudent_score
selectMname,MtotaIscore,MMajor
fromMemberwhereMnamelike'文!J%'orMTotalscore=60
andMMajor二'網(wǎng)絡(luò)互連'
go
5.Between…and在…范圍之內(nèi)
【例】查找總學(xué)分為60和70之間的學(xué)生所有信息
usestudent_score
seiect*
fromMember
whereMTota1Scorebetween60and70
go
6.In=or或
【例】查找總學(xué)分為70和80的所有學(xué)生信息
usestudent_score
select
fromMember
whereMtotalscorein('70,,'80')
whereMtota1scorenotin('70','80')
go
6.1snul1為空的查詢
【例】查詢所在地區(qū)為空的學(xué)生姓名
usestudent_score
seiectMaera,Mname
fromMember
whereMaeraisnull
go
7.Orderby排序:asc升序;desc降序
【例】查找學(xué)生的總學(xué)分以升序排列,出生日期以降序排列的學(xué)生姓名和學(xué)號
usestudent_score
seiectMname,Mbirth,MtotaIscore,MID
fromMember
orderbyMtota1scoreasc,Mbirthdesc
go
8.distinct數(shù)據(jù)過濾和消除反復(fù)記錄
【例】查詢student_score數(shù)據(jù)庫中Member表中的總學(xué)分,但是不能有反復(fù)
usestudent_score
se1ectdistinctMtotaIscore
fromMemberorderbyMtotalscore
go
9.Top和top…withties的用法
【例】求學(xué)分最高的5位學(xué)生的信息,并且返回與第5并列的學(xué)生信息
usestudent_score
se1ecttop5withtiesMID,Mtota1score
fromMemberorderbyMtotalscore
go
注:withties必須與orderby連用
10.as取別名
【例】在student_score數(shù)據(jù)庫中的Member表中對Mname取別名為a,專業(yè)名為
b,并在補(bǔ)一列為性別,并取別名為c
usestudent_score
se1ectMnameasa,MMajorasb,,性別,asc
fromMember
go
第六章高級查詢
1.聯(lián)接定義:根據(jù)各個數(shù)據(jù)庫表之間的邏輯關(guān)系從二個或多個數(shù)據(jù)表中檢索數(shù)據(jù)
2.聯(lián)接分類
內(nèi)連接:基本內(nèi)連接、多表連接、自連接
外連接:左外連接、右外連接、全外連接
交叉連接
3.左外連接、右外連接、全外連接的含義
leftouterjoin左外連接(join左邊的表),結(jié)果集中除了涉及滿足連接條件
的行外,還包括左表所有行
rightouterjoin右外連接(join右邊的表),結(jié)果集中除了涉及滿足連接條件的行
外,還涉及右表所有行
fullouterjoin全外連接,結(jié)果集中除了涉及滿足連接條件的行外,還涉及兩個表的
所有行
4.內(nèi)連接概述
1)用…innerjion…on…語句進(jìn)行連接
Jion指定需要連接的數(shù)據(jù)表
On指定連接條件(inner可省略)
【例】查找選修了01課程且成績在30分以上的學(xué)生編號和成績
usestudent_score
selectM.MID,S.score
fromMemberMjoinScoreS
onM.MID=S.MID
whereCID='01'andscore>=30
go
5,外連接語法:select字段名1,字段名2…字段n
From表1leftouterjoin表2
from表1rightouterjoin表2
from表1fu11outerjoin表2
Go
【例】查找所有學(xué)生信息及其考試成績,若該生未參與任何考試,也列出其信息
usestudent_score
selectM.*,S.CID,S.score
fromScoreSrightjoinMemberM
onM.MID=S.MID
go
6.交叉連接語法:select字段1,字段2
From表1crossjoin表2
Go
【例】返回Member表和Score表所有也許記錄的組合
usestudent_score
selectM.MID,M.Mname,CID,Score
fromMemberMcrossjoinScoreS
go
第七章函數(shù)
1.函數(shù):是一段特殊的程序代碼,它能對查詢結(jié)果進(jìn)行一定的操作
函數(shù)的作用:就是使用戶不必書寫太多的程序代碼即可完畢復(fù)雜的操作
2.SQLServer函數(shù)類型涉及系統(tǒng)函數(shù)、字符串函數(shù)、日期時間函數(shù)、聚合函數(shù)等
3.系統(tǒng)函數(shù)對SQLServer服務(wù)器和數(shù)據(jù)庫對象進(jìn)行操作,返回服務(wù)器配置和數(shù)據(jù)
庫對象數(shù)值等信息
CURRENT_TIMESTAMP()可返回系統(tǒng)當(dāng)前日期和時間,類型為datetime
H0ST_NAME()返回主機(jī)名稱
SYSTEM_USER返回當(dāng)前系統(tǒng)用戶
USER_NAME()返回id標(biāo)記指定的用戶名稱
db_name()返回當(dāng)前會話的數(shù)據(jù)庫名稱
4.聚合函數(shù)功能
1)Sum()計算表達(dá)式所有值之和
【例】求選修01課程的學(xué)生的總成績。
usestudentscore
seiectsum(score)as'課程01總成績’
fromScore
whereCID='01
go
2)Avg()計算表達(dá)式的平均值
【例】求選修10課程的學(xué)生的平均成績。
usestudent_score
se1ectavg(score)as'課程10平均成績,
fromScore
whereCID='10'
go
3)Count(列名)計算表達(dá)式中非空值的數(shù)量
【例】求學(xué)生的總成績
usestudent_score
selectcount()as,學(xué)生總成績,
fromMember
go
4)count(*)計算表達(dá)式中所有值的數(shù)量
【例】求學(xué)生的總?cè)藬?shù)
usestudent_score
selectcount(*)as,學(xué)生總?cè)藬?shù),
fromMember
go
5)Min()計算表達(dá)式的最小值
【例】求選修00課程的學(xué)生的最低分
usestudent_score
selectmin(score)as'課程00的最低分'
fromScorewhereCID=,00f
go
6)Max()計算表達(dá)式的最大值
【例】求選修11課程的學(xué)生的最高分
usestudent_score
se1ectmax(score)as課程11的最高分'
fromScorewhereCID='11'
go
第八章數(shù)據(jù)的完整性
1.數(shù)據(jù)庫完整性:是指存儲在數(shù)據(jù)庫中數(shù)據(jù)的一致性和標(biāo)準(zhǔn)性
2.數(shù)據(jù)完整性的類型
1)域(列)完整性:指定對列的一組有效值并決定是否允許有空值。也可以通過在一列
中限定數(shù)據(jù)類型,格式和也許值的范圍來強(qiáng)制數(shù)據(jù)完整性。
2)實(shí)體(行)完整性:規(guī)定表中所有的行具有唯一的標(biāo)記符,例如主關(guān)鍵字值。
3)參照完整性:保證維持主關(guān)鍵字和外部關(guān)鍵字的關(guān)系
3.約束的概念:保證在列中輸入有效的值并維護(hù)表之間的關(guān)系。
4.約束的類型
完整性類型約束類型說明
域DEFAULT指定列的默認(rèn)值
CHECK指定列的允許值
NULL指定是否允許NULL
實(shí)體PRIMARYKEY唯一標(biāo)記每一行
UNIQUE防止非主鍵反復(fù)
引用FOREIGNKEY定義值必須與此表的主鍵匹
配的列
5.default功能:執(zhí)行insert語句時將默認(rèn)值自動插入約束所在的列
語法:altertab1e表名
addconstraint約束名
defau1t(默認(rèn)值)
for字段名
go
【例】修改數(shù)據(jù)庫student_score中的Menber表,將性別的默認(rèn)值設(shè)立為‘男'
usestudent_score
altertableMember
addconstraintdf_sex
defauIt('男')forMsex
go
6.check功能:check(檢查約束),每次執(zhí)行Insert/update語句時,該約束要校驗(yàn)
數(shù)據(jù)的合法性
語法:a1tertable表名
addconstraint約束名
check(條件)
go
【例】修改數(shù)據(jù)庫student_score中的Score表,使成績限制在0~100之間
usestudent_score
altertableScore
addconstraintck_cj
check(score>=0andscore<=100)
go
7.primarykey功能:primarykey(主鍵約束),一個表中只有能一個pk,不能有
空值,不能有反復(fù)值;pk所在列的值可以唯一標(biāo)記此行;能與fk關(guān)聯(lián),pk所在表為主
表;同時創(chuàng)建一個與PK約束名的簇索引。
語法:altertable表名
addconstraint約束名
primarykey(字段名)
go
【例】修改數(shù)據(jù)庫student_score中的kc表,將課程號設(shè)立為主鍵
usestudent_score
altertableCourse
addconstraintpk_kch
primarykey(CID)
go
8.Unique功能:unique(唯一約束),指定在同一列中的兩行不能有相同的值,只
能有一行為空值,該約束自動創(chuàng)建一個與約束同名的非簇索引,在插入/修改時自動執(zhí)
行。
語法:a1tertab1e表名
addconstraint約束名
unique(字段名)
go
【例】修改數(shù)據(jù)庫student_score中的Course表,將課程名設(shè)立為unique約束
usestudent_score
altertableCourse
addconstraintun_kcm
unique(Cname)
go
9.FOREIGNKEY功能:參照完整性保證維持主關(guān)鍵字(在主表中)和外部關(guān)鍵字(在
輔表中)的關(guān)系。
語法:altertab1e表名1
addconstraint約束名
foreignkey(字段名)
references表名2(字段名)
go
【例】修改數(shù)據(jù)庫student_score中的Score表,將課程號設(shè)立為外鍵
usestudent_score
altertableScore
addconstraintfk_kch
foreignkey(CID)
referencesCourse(CID)
go
10.刪除約束
語法:altertable表名
dropconstraint約束名
【例】刪除Menber表的fk_xh約束。
usestudent_score
aItertabIeScore
dropconstraintfk_xh
go
第九章視圖
1.視圖;是從一個或多個表(或視圖)導(dǎo)出的虛表。對于數(shù)據(jù)庫用戶來說,視圖似乎是
一個真實(shí)的表,它具有一組命名的數(shù)據(jù)列和行。但是,與真實(shí)的表不同,在視圖中沒有存
儲任何數(shù)據(jù),僅僅是一種較簡樸的訪問數(shù)據(jù)庫里其他表中數(shù)據(jù)的方式,因此稱它為“虛
表”。視圖只能建立在當(dāng)前正在使用的數(shù)據(jù)庫中
2.視圖的優(yōu)點(diǎn)
聚焦數(shù)據(jù),創(chuàng)建可以控制的環(huán)境,將需要的、常規(guī)的、適當(dāng)?shù)臄?shù)據(jù)存儲在視圖中。
隱藏數(shù)據(jù)庫的復(fù)雜性
簡化對用戶的許可管理
數(shù)據(jù)庫擁有者只允許用戶通過視圖查詢數(shù)據(jù),保護(hù)了底層基本表的設(shè)計結(jié)構(gòu)
提高性能
存儲復(fù)雜查詢、分割數(shù)據(jù)
輸出數(shù)據(jù)給其他應(yīng)用程序
3.視圖創(chuàng)建是應(yīng)注意的情況
只能在當(dāng)前數(shù)據(jù)庫中創(chuàng)建視圖。
假如視圖引用的基表或者視圖被刪除,則該視圖不能再被使用,直到創(chuàng)建新的基表或
者視圖。
假如視圖中某一列是函數(shù)、數(shù)學(xué)表達(dá)式、常量或者來自多個表的列名相同,則必須為
列定義名稱。
當(dāng)通過視圖查詢數(shù)據(jù)時,SQLServer要檢查以保證語句中涉及的所有數(shù)據(jù)庫對象
存在,并且數(shù)據(jù)修改語句不能違反數(shù)據(jù)完整性規(guī)則。
視圖的名稱必須遵循標(biāo)記符的規(guī)則,且對每個用戶必須是唯一的
2.語法;
1)createview視圖名創(chuàng)建視圖
【例】創(chuàng)建vl視圖,涉及作者為馬德保的書籍ISBN,名稱,及單價
usebook
go
createviewvl
as
seiectisbn,bookname,unitprice
frombookinfo
whereauthor=>馬德保'
go
2)dropview視圖名刪除視圖
【例】刪除名為v2的視圖
dropviewv2
3)a1terview視圖名修改視圖
【例】修改vl視圖,涉及出版社為工業(yè)出版社的書籍ISBN,作者及單價
usebook
go
alterviewv1
as
se1ectisbn,author,unitprice
frombookinfo
wherepublisher=>工業(yè)出版社'
go
4)execsp_helptext視圖名查看視圖定義
【例】查看視圖vl:
execsp_helptextvl
5)update視圖名更新視圖
【例】將vl視圖中書名為“WindowsServer2023活動目錄”的單價增長10。
usebook
go
updatevl
setunitprice=unitprice+10
wherebookname-WindowsServer2023活動目錄'
go
第十章索引
1.建立索引目的:是希望提高SQLServer數(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)對于那些查詢中很少涉及的列,反復(fù)值較多的列不要建立索引
7)對于定義為text、image和bit數(shù)據(jù)類型的列不要建立索引
4.語法;
創(chuàng)建索引Createunique索引名
修改索引alterunique索引名
刪除索引dropunique索引名
第十一章存儲過程
1.存儲過程的類型
系統(tǒng)存儲過程(名字以“sp_”為前綴,存儲在master里)
本地存儲過程(存儲在用戶定義的數(shù)據(jù)庫中)
擴(kuò)展存儲過程(名字都以“xp_”為前綴,存儲在master里)
臨時存儲過程(名字以#開頭)
2.語法:
1)Creatprocedure存儲過程名創(chuàng)建存儲過程
【例】創(chuàng)建名為p_book_info的存儲過程,該存儲過程查詢所有書籍的信息
usebook
go
createprocedurep_book_info
select*frombookinfo
orderbyISBN
go
2)Execprocedure存儲過程名執(zhí)行存儲過程
【例】p_order_detail可以通過以下方式執(zhí)行
execp_order_detai1
3)A1terprocedure存儲過程名修改存儲過程
【例】修改P_ordejdetail,返回訂單id,用戶姓名,用戶地址,書籍單價,書籍名稱
及訂單數(shù)量
alterprocedurep_order_detail
se1ect
o-orderdetai1id,u.username,u.addr,b.unitprice,b.bookname,
o.quantity
fromorderdetailasojoinuserinfoasu
ono.userid=u.userid
joinbookinfoasb
ono.isbn=b.isbn
go
4)Dropprocedure存儲過程名刪除存儲過程
【例】刪除xscj數(shù)據(jù)庫中的p_book_info存儲過程
usebook
go
dropprocedurep_book_info
go
第十二章流程設(shè)計
1.流程控制語句:是指那些用來控制程序執(zhí)行和流程分支的命令,在SQLServer中,
流程控制語句重要用來控制SQL語句、語句塊或者存儲過程的執(zhí)行流程。
2.變量分為:局部變量和全局變量
3.運(yùn)算符
算術(shù)運(yùn)算符:%
賦值運(yùn)算符:=
比較運(yùn)算符:>,<,>=,<=,=,!=,<>,!>,!<
邏輯運(yùn)算符:-all,and,any,between,exists,in,1ike,not,or,some
字符串串聯(lián)運(yùn)算符:+
按位運(yùn)算符:&,I「,?
4.流程控制
l)begin???end:定義語句塊。
2)gotolabel從label所定義的label之后的語句處繼續(xù)進(jìn)行解決。
3)if…else定義條件以及當(dāng)一個條件為FALSE時的操作。
4)while當(dāng)特定條件為TRUE時反復(fù)語句。
5)waitfor為語句的執(zhí)行設(shè)立延遲
第十三章觸發(fā)器
1.觸發(fā)器:是一種特殊的存儲過程,它被分派給某個特定的表,觸發(fā)器都是自動調(diào)用
的。當(dāng)一特定的表數(shù)據(jù)被插入、更新或刪除時,數(shù)據(jù)庫需要執(zhí)行一定的動作,觸發(fā)器是保
證數(shù)據(jù)完整性和一致性的基本有效的方法
2.觸發(fā)器的動作
De1ete
Update
Insert
3.觸發(fā)器的作用
嚴(yán)禁無效的修改
級聯(lián)修改相關(guān)表格
執(zhí)行較為復(fù)雜的約束操作
4.觸發(fā)器特點(diǎn)
不接受用戶參數(shù),也不返回用戶參數(shù);存儲在表上。
數(shù)據(jù)庫中跨越相關(guān)表的級聯(lián)修改。對數(shù)據(jù)庫中的相關(guān)表進(jìn)行級
聯(lián)更新和刪除
強(qiáng)制比Check約束更復(fù)雜的數(shù)據(jù)完整性.可以引用其他表中的列
5.語法:
1)Createtrigger觸發(fā)器名創(chuàng)建觸發(fā)器
【例】對于student_score數(shù)據(jù)庫,假如在Member表中刪除數(shù)據(jù),則在執(zhí)行時顯示提
醒信息。
usestudent_score
go
createtriggertr_delete
onMember
fordelete
as
print'你已經(jīng)刪除了此數(shù)據(jù)!'
go
2)altertrigger觸發(fā)器名修改觸發(fā)器
【例】在Member表中定義觸發(fā)器,當(dāng)修改紀(jì)錄時彈出消息:恭喜!你修改了此表!
usestudent_score
go
altertriggertr_delete
onMember
fordelete
as
print'恭喜!你修改了此表!
go
3)disabletrigger觸發(fā)器名禁用觸發(fā)器
【例】禁用tr_update觸發(fā)器
usestudentscore
go
altertab1eMember
disabletriggertr_update
go
4)enab1etrigger觸發(fā)器名啟用觸發(fā)器
【例】啟用tr_insert觸發(fā)器
usestudent_score
go
aItertab1eMember
enabletriggertr_insert
go
5)droptrigger觸發(fā)器名刪除觸發(fā)器
【例】刪除名為tr_insert的觸發(fā)器
droptriggertr_insert
第十四章數(shù)據(jù)庫安全
1.SQLServer2023的安全性管理可分為3個等級:
1)操作系統(tǒng)級
2)SQLServer級
3)數(shù)據(jù)庫級
2.SQLServer登錄認(rèn)證簡介;Windows和SQLServer身份驗(yàn)證
Windows身份驗(yàn)證SQLServer身份驗(yàn)證
當(dāng)用戶登陸到Windows域時,用戶名和密Windows操作系統(tǒng)從不驗(yàn)證用戶
碼在被傳送到Windows域控制器之前被
加密
支持復(fù)雜加密、密碼的截止日期和最短長支持密碼策略(Sql2023不支持)
度等密碼策略
支持帳戶鎖定策略,在使用無效密碼進(jìn)行不支持帳戶鎖定功能
多次嘗試后鎖定帳戶
在Windows98/me中不能使用在Windows98/me中可以使用
3數(shù)據(jù)庫安全通過以下三種方式實(shí)行:
帳戶管理:添加和刪除數(shù)據(jù)庫用戶,便于訪問數(shù)據(jù)庫。
權(quán)限管理:指定用戶可以對哪些數(shù)據(jù)庫對象執(zhí)行哪種操作。
角色管理:將具有相同權(quán)限的用戶設(shè)立為同一角色,減少權(quán)限設(shè)立的工作量
第十五章數(shù)據(jù)庫劫難性恢復(fù)
1.備份和恢復(fù)的必要性
數(shù)據(jù)庫中的數(shù)據(jù)丟失或被破壞的因素:計算機(jī)硬件故障、軟件故障、病毒、誤操
作、自然災(zāi)害、盜竊
2,備份類型
完全備份(DatabaseFu11Backups)特點(diǎn):1)速度慢、時間長;2)占用大量
的磁盤空間;3)完全備份的頻率通常比差異備份或事務(wù)日記備份低
事務(wù)日記備份(TransactionLogBackups)特點(diǎn):1)速度快、時間少2)
占用磁盤空間少3)操作復(fù)雜
差異備份(Differentia1DatabaseBackups)特點(diǎn):1)速度一■般、時間短
2)占用磁盤空間少3)需要經(jīng)常備份
3.恢復(fù)模式
恢復(fù)模式描述
簡樸恢復(fù)模式數(shù)據(jù)庫的完整或差異副本,截斷事務(wù)日記
完整恢復(fù)模式涉及數(shù)據(jù)庫備份和事務(wù)日記備份
大容量日記恢復(fù)
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 巖棉防火隔離帶施工工藝
- 2024年渭南職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 洗地機(jī)行業(yè)供需現(xiàn)狀與發(fā)展戰(zhàn)略規(guī)劃
- 2024年淄博師范高等專科學(xué)校高職單招職業(yè)技能測驗(yàn)歷年參考題庫(頻考版)含答案解析
- 2017-民族區(qū)域自治制度:適合國情基本政治制度
- 2024年浙江長征職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 2024年浙江經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 商易通業(yè)務(wù)基本介紹講義資料
- 2024年浙江機(jī)電職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- 4¥-four(天津科技大學(xué))
- 主播mcn合同模板
- 2024測繪個人年終工作總結(jié)
- DB11 637-2015 房屋結(jié)構(gòu)綜合安全性鑒定標(biāo)準(zhǔn)
- 制造業(yè)生產(chǎn)流程作業(yè)指導(dǎo)書
- DB34∕T 4444-2023 企業(yè)信息化系統(tǒng)上云評估服務(wù)規(guī)范
- 福建中閩能源股份有限公司招聘筆試題庫2024
- 2024年高中生物新教材同步必修第二冊學(xué)習(xí)筆記第5章 本章知識網(wǎng)絡(luò)
- 腦血管疾病三級預(yù)防
- HSK標(biāo)準(zhǔn)教程5上-課件-L1
- 人教版五年級下冊數(shù)學(xué)預(yù)習(xí)單、學(xué)習(xí)單、檢測單
- JC-T 746-2023 混凝土瓦標(biāo)準(zhǔn)規(guī)范
評論
0/150
提交評論