版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
#/7主要內(nèi)容口第1章緒論口第2章關系模型口第3章結構化査詢語言-SQL口第4章并發(fā)控制口第5章數(shù)據(jù)庫設計第1章緒論口基本概念■數(shù)據(jù)庫(Database,DB):長期儲存在計算機內(nèi)、有組織的、可共享的數(shù)據(jù)集合。■數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,DBMS):是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。常用的大型數(shù)據(jù)庫管理系統(tǒng)包括DB2、SQLSERVER、Oracle、Sybase、Informix等。應用ASERVER、Oracle、Sybase、Informix等。應用A應用D|外摸式1數(shù)據(jù)庫系統(tǒng)的樓式結構應問£井蟆式制外鎖式£離式/內(nèi)棲式映能數(shù)據(jù)陽口外模式(ExternalSchema)也稱子模式或用戶模式,是把現(xiàn)實世界中的信息按照不同用戶的觀點抽象為多個邏輯數(shù)據(jù)結構,每個邏輯結構稱為一個視圖,描述了每個用戶關心的數(shù)據(jù),即數(shù)據(jù)庫用戶看見和使用的局部數(shù)據(jù)的邏輯結構和特征的描述。數(shù)據(jù)庫外模式是面向用戶的數(shù)據(jù)庫模式??跀?shù)據(jù)庫三級模式體系結構的劃分,有利于保持數(shù)據(jù)庫的數(shù)據(jù)獨立性??跀?shù)據(jù)的邏輯獨立性口數(shù)據(jù)的物理獨立性口數(shù)據(jù)模型:是現(xiàn)實世界數(shù)據(jù)特征的抽象。口概念數(shù)據(jù)模型:按用戶的觀點對數(shù)據(jù)和信息建模。如:實體聯(lián)系模型口邏輯數(shù)據(jù)模型:按計算機系統(tǒng)的觀點對數(shù)據(jù)建模。如:層次模型,網(wǎng)狀模型,關系模型口數(shù)據(jù)倉庫口數(shù)據(jù)倉庫是一個面向主題的、集成的、不可更新的、隨時間不斷變化的數(shù)據(jù)集合,用以支持企業(yè)或組織的決策分析處理??诜植际綌?shù)據(jù)庫系統(tǒng)是邏輯上屬于同一系統(tǒng),物理上分布在用計算機網(wǎng)絡連接的多個場地(或叫結點)上的數(shù)據(jù)集合,且每個場地具有獨立處理和自治能力,至少能參加一個全局應用,并由分布式數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理??诜植际綌?shù)據(jù)庫系統(tǒng)的特點:口數(shù)據(jù)獨立性;口中和自治相結合的控制機制口可控冗余口事務管理的分布性口存取效率第2章關系模型口關系模型:用二維表的形式表示實體和實體間聯(lián)系的數(shù)據(jù)模型口關系數(shù)據(jù)模型由關系數(shù)據(jù)結構、關系操作和完整性約束三部分組成。口數(shù)據(jù)完整性:是指保護數(shù)據(jù)庫中數(shù)據(jù)的正確性、有效性和相容性,防止不合語義的數(shù)據(jù)進入數(shù)據(jù)庫??陉P系模型符合1NF??诘谝环妒剑?NF)是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項???NF:不存在非主屬性部分依賴于侯選鍵的關系模式口3NF:不存在非主屬性傳遞依賴于侯選鍵的關系模式口超鍵(Superkey):在一個關系中,能唯一標識元組的屬性集。口鍵Key(候選鍵candidatekey):—個屬性集能惟一標識元組,又不含有多余屬性??谥麈I(primarykey):關系模式中用戶正在使用的候選鍵稱主鍵。用作主鍵的列不可以為NULL,在行記錄中不可以重復,可以將幾個列合并起來用作主鍵??谕怄I(ForeignKey):是指關系R中的一組屬性A不是關系R的主鍵,但A是另一個關系S的主鍵,則屬性組A就是關系R的外鍵??诶河幸粋€讀者關系,其主鍵為借書證號。另有一個借閱關系,其屬性有借書證號、總編號、借書日期等,主鍵為總編號,則借書證號為借閱關系的。口關系代數(shù):用關系的運算來表達查詢要求的方式。口并、差、交口廣義笛卡爾積口投影:是從關系R中選擇出若干屬性列組成新的關系??谶x擇:在關系R中選擇滿足給定條件的元組??谶B接:從兩個關系的笛卡兒積中選取屬性間滿足一定條件的元組??诔ǖ?章結構化查詢語言一SQL口SQL(StructuredQueryLanguage)是結構化查詢語言,包括查詢、定義、操縱和控制四個部分,是一種功能齊全的數(shù)據(jù)庫語言。目前已成為關系數(shù)據(jù)庫的標準語言。SQL功能關鍵動詞數(shù)據(jù)查詢DQL(DataQueryLanguage)SELECT數(shù)據(jù)定義DDL(DataDefinitionLanguage)CREATE,DROP,ALTER數(shù)據(jù)操縱DML(DataManipulationLanguage)INSERT,UPDATE,DELETE數(shù)據(jù)控制DCL(DataControlLanguage)GRANT,REVOKE口1.定義基本表口CREATETABLE<表名>(<列名><數(shù)據(jù)類型>[列級完整性約束條件][,<列名><數(shù)據(jù)類型>[列級完整性約束條件]...)[,<表級完整性約束條件>];口設有一個關系數(shù)據(jù)庫,有三個基本表,表結構如下:口STUDENT(學號姓名年齡性別學院號)、口SC(學號課程號成績)、口COURSE(課程號課程名學時數(shù)課程類型)口創(chuàng)建COURSE表的SQL語句口CreateTableCOURSE(課程號char(6)notnullprimarykey,課程名char(30),學時數(shù)smallint,課程類型char(10))口查詢口SELECT[ALL|DISTINCT]v目標列表達式>[,<目標列表達式>]…FROM<表名或視圖名>[,<表名或視圖名>]...[WHERE<條件表達式>][GROUPBY<列名1>[HAVING<條件表達式>]][ORDERBY<列名2>[ASC|DESC]];口GROUP:將結果按<列名1>的值進行分組,該屬性列值相等的元組為一個組,每個組產(chǎn)生結果表中的一條記錄??谌绻鸊ROUP子句帶HAVING短語,則只有滿足指定條件的組才予輸出??谌绻蠴RDER子句,則結果表還要按<列名2>的值的升序或降序排序??谑褂镁酆虾瘮?shù)口COUNT([DISTINCT|ALL]*)統(tǒng)計元組個數(shù)口COUNT([DISTINCT|ALL]<列名>)統(tǒng)計一列中值的個數(shù)口SUM([DISTINCT|ALL]<列名>)計算一列值的總和口AVG([DISTINCT|ALL]<列名>)計算一列值的平均值口MAX([DISTINCT|ALL]<列名>)求一列值中的最大值口MIN([DISTINCT|ALL]<列名>)求一列值中的最小值口客戶表CUSTOMERS(cid,cname,city,discnt)口產(chǎn)品表PRODUCTS(pid,pname,city,quantity,price)口代理商表AGENTS(aid,aname,city,percent)口訂單表ORDERS(ordno,month,cid,aid,pid,qty,dollars)口1)查詢居住在紐約的客戶的cid值和名字??赟electcid,cnamefromCUSTOMERSwherecity='NewYork';口2)查詢沒有通過代理商a01訂購過商品的顧客的cid值??赟electcidfromcustomerscwherenotexists(select*fromordersowherec.cid=o.cidandaid='a01')口客戶表CUSTOMERS(cid,cname,city,discnt)口產(chǎn)品表PRODUCTS(pid,pname,city,quantity,price)口代理商表AGENTS(aid,aname,city,percent)口訂單表ORDERS(ordno,month,cid,aid,pid,qty,dollars)口3)查詢滿足條件為某個代理商所訂購的某種產(chǎn)品的總量超過500的產(chǎn)品ID、代理商ID和總量??赟electpid,aid,sum(qty)asTOTALfromordersgroupbypid,aidhavingsum(qty)>500;口更新數(shù)據(jù)口格式為:口UPDATE<表名>口SET<列名1>=<表達式1>[,<列名2>=<表達式2>][,...n]口[WHERE<條件>];口客戶表CUSTOMERS(cid,cname,city,discnt)口產(chǎn)品表PRODUCTS(pid,pname,city,quantity,price)口代理商表AGENTS(aid,aname,city,percent)口訂單表ORDERS(ordno,month,cid,aid,pid,qty,dollars)口例:修改表PRODUCTS的數(shù)據(jù),把存放在城市Duluth或Dallas的所有產(chǎn)品的價格提高20%??赨pdateproductssetprice=1.2*pricewherecityin('duluth','dallas')口數(shù)據(jù)庫的安全性控制是指保護數(shù)據(jù)以防止未經(jīng)授權或不合法的使用造成的數(shù)據(jù)泄露更改或破壞??诒WC數(shù)據(jù)庫系統(tǒng)的安全性措施:口1)用戶標識和身份鑒定;口2)存取控制;口3)定義視圖;口4)審計;口5)數(shù)據(jù)加密??谝?、授權口grant表級權限on{表名|視圖名}to傭戶[,用戶]…|public}[withgrantoption]withgrantoption表示獲得權限的用戶可以把權限再授予其它用戶口回收權限口revoke表級權限on俵名|視圖名}from{用戶[,用戶]…|public}口例:授予用戶SQLTest對數(shù)據(jù)庫Sales的CUSTOMERS表的列cid、cname的查詢權限。口grantselectoncustomers(cid,cname)tosqltest口視圖是從一個或幾個基本表(或視圖)導出的表,它是一個虛表,只存放視圖的定義,而不存放視圖對應的數(shù)據(jù)??趦?yōu)點:口1)簡化用戶的操作;口2)使用戶能從多種角度看待同一數(shù)據(jù);口3)對重構數(shù)據(jù)庫提供了一定程度的邏輯獨立性;口4)能夠?qū)C密數(shù)據(jù)提供安全保護。口索引(INDEX)是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結構。建立索引是加快查詢速度的有效手段,用戶可以根據(jù)應用環(huán)境的需要,在基本表上建立一個或多個索引,以提供多種存取路徑,加快查找速度。口游標是系統(tǒng)為用戶開設的一個數(shù)據(jù)緩沖區(qū),存放SQL語句的執(zhí)行結果,用戶可以用SQL語句逐一從游標中獲取記錄,并賦值給主變量,交由主語言進一步處理??谝粋€SQL語句原則上可產(chǎn)生或處理一組記錄,而程序語言一次只能處理一個記錄,為此必須協(xié)調(diào)兩種處理方式,這是通過使用游標機制來解決的。口存儲過程是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)來執(zhí)行它。存儲過程有以下的優(yōu)點:口重復使用??谔岣咝阅?。存儲過程在創(chuàng)建的時候就進行了編譯,將來使用的時候不用再重新編譯??跍p少網(wǎng)絡流量。存儲過程位于服務器上,調(diào)用的時候只需要傳遞存儲過程的名稱以及參數(shù)就可以了,因此降低了網(wǎng)絡傳輸?shù)臄?shù)據(jù)量??诎踩?。參數(shù)化的存儲過程可以防止SQL注入式的攻擊,而且可以將Grant、Deny以及Revoke權限應用于存儲過程??诤瘮?shù)是由一個或多個Transact-SQL語句組成的子程序,可用于封裝代碼以便重新使用??诖鎯^程和函數(shù)的區(qū)別:口存儲過程可以返回參數(shù),而函數(shù)只能返回值或者表對象??诖鎯^程一般是作為一個獨立的部分來執(zhí)行,而函數(shù)可以作為查詢語句的一個部分來調(diào)用,由于函數(shù)可以返回一個表對象,因此它可以在查詢語句中位于FROM關鍵字的后面。口函數(shù)在系統(tǒng)啟動時就進行編譯并加載,存儲過程在調(diào)用時才加載??谟|發(fā)器是一種特殊的存儲過程,它可以在對一個表上進行INSERT、UPDATE和DELETE操作中的任一種或幾種操作時被自動調(diào)用執(zhí)行。第4章并發(fā)控制口日志文件是用來記錄事務對數(shù)據(jù)庫的更新操作的文件,在數(shù)據(jù)庫恢復中其著非常重要的作用,可以用來進行事務故障恢復和系統(tǒng)故障恢復,并協(xié)助后備副本進行介質(zhì)恢復??诓l(fā)控制口為了充分利用數(shù)據(jù)庫資源,發(fā)揮數(shù)據(jù)庫共享資源的特點,應該允許多個用戶并行地存取數(shù)據(jù)庫,但會產(chǎn)生多個用戶并發(fā)存取同一數(shù)據(jù)的情況,需要對并發(fā)操作進行控制,以防止數(shù)據(jù)庫的不一致性??诓l(fā)控制機制的好壞是衡量數(shù)據(jù)庫管理系統(tǒng)性能的重要標志之一。并發(fā)控制是以事務為單位進行的??诜怄i技術(Locking)是并發(fā)控制的主要技術,所謂封鎖就是當一個事務在對某個數(shù)據(jù)對象(可以是數(shù)據(jù)項、記錄、數(shù)據(jù)集以至整個數(shù)據(jù)庫)進行操作之前,先請求系統(tǒng)對其加鎖,成功加鎖之后該事務就對該數(shù)據(jù)對象有了控制權,只有該事務對其進行解鎖之后,其他的事務才能更新它??贒BMS普遍采用封鎖方法保證調(diào)度的正確性??谒梨i:在數(shù)據(jù)庫并發(fā)控制中,兩個或多個事務處于等待狀態(tài)??谑聞帐菙?shù)據(jù)庫的邏輯工作單位,是用戶定義的一組操作序列。在關系數(shù)據(jù)庫中,一個事務可以是一組SQL語句或整個程序。事務通常是以BEGINTRANSACTION開始,以COMMIT或ROLLBACK結束。事務應具有原子性、一致性、隔離性和持續(xù)性??谠有裕菏聞毡仨毷窃庸ぷ鲉卧?,對于其數(shù)據(jù)操作,要么全都執(zhí)行,要么全都不執(zhí)行。口一致性:事務的執(zhí)行結果必須使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。口隔離性:一個事務的執(zhí)行不能被其它事務干擾。口持續(xù)性(持久性):一旦事務成功提交,其對數(shù)據(jù)庫的更新操作將永久有效,即使數(shù)據(jù)庫發(fā)生故障??诓l(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失更新問題、不可重復讀問題和讀“臟”數(shù)據(jù)問題??冢?)丟失修改口兩個事務T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結果破壞了(覆蓋了)T1提交的結果,導致T1的修改被丟失??冢?)不可重復讀口不可重復讀是指事物T1讀取數(shù)據(jù)后,事務T2執(zhí)行更新操作,使T1無法再現(xiàn)前一次讀取結果??冢?)讀“臟”數(shù)據(jù)口讀“臟”數(shù)據(jù)是指事務T1修改某一數(shù)據(jù),并將其寫回磁盤,事務T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時T1已修改過的數(shù)據(jù)恢復原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。口避免不一致性的方法和技術就是并發(fā)控制。最常用的技術是封鎖技術??跀?shù)據(jù)庫運行中可能產(chǎn)生三種故障:口事務故障:違反完整性約束引起事務夭折;口系統(tǒng)故障:軟硬件錯誤斷電引起事務夭折;口介質(zhì)故障:磁盤損壞部分或全部數(shù)據(jù)丟失。口事務故障和系統(tǒng)故障影響事務的正常執(zhí)行,介質(zhì)故障破壞數(shù)據(jù)庫數(shù)據(jù)。口數(shù)據(jù)庫系統(tǒng)故障常用的恢復方法。口答:DBMS—般都使用數(shù)據(jù)轉(zhuǎn)儲和登錄日志文件實現(xiàn)數(shù)據(jù)庫系統(tǒng)的恢復功能。針對不同的故障,使用不同的恢復策略和方法。例如,對于事務故障的恢復是由DBMS自動完成的,對用戶是透明的??趯τ谙到y(tǒng)故障,也是由DBMS完成恢復操作,包括撤銷(UNDO)故障發(fā)生時未完成的事務,重做(REDO)已完成的事務。DBA的任務是重新啟動系統(tǒng),系統(tǒng)啟動后恢復操作就由DBMS來完成了??趯τ诮橘|(zhì)故障,則恢復方法是由DBA重裝最新的數(shù)據(jù)庫后備副本和轉(zhuǎn)儲結束時刻的日志文件副本,然后DBA啟動系統(tǒng)恢復命令,由DBMS完成恢復功能,即重做已完成的事務。口日志文件是用來記錄事
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中藥材新藥研發(fā)創(chuàng)新報告
- 2025年教育科技行業(yè)創(chuàng)新報告及AI個性化學習方案研究報告
- 2025年物流行業(yè)智慧物流創(chuàng)新報告與無人駕駛運輸技術發(fā)展分析報告
- 2025年醫(yī)療健康領域遠程醫(yī)療技術發(fā)展報告
- 2025安徽省華星公司招聘3人筆試歷年參考題庫附帶答案詳解
- 茂名2025年廣東茂名茂南區(qū)村(社區(qū))后備干部招聘筆試歷年參考題庫附帶答案詳解
- 宿遷宿遷市公安局公開招聘輔警筆試歷年參考題庫附帶答案詳解
- 2026年及未來5年中國寵物智能穿戴設備行業(yè)市場調(diào)研分析及投資戰(zhàn)略咨詢報告
- 2026廣東佛山市人民政府辦公室選調(diào)公務員2人筆試模擬試題及答案解析
- 2026年及未來5年中國家用智能清潔機器人行業(yè)市場運營現(xiàn)狀及投資規(guī)劃研究建議報告
- 租地合同協(xié)議書合同
- 《肺炎的CT表現(xiàn)》課件
- 糧食倉儲設施建設維修資金申請報告
- 腦器質(zhì)性精神障礙護理查房
- 中考英語聽力命題研究與解題策略省公開課金獎全國賽課一等獎微課獲獎課件
- 物聯(lián)網(wǎng)智能家居設備智能控制手冊
- 2023-2024學年湖北省武漢市東西湖區(qū)五年級(上)期末數(shù)學試卷(含答案)
- 懷化市2024-2025學年高一上學期期末地理試題(含答案解析)
- 全國班主任比賽一等獎《班主任經(jīng)驗交流》課件
- 偽裝防護基礎知識
- 四川省成都市2024年七年級上學期期末數(shù)學模擬試卷6套【附參考答案】
評論
0/150
提交評論