三级数据库复习笔记
前言:這是我今年復(fù)習(xí)三級(jí)時(shí)自己做的筆記。為了加深記憶,基本上是純手打。但是到最后幾天的時(shí)候因?yàn)闀r(shí)間緊迫就主要是開始刷題而忘記了做筆記。所以內(nèi)容不全,但是又懶得補(bǔ)了。。還有幾個(gè)漏了的。。但是現(xiàn)在是真的不想再碰數(shù)據(jù)庫(kù)了。。刷題刷的惡心。。
1.數(shù)據(jù)庫(kù)三級(jí)模式:外模式、概念模式、內(nèi)模式,提高數(shù)據(jù)庫(kù)的邏輯獨(dú)立性和物理邏輯性
分別對(duì)應(yīng)用戶級(jí)、概念級(jí)、物理級(jí)。這三級(jí)又分別對(duì)應(yīng)用戶或應(yīng)用程序員,面向建立和維護(hù)數(shù)據(jù)庫(kù)人員,面向系統(tǒng)程序員
外模式又稱子模式或用戶模式,概念模式又稱邏輯模式,內(nèi)模式又稱存儲(chǔ)模式
分布式數(shù)據(jù)庫(kù)中用戶模式是概念模式的一個(gè)子集
數(shù)據(jù)模式描述語(yǔ)言:DDL
二級(jí)映像:外模式-模式映像;提供邏輯獨(dú)立性
? 模式-內(nèi)模式映像;提供數(shù)據(jù)獨(dú)立性
2.B/S結(jié)構(gòu):瀏覽器/服務(wù)器模式,基于c/s結(jié)構(gòu)(客戶端/瀏覽器結(jié)構(gòu))
3.按照規(guī)范的設(shè)計(jì)方法,一個(gè)完整的數(shù)據(jù)庫(kù)設(shè)計(jì)一般分為以下六個(gè)階段:
⑴需求分析:分析用戶的需求,包括數(shù)據(jù)、功能和性能需求;
⑵概念結(jié)構(gòu)設(shè)計(jì):主要采用E-R模型進(jìn)行設(shè)計(jì),包括畫E-R圖;
⑶邏輯結(jié)構(gòu)設(shè)計(jì):通過將E-R圖轉(zhuǎn)換成表,實(shí)現(xiàn)從E-R模型到關(guān)系模型的轉(zhuǎn)換;
⑷數(shù)據(jù)庫(kù)物理設(shè)計(jì):主要是為所設(shè)計(jì)的數(shù)據(jù)庫(kù)選擇合適的存儲(chǔ)結(jié)構(gòu)和存取路徑;
⑸數(shù)據(jù)庫(kù)的實(shí)施:包括編程、測(cè)試和試運(yùn)行;會(huì)將用戶原有數(shù)據(jù)按照新的數(shù)據(jù)結(jié)構(gòu)導(dǎo)入到新系統(tǒng)中。
⑹數(shù)據(jù)庫(kù)運(yùn)行與維護(hù):系統(tǒng)的運(yùn)行與數(shù)據(jù)庫(kù)的日常維護(hù)。
4.表示屬性的值不能為重復(fù)且不能為空。
一個(gè)屬性的值必須屬于唯一的域,屬性一般用名詞或名詞短語(yǔ)命名
*5.要求組合的屬性值不能有重復(fù)值可以使用unique(地址1,地址2)
*6.create index;
*7.check約束和觸發(fā)器可以實(shí)現(xiàn)用戶定義的完整性。如要求表中銷售價(jià)格調(diào)整為進(jìn)價(jià)的1.1倍
check約束的用法:
8.
索引分為兩大類:有序索引和散列索引
9.數(shù)據(jù)備份:完整數(shù)據(jù)庫(kù)備份,差異數(shù)據(jù)庫(kù)備份,文件備份,差異文件備份,在以上被封方法中,在備份完成之后必須再對(duì)日志進(jìn)行備份的是文件備份(差異文件備份);
10.系統(tǒng)故障不是介質(zhì)故障,人為破壞也不是系統(tǒng)故障,系統(tǒng)故障是指系統(tǒng)被攻擊,強(qiáng)行關(guān)機(jī),斷電等。
11.分布式數(shù)據(jù)庫(kù):分布式數(shù)據(jù)庫(kù)站點(diǎn)通信的代價(jià)是節(jié)點(diǎn)分片間傳出代價(jià)。分布式數(shù)據(jù)庫(kù)中主要透明性是分片透明性,分布式數(shù)據(jù)庫(kù)與分布式計(jì)算機(jī)不同。不共同處理數(shù)據(jù)。但并行數(shù)據(jù)庫(kù)共同處理數(shù)據(jù)
數(shù)據(jù)分片類型:
1.水平分片,2.垂直分片,3.導(dǎo)出分片,4.混合分片
數(shù)據(jù)分配方式
1.集中式,2.分割式,3.全復(fù)制式,4.混合式(混合分割式和全復(fù)制式)
分布式數(shù)據(jù)庫(kù)中數(shù)據(jù)分布策略可以從數(shù)據(jù)分片和數(shù)據(jù)分配兩個(gè)角度來考慮,一般先進(jìn)性數(shù)據(jù)分片,在進(jìn)行數(shù)據(jù)分配。
數(shù)據(jù)水平分片以便重構(gòu)關(guān)系,數(shù)據(jù)庫(kù)垂直分片以便通過連接方法恢復(fù)關(guān)系
分布式數(shù)據(jù)庫(kù)的主要目的是實(shí)現(xiàn)場(chǎng)地自治和數(shù)據(jù)全局透明共享。
分布透明性:分片透明性、位置透明性、局部映像透明性
分片頭民刑是最高級(jí)別的透明性,位于全局概念模式與分片模式之間。局部數(shù)據(jù)模型透明性位于分配模式與局部概念模式之間。
分布式數(shù)據(jù)庫(kù)系統(tǒng)由局部數(shù)據(jù)庫(kù)管理系統(tǒng)、全局?jǐn)?shù)據(jù)庫(kù)管理系統(tǒng)GDBMS、全局?jǐn)?shù)據(jù)字典、通信管理四部分組成。
*12.并行數(shù)據(jù)庫(kù)
并行數(shù)據(jù)庫(kù)系統(tǒng)的目標(biāo)是高性能(High Performance)和高可用性(High Availability),通過多個(gè)處理節(jié)點(diǎn)并行執(zhí)行數(shù)據(jù)庫(kù)任務(wù),提高整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的性能和可用性。
并型數(shù)據(jù)庫(kù)服務(wù)器服務(wù)器分為兩種結(jié)構(gòu);完全共享資源結(jié)構(gòu)、完全不共享資源結(jié)構(gòu);頂層是無共享結(jié)構(gòu),底層是共享內(nèi)存或共享磁盤結(jié)構(gòu)。
具有很高的課擴(kuò)展性,適合于oltp應(yīng)用。通過提高負(fù)載均衡的方法來提高數(shù)據(jù)庫(kù)系統(tǒng)的業(yè)務(wù)吞吐率。
13.數(shù)據(jù)庫(kù)備份方法:
1完整數(shù)據(jù)庫(kù)備份(整個(gè)復(fù)制),2.差異數(shù)據(jù)庫(kù)備份(增量備份),3.文件備份,4.差異文件備份。
14.候選碼是唯一能決定一個(gè)元祖的屬性組,一個(gè)關(guān)系中可以有多個(gè)屬性組,候選碼簡(jiǎn)稱為碼,選定其中一個(gè)碼作為主碼
=======================第二套========================
1.存儲(chǔ)管理器負(fù)責(zé)檢查用戶是否具有數(shù)據(jù)訪問權(quán)限,以實(shí)物方式管理用戶對(duì)數(shù)據(jù)的訪問,以確保數(shù)據(jù)庫(kù)并發(fā)訪問的正確性。查詢管理器會(huì)為編譯好的查詢語(yǔ)句生成執(zhí)行計(jì)劃,并根據(jù)執(zhí)行計(jì)劃訪問相關(guān)數(shù)據(jù)。
2.幾種整形的存儲(chǔ)范圍,1.tinyint:0-255,2.smallint:-32761到32761;3.mediumint:從-8388608到8388608,4.int:-214783648到214783648,5.bigint:最大范圍,正負(fù)922293782584856646
3.SQLSERVER系統(tǒng)數(shù)據(jù)庫(kù)分為master(系統(tǒng)信息)、model(創(chuàng)建數(shù)據(jù)庫(kù)的模板)、msdb(sql的實(shí)例信息存儲(chǔ)在代理服務(wù)數(shù)據(jù)庫(kù))\tempdb(臨時(shí)數(shù)據(jù)庫(kù))
4.聲明主鍵:方法一:工作編號(hào) int primary key,
? ? 方法二:工作編號(hào) int primary key(工作編號(hào)),
5.check的使用:只約束一列的話可以放在那列后,
但如果<b>約束條件<b>中涉及兩列或更多,則為對(duì)整個(gè)數(shù)據(jù)表的約束,放在表的最后面;
6.對(duì)master\model\msdb實(shí)行修改后立即備份,對(duì)用戶數(shù)據(jù)庫(kù)周期性備份,對(duì)tempdb不備份
7.db_writer只有寫權(quán)限,包括插入更改刪除,但是不能查看,查看是讀權(quán)限。
8.鎖是一種特殊的二元信號(hào)量,用來控制多個(gè)并發(fā)事務(wù)對(duì)共享資源的使用。
? 數(shù)據(jù)庫(kù)管理系統(tǒng)采用先來先服務(wù)的方式防止出現(xiàn)活鎖現(xiàn)象,檢測(cè)到死鎖后,采用撤銷死鎖事務(wù)的方式解除死鎖。
9.主索引、輔索引、位圖索引
10.數(shù)據(jù)庫(kù)還原備份
backup database MyDatabase to disk='D:\MyDatabase.bak' --備份
restore database MyDatabase from disk='D:\MyDatabase.bak' --還原
在還原非最后一個(gè)日志時(shí),都必須加上norecovery來使數(shù)據(jù)庫(kù)處于恢復(fù)狀態(tài),禁止對(duì)數(shù)據(jù)庫(kù)的訪問,避免產(chǎn)生新的數(shù)據(jù)導(dǎo)致之后不能繼續(xù)還原,不過在還原最后一個(gè)日志文件時(shí)不能加這個(gè)。
11.對(duì)master數(shù)據(jù)庫(kù)進(jìn)行備份只能完整備份,而不能進(jìn)行其他備份
12.結(jié)構(gòu)圖包括用例圖、類圖、組件圖、對(duì)象圖和部署圖
uml中,用于表達(dá)一系列的對(duì)象、對(duì)象之間的聯(lián)系以及對(duì)詳見發(fā)送和接收消息的圖是通信圖(協(xié)作圖)
部署圖又叫配置圖,描述系統(tǒng)中軟件和硬件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)
13.常用的信息系統(tǒng)需求分析建模方法有DFD、IDEFO、UML三種
DFD建模方法的核心是數(shù)據(jù)流,也稱為過程建模和功能建模方法
Idefo是結(jié)構(gòu)化方法的典型代表,DFD也是結(jié)構(gòu)化,uml結(jié)構(gòu)化、動(dòng)態(tài)、圖形化,面向?qū)ο?br />
**************************應(yīng)用題**************************
14.數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)定義語(yǔ)言(DDL),用于定義各種數(shù)據(jù)對(duì)象。數(shù)據(jù)定義語(yǔ)言經(jīng)DDL編譯器變異后,各種對(duì)象的描述信息存放在數(shù)據(jù)庫(kù)的數(shù)據(jù)字典中。數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程5個(gè)部分。
15.數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分構(gòu)成。(數(shù)據(jù)模型三要素)
16.數(shù)據(jù)庫(kù)的選擇、投影、連接、除運(yùn)算;
選擇:從表中選出某些行
投影:從表中選出某些列
連接:
連接分為內(nèi)連接 select a.*,b.* from a inner join b on a.id=b.pid、外連接(左外、右外、完整外連接)
內(nèi)連接:內(nèi)連接使用比較運(yùn)算符根據(jù)每個(gè)表共有的列的值匹配兩個(gè)表中的行,不匹配的則不顯示
左外連接:Left join 或者left outer join,select a.*,b* from a left (outer) jin b on a.id=b.pid;
右外連接:和左外連接類似
完整外連接:full join或full outer join,返回左表和右表的所有行。selecct a.*,b.* from a full join on a.od=b.pid;
17.完整性約束包括實(shí)體完整性、參照完整性、用戶自定義完整性
18.取前n行元祖使用top n (with ties-也顯示和最后一行并列的行);一般與order by 結(jié)合使用;(asc/desc)
19.unique約束允許出現(xiàn)空值但不允許出現(xiàn)重復(fù)值
20.在數(shù)據(jù)庫(kù)中(SQL SERVER2008,不知道其他的是不是)中,數(shù)據(jù)存儲(chǔ)和讀取以數(shù)據(jù)頁(yè)為單位,每個(gè)數(shù)據(jù)頁(yè)為8kb(8060字節(jié)),128頁(yè)為1mb;每頁(yè)開頭是96字節(jié)的表頭。假設(shè)有10000行記錄,每行記錄占用4031字節(jié),那么一頁(yè)就存儲(chǔ)不下兩行,所以一頁(yè)只能存儲(chǔ)一行,所以存儲(chǔ)10000個(gè)數(shù)據(jù)頁(yè),每個(gè)數(shù)據(jù)頁(yè)為8kb,因此總數(shù)據(jù)量為80000kb,也就是約為8mb空間,空間利用率為4031字節(jié)*10000行=4Mb,所以空間利用率大約為50%;
21.在SQL SERVER2008中,Exec sp_addSRVROLemember是賦予登錄賬戶權(quán)限之意,在后面更上角色如dbcreator(創(chuàng)建、修改、刪除和還原數(shù)據(jù)庫(kù)),sysadmin(在SQL中進(jìn)行任何活動(dòng)),具有最高權(quán)限。
22.數(shù)據(jù)庫(kù)管理系統(tǒng)一般通過周期性檢查事務(wù)等待圖來實(shí)現(xiàn)死鎖檢測(cè);
23.并發(fā)操作帶來的數(shù)據(jù)不一致性主要包括丟失修改、不可重復(fù)讀和讀"臟"數(shù)據(jù),產(chǎn)生上述三類數(shù)據(jù)的不一致性主要原因就是并發(fā)操作破壞了事務(wù)的隔離性。
25.封鎖協(xié)議
三級(jí)封鎖協(xié)議
26.事務(wù)
1.事物的定義
2.事物的4個(gè)特性(ACID)原子性、一致性、隔離性、持續(xù)性
3.事物的執(zhí)行:Begin transactiion,commit,rollback;
27.數(shù)據(jù)庫(kù)恢復(fù)
故障種類:1.事務(wù)內(nèi)部的故障(需要日志文件),2.系統(tǒng)故障(需要日志),3.介質(zhì)故障、4.計(jì)算機(jī)病毒
系統(tǒng)故障:斷電重啟、除磁盤外的硬件故障、操作系統(tǒng)故障、DBMS代碼錯(cuò)誤
恢復(fù)技術(shù):1.數(shù)據(jù)轉(zhuǎn)儲(chǔ)(backup,后備副本、后援副本) 2.登記日志文件
數(shù)據(jù)轉(zhuǎn)儲(chǔ)分為1.靜態(tài)轉(zhuǎn)儲(chǔ)(無運(yùn)行事務(wù)時(shí)整個(gè)備份,可以建立日志文件,當(dāng)數(shù)據(jù)庫(kù)毀壞后可以載入后備副本,然后用日志文件來恢復(fù)數(shù)據(jù)庫(kù),也可以不建立,只不過就只能恢復(fù)到轉(zhuǎn)儲(chǔ)時(shí)的狀態(tài)),2.動(dòng)態(tài)轉(zhuǎn)儲(chǔ)(轉(zhuǎn)儲(chǔ)時(shí)仍然可以運(yùn)行事務(wù),導(dǎo)致轉(zhuǎn)儲(chǔ)完成的數(shù)據(jù)可能過時(shí),所以必須要建立日志文件,記錄轉(zhuǎn)儲(chǔ)期間的事務(wù),然后用日志事件更新數(shù)據(jù)庫(kù)到正確一致性狀態(tài))。在轉(zhuǎn)儲(chǔ)的分類下,又分為海量轉(zhuǎn)儲(chǔ),增量轉(zhuǎn)儲(chǔ),因此數(shù)據(jù)轉(zhuǎn)儲(chǔ)方法可以分為動(dòng)態(tài)海量轉(zhuǎn)儲(chǔ)、動(dòng)態(tài)增量轉(zhuǎn)儲(chǔ)、靜態(tài)海量轉(zhuǎn)儲(chǔ)、靜態(tài)增量轉(zhuǎn)儲(chǔ)。海量轉(zhuǎn)儲(chǔ)是指每次轉(zhuǎn)儲(chǔ)全部數(shù)據(jù)庫(kù),增量轉(zhuǎn)儲(chǔ)是指每次之轉(zhuǎn)出上一次更新過的數(shù)據(jù)。海量轉(zhuǎn)儲(chǔ)得到的數(shù)據(jù)庫(kù)稱為后備副本。
登記日志文件的原則:1.登記次序嚴(yán)格按照時(shí)間順序
? ? 2.必須先寫日志,后寫數(shù)據(jù)庫(kù)
事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)必須用日志文件。在動(dòng)態(tài)轉(zhuǎn)儲(chǔ)中必須建立日志文件
恢復(fù)策略
1.事務(wù)故障的恢復(fù):系統(tǒng)自動(dòng)完成(RollBack),系統(tǒng)反向掃描日志文件,并撤銷之前的執(zhí)行,直到遇到事務(wù)開始標(biāo)志結(jié)束,是針對(duì)當(dāng)前的單個(gè)事務(wù)的事務(wù)恢復(fù);
2.系統(tǒng)故障的恢復(fù):系統(tǒng)自動(dòng)完成,從頭開始讀取日志,先處理未完成事務(wù)隊(duì)列(撤銷,反向掃描),再處理已完成事務(wù)隊(duì)列(正向掃描)。
3.介質(zhì)故障的恢復(fù):先載入最近的后備副本,如果是動(dòng)態(tài)轉(zhuǎn)儲(chǔ)的,則需要轉(zhuǎn)儲(chǔ)開始時(shí)的日志,然后用恢復(fù)系統(tǒng)故障的恢復(fù)到一致性狀態(tài),靜態(tài)則不需要。然后再載入轉(zhuǎn)儲(chǔ)完成時(shí)的日志,正向掃描,重做所有已完成的事務(wù)。
具有檢查點(diǎn)的恢復(fù)技術(shù)
1.檢查點(diǎn)之前完成的事務(wù)不處理
2.檢查點(diǎn)后且在故障前完成的事務(wù)進(jìn)行重做,因?yàn)榭赡苓€未寫入數(shù)據(jù)就故障了
3.故障點(diǎn)后還未完成的事務(wù)進(jìn)行undo
28.數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)面向主題的、集成的、非易失的、且隨時(shí)間變化的數(shù)據(jù)集合;
29.uml類圖,虛線空心三角表示接口,實(shí)現(xiàn)空心三角表示繼承
30.sql中case、when語(yǔ)句,如果是簡(jiǎn)單賦值則
case sex
when '1' then '男'
when '2' then '女'
else '其他'
END
? ?如果是條件復(fù)雜或包含判斷式等,則
case
when grade beween 900 and 100 then '優(yōu)'
when grade between 80 and 89 then '良'
else '不及格'
end
update? employee
set? ? ? ? ?e_wage =
case
when? ?job_level = '1'? ? then e_wage*1.97
when? ?job_level = '2'? ?then e_wage*1.07
when? ?job_level = '3'? ?then e_wage*1.06
else? ? ?e_wage*1.05
end
31.sql自定義函數(shù)
create function dbo.myfunc(@sno char(10))
returns int as
begin
return (select)
end
32.sql架構(gòu):架構(gòu)是一些數(shù)據(jù)庫(kù)對(duì)象的集合,相當(dāng)于數(shù)據(jù)庫(kù)對(duì)象的容器,一個(gè)用戶只能擁有(對(duì)應(yīng))1個(gè)架構(gòu),但1個(gè)架構(gòu)可以被多個(gè)用戶共享。
33.sql servr agent是一個(gè)任務(wù)規(guī)劃器和警報(bào)管理器,幫助任務(wù)自動(dòng)運(yùn)行(SQL SEVER 代理(mssqlserver))
34.數(shù)據(jù)庫(kù)文件,數(shù)據(jù)庫(kù)的數(shù)據(jù)文件和日志文件最好分別存放在不同的物理磁盤上,用戶數(shù)據(jù)庫(kù)中包含很多系統(tǒng)信息,這些系統(tǒng)信息必須存儲(chǔ)在主要數(shù)據(jù)文件中,數(shù)據(jù)庫(kù)的主要數(shù)據(jù)文件必須存放在primary文件組中。
35.數(shù)據(jù)庫(kù)管理員監(jiān)控?cái)?shù)據(jù)庫(kù)不負(fù)責(zé)網(wǎng)絡(luò)情況額用戶發(fā)送的每條sql語(yǔ)句
36.數(shù)據(jù)庫(kù)性能優(yōu)化:1.增加派生性冗余列可以降低查詢過程中的計(jì)算量
? ?2.增加榮譽(yù)列可以減少查詢過程中的連接操作
? ?3.適當(dāng)降低關(guān)系模式的規(guī)范化程度,可以減少查詢過程中的join操作
? ?4.當(dāng)一個(gè)表的數(shù)據(jù)量超過一定規(guī)模時(shí),可以愛采用分割表的方法提高效率
37.OLTP,OLTP即聯(lián)機(jī)事務(wù)處理,就是我們經(jīng)常說的關(guān)系數(shù)據(jù)庫(kù),意即記錄即時(shí)的增、刪、改、查,就是我們經(jīng)常應(yīng)用的東西,這是數(shù)據(jù)庫(kù)的基礎(chǔ);
OLAP,OLAP即聯(lián)機(jī)分析處理,是數(shù)據(jù)倉(cāng)庫(kù)的核心部心,所謂數(shù)據(jù)倉(cāng)庫(kù)是對(duì)于大量已經(jīng)由OLTP形成的數(shù)據(jù)的一種分析型的數(shù)據(jù)庫(kù),用于處理商業(yè)智能、決策支持等重要的決策信息;數(shù)據(jù)倉(cāng)庫(kù)是在數(shù)據(jù)庫(kù)應(yīng)用到一定程序之后而對(duì)歷史數(shù)據(jù)的加工與分析;是處理兩種不同用途的工具而已。
38.ODBC:開放數(shù)據(jù)庫(kù)互連
39.數(shù)據(jù)倉(cāng)庫(kù)元數(shù)據(jù):對(duì)數(shù)據(jù)的描述,如數(shù)據(jù)字典,數(shù)據(jù)表結(jié)構(gòu)說明文檔。
40.數(shù)據(jù)庫(kù)拆分
水平拆分、垂直拆分
水平拆分后需要使用并操作,垂直拆分后需要使用連接操作
41.數(shù)據(jù)挖掘
42.在olap的實(shí)現(xiàn)方式中,以多維數(shù)組作為存儲(chǔ)結(jié)構(gòu)的被稱作MLOAP
43.對(duì)數(shù)據(jù)庫(kù)系統(tǒng)的監(jiān)控分為手動(dòng)監(jiān)控機(jī)制和自動(dòng)監(jiān)控機(jī)制
=====================第5套===================
1.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)包括4個(gè)層次,表示層,業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,數(shù)據(jù)持久層(物理設(shè)計(jì)方面,包含索引設(shè)計(jì))
2.在信息系統(tǒng)的需求分析中,目前廣為使用的結(jié)構(gòu)化分析與功能建模方法主要有DFD、IDEFO等。其中DFD建模方法也被稱為過程建模和功能建模方法,其核心是數(shù)據(jù)流。
3.數(shù)據(jù)庫(kù)中<>是不等號(hào),union是并集,except是差集,intersect是交集
except是指在第一個(gè)集合中存在,但是不存在于第二個(gè)集合中的數(shù)據(jù)
4.創(chuàng)建、調(diào)用存儲(chǔ)過程
5.觸發(fā)器,用for關(guān)鍵字定義的觸發(fā)器為后觸發(fā)型觸發(fā)器。inserted表用于存儲(chǔ)insert和upadate語(yǔ)句所影響行的新值得副本。delete用于存儲(chǔ)delete和update語(yǔ)句影響的舊值的副本。在update后,會(huì)產(chǎn)生inserted和deleted表,并分別存入修改后的值和修改前的值
6.什么是索引視圖
***********************重要知識(shí)點(diǎn)***********************
一、并發(fā)控制:
丟失修改、不可重復(fù)讀、讀“臟”數(shù)據(jù)是為保證事務(wù)的隔離性引起的;
鎖:x鎖和s鎖,加x鎖時(shí)不能加任何鎖,加s鎖時(shí)只能加s鎖
三級(jí)封鎖協(xié)議:一級(jí)封鎖:事務(wù)要加x鎖,解決丟失修改問題
? ? ? 二級(jí)封鎖:讀取數(shù)據(jù)時(shí)要加s鎖,讀取完后就可釋放,解決丟失修改和讀“臟”數(shù)據(jù)
? ? ? 三級(jí)封鎖:讀數(shù)據(jù)時(shí)要加s鎖,事務(wù)完成后在解鎖,解決丟失修改、不可重復(fù)讀、讀“臟”數(shù)據(jù)問題
活鎖:一個(gè)事務(wù)被插隊(duì)導(dǎo)致永遠(yuǎn)等待,解決辦法是事務(wù)先來先處理
死鎖:一次封鎖法(封鎖所有要用到的數(shù)據(jù))
順序封鎖法(預(yù)先規(guī)定封鎖順序)
將大事務(wù)切分成若干小事務(wù)
使用綁定連接
死鎖解決辦法:撤銷死鎖事務(wù)
并發(fā)調(diào)度的可串行性:可串行性是并發(fā)事務(wù)正確調(diào)度的準(zhǔn)則。
兩端鎖協(xié)議:獲得封鎖(申請(qǐng)鎖但是不能釋放任何鎖)和釋放封鎖(釋放鎖但是不能獲得任何鎖)
*沖突可串行化
二、范式
1NF:所有屬性不可再分
2NF:非主屬性必須完全依賴于碼
3NF: 非主屬性不傳遞依賴于碼(屬性不依賴與其他非主屬性)
三、SQLSEVER自定義函數(shù)
三種類型:標(biāo)量函數(shù),內(nèi)嵌表值函數(shù)、多聲明表值函數(shù)、
創(chuàng)建標(biāo)量函數(shù)
create function dbo.function_1(@Sex varchar(10)='男')
returns decimal
as
begin
declare @tmpresult?
select @tmpresult=select sage from Student where ssex=@Sex
return @tmpresult
End
創(chuàng)建內(nèi)嵌值函數(shù)
create function dbo.function_2(@Sex vatchar(10)='男')
returns table//只能返回table
as
return(select * from Student where ssex=@Sex)
創(chuàng)建多聲明表值函數(shù)
create function dbo.function_3(@Sex varchar(10)='男')
returns @table1 table(
sno varchar(20) primary key,
grade varchar(4))
as
begin
declare @gradex2
select @gradex2=grade from Student where ssex=@Sex
insert into @table1 values ('001',@gradex2)
return @table1
End
四、調(diào)優(yōu)數(shù)據(jù)庫(kù)
1.表結(jié)構(gòu)優(yōu)化,重新優(yōu)化數(shù)據(jù)庫(kù)設(shè)計(jì)結(jié)構(gòu),數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的規(guī)范化;射擊主鍵和外鍵,射擊合適大小的字段。
2.硬件優(yōu)化,增大硬盤,將硬盤做成RAID5,增加服務(wù)器個(gè)數(shù),擴(kuò)大服務(wù)器內(nèi)存。
3.索引優(yōu)化:對(duì)經(jīng)常作為條件查詢的列射擊索引,查詢警察用到的列上建立非聚簇索引,在頻繁進(jìn)行范圍查詢、排序、分組的列上建立聚簇索引,對(duì)于有頻繁進(jìn)行插入、刪除的表不要建立過多索引。
4.采用師徒,合理使用師徒和分區(qū)師徒,在需要更新和刪除不多、查詢操作頻繁的表上建立索引師徒。
5.sql語(yǔ)句優(yōu)化:擇運(yùn)算先做,擇運(yùn)算時(shí),吧想影響小的放在前,避免使用相關(guān)子查詢,應(yīng)使用連接查詢,查詢時(shí)避免select *等操作,應(yīng)需多少,提多少。采用存儲(chǔ)過程、利用存儲(chǔ)過程提高數(shù)據(jù)庫(kù)處理速度。
五、數(shù)據(jù)恢復(fù)模式:
1.簡(jiǎn)單恢復(fù)模式,不備份事務(wù)日志
2.挖不這個(gè)表格恢復(fù)模式,完整記錄所有事物,并將事務(wù)日志記錄保留到對(duì)其備份完畢為止。但相對(duì)簡(jiǎn)單恢復(fù)更占時(shí)間
3.大容量日志恢復(fù)模式,此方法只對(duì)大容量操作進(jìn)行最小記錄,使事務(wù)日志不會(huì)被大容量加載操作所填充。
六、SQLSERVER中五種約束類型,分別是主鍵約束、外鍵約束、唯一性約束、缺省約束、和檢查約束
七、OLAP的實(shí)現(xiàn)技術(shù)主要分為以下三類:①基于關(guān)系型數(shù)據(jù)庫(kù)的DLAP(ROLAP,Relational OLAP);②基于多維數(shù)據(jù)庫(kù)的OLAP(MOLAP,Multi-Dimensional OLAP);③混合型OLAP(HOLAP,Hybrid OLAP)
八、數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)邏輯設(shè)計(jì)階段工作內(nèi)容分為三部分:數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)事務(wù)概要設(shè)計(jì)、應(yīng)用程序概要設(shè)計(jì)。其中Ⅳ系統(tǒng)總體框架設(shè)計(jì)應(yīng)該屬于數(shù)據(jù)庫(kù)概念設(shè)計(jì)。
九、聲明游標(biāo)
Declare cursorname cursor for select *...
open/close cursorName
fetch next from cursorName
十、簡(jiǎn)單恢復(fù)一般建議在測(cè)試和開發(fā)數(shù)據(jù)庫(kù)。不能在生產(chǎn)系統(tǒng)環(huán)境使用。
大容量日志恢復(fù)模式一般作為完整恢復(fù)模式的附加模式。
十一、數(shù)據(jù)(表)劃分,輪轉(zhuǎn)劃分、范圍劃分、散列劃分、多維劃分。
范圍劃分(比如成績(jī)分布),散列劃分適合點(diǎn)查詢
十二、公用表表達(dá)式:with courseInfo(課程名,開課學(xué)期,選課人數(shù))as (select..........)
十三、建有唯一聚集索引的視圖稱為索引視圖
十四、將數(shù)據(jù)轉(zhuǎn)入到數(shù)據(jù)倉(cāng)庫(kù)通常需要完成的處理操作包括抽取、轉(zhuǎn)換和裝載。
十五、行為視圖包括順序圖、交互圖和狀態(tài)圖
總結(jié)
- 上一篇: 前端学习(2344):高阶组件和函数子组
- 下一篇: bt5 mysql字典,backtrac