




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、關系數(shù)據(jù)庫基本原理(1)關系模型與關系代數(shù)王傳棟南京郵電大學計算機學院內(nèi)容與要求知識點(1)知識點一:關系模型概述(2)知識點二:關系數(shù)據(jù)結構(3)知識點三:關系代數(shù)理論(4)知識點四:關系數(shù)據(jù)庫標準語言SQL(5)知識點五:關系數(shù)據(jù)庫的規(guī)范化理論實驗1 SQL語言的應用教學基本要求了解關系數(shù)據(jù)結構的基本概念,了解關系模型的各種操作和關系代數(shù)的基本原理,掌握關系數(shù)據(jù)模型的完整性約束機制,掌握SQL語言,了解函數(shù)依賴等基本概念,掌握關系模式的規(guī)范化概念、方法、原理與過程。引言關系模型是當前的主流邏輯數(shù)據(jù)模型 由IBM公司的高級研究員E.F.Codd于1970年提出 應用廣泛的原因:單一的數(shù)據(jù)建模
2、概念 堅實的數(shù)學理論基礎 提供高級接口:數(shù)據(jù)庫語言SQL關系模型的基本概念關系模型(Relational Model)用二維表格表示實體集,用關鍵碼表示實體之間聯(lián)系的數(shù)據(jù)模型稱為關系模型理解用二維表格(table)表示實體集及其間聯(lián)系,用關鍵碼(或鍵)進行數(shù)據(jù)導航關系模型是邏輯模型的一種,也具有三個要素關系數(shù)據(jù)結構關系操作數(shù)據(jù)完整性約束規(guī)則關系模型的基本概念示例關系模型的基本概念關系數(shù)據(jù)結構:二維表字段稱為屬性,也稱為列(column)反映事物的一個特征,每個字段都有字段名和字段值屬性的取值范圍(所有可取值的集合) 稱為屬性域Domain 大寫字母A、B、C、 表示單個屬性;大寫字母 、X、Y
3、、Z 表示屬性集小寫字母a、b、c、 表示屬性值記錄稱為元組(tuple),也稱為行(row)記錄類型稱為關系模式,由模式名和屬性列表組成元組集合稱為關系(relation)或?qū)嵗╥nstance),也稱為表格關系模型的基本概念關系數(shù)據(jù)結構:二維表元組用關鍵字(Key word簡稱鍵)來標識屬性個數(shù)稱為元數(shù)(Arity),也稱為目元組個數(shù)為基數(shù)(Cardinality)一般術語關系模型術語字段、數(shù)據(jù)項屬性記錄類型關系模式記錄1元組1記錄2元組2記錄3元組3記錄4元組4字段值屬性值文件關系R(A,B,C,D,E)關系模型的基本概念關鍵碼(key,簡稱鍵)由一個或多個屬性組成。在實際使用中,有下
4、列幾種鍵1)超鍵(Super Key)其值能唯一地決定其它所有屬性的值的屬性集2)候選鍵(Candidate Key)不含多余屬性的超鍵其值能唯一地決定關系中其它所有屬性的值、而它的任何真子集無此性質(zhì)的屬性或?qū)傩越M 3)主鍵(Primary Key)用戶選作元組標識的候選鍵,稱為主鍵(PK),簡稱鍵關系模型的基本概念關鍵碼(key,簡稱鍵)4)候補鍵(Alternate Key)主鍵之外的候選鍵5)全鍵 :由關系的所有屬性構成的主鍵 6)外鍵(Foreign Key,F(xiàn)K)如果模式R中的屬性K是其它模式的主鍵,那么K在模式R中稱為外鍵不是本關系的鍵,卻引用了其它關系或本關系的鍵的屬性或?qū)傩越M7
5、)主屬性與非主屬性nSUPPLY(供應商,零件名,工程名) 項目供應mp零件供應商2.1 關系模型的基本概念示例關系模式STUDENT(學號,姓名,性別,出生日期,籍貫)假設:不允許學生重名,問:(學號,姓名,性別,出生日期,籍貫)?(學號,性別)?(學號,姓名)?(學號)?(姓名)?哪些是主屬性?關系模型的基本概念關系的定義和性質(zhì)關系是一個屬性數(shù)目相同的元組的集合有限關系在關系模型中,關系的規(guī)范性限制:1)關系中每一個屬性值都是不可分解的(原子的)2)關系中不允許出現(xiàn)重復元組(即不允許出現(xiàn)相同的元組)3)由于關系是一個集合,因此不考慮元組間的順序,即沒有行序注:關系中元組的排列是有序的,取決
6、于索引4)元組中的屬性在理論上也是無序的,但使用時按習慣考慮列的順序關系模型的基本概念關系模型的完整性規(guī)則實體完整性規(guī)則(entity integrity rule)關系內(nèi)的約束每個關系都應有一個主鍵每個元組的主鍵的值應當唯一;組成主鍵的屬性,不能有空值(NULL)否則,主鍵值就起不了惟一標識元組的作用關系模型的基本概念關系模型的完整性規(guī)則實體完整性規(guī)則(entity integrity rule)例如關系模型的基本概念關系模型的完整性規(guī)則參照完整性規(guī)則(reference integrity rule)不同關系或同一關系的不同元組間的約束參照完整性規(guī)則的形式定義如果屬性集K是關系模式R1的主
7、鍵,K也是關系模式R2的外鍵,那么在R2的關系中,K的取值只允許兩種可能,或者為空值,或者等于R1關系中某個主鍵值規(guī)則的實質(zhì):不允許引用不存在的實體在上述形式定義中關系模式R1的關系稱為“參照關系”,也稱“主表”、“父表”關系模式R2的關系稱為“依賴關系”,也稱“副表”、“子表”關系模型的基本概念關系模型的完整性規(guī)則參照完整性規(guī)則(reference integrity rule)規(guī)則在具體使用時,有三點變通:外鍵和相應主鍵可以不同名,只要定義在相同值域上即可R1和R2可以是不同關系模式,也可以是同一個關系模式同一個關系模式中,表示了同一個關系中不同元組之間的聯(lián)系外鍵值是否允許空,應視具體問題
8、而定當外鍵屬性是主鍵的組成成分時,不允許為空關系模型的基本概念關系模型的完整性規(guī)則參照完整性規(guī)則(reference integrity rule)示例關系模型的基本概念關系模型的完整性規(guī)則用戶定義的完整性規(guī)則和數(shù)據(jù)的具體內(nèi)容有關的約束構建關系模式時,屬性的數(shù)據(jù)類型,可能滿足不了需求,需要顯式定義額外的約束規(guī)則說明CHECK()子句、觸發(fā)器、斷言、過程說明各種DBMS產(chǎn)品對完整性約束的支持程度不同 數(shù)據(jù)庫中完整性約束檢查,由DBMS實現(xiàn)對DB進行更新 (I/D/U)操作時檢查,保證數(shù)據(jù)與現(xiàn)實世界的一致性關系模型的基本概念關系模型的完整性規(guī)則用戶定義的完整性規(guī)則示例1關系模型的基本概念關系模型的
9、完整性規(guī)則用戶定義的完整性規(guī)則示例2關系模型的基本概念關系模型的三層體系結構關系模型也遵循數(shù)據(jù)庫的三級體系結構關系模式記錄類型稱為關系模式關系模式的集合就是數(shù)據(jù)庫的概念模式,是問題域數(shù)據(jù)的全局邏輯視圖是對數(shù)據(jù)的特征描述,不涉及物理存儲方面的描述由數(shù)據(jù)定義語言(DDL)實現(xiàn)定義模式名、屬性名、值域、模式主鍵定義時,模式名和屬性名一般都用英文單詞表示關系模型的基本概念關系模型的三層體系結構關系模型也遵循數(shù)據(jù)庫的三級體系結構關系模式 用戶(應用程序)用戶記錄模式/內(nèi)模式映像外模式模式內(nèi)模式DB模式/外模式映像關系模型的基本概念關系模型的三層體系結構關系模型也遵循數(shù)據(jù)庫的三級體系結構子模式是用戶所用到
10、的局部數(shù)據(jù)的描述構建子模式時,需要指出數(shù)據(jù)與關系模式中相應數(shù)據(jù)的聯(lián)系由數(shù)據(jù)定義語言(DDL)實現(xiàn)定義時需要考慮用戶對數(shù)據(jù)的操作權限對子模式的操作(如插入、修改、刪除)是受限的關系模型的基本概念關系模型的三層體系結構關系模型也遵循數(shù)據(jù)庫的三級體系結構子模式例如構建成績子模式,要求顯示學號、姓名、課程號和成績G(S#,SNAME,C#,SCORE) 關系模型的基本概念關系模型的三層體系結構關系模型也遵循數(shù)據(jù)庫的三級體系結構子模式 用戶(應用程序)用戶記錄模式/內(nèi)模式映像外模式模式內(nèi)模式DB模式/外模式映像關系模型的基本概念關系模型的三層體系結構關系模型也遵循數(shù)據(jù)庫的三級體系結構存儲模式在有些DBM
11、S中,關系存儲是作為文件看待的每個元組就是一個記錄由于關系模式有鍵,因此存儲一個關系可用散列方法或索引方法實現(xiàn)如果關系的元組數(shù)目較少(100個以內(nèi)),那么也可以用“堆文件”方式實現(xiàn)(即沒有特定的次序)可對任意的屬性集建立輔助索引關系模型的基本概念關系模型的形式定義和優(yōu)點關系模型的三個要素1)關系數(shù)據(jù)結構關系,二維表數(shù)據(jù)庫中全部數(shù)據(jù)及其相互聯(lián)系都被組織成“關系” 2)關系操作一組完備的關系運算,支持對數(shù)據(jù)庫的各種操作關系運算分成關系代數(shù)、關系演算和關系邏輯等三類3)數(shù)據(jù)完整性約束規(guī)則實體完整性、參照完整性和用戶自定義的完整性關系模型的基本概念關系模型的形式定義和優(yōu)點關系模型的優(yōu)點1)單一的數(shù)據(jù)結
12、構形式,具有高度的簡明性和精確性2)邏輯結構和相應的操作,完全獨立于數(shù)據(jù)存儲方式具有高度的數(shù)據(jù)獨立性3)堅實的數(shù)學基礎關系運算的完備性和規(guī)范化設計理論4)數(shù)據(jù)庫技術的基礎關系數(shù)據(jù)庫語言與一階謂詞邏輯的固有內(nèi)在聯(lián)系,為以關系數(shù)據(jù)庫為基礎的推理系統(tǒng)和知識庫系統(tǒng)研究提供了方便關系模型的基本概念關系查詢語言和關系運算數(shù)據(jù)庫語言SQL分為:DDL,DML、QL和DCL數(shù)據(jù)操縱語言DML,描述插入、刪除、修改等操作查詢語言QL,描述用戶的各種檢索要求理論基礎是“關系運算理論”,分為3部分:1)關系代數(shù)語言2)關系演算語言3)關系邏輯語言關系代數(shù)五個基本操作并(Union)前提相同的關系模式(并兼容:兩關系
13、具有相同的目,對應屬性域相同且兩個關系的屬性排列次序一樣)定義R和S的并,是由屬于R或?qū)儆赟的元組構成的集合記為RS形式定義RS t | tR tS,t是元組變量關系代數(shù)五個基本操作差(Difference)前提相同的關系模式(并兼容:兩關系具有相同的目,對應屬性域相同且兩個關系的屬性排列次序一樣)定義R和S的差,是由屬于R但不屬于S的元組構成的集合記為RS形式定義RS t | tR tS, t是元組變量關系代數(shù)五個基本操作笛卡爾積(Cartesian Product)形式定義假設:R的元數(shù)r,基數(shù)為m;S的元數(shù)s,基數(shù)為nRSt | t trR tsSRS的元數(shù)為r + s,基數(shù)mn參與運算
14、的R和S關系,不要求有同名屬性若有同名屬性,在屬性名前加“關系名.”來標注關系代數(shù)五個基本操作投影(Projection)對關系進行垂直分割(感興趣的列),屬性可任意排列表示()形式定義i1,im(R)t | t R 性質(zhì)((R) ) (R)屬性表1屬性表2關系代數(shù)五個基本操作選擇(Selection)據(jù)條件對關系做水平分割,選取符合條件的元組表示() F(R),F(xiàn)是命題公式 形式定義F(R) t | tR F(t)= true 性質(zhì)a) (R) ) (R)b) ( ( R) (R)關系代數(shù)五個基本操作示例關系代數(shù)四個組合操作交(intersection)前提相同的關系模式(并兼容:兩關系具有
15、相同的目,對應屬性域相同且兩個關系的屬性排列次序一樣)定義R和S的交,是由屬于R又屬于S的元組構成的集合記為RS形式定義RS ttR tS 推導RS = R-(R-S),或 RS = S-(S-R)關系代數(shù)四個組合操作交(intersection)示例關系代數(shù)四個組合操作連接(join)形式定義R S tt = trRtsStritsj 推導R S i(r+j) (R S),其中r是關系R的元數(shù)表示連接是在(R S)中,挑選第i個分量和第(r+j)個分量滿足操作的元組說明:兩個關系的同域?qū)傩员容^連接: , 等值連接: F連接: F F1 Fn,F(xiàn)k i j (、)關系代數(shù)四個組合操作連接(jo
16、in)示例1)連接: R S, 或 R S2)等值連接: R S,或 R S3)F連接: R S, 或 R S關系代數(shù)四個組合操作自然連接(natural join)兩個關系公共屬性上的等值連接推導R S = i1,im (R.A1=S.A1 R.Ak=S.Ak (RS)A1,Ak是關系R和S的公共屬性列表i1,im是兩個關系屬性的并集計算過程 1) 計算RS2) 選擇:在RS中,挑選滿足公共屬性相等的元組3) 投影:在RS中,去掉冗余屬性S.A1, S.Ak關系代數(shù)四個組合操作自然連接(natural join)示例R S A, R.B, R.C, D (R.B = S.B R.C = S.
17、C (RS)注:參與自然連接運算的2個關系,若沒有公共屬性,則自然連接運算自動轉(zhuǎn)化為笛卡爾積運算。關系代數(shù)四個組合操作除法(division)前提R中的屬性包含S中的屬性 R(X,Y),S(Y) 作用RS是滿足下列條件的最大關系,屬性由R中那些不出現(xiàn)在S的屬性組成,(RS) S的每個元組都在關系R中計算過程: RS = X(R) X(X(R) S ) R)1) T = X (R) ;X為不包含在S中的屬性2) W = (TS)R ;計算TS中不在R的元組3) V = X(W)4) RS = TV C D c d e fS A B C D a b c d a b e f a b d e b c
18、e f e d c d e d e fR 關系代數(shù)四個組合操作除法(division)示例 b c c d被除關系對除關系有覆蓋關系代數(shù)關系代數(shù)運算的應用實例關系代數(shù)表達式五個基本操作的有限次復合的式子表達式的運算結果仍是一個關系用關系代數(shù)表達式表示各種數(shù)據(jù)查詢操作關系代數(shù)關系代數(shù)運算的應用實例關系代數(shù)表達式示例關系代數(shù)關系代數(shù)運算的應用實例1)檢索學習課程號為C2課程的學生學號與成績 SNO,Grade(CNO = C2(SC)1,3(2 = C2(SC)CNO = C2 ( SNO,Grade (SC)2 = C2 ( 1,3 (SC)關系代數(shù)關系代數(shù)運算的應用實例1)檢索學習課程號為C2
19、課程的學生學號與成績 SNO,Grade(CNO = C2(SC)CNO = C2 ( SNO,Grade (SC)對應的查詢:Select Sno, GradeFrom SCWhere Cno=C2 ;關系代數(shù)關系代數(shù)運算的應用實例2)檢索學習課程號為C2的學生學號與姓名SNO,SNAME(CNO = C2(S SC)查詢涉及到兩個關系S與SC,先要對這兩個關系進行自然連接操作,然后再執(zhí)行選擇和投影操作 關系代數(shù)關系代數(shù)運算的應用實例2)檢索學習課程號為C2的學生學號與姓名SNO,SNAME(CNO = C2(S SC)關系代數(shù)關系代數(shù)運算的應用實例2)檢索學習課程號為C2的學生學號與姓名S
20、NO,SNAME(CNO = C2(S SC)對應的查詢:Select SNO,SNAMEFrom S, SCWhere S.Sno=SC.Sno and Cno=C2 ;關系代數(shù)關系代數(shù)運算的應用實例3)檢索至少選修LIU老師所授課程一門課程的學 生學號與姓名 SNO,SNAME(TNAME = LIU(SSCCT)對應的查詢:Select S.Sno, SnameFrom S, SC, C, TWhere Tname=LIU and S.Sno= SC.Sno and SC.Cno=C.Cno and C.TNO=T.Tno ;關系代數(shù)關系代數(shù)運算的應用實例4)檢索選修課程號為C2或C4的
21、學生學號SNO(CNO = C2 CNO = C4(SC)對應的查詢2:Select Sno From SCWhere Cno in (C2, C4) ;對應的查詢1:Select SnoFrom SCWhere Cno = C2 or Cno = C4 ;對應的查詢3:Select SnoFrom SCWhere Cno = SOME(C2, C4) ;關系代數(shù)運算的應用實例5)檢索至少選修課程號為C2和C4的學生學號SNO(CNO = C2 CNO = C4(SC)關系代數(shù)關系代數(shù)關系代數(shù)運算的應用實例5)檢索至少選修課程號為C2和C4的學生學號1(1 = 4 2 = C2 5 = C4(
22、SCSC)對應的查詢:Select X.SnoFrom SC as X, SC as YWhere X.Sno=Y.Sno and X.Cno=C2 and Y.Cno=C4 ;關系代數(shù)關系代數(shù)運算的應用實例6)檢索不學C2課的學生姓名與年齡SNAME,AGE(CNO C2(S SC)連接查詢關系代數(shù)關系代數(shù)運算的應用實例6)檢索不學C2課的學生姓名與年齡SNAME,AGE(CNO C2(S SC)結論:連接查詢不能解決否定問題!關系代數(shù)關系代數(shù)運算的應用實例6)檢索不學C2課的學生姓名與年齡SNAME,AGE(S) SNAME,AGE(CNO = C2(S SC)差操作先求出全體學生的姓名和年齡再求出學了C2課的學生的姓名和年齡最后執(zhí)行差操作-對應的查詢:Select Sname, AgeFrom SWhere Sno not in ( Select Sno From SC Where Cno=C2 ) ;關系代數(shù)關系代數(shù)運算的應用實例7)檢索學習全部課程的學生姓名SNAME(S (SNO,CNO(SC) CNO(C)關系代數(shù)關系代數(shù)運算的應用實例7)檢索學習全部課程的學
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鍛造生產(chǎn)工藝員考試試卷及答案
- 2025年南平事業(yè)單位真題
- 高原環(huán)境下低空空域的研究與挑戰(zhàn)
- 2024年麗水云和縣招聘事業(yè)編制教師真題
- 昌吉吉盛新型建材二期工業(yè)硅項目綜合循環(huán)水泵站水泵技術協(xié)議
- 教育變革背景下的在線教育平臺政策分析
- 教育行業(yè)的數(shù)據(jù)泄露預防與應對措施
- 數(shù)字時代的教育變革傳統(tǒng)教學與數(shù)字教材的結合
- 企業(yè)園區(qū)安全防范的智能化升級方案
- 中職文案寫作課件
- 酒店入住登記表
- 中藥泡洗技術-2
- 大學體育:輪滑教案
- 馬太效應課件完整版
- 馬克思主義原著選讀課程
- 保障性租賃住房申請表
- 2023年中智總部及直屬單位個高管職位公開招聘筆試參考題庫附帶答案詳解
- iqc培訓教材基礎課件
- 中等職業(yè)學校藝術課程標準(2020年版)(word精排版)
- GB/T 15435-1995環(huán)境空氣二氧化氮的測定Saltzman法
- GB/T 1355-2021小麥粉
評論
0/150
提交評論