前端開發(fā)關系數(shù)據(jù)庫_第1頁
前端開發(fā)關系數(shù)據(jù)庫_第2頁
前端開發(fā)關系數(shù)據(jù)庫_第3頁
前端開發(fā)關系數(shù)據(jù)庫_第4頁
前端開發(fā)關系數(shù)據(jù)庫_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關系數(shù)據(jù)庫

版本管理修改記錄

審核記錄版本號.作者描述修改日期V01歐湘平FirstDraft20121121版本號.職務簽名修改日期學習目標掌握關系、關系模式、關系數(shù)據(jù)庫等基本概念掌握關系的三類完整性的含義掌握關系代數(shù)運算主要內容

關系模型的基本概念RDBS的數(shù)據(jù)操縱語言:關系代數(shù)RDBS的數(shù)據(jù)操縱語言:關系演算語言關系模型的基本概念關系數(shù)據(jù)模型組成3要素1.關系數(shù)據(jù)結構

一張邏輯結構單一的二維表。2.關系操作集合

操作的對象和結果都是集合。3.關系完整性約束

數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實中應用需求的相容性和正確性。

數(shù)據(jù)庫內數(shù)據(jù)之間的相容性和正確性。層次、網狀數(shù)據(jù)庫是面向專業(yè)人員的,使用很不方便。程序員必須經過良好的培訓,對所使用的系統(tǒng)有深入的了解才能用好系統(tǒng)。關系數(shù)據(jù)庫就是要解決這一問題,使它成為面向用戶的系統(tǒng)。關系數(shù)據(jù)庫是應用數(shù)學方法來處理數(shù)據(jù)的。它具有結構簡單、理論基礎堅實、數(shù)據(jù)獨立性高以及提供非過程性語言等優(yōu)點。關系模型的基本概念關系的數(shù)學定義

域(Domain):值的集合。它們具有相同的數(shù)據(jù)類型,語義上通常指某一對象的取值范圍。例如:全體整數(shù),

0到100之間的整數(shù),長度不超過10的字符串集合

笛卡爾積(CartesianProduct):設D1、D2、…、Dn是n個域,則它們的笛卡爾積為 D1

D2

Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}

其中每一個元素稱為一個n元組(n-tuple),簡稱元組;

元組中的每個值di稱為一個分量(component).關系模型的基本概念笛卡爾積可以寫成一個二維表例如:設D1={張三,李四},

D2={數(shù)學,語文},

D3={優(yōu),良}則D1×D2×D3可用二維表表示為:張三數(shù)學優(yōu)張三數(shù)學良張三語文優(yōu)張三語文良李四數(shù)學優(yōu)李四數(shù)學良李四語文優(yōu)李四語文良

關系(Relation)笛卡爾積D1

D2

Dn的子集合,記作

R(D1,D2,…,Dn)關系名n為關系的目或度關系模型的基本概念

說明關系是一個二維表。每行對應一個元組。每列可起一個名字,稱為屬性。屬性的取值范圍為一個域,元組中的一個屬性值是一個分量。

關系的性質

列是同質的,即每列中的數(shù)據(jù)必須來自同一個域每一列必須是不可再分的數(shù)據(jù)項(不允許表中套表,即滿足第一范式)不能有相同的行行、列次序無關關系模型的基本概念關系模型三部分:關系數(shù)據(jù)結構、關系操作集合、關系的完整性數(shù)據(jù)結構單一的數(shù)據(jù)結構:關系(二維表)

不論是實體還是實體間的聯(lián)系都用關系表示。實體值關系的元組,在關系數(shù)據(jù)庫中通常稱為記錄屬性值元組的分量,在關系數(shù)據(jù)庫中通常稱為字段關鍵字(碼):唯一標識一個元組的屬性組

關鍵字可以有多個,統(tǒng)稱候選關鍵字。在使用時,通常選定一個作為主關鍵字。主關鍵字的諸屬性稱為主屬性,其它為非主屬性。關系模型的基本概念關系數(shù)據(jù)庫模式:對關系數(shù)據(jù)庫的描述,包括域的定義及在域上定義的所有關系模式。關系數(shù)據(jù)庫:所有實體及實體間聯(lián)系的關系的集合。是某時刻所有關系模式對應的關系的集合。關系模式:關系的描述。包括關系名、諸屬性名、屬性向域的映象、屬性間的依賴。關系的型一個元組為關系的一個值表示:R(U,D,dom,F(xiàn))屬性的類型、長度等值型關系模型的基本概念關系的三種類型基本關系:客觀存在的基本表查詢表:由基本表按一定條件檢索得到的結果視圖(View):從一個或多個基本關系上導出的關系。它不對應實際的存儲數(shù)據(jù),是一個虛關系,然而可永久存在。相當于關系模型的外模式。

由于二維表的存儲策略非常簡單,關于數(shù)據(jù)庫的物理存儲完全由DBMS自動完成。因此,在關系模型中不需要與內模式相應的概念。關系簡單嗎?關系模型的基本概念關系操作種類:選擇、投影、連接、除、并、交、差增加、刪除、修改查詢操作維護操作一次一集合(關系型)一次一記錄(非關系型)2、非過程化語言:用戶只需告訴做什么(What)不需告訴怎么做(How)

3、數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)控制語言集成在一起DDLDMLDCL:權限控制、完整性控制等特點:

1、集合操作,一次操作可存取多個元組關系模型的基本概念關系模型的三類完整性

實體完整性(EntityIntegrity)

基本關系的所有主屬性不能取空值原因:基本關系

實體集實體必可區(qū)分(標識符)主關鍵字是唯一性標識,故不能空

參照完整性(ReferentialIntegrity),也叫引用完整性

若基本關系R含有與另一個基本關系S的主關鍵字相對應的屬性組F(F稱為R的外鍵或外部碼),則R中每個元組在F上的值或為空值,或等于S中某個元組的主關鍵字值。關系模型的基本概念例:職工關系EMP(ENO,ENAME,DNO)部門關系DEPT(DNO,DNAME)DEPT的主鍵EMP的外鍵,只能取空值或DEPT中某關鍵字的值又如:學生關系(SNO,SNAME,AGE,SEX)課程關系(CNO,CNAME)選課關系(SNO,CNO,G)

用戶定義的完整性

用戶定義的某一屬性值必須滿足的語義要求。一經定義,DBMS會自動檢查,從而不必在應用程序中作檢查。關系模型的基本概念差(Difference):R

S={t|t∈R∧t∈S}傳統(tǒng)的集合運算

并(Union):R

S={t|t∈R∨t∈S}

交(Intersection):R

S={t|t∈R∧t∈S}

關系代數(shù)的運算對象是關系,運算結果也為關系。其運算按運算符的不同可分為兩類。笛卡爾積(廣義):R

S={trts|tr∈

R∧ts∈

S}關系代數(shù)專門的關系運算

選擇(Selection),又稱限制(Restriction)

(R):F在關系R中選出滿足條件F的諸元組形成一個新關系。條件表達式

投影(Projection)(R)A:在R中選出若干屬性列組成一個新關系。屬性組投影后若有重復行,則自動保留一個從行的角度的運算從列的角度的運算關系代數(shù)當為等號且A、B兩屬性相同時,稱為自然連接,記作連接(Join)RSAB:從兩個關系的笛卡爾積中選取屬性間滿足條件AB的元組。R中屬性S中屬性比較運算符說明:RSAB=

(RS)ABRS自然連接將去掉重復屬性連接是同時處理多個關系的重要運算若僅有為等號的條件,稱為等值連接關系代數(shù)1、3、2、?

除(Division)

R(X,Y)

S(Y,Z):把R按X的值分組,若某

一組中屬性組Y的值包含S在 Y上投影的全部元組,則該X的值作

為商關系的一個元組屬性組例:求至少選修C1、C3課程的學生號碼設一臨時關系K:C#C1C3關系代數(shù)表達式(SC)K=S#,C#{S1,…}S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3ASC:按S1分組關系代數(shù)?

除(Division)

R(X,Y)

S(Y,Z):把R按X的值分組,若某

一組中屬性組Y的值包含S在 Y上投影的全部元組,則該X的值作

為商關系的一個元組屬性組例:求至少選修C1、C3課程的學生號碼設一臨時關系K:C#C1C3關系代數(shù)表達式(SC)K=S#,C#{S1,…}S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3ASC:按S2分組關系代數(shù)?

除(Division)

R(X,Y)

S(Y,Z):把R按X的值分組,若某

一組中屬性組Y的值包含S在 Y上投影的全部元組,則該X的值作

為商關系的一個元組屬性組例:求至少選修C1、C3課程的學生號碼設一臨時關系K:C#C1C3關系代數(shù)表達式(SC)K=S#,C#{S1,…}S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3ASC:按S3分組關系代數(shù)

除(Division)

R(X,Y)

S(Y,Z):把R按X的值分組,若某

一組中屬性組Y的值包含S在 Y上投影的全部元組,則該X的值作

為商關系的一個元組屬性組例:求至少選修C1、C3課程的學生號碼設一臨時關系K:C#C1C3關系代數(shù)表達式(SC)K=S#,C#{S1,S4}S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C1BS4C3ASC:按S4分組關系代數(shù)關系代數(shù)運算舉例S:

S#SNSDSAS1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22C:

C#CNPC#C1GC2HC1C3IC2C4JC2C5KC4SC:S#C#GS1C1AS1C2AS1C3AS1C5BS2C1BS2C2CS2C4CS3C2BS3C3CS3C4BS4C2BS4C5DS5C2CS5C3BS5C5B求至少選修這樣一門課的學生姓名,這門課的直接先行課是C21、先找出先行課為C2的課程號:

(C),記為PCPC#=‘C2’2、找選修該類課程的學生學號:

記為PCSPC

(SC)S#,C#3、找出學生姓名:PCS

(S)S#,SN()SN關系代數(shù)最終的關系代數(shù)表達式:

()SN

(S)S#,SN

(C)PC#=‘C2’(SCS#,C#PCPCS說明:用關系代數(shù)表示查詢時,若查詢涉及多個關系,需用連接操作實現(xiàn);若查詢諸如“選修了全部課程”的學生、“使用了全部零件”的工程等,需用除法操作實現(xiàn)。關系代數(shù)元組關系演算元組關系演算表達式:關系演算:基于謂詞演算面向元組:謂詞變量的獲得值是關系中的元組(元組變量)面向域:謂詞變量的獲得值是關系中某屬性的值(域變量)按謂詞變量的特征劃分{t|(t)}公式t為元組變量運算的結果還是一個關系關系演算語言原子公式R(t):表示t是關系R中的一個元組

t[i]

u[j]:表示t的第i個分量和u的第j個分量滿足比較關系

t[i]

C或C

t[i]

:含義同上,只不過C為常量

公式的遞歸定義每個原子公式是一個公式;設

1、2是公式,則

1、

12、

12也是公式;設

是公式,t是元組變量,則(t)、(t)也是公式;除此之外沒有其它形式的公式。關系演算語言S:

S#SNSDSA用關系演算來表達查詢

例1,求年齡大于或等于20的學生:S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22S20={t|S(t)

t[4]

20}例2,求學生姓名及所在的系:S1={t(2)|(u)(S(u)t[1]=u[2]t[2]=u[3])}S1ACS20S2BCS21S3CMA19S4DCI19S5EMA20S6FCS22關系演算語言安全表達式:

不產生無限關系和無窮驗證的關系演算表達式。措施;進行安全限制。即規(guī)定一個有限的符號集(通常取關系的各屬性列中所有值的匯集)安全演算表達式的充分條件:設DOM(

)是適當選定的一個有限集合,當滿足下述條件時,元組演算表達式{t|(t)}是安全的:(1)如果t使(t)為真,則t的每個分量是DOM(

)中的元素;限定自由變量,保證結果的有限性關系演算語言

(2)對于(t)中每一個形如(u)(W(u))的子表達式,若u使W(u)為真,則u的每個分量是DOM(

)中的元素;(3)對于(t)中每一個形如(u)(W(u))的子表達式,若u使W(u)為假,則u的每個分量是DOM(

)中的元素;

換言之,若u的某一分量不屬于DOM(

),則W(u)為真限定約束變量,保證計算過程的有窮驗證性關系演算語言域關系演算語言——QBE

QBE是QueryByExample

的縮寫,1978年在IBM370上實現(xiàn)。特點用戶通過表格形式提出查詢,查詢結果也通過表格顯示出來用戶容易掌握,易學易用域關系演算與元組關系演算類似,只不過這里的變量取值范圍是屬性值,其謂詞變元稱作欲變量,關系的屬性名可視作欲變量。

關系代數(shù)、元組關系演算、域關系演算的表達能力是等價的。關系演算語言使用方法

(1)用戶提出使用要求(如鍵入某一命令)(2)機器顯示空白表格(3)用戶輸入關系名如學生關系SS(4)機器自動顯示屬性名S#SNSDSA關系演算語言使用方法(1)用戶提出使用要求(如鍵入某一命令)(2)機器顯示空白表格(3)用戶輸入關系名

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論