數據庫系統教程_第1頁
數據庫系統教程_第2頁
數據庫系統教程_第3頁
數據庫系統教程_第4頁
數據庫系統教程_第5頁
已閱讀5頁,還剩34頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、l一、數據管理與數據庫技術一、數據管理與數據庫技術l二、課程學習目的二、課程學習目的1學習掌握數據庫系統理論(主要是關系數據庫)l掌握數據庫系統理論l用命令等工具交互式地操作數據庫l通過編程訪問數據庫中的數據l掌握如何設計數據庫應用系統2掌握數據庫的內部結構和運行過程l各種主要模塊及其功能l模塊之間如何互動以完成操作的3了解數據庫新技術的一些發展動態l三、課程特點:三、課程特點:理論、技術、實踐相結合的l以關系理論為基礎關系數據庫理論數據模型設計的思想方法l以技術和方法為主編程、軟件系統設計l做實驗各種平臺上的數據庫操作方法及大型數據庫管理系統的使用 實驗環境,推薦安裝以下產品之一 IBM U

2、DB 7.0(或以上) for Windows MS SQL SERVER 7.0 Oracle設計并測試一個簡單但完整的應用例子 如一個車輛管理系統、一個多媒體房地產數據庫scm等l四、學習內容和使用教材四、學習內容和使用教材/ /參考書參考書國內的教材l數據庫系統原理,王能斌著,電子工業出版社,2000年版,ISBN 7-5053-50-5304-7國外的教材lData Management System, Raghu Ramakrishnan, WCB/McGraw-Hill,1997,ISBN 0-07-050775-9lDatabase System Concepts, A. Sil

3、berschatz and S.Sudarshan, McGraw-Hill, 1997,ISBN 7-111-06710-X參考文獻l微軟環境DB2 UDB7.1開發指南,IBM著,機械工業出版社,2001年版,ISBN 7-111-08623-6理論、設計、實現(理論、設計、實現(19章,章,18章)章)l其它數據庫產品的使用手冊等l什么是數據庫什么是數據庫?l什么是什么是DBMS?l數據庫系統發展歷史數據庫系統發展歷史l數據庫系統介紹數據庫系統介紹l數據庫技術的應用領域數據庫技術的應用領域l數據庫技術的技術領域數據庫技術的技術領域 l一、一、 什么是數據庫?什么是數據庫?l數據庫是一個持

4、久數據的集合數據庫是一個持久數據的集合,這些數據用于某企業的應用系統中(制造公司、銀行、醫院、大學、政府部門等)l數據庫象一個倉庫數據庫象一個倉庫存儲各種物品(數據)物品形狀、大小 數據格式數據模式從倉庫取得物品(數據)如何知道存儲位置如何快速定位和取數據l二、二、 為什么要用數據庫?為什么要用數據庫?l1、 數據庫系統與傳統的文件系統保存方式相比,有明顯的優點:數據獨立性高數據獨立性高數據共享程度高數據共享程度高減少冗余,保證數據的一致性減少冗余,保證數據的一致性提供數據完整性約束機制提供數據完整性約束機制并發訪問和提供事務支持并發訪問和提供事務支持提供安全機制提供安全機制l2、在典型的沒有

5、數據庫系統的企業,每個應、在典型的沒有數據庫系統的企業,每個應用擁有各自的文件經常是存儲在各自的磁帶用擁有各自的文件經常是存儲在各自的磁帶和磁盤和磁盤以致于難以用任何系統的方法來控制以致于難以用任何系統的方法來控制這些非常分散并且結構化程度不高的數據。數這些非常分散并且結構化程度不高的數據。數據庫系統則保證了企業對數據的集中控制,并據庫系統則保證了企業對數據的集中控制,并且具有較好的共享性。且具有較好的共享性。l數據的獨立性數據的獨立性 理解數據獨立性的含義l在數據庫系統之前的系統應用程序的數據文件有一定的物理存儲方式、邏輯結構。數據與應用程序之間缺乏獨立性。應用程序與數據的物理表示、邏輯表示

6、是密切相關的,如果改變了數據的物理表示、邏輯表示也要相應改變應用程序。這是非數據獨立l數據獨立性可以定義成應用程序不會因物理表示和訪問技術的改變而改變。當然,這意味著應用程序不應依賴于任何特定的物理表示和訪問技術 數據庫把數據的具體組織留給DBMS管理,用戶能邏輯地抽象地處理數據,而不必關心數據在計算機中的具體表示方式與存儲方式。lDBMS數據庫管理系統數據獨立性包括兩個方面:物理獨立性和邏輯獨立性l物理獨立性:l邏輯的獨立性:應用程序與數據的邏輯表示無關。例:商品名稱銷售額某公司的銷售管理應用程序新的分公司銷售管理應用程序商品名稱銷售額商品名稱銷售額1+銷售額2建立一個數據視圖l數據共享數據

7、共享共享不僅指現有的應用程序可以共享數據庫的數據,共享不僅指現有的應用程序可以共享數據庫的數據,而且新的應用程序也能對這些數據進行操作。而且新的應用程序也能對這些數據進行操作。數據庫中的每項數據可以被不同的用戶共享。因此,數據庫中的每項數據可以被不同的用戶共享。因此,每一個用戶都可以因不同的目的而訪問相同的數據。每一個用戶都可以因不同的目的而訪問相同的數據。l用戶指數據的使用者包括應用程序,也可指真正意義上的用戶指數據的使用者包括應用程序,也可指真正意義上的用戶用戶 l減少冗余:減少冗余:在非數據庫系統中,每個應用程序都有自己的專用文件。這種情況經常導致在存儲數據上有相當大的冗余,結果浪費存儲

8、空間。例:一個有關人事的應用程序和一個有關教育的應用程序擁有各自的數據文件:EMPLOYEE文件中包括:職員名、出生日期、地址、所在部門、職務、職稱和工資等等。 ENROLLMENT文件中包括職員名、職員所在部門、職務、職稱、培訓時間、培訓課程、培訓成績等。而數據庫可以合并幾個不同文件,可以部分地消除文件之間的冗余。EMPLOYEE文件中包括:職員名、出生日期、地址、部門、職務、職稱和工資等等。ENROLLMENT文件中可只包括職員名、培訓時間、培訓課程、培訓成績等。人事應用程序人事應用程序教育管理應用程序教育管理應用程序EMPLOYEE文件ENROLLMENT文件H包括職員名、出生日期、地址

9、、所在部門、職務、職稱和工資等等。包括職員名、職員所在部門、職務、職稱、培訓時間、培訓課程、培訓成績等。重復重復HEMPLOYEE包括職員名、出生日期、地址、所在部門、職務、職稱和工資等。HENROLLMENT包括職員名、培訓時間、培訓課程、培訓成績等。由于數據庫管理數據可以在全局范圍內共享,則在有關教育應用程序需要某職員的部門信息、職務、職稱時,可以訪問EMPLOYEE文件。這就是數據共享帶來冗余程度的減少。這就是數據共享帶來冗余程度的減少。合并EMPLOYEE文件和ENROLLMENT文件H例:例:一個有關人事的應用程序和一個有關教育的應用程序擁有各自的數據文件:l避免不一致:避免不一致:

10、這是減少冗余度必然的結果數據一致性也指數據的正確性。l假定一種情況下職員E 3在部門D 8工作,這條信息在數據庫中有兩個不同的條目(分別在employee、enrollment文件中),職員E3的信息:E3,1975.1.3,某某地區,D8,主管科員,經濟師,2000培訓信息:E3,D8 ,主管科員,經濟師,1999,計算機,90E3, D8,主管科員,經濟師,2001,稅法,85當當E3調動到調動到D6部門工作后,應對相關數據項做怎部門工作后,應對相關數據項做怎樣的修改?樣的修改?H必須修改兩個文件中有關該職員的部門信息才能保證數據一致性,如果管理人員沒有意識到這種冗余或者沒有及時修改不同數

11、據文件中部門信息,則造成數據的不一致性。H因此可見,消除冗余度可保證數據一致性。l保持完整性:完整性的問題的實質是確保數據庫中的數據是正確的。前述的職員的部門信息如果在不同的文件中的記錄不一致,就是缺少完整性的例子。(造成不完整性的主要原因是數據冗余性)另外,即使沒有冗余,數據庫也可能包含錯誤的信息。l例如,可能顯示職員屬于一個不存在的部門。(可能由于輸入的錯誤)l數據庫的集中控制可以有效地避免此類問題。主要通過支持數據管理員定義一些完整性約束來實現。如CHECK子句、觸發子,斷言等。l并發訪問和數據一致性并發訪問和數據一致性文件系統一般不支持并發訪問。文件系統一般不支持并發訪問。數據庫系統的

12、并發訪問控制可保證數據的一致性。數據庫系統的并發訪問控制可保證數據的一致性。l提供事務支持提供事務支持:事務是一個邏輯工作單元,它包括一些數據庫操作(特別是一些更新操作)。常見的例子如:從帳戶 A到帳戶 B轉移一定的現金數。 2000元帳戶A-帳戶B數據庫支持事務的概念,確保兩個操作要么都做,要么都不做,即使在系統執行過程中出現故障(比如因為電源斷)也應如此。這就是事務的原子性。這種事務的操作可確保數據的正確。事務管理是這門課程講授的重要內容之一。減去2000元存入2000元第一步第二步l增加安全性控制增加安全性控制數據庫系統的共享性使數據庫的數據更加有可能被非法訪問,非法修改。這就要求相稱的

13、、好的安全系統,沒有安全保障,數據的安全性可能比傳統的文件系統更處于危險之中。數據庫通常可定義安全性約束或規則比如:定義一些敏感數據的訪問級別,只允許某一級別的用戶訪問。對于數據庫的每條信息的不同類型的訪問(修改、插入或刪除等)可建立不同的約束。l加強標準化加強標準化數據在數據庫中是集中控制,在全局范圍內共享,甚至有可能在不同的系統中移動。數據采用一定的標準(部門標準、安裝標準、社團標準、工業標準、國家標準和國際標準)可確保有效地、最大程度地支持數據共享。l三、數據庫的發展歷史三、數據庫的發展歷史層次數據庫lIBM,20世紀60年代末,IMSl對于層次數據,層次具有高效率網狀數據庫l比層次結構

14、復雜的網狀結構l可描述比較復雜的現實世界關系數據庫l年,Codd,提出了關系數據模型(relation data model),以關系(relation)或稱二維表結構(table)作為描述數據的基礎,它建立在嚴格的數學概念的基礎上,奠定了關系數據庫的理論基礎。對象數據庫與對象關系數據庫層次數據庫示例層次數據庫示例某大學計算機學院工商管理學院化工學院計算機系網絡中心管理系99級2000級學生甲學生乙網狀數據庫示例網狀數據庫示例某大學學生甲選修課程1學生乙選修課程2選修課程3選修課程4關系數據庫示例關系數據庫示例studentsSidCnoMajor1101No1108Yes2102Yes310

15、1No3108Yes5102Yes5105NoEnrollmentCnoCnameCroomCtime101Database1-1021000am102OS1-3020800am105English2-2020230pm108French3-4020230pmcourseSidLnameFnameClassTelno.1JonesAllan2555-12342BrownJohn3555-13243SmithAdward2555-32145WhiteHarry3555-3142SidNameClassTelno.EnrollmentLnameFnameCnoMajor1JonesAllan255

16、5-1234101No108Yes2BrownJohn3555-1324102Yes3SmithAdward2555-3214101No108Yes5WhiteHarry3555-3142102Yes105No對象關系數據庫示例對象關系數據庫示例studentsCnoCnameCroomCtime101Database1-1021000am102OS1-3020800am105English2-2020230pm108French3-4020230pmcourse在ORACLE中,name列的結構類型稱為對象類型,在INFORMIX中稱為行類型在DB2 UDB(和新的ANSI SQL-99標準

17、)中稱為用戶定義類型( U D T )l什么是數據庫系統?什么是數據庫系統?l數據庫系統包括:數據庫系統包括:數據與數據庫數據庫管理系統DBMSDBMS應用系統數據庫管理員DBADBA、用戶等l提供高級的用戶接口l查詢處理和優化l數據目錄管理l并發控制l恢復功能l完整性約束檢查l訪問控制l對事物描述的符號記錄稱為數椐l如果一個倉庫房間內放的物品沒有統一的形狀,如何放的多、拿得快?數據有定的格式l數據格式的規定是數據的語法,數據的含義是數據的語義607362123l計算機系統設計者關心的數據的意義不是所有的意義,是某種層次上的抽象由如下要素組成一組概念,用于數據的定義或描述一組符號,用于表示數據

18、及其聯系一組操作,作用在數據上一組限制或約束,用于抽象數據中的聯系l靜態特性(數據的結構、聯系、約束)l動態特性(操作)l概念數據模型 面向現實世、面向用戶的數據模型l邏輯數據模型 用戶從數據庫所看到的數據模型l物理數據模型 反映數據存儲結構的數據模型l用戶看到的問題描述模型,用戶易理解l一般與應用程序的內部邏輯無關,一般與DBMS無關l一般用接近自然語言的語言來描述一組較自然的概念以及符號一組規則和操作等l例子:數據流圖、EXCEL表、對象結構、E-R數據模型l用戶或看到的在程序一級的數據模型(即在編程時涉及到的模型)l比概念數據模型更抽象l與DBMS有關系l典型例子是關系數據模型或有關程序數據結構More: network model, hierarchical modell在應用系統內部的看到的數據模型l實際上就是硬盤上的數據格式及其有關操作和限制l和DBMS有關、和操作系統及硬件有關l例子:B+樹文件中的數據結構l概念模型:張三以前在北京時是李四的朋友l邏輯模型:(朋友 張三 李四)l物理模

溫馨提示

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

評論

0/150

提交評論