計算機等級考試三級數據庫技術常用名詞解釋
◆ 1:1聯系:如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯系,反之亦然,好么實體集E1對E2的聯系稱為“一對一聯系”,記為“1:1”。
◆ 1:N聯系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯系,而E2中每個實體至多和E1中的一個實體有聯系,那么E1對E2的聯系是“一對多聯系”,記為“1:N”。
◆ M:N聯系:如果實體集E1中每個實體與實體集E2中任意個(零個或多個)實體有聯系,反之亦然,那么E1對E2的聯系是“多對多聯系”,記為“M:N”。
◆ 數據模型:表示實體類型及實體類型間聯系的模型稱為“數據模型”。它可分為兩種類型:概念數據模型和結構數據模型。
◆ 概念數據模型:它是獨門于計算機系統的模型,完全不涉及信息在系統中的表示,只是用來描述某個特定組織所關心的信息結構。
◆ 結構數據模型:它是直接面向數據庫的邏輯結構,是現實世界的第二層抽象。這類模型涉及到計算機系統和數據庫管理系統,所以稱為“結構數據模型”。結構數據模型應包含:數據結構、數據操作、數據完整性約束三部分。它主要有:層次、網狀、關系三種模型。
◆ 層次模型:用樹型結構表示實體間聯系的數據模型
◆ 網狀模型:用有向圖結構表示實體類型及實體間聯系的數據模型。
◆ 關系模型:是由若干個關系模式組成的集合,其主要特征是用二維表格結構表達實體集,用外鍵表示實體間聯系。
◆ 概念模式:是數據庫中全部數據的整體邏輯結構的描述。它由若干個概念記錄類型組成。概念模式不僅要描述概念記錄類型,還要描述記錄間的聯系、操作、數據的完整性、安全性等要求。
◆ 外模式:是用戶與數據庫系統的接口,是用戶用到的那部分數據的描述。
◆ 內模式:是數據庫在物理存儲方面的描述,定義所有的內部記錄類型、索引和文件的組成方式,以及數據控制方面的細節。
模式/內模式映象:這個映象存在于概念級和內部級之間,用于定義概念模式和內模式間的對應性,即概念記錄和內部記錄間的對應性。此映象一般在內模式中描述。
◆ 外模式/模式映象:這人映象存在于外部級和概念級之間,用于定義外模式和概念模式間的對應性,即外部記錄和內部記錄間的對應性。此映象都是在外模式中描述。
◆ 數據獨立性:在數據庫技術中,數據獨立性是指應用程序和數據之間相互獨立,不受影響。數據獨立性分成物理數據獨立性和邏輯數據獨立性兩級。
◆ 物理數據獨立性:如果數據庫的內模式要進行修改,即數據庫的存儲設備和存儲方法有所變化,那么模式/內模式映象也要進行相應的修改,使概念模式盡可能保持不變。也就是對模式的修改盡量不影響概念模式。
◆ 邏輯數據獨立性:如果數據庫的概念模式要進行修改(如增加記錄類型或增加數據項),那么外模式/模式映象也要進行相應的修改,使外模式盡可能保持不變。也就是對概念模式的修改盡量不影響外模式和應用程序。
◆ 宿主語言:編寫應用程序的語言(即高級程序設計語言)在數據庫技術中稱為宿主語言(host language),簡稱主語言。
◆ DDL:數據定義語言(Data Definition Language),用于定義數據庫的三級結構,包括外模式、概念模式、內模式及其相互之間的映象,定義數據的完整性、安全控制等約束。
◆ DML:數據操縱語言(Data Manipulation Language),用于讓用戶或程序員使用,實現對數據庫中數據的操作。基本的數據操作分成兩類四種:檢索(查詢)和更新(插入、刪除、修改)。DML分成交互型DML和嵌入型DML兩類。依據語言的級別,DML又可分成過程性DML和非過程性DML兩種。
◆ 交互型DML:這類DML自成系統,可在終端上直接對數據庫進行操作。
◆ 嵌入型DML:這類DML是嵌入在主語言中使用。此時主語言是經過擴充能處理DML語句的語言。
◆ 過程性DML:用戶編程時,不僅需要指出“做什么”(需要什么樣的數據),還需要指出“怎么做”(怎么獲得數據)。層狀、網狀的DML屬于過程性語言。
◆ 非過程性DML:用戶編程時,只需要指出“做什么”,不需要指出“怎么做”。關系型DML屬于非過程性語言。
◆ DD:數據字典(Data Dictionary),數據庫系統中存放三級結構定義的數據庫稱為數據字典。(通常DD還存放數據庫運行時的統計信息)
◆ DD系統:管理DD的實用程序稱為“DD系統”。
◆集中式DBS:是指數據庫中的數據集中存儲在一臺計算機上,數據的處理集中在一臺計算機上完成。
◆分布式DBS:是指數據存放在計算機網絡的不同場地的計算機中,每一場地都有自治處理能力并完成局部應用;而每一場地也參與(至少一種)全局應用程序的執行,全局應用程序可通過網絡通信訪問系統中的多個場地的數據。
◆分布式DB:是指計算機網絡環境中各場地上數據庫的邏輯集合。
◆分布式DBMS:是指分布式數據庫系統中的一組軟件,它負責管理分布環境下邏輯集成數據的存取、一致性、有效性和完備性。同時由于數據的分布性,在管理機制還必須具有計算機網絡通信協議上的分布管理特性。
◆局部自治性:是指有獨立處理能力并能完成的局部應用。
◆數據分配(數據分布):是指數據計算機網絡各場地上的分配策略。
◆數據復制:是指數據在每個場地重復存儲。
◆數據分片:是指分布式數據庫中的數據可以被復制在網絡場地的各個物理數據庫中,數據分片是通過關系代數的基本運算實現的。
◆水平分片:是指按一定條件把全局關系的所有元組劃分成若干不相交的子集,每個子集為關系的一個片段。
◆垂直分片:把一個全局關系的屬性集分成若干子集,并在這些子集上做投影運算,每個投景為垂直分片。
◆分布透明性:指用戶不必關系數據的邏輯分片,不必關系數據物理位置的細節,也不改善各個數據庫的數據模型。
◆分片透明性:分片透明性是最高層次的分布透明性,即用戶或應用程序只對全局關系進行操作而不必考慮數據的分片。
◆位置透明性:是指用戶或應用程序應當了解分片情況,但不必了解片段的存儲場地。位置透明性位于分片視圖與分配視圖之間。
◆局部數據模型透明性:這個透明性位于分配視圖與局部概念視圖之間,指用戶或應用程序要了解分片及各片段存儲的場地,但不必了解局部場地上使用的是何種數據模型。
◆復制透明性:即用戶不必關系數據庫在網絡中各個結點的數據庫復制情況,更新操作引起的波及由系統去處理。
◆ SQL模式:基本表的集合定義為SQL模式。一個SQL模式(即"數據庫模式")由模式名和模式擁有者的用戶名或賬號來確定,并包含模式中每一個元素(基本表、視圖、索引等)的定義。
◆ SQL數據庫:SQL(Structured Query
Language),即‘結構式查詢語言’,采用英語單詞表示和結構式的語法規則。一個SQL數據庫是表的匯集,它用一個或多個SQL模式定義。
◆ 基本表:在SQL中,把傳統的關系模型中的關系模式稱為基本表(Base
Table),基本表是本身獨立的表,一個關系就對應一個基本表。
◆ 存儲文件:在SQL中,把傳統的關系模型中的存儲模式稱為存儲文件(Stored File)。
◆ 視圖:在SQL中,把傳統的關系模型中的子模式稱為視圖(View),視圖是從一個或多個基本表導出的表。
◆ 行:在SQL中,把傳統的關系模型中的元組稱為行(row)。
◆ 列:在SQL中,把傳統的關系模型中的屬性稱為列(coloumn)。
◆ 實表:基本表就被稱為實表,它是實際存放在數據庫中的表。
◆ 虛表:視圖就被稱為虛表,因為在數據庫中只存儲視圖的定義而不存放視圖所對應的數據。
◆ 相關子查詢:在嵌套查詢中,內層查詢稱為‘相關子查詢’,子查詢中查詢條件依賴于外層查詢中的某個值,所以子查詢的處理不只一次,要反復求值,以供外層查詢使用。
◆ 聯接查詢:查詢時先對表進行笛卡爾積操作,然后再做等值聯接、選擇、投影等操作。聯接查詢的效率比嵌套查詢低。
◆ 交互式SQL:在終端交互方式下使用的SQL語言稱為交互式SQL。
◆ 嵌入式SQL:嵌入在高級語言的程序中使用的SQL語言稱為嵌入式SQL。
◆ 共享變量:在嵌入的SQL語句中引用宿主語言的程序變量稱為共享變量。
◆ 游標:游標是與某一查詢結果相聯系的符號名,用于把集合操作轉換成單記錄處理方式。
◆ 卷游標:卷游標在推進時不但能沿查詢結果中元組順序從頭到尾一行行推進,也能一行行返回(而游標是不能返回的)。
◆函數依賴:FD(function dependency),設有關系模式R(U),X,Y是U的子集,r是R的任一具體關系,如果對r的任意兩個元組t1,t2,由t1[X]=t2[X]導致t1[Y]=t2[Y],則稱X函數決定Y,或Y函數依賴于X,記為X→Y。X→Y為模式R的一個函數依賴。
◆函數依賴的邏輯蘊涵:設F是關系模式R的一個函數依賴集,X,Y是R的屬性子集,如果從F中的函數依賴能夠推出X→Y,則稱F邏輯蘊涵X→Y,記為F|=X→Y。
◆部分函數依賴:即局部依賴,對于一個函數依賴W→A,如果存在X W(X包含于W)有X→A成立,那么稱W→A是局部依賴,否則稱W→A為完全依賴。
◆完全函數依賴:見上。
◆傳遞依賴:在關系模式中,如果Y→X,X→A,且X→(表示不決定)Y,和A X(A不屬于X),那么稱Y→A是傳遞依賴。
◆函數依賴集F的閉包F+:被邏輯蘊涵的函數依賴的全體構成的集合,稱為F的閉包(closure),記為F+。
◆1NF:第一范式。如果關系模式R的所有屬性的值域中每一個值都是不可再分解的值,則稱R是屬于第一范式模式。如果某個數據庫模式都是第一范式的,則稱該數據庫存模式屬于第一范式的數據庫模式。
第一范式的模式要求屬性值不可再分裂成更小部分,即屬性項不能是屬性組合和組屬性組成。
◆2NF:第二范式。如果關系模式R為第一范式,并且R中每一個非主屬性完全函數依賴于R的某個候選鍵,則稱是第二范式模式;如果某個數據庫模式中每個關系模式都是第二范式的,則稱該數據庫模式屬于第二范式的數據庫模式。(注:如果A是關系模式R的候選鍵的一個屬性,則稱A是R的主屬性,否則稱A是R的非主屬性。)
◆3NF:第三范式。如果關系模式R是第二范式,且每個非主屬性都不傳遞依賴于R的候選鍵,則稱R是第三范式的模式。如果某個數據庫模式中的每個關系模式都是第三范式,則稱為3NF的數據庫模式。
◆BCNF:BC范式。如果關系模式R是第一范式,且每個屬性都不傳遞依賴于R的候選鍵,那么稱R是BCNF的模式。
◆4NF:第四范式。設R是一個關系模式,D是R上的多值依賴集合。如果D中成立非平凡多值依賴X→→Y時,X必是R的超鍵,那么稱R是第四范式的模式。
◆推理規則的正確性和完備性:正確性是指,如果X→Y是從推理規則推出的,那么X→Y在F+中。完備性是指,不能從F使用推理規則導出的函數依賴不在F+中。
◆依賴集的覆蓋和等價:關系模式R(U)上的兩個函數依賴集F和G,如果滿足F+=G+,則稱F和G是等價的。如果F和G等價,則可稱F覆蓋G或G覆蓋F。
◆最小依賴集:如果函數集合F滿足以下三個條件:(1)F中每個函數依賴的右部都是單屬性;(2)F中的任一函數依賴X→A,其F-{X→A}與F是不等價的;(3)F中的任一函數依賴X→A,Z為X的子集。(F-{X→A}∪{Z→A}與F不等價。則稱F為最小函數依賴集合,記為Fmin。
◆無損聯接:設R是一關系模式,分解成關系模式ρ={R1,R2...,Rk},F是R上的一個函數依賴集。如果對R中滿足F的每一個關系r都有r=πR1(r)|X|πR2(r)|X|...|X|πRk(r)則稱這個分解相對于F是"無損聯接分解"。
◆保持依賴集:所謂保持依賴就是指關系模式的函數依賴集在分解后仍在數據庫中保持不變,即關系模式R到ρ={R1,R2,...,Rk}的分解,使函數依賴集F被F這些Ri上的投影蘊涵。
◆多值依賴:設R(U)是屬性集U上的一個關系模式,X,Y,Z是U的子集,并且Z=U-X-Y,用x,y,z分別代表屬性集X,Y,Z的值,只要r是R的關系,r中存在元組(x,y1,z1)和(x,y2,z2)時,就也存在元組(x,y1,z2)和(x,y2,z1),那么稱多值依賴(MultiValued Dependency MVD) X→→Y在關系模式R中成立。
◆數據庫設計:數據庫設計是指對一個給定的應用環境,提供一個確定最優數據模型與處理模式的邏輯設計,以及一個確定數據庫存儲結構與存取方法的物理設計,建立起既能反映現實世界信息和信息聯系,滿足用戶數據要求和加工要求,以能被某個數據庫管理系統所接受,同時能實現系統目標,并有效存取數據的數據庫。
◆數據庫工程:數據庫應用系統的開發就是數據庫工程,它是一項軟件工程,但有其自身的特點。
◆評審:是指為了確認某一階段的任務是否全部完成,避免重大的疏漏或錯誤的評價和審查工作。其目的是要盡早發現系統中設計中的錯誤,并在生存期的早期階段給予糾正,以減少系統研制的成本。
◆數據字典:是對系統中數據的詳盡描述,它提供對數據庫數據描述的集中管理。它的處理功能是存儲和檢索元數據,并且為數據庫管理員提供有關的報告。對數據庫設計來說,數據字典是進行詳細的數據收集和數據分析所獲得的主要成果。主要包括四個部分:數據項、數據結構、數據流、數據存儲。
◆事務:事務是指一個操作序列,這些操作要么什么都做,要么都不做,是一個不可分割的工作單位,是數據庫環境中的邏輯工作單位,相當于操作系統環境下的"進程"概念。
◆封鎖:封鎖就是事務可以向系統發出請求,對某個數據對象加鎖,此事務對這個數據對象有一定控制,而其他事務則不能更新數據直到事務釋放它的鎖為止。
◆X封鎖:一個事務對某數據加鎖后,其他事務就不得再對這個數據對象加鎖,稱為排他型封鎖即X封鎖。
◆PX協議:任何企圖更新記錄R的事務必須先執行LOCK X(R)操作,以獲得對該記錄進行尋址的能力,并對它取得X封鎖。如果未獲得X封鎖,那么這個事務進入等待狀態,一直到獲準X封鎖,事務繼續進行。
◆PXC協議:它由PX協議及一條規則"X封鎖必須保留到事務終點(COMMIT或ROLLBACK)"組成。即任何企圖更新記錄R的事務必須先執行LOCK X(R)操作,以獲得對該記錄進行尋址的能力,并對它取得X封鎖,如果未獲得X封鎖,那么這個事務進入等待狀態,一直到上一事務到終點,事務才繼續進行。
◆活鎖:是指某個事務永遠處于等待狀態,得不到執行的現象。
◆死鎖:有兩個或以上的事務處于等待狀態,每個事務都在等待另一個事務解除封鎖,它才能繼續執行下去,結果任何一個事務都無法執行,這種現象就是死鎖。
◆串行調度:事務的依次執行稱為串行調度。
◆并發調度:利用分時的方法,同時處理多個事務,稱為事務的并發調度。
◆可串行化調度:對于事務集(T<1>,T<2>,…,T),如果一個并發調度的結果與一個串行調度等價,則稱此調度是是可串行化調度。
◆不可串行化調度:對于某事務集的一個并發調度結果如果與任一串行調度均不等價,則該調度是不可串行化調度。
◆S封鎖:共享型封鎖,是一種讀操作鎖,若事務T對數據加上S鎖,則其他事務只能在此數據對象上加S鎖,而不參加X鎖,直到事務T釋放了數據對象上的S鎖為止。
◆PS協議:任何要更新記錄R的事務必須先執行LOCK
S(R)操作,以獲得對該記錄尋址的能力并對它取得S封鎖。如果未獲準S封鎖,那么這個事務進入等待狀態,一直到獲準S封鎖,事務才繼續進行下去。當事務獲準對記錄R的要封鎖后,在記錄R修改前必須把S封鎖升級為X封鎖。
◆PSC協議:任何更新記錄R的事務必須先執行LOCK S(R)操作,以獲得對該記錄尋址的能力并對它取得S封鎖。如果未獲準S封鎖,那么這個事務進入等待狀態,一直到獲準S封鎖,事務才繼續進行下去。并將S封鎖保持到事務終點。
◆兩段封鎖協議:在對任何數據進行讀寫操作之前,事務首先要獲得對該數據的封鎖;在釋放一個封鎖之后,事務不再獲得任何其他封鎖。
◆關系模型:用二維表格結構表示實體集,外鍵表示實體間聯系的數據模型稱為關系模型。關系模型是由若干個關系模式組成的集合。
◆關系模式:關系模式實際上就是記錄類型。它包括:模式名,屬性名,值域名以及模式的主鍵。關系模式僅是對數據特性的描述。
◆關系實例:就是一個關系,即一張二維表格。
◆屬性:在關系模型中,字段稱為屬性。
◆域:在關系中,每一個屬性都有一個取值范圍,稱為屬性的值域。
◆元組:在關系中,記錄稱為元組。
◆超鍵:在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。(注意,超鍵是一個屬性集)
◆候選鍵:不含有多余屬性的超鍵稱為候選鍵。
◆主鍵:用戶選作元組標識的一個候選鍵為主鍵。
◆外鍵:某個關系的主鍵相應的屬性在另一關系中出現,此時該主鍵在就是另一關系的外鍵,如有兩個關系S和SC,其中S#是關系S的主鍵,相應的屬性S#在關系SC中也出現,此時S#就是關系SC的外鍵。
◆實體完整性規則:這條規則要求關系中元組在組成主鍵的屬性上不能有空值。如果出現空值,那么主鍵值就起不了唯一標識元組的作用。
◆參照完整性規則:這條規則要求“不引用不存在的實體”。其形式定義如下:如果屬性集K是關系模式R1的主鍵,K也是關系模式R2的外鍵,那么R2的關系中,K的取值只允許有兩種可能,或者為空值,或者等于R1關系中某個主鍵值。
這條規則在使用時有三點應注意:
1)外鍵和相應的主鍵可以不同名,只要定義在相同值域上即可。
2)R1和R2也可以是同一個關系模式,表示了屬性之間的聯系。
3)外鍵值是否允許空應視具體問題而定。
◆過程性語言:在編程時必須給出獲得結果的操作步驟,即“干什么”和“怎么干”。如Pascal和C語言等。
◆非過程性語言:編程時只須指出需要什么信息,不必組出具體的操作步驟的語言,各種關系查詢語言均屬于非過程性語言。
◆無限關系:當一個關系中存在無窮多個元組時,此關系為無限關系。如元組表達式{t|┐R(t)}表示所有不在關系R中的元組的集合,這是一個無限關系。
◆無窮驗證:在驗證公式時需對無窮多個元組進行驗證就是無窮驗證。如驗證公式(∨u)(P(u))的真假時需對所有的元組u進行驗證,這是一個無窮驗證的問題。