freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

oracle培訓教材2(編輯修改稿)

2025-05-03 00:43 本頁面
 

【文章內容簡介】 控制必須維護的列之間的關系。包含在引用完整性約束定義的列或組列稱為外來碼。由外來碼所引用的表中的唯一碼或方碼,稱為引用碼。包含有外來碼的表稱為子表或從屬表。由子表的外來碼所引用的表稱為雙親表或引用表。如果對表的每一行,其外來碼的值必須與主碼中一值相匹配,則需指定引用完整性約束。l CHECK約束:表的每行對一指定的條件必須是TRUE或未知,則需在一列或列組上指定CHECK完整性約束。如果在發(fā)出一個DML語句時,CHECK約束的條件計算得FALSE時,該語句被回滾。2. 數(shù)據(jù)庫觸發(fā)器ORACLE允許定義過程,當對相關的表作INSERT、UPDATE或DELETE語句時,這些過程被隱式地執(zhí)行。這些過程稱為數(shù)據(jù)庫觸發(fā)器。觸發(fā)器類似于存儲的過程,可包含SQL語句和PL/SQL語句,可調用其它的存儲過程。過程與觸發(fā)器差別在于調用方法:過程由用戶或應用顯式執(zhí)行;而觸發(fā)器是為一激發(fā)語句 (INSERT、UPDATE、DELETE)發(fā)出進由ORACLE隱式地觸發(fā)。一個數(shù)據(jù)庫應用可隱式地觸發(fā)存儲在數(shù)據(jù)庫中多個觸發(fā)器。在許多情況中觸發(fā)器補充ORACLE的標準功能,提供高度專用的數(shù)據(jù)庫管理系統(tǒng)。一般觸發(fā)器用于:l 自動地生成導出列值。l 防止無效事務。l 實施復雜的安全審核。l 在分布式數(shù)據(jù)庫中實施跨結點的引用完整性。l 實施復雜的事務規(guī)則。l 提供透明的事件記錄。l 提供高級的審計。l 維護同步的表副本。l 收集表存取的統(tǒng)計信息。注意:在ORACLE環(huán)境中利用ORACLE工具SQL*FORMS也可定義、存儲和執(zhí)行觸發(fā)器,它作為由SQL*FORMS所開發(fā)有應用的一部分,它與在表上定義的數(shù)據(jù)庫觸發(fā)器有差別。數(shù)據(jù)庫觸發(fā)器在表上定義,存儲在相關的數(shù)據(jù)庫中,在對該表發(fā)出IMSERT、UPDATE、DELETE語句時將引起數(shù)據(jù)庫觸發(fā)器的執(zhí)行,不管是哪些用戶或應用發(fā)出這些語句。而SQL*FORMS的觸發(fā)器是SQL*FORMS應用的組成,僅當在指定SQL*FORMS應用中執(zhí)行指定觸發(fā)器點時才激發(fā)該觸發(fā)器。一個觸發(fā)器由三部分組成:觸發(fā)事件或語句、觸發(fā)限制和觸發(fā)器動作。觸發(fā)事件或語句是指引起激發(fā)觸發(fā)器的SQL語句,可為對一指定表的INSERT、UNPDATE或DELETE語句。觸發(fā)限制是指定一個布爾表達式,當觸發(fā)器激以時該布爾表達式是必須為真。觸發(fā)器作為過程,是PL/SQL塊,當觸發(fā)語句發(fā)出、觸發(fā)限制計算為真時該過程被執(zhí)行。3. 并發(fā)控制數(shù)據(jù)庫是一個共享資源,可為多個應用程序所共享。這些程序可串行運行,但在許多情況下,由于應用程序涉及的數(shù)據(jù)量可能很大,常常會涉及輸入/輸出的交換。為了有效地利用數(shù)據(jù)庫資源,可能多個程序或一個程序的多個進程并行地運行,這就是數(shù)據(jù)庫的并行操作。在多用戶數(shù)據(jù)庫環(huán)境中,多個用戶程序可并行地存取數(shù)據(jù)庫,如果不對并發(fā)操作進行控制,會存取不正確的數(shù)據(jù),或破壞數(shù)據(jù)庫數(shù)據(jù)的一致性。例:在飛機票售票中,有兩個訂票員(T1,T2)對某航線(A)的機動性票作事務處理,操作過程如圖所示:數(shù)據(jù)庫中的A111100T1 READ AA:=A1 WRITE AT2 READ AA:=A1 WRITE AT1工作區(qū)中的A110000T2工作區(qū)中的A11000首先T1讀A,接著T2也讀A。然后T1將其工作區(qū)中的A減1,T2也采取同樣動作,它們都得0值,最后分別將0值寫回數(shù)據(jù)庫。在這過程中沒有任何非法操作,但實際上多出一張機票。這種情況稱為數(shù)據(jù)庫的不一致性,這種不一致性是由于并行操作而產生的。所謂不一致,實際上是由于處理程序工作區(qū)中的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)不一致所造成的。如果處理程序不對數(shù)據(jù)庫中的數(shù)據(jù)進行修改,則決不會造成任何不一致。另一方面,如果沒有并行操作發(fā)生,則這種臨時的不一致也不會造成什么問題。數(shù)據(jù)不一致總是是由兩個因素造成:一是對數(shù)據(jù)的修改,二是并行操作的發(fā)生。因此為了保持數(shù)據(jù)庫的一致性,必須對并行操作進行控制。最常用的措施是對數(shù)據(jù)進行封鎖。1) 數(shù)據(jù)庫不一致的類型l 不一致性在一事務期間,其它提交的或未提交事務的修改是顯然的,以致由查詢所返回的數(shù)據(jù)集不與任何點相一致。l 不可重復讀在一個事務范圍內,兩個相同查詢將返回不同數(shù)據(jù),由于查詢注意到其它提交事務的修改而引起。l 讀臟數(shù)據(jù)如果事務T1將一值(A)修改,然后事務T2讀該值,在這之后T1由于某種原因撤銷對該值的修改,這樣造成T2讀取的值是臟的。l 丟失更改在一事務中一修改重寫另一事務的修改,如上述飛機票售票例子。l 破壞性的DDL操作在一用戶修改一表的數(shù)據(jù)時,另一用戶同時更改或刪除該表。1) 封鎖在多用戶數(shù)據(jù)庫中一般采用某些數(shù)據(jù)封鎖來解決并發(fā)操作中的數(shù)據(jù)一致性和完整性問題。封鎖是防止存取同一資源的用戶之間破壞性的干擾的機制,該干擾是指不正確地修改數(shù)據(jù)或不正確地更改數(shù)據(jù)結構。在多用戶數(shù)據(jù)庫中使用兩種封鎖:排它(專用)封鎖和共享封鎖。排它封鎖禁止相關資源的共享,如果一事務以排它方式封鎖一資源,僅僅該事務可更改該資源,直至釋放排它封鎖。共享封鎖允許相關資源可以共享,幾個用戶可同時讀同一數(shù)據(jù),幾個事務可在同一資源上獲取共享封鎖。共享封鎖比排它封鎖具有更高的數(shù)據(jù)并行性。在多用戶系統(tǒng)中使用封鎖后會出現(xiàn)死鎖,引起一些事務不能繼續(xù)工作。當兩個或多個用戶彼此等待所封鎖數(shù)據(jù)時可發(fā)生死鎖。2) ORACLE多種一致性模型。ORACLE利用事務和封鎖機制提供數(shù)據(jù)并發(fā)存取和數(shù)據(jù)完整性。在一事務內由語句獲取的全部封鎖在事務期間被保持,防止其它并行事務的破壞性干擾。一個事務的SQL語句所作的修改在它提交之后所啟動的事務中才是可見的。在一事務中由語句所獲取的全部封鎖在該事務提交或回滾時被釋放。ORACLE在兩個不同級上提供讀一致性:語句級讀一致性和事務級一致性。ORCLE總是實施語句級讀一致性,保證單個查詢所返回的數(shù)據(jù)與該查詢開始時刻相一致。所以一個查詢從不會看到在查詢執(zhí)行過程中提交的其它事務所作的任何修改。為了實現(xiàn)語句級讀一致性,在查詢進入執(zhí)行階段時,在注視SCN的時候為止所提交的數(shù)據(jù)是有效的,而在語句執(zhí)行開始之后其它事務提交的任何修改,查詢將是看不到的。ORACLE允許選擇實施事務級讀一致性,它保證在同一事務內所有查詢的數(shù)據(jù) 4) 封鎖機制ORACLE自動地使用不同封鎖類型來控制數(shù)據(jù)的并行存取,防止用戶之間的破壞性干擾。ORACLE為一事務自動地封鎖一資源以防止其它事務對同一資源的排它封鎖。在某種事件出現(xiàn)或事務不再需要該資源時自動地釋放。ORACLE將封鎖分為下列類:l 數(shù)據(jù)封鎖:數(shù)據(jù)封鎖保護表數(shù)據(jù),在多個用戶并行存取數(shù)據(jù)時保證數(shù)據(jù)的完整性。數(shù)據(jù)封鎖防止相沖突的DML和DDL操作的破壞性干擾。DML操作可在兩個級獲取數(shù)據(jù)封鎖:指定行封鎖和整個表封鎖,在防止沖突的DDL操作時也需表封鎖。當行要被修改時,事務在該行獲取排它數(shù)據(jù)封鎖。表封鎖可以有下列方式:行共享、行排它、共享封鎖、共享行排它和排它封鎖。l DDL封鎖(字典封鎖)D
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1