歡迎來到裝配圖網! | 幫助中心 裝配圖網zhuangpeitu.com!
裝配圖網
ImageVerifierCode 換一換
首頁 裝配圖網 > 資源分類 > PPT文檔下載  

《數據庫系統(tǒng)》PPT課件.ppt

  • 資源ID:3136171       資源大?。?span id="px6jg1d" class="font-tahoma">1.52MB        全文頁數:126頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

《數據庫系統(tǒng)》PPT課件.ppt

第5章 數據庫系統(tǒng),5.1 數據庫系統(tǒng)基本概念 5.1.1什么是數據庫系統(tǒng),3個基本概念: (1)數據庫(database,簡稱DB)。 (2)數據庫管理系統(tǒng)(database management system,簡稱DBMS)。 (3)數據庫系統(tǒng)(database system,簡稱DBS)。,數據庫(DataBase,簡稱DB) 數據庫是長期存放在計算機內一個通用化的、綜合性的、有結構的、可共享的數據集合。 數據庫中的數據按一定的數據模型組織、描述和儲存,具有盡可能小的冗余度和較高的數據獨立性、安全性和易擴展性。,數據庫管理系統(tǒng)(DBMS) 數據庫系統(tǒng)的核心組成部分,對數據進行管理的軟件。 主要功能: 數據定義 :對數據庫中的數據對象進行定義 。 數據操作:查詢、插入、刪除、修改等 數據庫的運行管理:對數據庫的建立、運用和維護進行統(tǒng)一管理和控制 :安全性控制、完整性控制、并發(fā)控制、備份與恢復 數據庫的建立和維護功能 數據庫初始數據的輸入和轉換功能、數據庫的轉儲和恢復功能以及數據庫重組織功能和性能監(jiān)視、分析功能等。,常見的DBMS產品:Oracle,Microsoft SQL Server(微軟),DB2(IBM), Sybase,Access(微軟) 等。,.MySQL,MySQL是最受歡迎的開源SQL數據庫管理系統(tǒng),它由MySQL AB開發(fā)、發(fā)布和支持。MySQL AB是一家基于MySQL開發(fā)人員的商業(yè)公司,它是一家使用了一種成功的商業(yè)模式來結合開源價值和方法論的第二代開源公司。MySQL是MySQL AB的注冊商標。 MySQL是一個快速的、多線程、多用戶和健壯的SQL數據庫服務器。MySQL服務器支持關鍵任務、重負載生產系統(tǒng)的使用,也可以將它嵌入到一個大配置(mass- deployed)的軟件中去。,SQL Server,SQL Server是由微軟開發(fā)的數據庫管理系統(tǒng),是Web上最流行的用于存儲數據的數據庫,它已廣泛用于電子商務、銀行、保險、電力等與數據庫有關的行業(yè)。 SQL Server 提供了眾多的Web和電子商務功能,如對XML和Internet標準的豐富支持,通過Web對數據進行輕松安全的訪問,具有強大的、靈活的、基于Web的和安全的應用程序管理等。而且,由于其易操作性及其友好的操作界面,深受廣大用戶的喜愛。 多用戶時性能不佳,Oracle,Oracle數據庫是當今最大的數據庫廠商Oracle公司的產品,是世界上第一個商品化的關系型數據庫管理系統(tǒng),也是第一個推出與數據庫結合的第四代語言開發(fā)工具的數據庫產品。 Oracle數據庫的廣泛應用是與其安全性高、穩(wěn)定性好和跨平臺性能強等特點分不開的。其容量大、并發(fā)性高等特征可以滿足各種商業(yè)需求;Oracle數據庫的應用結構包括C/S結構、B/S結構和分布式系統(tǒng)結構等多種,可以滿足不同架構的系統(tǒng)要求。在安全方面,獲得最高級別的ISO標準認證。因此,Oracle數據庫成為當前數據庫市場占有率最高的產品。,Sybase,1987年Sybase公司推出了Sybase數據庫產品。Sybase主要有三種版本:一是UNIX操作系統(tǒng)下運行的版本;二是Novell Netware環(huán)境下運行的版本;三是Windows NT環(huán)境下運行的版本。對UNIX操作系統(tǒng),目前應用最廣泛的是SYBASE 10及SYABSE 11 for SCO UNIX 。 Sybase數據庫的特點: (1)它是基于客戶/服務器體系結構的數據庫。 (2)它是真正開放的數據庫。 (3)它是一種高性能的數據庫。,DB2,DB2是內嵌于IBM的AS/400系統(tǒng)上的數據庫管理系統(tǒng),直接由硬件支持。它支持標準的SQL語言,具有與異種數據庫相連的GATEWAY。因此它具有速度快、可靠性好的優(yōu)點。但是,只有硬件平臺選擇了IBM的AS/400,才能選擇使用DB2數據庫管理系統(tǒng)。 DB2能在所有主流平臺上運行(包括Windows),最適于海量數據。 DB2在企業(yè)級的應用最為廣泛,在全球的500家最大的企業(yè)中,幾乎85%以上都用DB2數據庫服務器,而國內到1997年約占5%。 除此之外,還有微軟的 Access數據庫、FoxPro數據庫等。其中MySQL是一個完全免費的數據庫系統(tǒng),其功能也具備了標準數據庫的功能,因此,在獨立制作時,建議使用。Oracle雖然功能強勁,但它畢竟是為商業(yè)用途而存在的。,sql是數據庫基礎。 access是編程軟件,可以自己做界面,不是專業(yè)搞計算機的建議學access,但是access也會用到sql命令。 access是中小型企業(yè)所用。它可以編輯界面,可以存放數據,但只能在有安裝access軟件的電腦上才可以使用。 sql是大型企業(yè)所用。它只是一個存放(查詢,修改)數據的地方。不能編輯界面。 可以學vb或c+再加sql數據庫比較實用。,總結,數據庫系統(tǒng)(DBS) 在計算機系統(tǒng)中引入數據庫后的系統(tǒng)構成。 組成:數據庫(及相關硬件)、數據庫管理系統(tǒng)及開發(fā)工具、應用系統(tǒng)、數據庫管理員和用戶等。 數據庫管理員(DataBase Administrator,簡稱DBA) :負責全面管理和控制數據庫系統(tǒng)。,問:數據庫(DB)、數據庫系統(tǒng)(DBS)與數據庫管理系統(tǒng)(DBMS)之間是什么關系?,數據庫系統(tǒng)層次結構圖,硬件(含DB),操作系統(tǒng),DBMS,開發(fā)工具軟件,應用系統(tǒng),ADBS包括DB和DBMS BDB包括DBS和DBMS CDBMS包括DBS和DB DDBS與DB和DBMS無關,圖5.1.1 數據庫系統(tǒng) 示意圖,5.1.2 數據管理的三個階段,1人工管理階段 2文件系統(tǒng)階段 3數據庫系統(tǒng)階段,背景: 50年代中期以前 計算機主要用于科學計算; 當時外存儲器有:磁帶、紙帶、卡片; 還沒有操作系統(tǒng)和管理數據的專用軟件; 所以主要靠人工利用計算機來管理數據。,人工管理階段,數據不能共享 數據不具有獨立性 依靠應用程序管理數據 數據一般不需要長期保存。,人工管理階段主要特點:,文件系統(tǒng)管理階段,背景: 50年代后期-60年代中期 計算機已經大量用于數據管理; 外存有了磁盤、磁鼓等直接存取設備; 有了管理數據的軟件-文件系統(tǒng)(此時的文件系統(tǒng)是包括在操作系統(tǒng)中的,用戶通過文件系統(tǒng)這個軟件去管理大量的數據)。,文件系統(tǒng)階段( 50年代后期到60年代中期),文件系統(tǒng)方法階段由操作系統(tǒng)的文件系統(tǒng)對數據進行管理,用戶無需直接涉及物理設備及數據的物理組織細節(jié)。,優(yōu)點: “按文件名進行訪問,按記錄進行存儲” 數據存儲由操作系統(tǒng)提供支持,用戶程序與數據的物理存儲結構的分離,采用: “應用程序-操作系統(tǒng)-數據文件”的存取方式。,文件管理階段主要特點:,數據可以長期保存 不需要設計物理結構 數據獨立性差-文件邏輯結構的改變要修改應用程序;數據和程序間缺乏獨立性 數據共享性差-一個文件一般對應于一個應用程序,不同的應用程序具有相同的數據時,也必須建立各自的文件。,數據是結構化的,是面向系統(tǒng)的。 數據獨立性高。 高度的數據控制能力。,數據庫系統(tǒng)階段主要特點:,OS,數據庫方法的特點,1. 對數據實施集中統(tǒng)一管理 數據庫系統(tǒng)通過DBMS實現(xiàn)對所有數據的集中統(tǒng)一管理,即對數據的結構、數據的特征(名、類型、長度)、數據的操作、數據的一致性、數據的安全保密性等均按統(tǒng)一標準進行控制和管理。也正因為實施這種集中統(tǒng)一管理,才能實現(xiàn)下述的各優(yōu)點。,2. 數據獨立性高 數據與使用數據的程序分離的特征稱為數據獨立性。其目的是使得數據或應用程序的修改不導致對方的修改。 數據獨立性分為兩種: 邏輯數據獨立性數據庫的全局邏輯結構發(fā)生改變時,用戶應用程序不必改變,或反之。 物理數據獨立性數據庫的物理結構(存儲設備、存儲結構、存取方法)發(fā)生改變時,應用程序無需改變。,數據庫方法的特點(續(xù)),3. 數據共享 數據共享指數據庫中的同一數據可為多個用戶共同使用。,4. 控制冗余 冗余由同一數據的重復存儲產生。數據庫方法中的同一數據可重復出現(xiàn)在不同局部數據結構中,但物理上只存儲一次。 數據庫中并非完全消除冗余,有時為了數據的存取效率,同一數據可保留多個副本。,5. 數據完整性 數據完整性是指數據的正確性、真實性和客觀性。 例如,一個 25 歲的職員有 35 年工齡,一個人的身高為 5 米,都是數據完整性被破壞的情況。,數據庫方法的特點(續(xù)),6. 數據一致性 數據一致性是指數據庫中表示同一對象的數據無論何時何處都是一致的。例如,同一職員的年齡在數據庫中存在多個不同的值就是數據不一致的情況。 數據不一致性通常是由數據冗余或并發(fā)控制不當造成的。另外,系統(tǒng)故障或運行錯誤也可導致數據的不一致性。,7. 數據安全性 數據安全性即數據保密問題,以防止對數據的非授權訪問。DBMS可在全局數據結構、局部數據結構、記錄甚至數據項級提供安全性檢查與控制。 常見的安全控制方法有身份鑒別、存取控制、數據加密、審計等。,5.1.3 數據描述與數據模型,1數據描述,信息的三個領域 現(xiàn)實世界(事實世界) 信息世界(觀念世界) 數據世界(計算機世界、機器世界),概念模型描述,數據模型描述,圖5.1.5 現(xiàn)實世界、信息世界和數據世界的關系,信息世界涉及到的幾個基本概念 :,(1)實體??陀^存在并可相互區(qū)別的事物。 (2)屬性。實體所具有的某一特性。一個實體可以由若干個屬性來刻畫。例如:學生 (學號,姓名,性別,年齡) (3)域。屬性的取值范圍稱為該屬性的域。 (4)實體集。同型實體的集合稱為實體集。例如,全體學生就是一個實體集。 (5)實體型。用實體名及其屬性名集合來抽象和刻畫實體集,稱為實體型。實體型往往簡稱為實體。 (6)關鍵字。唯一標識實體的屬性稱為關鍵字。 (7)實體值(entity value)實體型的具體實例。,學 生,實體型,實體值,實體集,2數據模型,是對客觀事物及其聯(lián)系的數據描述,它反映了實體內部以及實體與實體之間的聯(lián)系,是數據庫設計的核心。 目前常用的數據模型有三種:,層次模型:用樹型結構表示實體間的聯(lián)系。 網狀模型:用有向圖結構表示實體類型及實體間聯(lián)系。 關系模型:用二維表結構表達實體和實體間的聯(lián)系。 每一個二維表稱為一個關系。,層次模型,用樹型結構表示實體及實體間聯(lián)系的數據模型。,表示方法: 一個結點表示一個實體; 無向連線表示實體間聯(lián)系; 聯(lián)系中表示1的實體在上層, 表示n的結點在下層。,特征: 有且僅有一個結點無父結點,該結點稱為根; 根以外的結點有且僅有一個父結點。 缺點: 只能表示 1:m 聯(lián)系,不能直接表示 m:n 聯(lián)系; 隨機存取效率低。,網狀模型,用網狀結構表示實體及實體間聯(lián)系的數據模型。,表示方法: 一個結點表示一個實體; 有向連線表示實體間聯(lián)系; 兩個結點間的聯(lián)系不唯一,因此聯(lián)系必須命名。,特征: 可以有多個結點無父結點; 至少有一個結點有多個父結點。 缺點: 結構復雜; 數據獨立性不高。,關系模型,用二維表格表示實體及實體間聯(lián)系的數據模型。,關 系,關系中: 每一行稱為元組; 每一列稱為屬性,每一屬性的值集稱為域; 若一個關系有N個屬性,則稱該關系為N元關系。 關系和屬性都必須命名。,特點: 用關系表示實體; 用關系表示實體間的聯(lián)系; 行、列次序無關; 屬性不可再分; 每個關系至少有一個關鍵字。,能唯一標識一個元組的最小屬性集,表5.5、表5.6、表5.7給出三個不同的關系集,其中表5.5和表5.6是基本關系,用于表示現(xiàn)實世界的基本實體。 而表5.7則是“聯(lián)系”關系,用于表示哪些學生選修哪些課程的聯(lián)系,這種聯(lián)系是通過在“選課”關系中引入“學生”關系中的“學號”和“課程”關系中的“課程號”屬性的數據建立的。,舉例,關系數據模型結構簡單、理論基礎嚴密、數據獨立性高、支持非過程化語言、一次操作可存取多個元組,并且可直接表示多對多聯(lián)系。 主要不足是查詢效率低。,以一個選課系統(tǒng)為例:,1、元組:記錄二維表的每一行在關系中稱為元組,在數據庫中稱為記錄。 2、 屬性 :二維表的每一列在關系中稱為屬性,每個屬性都有一個屬性名。 在數據庫中,一個屬性對應表中一個字段,屬性名對應字段名。 3、域: 屬性的取值范圍稱為域。,二維表里的三個概念:,5.1.4 實體聯(lián)系模型,實體集之間的聯(lián)系,1:1聯(lián)系:如果實體集E1中的每個實體最多只能和實體集E2中的一個實體有聯(lián)系,反之亦然,那么實體集E1對E2的聯(lián)系稱為“一對一聯(lián)系”,記為“1:1”。 1:N聯(lián)系:如果實體集E1中每個實體與實體集E2中多個實體有聯(lián)系,而E2中每個實體至多和E1中的一個實體有聯(lián)系,那么E1對E2的聯(lián)系是“一對多聯(lián)系”,記為“1:N”。 M:N聯(lián)系:如果實體集E1中每個實體與實體集E2中多個實體有聯(lián)系,反之亦然,那么E1對E2的聯(lián)系是“多對多聯(lián)系”,記為“M:N”。,班 級,班 長,班 級,學 生,課 程,學 生,概念模型,是獨立于計算機系統(tǒng)的模型,完全不涉及信息在計算機系統(tǒng)中的表示。 最著名的是實體聯(lián)系模型(Entity-Relationship Model,ER模型),它直接抽象出實體類型和實體間的關系,用ER圖表示數據模型。 ER模型的三個要素:實體、屬性、聯(lián)系,實體,聯(lián)系,屬性,ER模型的圖形描述*,實體-聯(lián)系(Entity-Relationship)模型,采用畫E-R圖的形式直接表示實體及實體間聯(lián)系的方法: (1)矩形表示實體型,框內標明實體名; (2)橢園表示屬性,用無向邊與其相應實體連接; (3)菱形表示聯(lián)系,標明聯(lián)系名,用無向邊與相關實體連接; (4)無向邊上標明聯(lián)系的類型(1:1,1:m,m:n); (5)可據需要任意展開(E-R圖復雜時可略去屬性)。,E-R圖是數據庫設計人員與用戶進行溝通、交流的工具。但是,DBMS很難直接支持E-R模型。,例:,請設計一個圖書館數據庫的ER圖,此數據庫中 對每個借閱者保存讀者記錄,包括:讀者號、姓名、地址、性別、年齡、單位 對每本書存有:書號、書名、作者、出版社、價格 對每本被借出的書存有讀者號、借出日期和應還日期。,書,讀者,借閱,5.1.5數據庫組織 數據庫系統(tǒng)的體系結構通常采用三級模式結構 :,1) 模式(也稱邏輯模式) 模式描述的是全局數據邏輯結構,又可稱為邏輯模式。 模式是所有用戶的公共數據視圖。 它與具體的應用程序及使用的程序設計語言無關,不涉及物理存儲細節(jié)。 一個數據庫只有一個模式,三級模式,2) 內模式 內模式描述的是數據的物理結構和存儲方式。因而又可稱為存儲模式或物理模式。一個數據庫只有一個內模式。 內模式是數據在數據庫系統(tǒng)內部的表示。 例如:記錄是順序存儲還是按照樹結構存儲還是按照hash 方法存儲,索引的組織方式是什么,數據是否壓縮、是否加 密,數據的存儲記錄結構的規(guī)定等。,三級模式(續(xù)),3) 外模式 外模式描述的是局部數據邏輯結構。它是模式的子集,因而又稱為子模式或用戶模式。 是用戶看到的數據視圖,即與某一應用有關的數據的邏輯表示。一個數據庫可以有多個外模式 同一外模式可以為多個應用程序所使用,一個應用程序只能使用一個外模式。,模式反映的是數據的全局觀 內模式反映的是數據的存儲觀 外模式反映的是數據的用戶觀 全局觀、存儲觀只有一個,而用戶觀可能有多個。,數據庫系統(tǒng)體系結構 集中式數據庫系統(tǒng):數據是集中的,數據的管理也是集中的 客戶/服務器數據庫系統(tǒng):數據是集中的,應用分布 分布式數據庫系統(tǒng) :數據分布、應用分布,客戶/服務器(C/S)數據庫系統(tǒng),分布式數據庫系統(tǒng),5.2關系數據庫系統(tǒng) 5.2.1什么是關系數據庫系統(tǒng),關系數據庫系統(tǒng)是支持關系模型的數據庫系統(tǒng) 。 關系數據庫目前是各類數據庫中最重要、最流行的數據庫。,以一個或兩個關系為輸入(或稱為操作對象),產生一個新的關系作為其操作結果。即其運算對象是關系,運算結果亦為關系。 四類運算符: 集合運算符 專門的關系運算符 比較運算符 邏輯運算符,5.2.2 關系代數,1、并( ):兩個關系需有相同的關系模式,并由兩個關系所有元組構成 ,但相同的元組僅保留一行。,定義 所有至少出現(xiàn)在兩個關系中之一的元組集合 RS = r | rR rS ,R S,R關系,S關系,定義:RS =t | t Rt S,2、差(-):兩個關系有相同的模式,R-S是由屬于R但不屬于S的元組構成的集合。,R - S,R關系,S關系,3、交():R和S的交是由既屬于R又屬于S的元組構成的集合,關系R與關系S的交定義為: RS =t | tRtS,R S,R關系,S關系,定義 二個分別為n目和m目的關系R和S的廣義笛卡爾積RS是一個(n+m)列的元組集合,元組的前n列是關系R的一個元組,后m列是關系S的一個元組。若R有k1個元組,S有k2個元組,則RS有k1k2個元組。記作: RS =tr ts |trRtsS 其中tr ts表示由兩個元組tr和ts前后有序連接而成的一個元組。,4、笛卡爾積():,R關系,S關系,R S,專門的關系運算,選擇(Selection) 投影(Projection) 連接(Join) 條件連接 自然連接 除(Division),根據某些條件關系作水平分割,即選擇符合條件的元組(單目運算)。,形式:F (R),F:是一個邏輯表達式。表示選擇的條件。 邏輯表達式:把關系表達式用邏輯運算符 連接起來。 關系表達式:用關系運算符 連接起來的式子。,5、選擇():,R關系,AB (R),6、投影( ):對關系進行垂直分割,消去某些列,相同的元組保留一行。,R關系, A,C (R),7、連接:(連接):是選擇RS中滿足ij的集合(先笛卡爾積,再選擇)。,R AB S = R.AS.B (RS),是比較運算符。如果為=的連接運算稱為等值連接,R關系,S關系,R R.AS.B S,8、自然連接(R|X|S):在笛卡爾積RS中,選擇R和S相同屬性值相等的元組,并去掉RS中重復的相同屬性列。如果兩個關系沒有相同屬性,則自然連接就轉化為笛卡爾積。,R關系,S關系,(R)|X|(S),自然連接例,關系運算舉例,有一個學生課程關系數據庫,包括學生關系student、課程關系course和選課關系SC。 1)查詢學生關系Student在學生姓名和所在系的兩個屬性 2)查詢信息系(IS系)全體學生 3)查詢選修了2號課程的學生的學號。,學生關系Student,查詢學生關系Student在學生姓名和所在系的兩個屬性,Sname, Sdept(Student),2, 5Student),查詢信息系(IS系)全體學生,選修關系SC,查詢選修了2號課程的學生的學號,(1)首先在選修關系SC上進行選擇操作:選擇課程號Cno=1的元組,形成新的關系,如下表所示。,(2)在上述新的關系上,再進行投影操作,選取屬性為學號Sno作為最終結果。,5.2.3 關系數據庫設計,數據庫設計是指根據用戶需求研制數據庫結構并應用的過程。 數據庫設計就是指對于給定的應用環(huán)境,構造最優(yōu)的數據庫模式,建立數據庫及其應用系統(tǒng),使之能有效地存儲數據,滿足用戶的信息要求和處理要求。 目前數據庫設計主要采用邏輯數據庫設計和物理數據庫設計為核心的規(guī)范化設計方法。 數據庫設計分為需求分析、概念結構設計、邏輯結構設計、數據庫物理設計、數據庫實施、數據庫運行和維護六個階段。,數據庫設計步驟,數據庫設計六個步驟,需求分析階段 需求分析是指準確了解和分析用戶的需求,這是最困難、最費時、最復雜的一步,但也是最重要的一步。它決定了以后各階段設計的速度和質量。 概念結構設計階段 概念結構設計是指對用戶的需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS產品的概念模型,是整個數據庫設計的關鍵。 邏輯結構設計階段 邏輯結構設計是指將概念模型轉換成某個DBMS所支持的數據模型,并對其進行優(yōu)化。 物理結構設計階段 物理結構設計是指為邏輯數據模型選取一個最適合應用環(huán)境的物理結構(包括存儲結構和存儲方法)。 數據庫實施階段 數據庫實施是指建立數據庫,編制與調試應用程序, 組織數據入庫,并進行調試運行。 數據庫運行與維護階段 數據庫運行與維護是指對數據庫系統(tǒng)實際正常運行使用,并時時實時進行評價、調整與修改。,1、需求分析,需求分析的任務是通過詳細調查現(xiàn)實世界要處理的對象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計算機系統(tǒng))的工作概況,明確用戶的各種需求,然后在此基礎上確定新系統(tǒng)的功能。 信息要求 指用戶需要從數據庫中獲得信息的內容與性質。由信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。 處理要求 指用戶要完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯(lián)機處理。 安全性與完整性要求 指對數據庫中的數據應該實施哪些約束和控制以保證數據的完整性和安全性。,需求分析的方法,自頂向下和自底向上兩類 常用:結構化分析方法自頂向下、逐層分解。,2、概念結構設計,概念模式獨立于數據庫系統(tǒng)的邏輯結構,獨立于具體的DBMS產品,也獨立于計算機系統(tǒng)。 概念模式是面向現(xiàn)實世界的數據模型,用ER模型來設計 逐一設計分ER圖-合并分ER圖-消除冗余生產基本ER圖,例:課程管理局部分E-R圖,3、邏輯結構設計,將概念設計階段產生的概念模式變換為邏輯模式。 步驟(以關系ER模型為例) 將概念結構轉換為一般的關系模型 將以上得到的一般關系模型向特定DBMS支持下的數據模型轉換 對數據模型進行優(yōu)化,4、物理結構設計,數據庫的物理設計是對已確定的邏輯數據結構,利用DBMS所提供的方法、技術,以較優(yōu)的數據存儲結構、數據存取路徑、合理的數據存放位置以及存儲分配,設計出一個高效的、可實現(xiàn)的物理數據庫結構。物理設計常常包括某些操作約束如響應時間與存儲要求等。 完成物理設計后,對該物理結構作出相應的性能評價,評價的主要指標是時間和空間效率。,物理設計的內容,確定數據的存儲結構 存取路徑的選擇和調整 確定數據存放位置 確定存儲分配,物理設計過程需要對時間、空間效率、維護代價和各種用戶要求進行權衡,其結果可以產生多種方案。在實施數據庫前,對這些方案進行細致的評價,以選擇一個較優(yōu)的方案作為來設計數據庫的物理結構。,5、數據庫實施,數據庫實現(xiàn)主要包括以下工作: 1)定義數據庫結構:用DBMS提供的數據定義語言(DDL)來嚴格描述數據庫結構 2)數據裝載:數據庫結構建立好后,就可以向數據庫中裝載數據了 3)編制和調試應用程序 4)數據庫運行,6、數據庫運行和維護,數據庫運行和維護階段的主要工作為: 1)數據庫的轉儲和恢復 2)數據庫的安全性和完整性控制 3)數據庫的性能監(jiān)督、分析和改造 4)數據庫的重組和重構,數據庫安全控制模型,數據庫技術應用,典型的關系數據庫管理系統(tǒng)產品 ORACLE Microsoft SQL Server Microsoft Access,選擇關系DBMS產品時考慮的主要因素,數據庫應用的規(guī)模、類型和用戶的數量 速度指標; 軟件、硬件平臺性價比; 開發(fā)者的經驗和習慣; 安全性要求; 對分布式應用的支持等。,典型的數據庫應用系統(tǒng)實例 航空售票系統(tǒng) 座位預定信息 座位分配、座位確認、餐飲選擇等; 航班信息 航班號、飛機型號、機組號、起飛地、目的地、起飛時間、到達時間、飛行狀態(tài)等; 機票信息 票價、折扣、是否有票等。,典型的數據庫應用系統(tǒng)實例 銀行業(yè)務系統(tǒng) 顧客信息 姓名、身份證號碼、地址、電話等信息; 賬戶信息 賬號、存款金額、余額、取款金額、日期等信息; 顧客與賬戶關系信息 身份證號碼、賬號等信息。,典型的數據庫應用系統(tǒng)實例 超市業(yè)務系統(tǒng) 銷售信息 連鎖點、日期、時間、顧客、商品、數量、總價等; 商品信息 商品名稱、單價、進貨數量、供應商、商品類型、擺放位置等; 供應商信息 供應商名稱、地點、商品、信譽等。,典型的數據庫應用系統(tǒng)實例 工廠的管理信息系統(tǒng) 銷售記錄 產品、服務、客戶、銷售人員、時間等; 雇員信息 姓名、地址、工資、津貼、所得稅款等; 財務信息 合同、應收貨款、應付貨款等。,典型的數據庫應用系統(tǒng)實例 學校教學管理系統(tǒng) 學生信息 姓名、學號、性別、班級、年齡、宿舍、電話、E-mail地址等; 教師信息 姓名、工作證號、性別、年齡、學歷、教研室、住址、電話、E-mail地址等; 教室信息 教室號、位置、座位、類型等; 課程信息 課程名稱、指定教材、學時、學分等; 排課信息 課程名稱、教室、班級、教師名稱等。,典型的數據庫應用系統(tǒng)實例 圖書管理系統(tǒng) 圖書信息 書號、書名、作者姓名、出版日期、類型、頁數、價格、出版社名稱等; 讀者信息 姓名、借書證號、性別、出生日期、學歷、住址、電話等; 借閱信息 借書證號、書名、借書日期、還書日期等。,5.3 關系數據語言 5.3.1 關系數據庫語言概述,SQL語言(Structured Query Language) :關系數據庫的標準語言。對關系模型的發(fā)展和商用DBMS的研制起著重要的作用。 具有數據定義、數據查詢、數據更新、數據控制等功能。,SQL發(fā)展歷史 1986年10月,ANSI批準SQL作為關系數據庫語言的美國標準,并公布了SQL的標準文本“數據庫語言SQL”(簡稱SQL86),1987國際標準化組織ISO通過了這一標準; 1989年公布了SQL89標準,增加了對完整性約束的支持; 1992年公布了SQL92標準; 1996年公布了SQL96標準; 1999年公布了SQL99標準; 2003年公布了SQL2003標準; SQL標準文本的修改和完善還在繼續(xù)進行,(1)一體化。SQL集數據定義語言DDL、數據操縱語言DML和數據控制語言DCL為一體。 (2)使用方式靈活。SQL既可以作為自含型語言供用戶在終端上直接與系統(tǒng)進行交互,又可作為宿主型語言,嵌入某種高級語言中使用,以方便數據處理。 (3)高度非過程化。 (4)語言簡潔,易學易用。,SQL的特點:,SQL數據庫的體系結構,SQL語句匯總,1、數據定義,數據定義包括對基本表(table)、視圖(view)和索引(index)等數據庫對象進行定義、修改和刪除。 基本表是數據庫中數據存儲的基本單位,一個關系對應一個表。 視圖是從基本表或其他視圖中導出的表,它本身不獨立存儲在數據庫中,數據庫只存放視圖的定義而不存放視圖對應的數據,數據仍存放在導出視圖的基本表中。 索引是為表而創(chuàng)建的。定義一個合適的索引可以使查詢速度提高幾倍。,數據類型: INTEGER或INT 全字長二進制整數 SMALLINT 半字長二進制整數 DECIMAL(p, q) 十進制數 FLOAT 浮點數 CHAR(n) 長度為n的定長字符串 VARCHAR(n) 最大長度為n的變長字符串 DATE 日期型,格式YYYY-MM-DD TIME 時間型,格式為HH.MM.SS.XX 常用語句: CREATE TABLE DROP TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX,語法: CREATE TABLE 表名( 列名 數據類型 DEFAULT 缺省值 NOT NULL , 列名 數據類型 DEFAULT 缺省值 NOT NULL , PRIMARY KEY(列名 , 列名 ) , FOREIGN KEY (列名 , 列名 ) REFERENCES 表名(列名 , 列名 ) ,CHECK (條件表達式) ) 注:句法中 表示該成分是可選項。,CREATE TABLE語句,舉例,設教學數據庫有三個關系: STUDENT (sno, sname, ssex, sage, sdept) COURSE (cno, cname, credit) SC (sno, cno, grade) 基本表STUDENT可用下列語句創(chuàng)建: CREATE TABLE STUDENT ( sno CHAR(4) NOT NULL, sname CHAR (8) NOT NULL, sage SMALLINT, ssex CHAR(1), sdept CHAR(30), PRIMARY KEY(Sno) ;,主鍵約束,CREATE TABLE COURSE ( cno CHAR(4) PRIMARY KEY, cname CHAR(50) NOT NULL, credit SMALLINT ) ; CREATE TABLE SC ( sno CHAR(4) NOT NULL, cno CHAR(4) NOT NULL, grade SMALLINT, PRIMARY KEY(sno, cno), FOREIGN KEY(sno) REFERENCES STUDENT(sno), FOREIGN KEY(cno) REFERENCES COURSE(cno), CHECK (grade= 0) ) ;,外鍵約束,自定義約束,修改基本表:ALERT TABLE語句,ALTER TABLE ADD DROP MODIFY ; :指定需要修改的基本表名 ADD子句:用于增加新列、定義新列的類型和新列的完整性約束。 DROP子句:用于刪除指定的完整性約束。 MODIFY子句:用于修改原有的列定義,可以修改列名,列的數據類型。,DROP TABLE語句,語法: DROP TABLE 表名 CASCADE | RESTRICT 注: 撤消基本表后,基本表的定義、表中的數據、表上的索引、以及由此表導出的視圖的定義都被刪除。 例: DROP TABLE SC ; DROP TABLE COURSE ; DROP TABLE STUDENT ;,建立視圖,語法: CREATE VIEW (,) AS WITH CHECK OPTION; 例:建立信息系學生的視圖 CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept=IS,數據查詢語句,數據查詢語句是SQL語言中最復雜的部分,允許用戶以靈活的方式表達查詢意圖,并返回數據庫中符合條件的數據。 語法: SELECT ALL | DISTINCT目標表的列名或列表達式序列 FROM 基本表和(或)視圖序列 WHERE 行條件表達式 GROUP BY 列名序列 HAVING 條件表達式 ORDER BY 列名ASC|DESC 注:SELECT語句中,WHERE子句稱為行條件子句,GROUP子句稱為分組子句,HAVING子句稱為組條件子句,ORDER子句稱為排序子句。,舉例(簡單查詢),例1:查詢全部學生的所有信息。 SELECT * FROM STUDENT; 例2:查詢全部被選課程的課程號。 SELECT DISTINCT cno FROM SC; 例3:列出選修了課程號為C6的所有學生的學號和成績,并按分數的降序排列。 SELECT sno, grade FROM SC WHERE cno=C6 ORDER BY grade DESC;,例5.3.810,表達查詢條件的謂詞,比較謂詞:,=, ; 例:cno=C6 IN謂詞:適合于離散有窮集合的查詢; 例:性別 IN (男,女) LIKE謂詞:適合于字符串的模糊查詢(匹配符%_) 例:書名 LIKE 數據庫% NULL謂詞:判斷空值 例:成績 IS NULL BETWEEN謂詞:適合數值型字段,可以定義一個閉區(qū)間;例:成績 BETWEEN 80 AND 90 多重條件查詢,例5.3.1112,例5.3.13,例5.3.14,例5.3.15,例5.3.16,例5.3.17,舉例(使用謂詞查詢),例4:查詢信息系(IS)、數學系(MA)以及計算機系(CS)學生的姓名和性別。 SELECT sname, ssex FROM STUDENT WHERE sdept IN(IS,MA,CS); 例5:查詢還沒有分系的學生的學號和姓名。 SELECT sno, sname FROM STUDENT WHERE sdept IS NULL; 例6:查詢所有姓王的學生的姓名、學號和性別。 SELECT sname, sno, ssex FROM STUDENT WHERE sname LIKE 王%; 注:%代表任意長度的字符串 _(下劃線)代表任意單個字符,舉例(使用謂詞查詢),例7:查詢課程名以DB開頭且倒數第3個字符為I的課程的所有信息。 SELECT * FROM COURSE WHERE cname LIKE DB%I_ _; 例8:查詢年齡在20到23歲之間的學生姓名、系別和年齡。 SELECT sname,sdept,sage FROM STUDENT WHERE sage BETWEEN 20 AND 23;,集函數和分組,集函數是面向一個集合的求值函數。 SUM:求總和 AVG:求平均值 COUNT:求集合中元素的個數 MAX:最大值 MIN:最小值 分組就是對查詢的結果進行分類。 GROUP子句可以按某些屬性的值對查詢結果進行分組。 HAVING子句可以對分組后的結果作進一步的篩選。 當查詢語句中有GROUP子句時,集函數作用的對象是一個分組的結果,而不是整個查詢的結果。,舉例(分組查詢),例9:查詢每門課程的課程號和平均成績。 SELECT cno, AVG(grade) FROM SC GROUP BY cno; 例10:查詢選修了三門以上課程的學生學號。 SELECT sno FROM SC GROUP BY sno HAVING COUNT(*)3; 注:WHERE子句與HAVING子句的區(qū)別在于WHERE子句作用于基本表或視圖,從中選擇滿足條件的元組;HAVING短語作用于組,從中選擇滿足條件的組。,例5.3.1920,連接查詢,當查詢的信息涉及到多個表中的數據時,要將這些表按某種條件連接起來。 例10:求“數據結構”課程成績大于85分的學生姓名和成績,結果按成績降序排列。 SELECT STUDENT.sname,grade FROM STUDENT,SC,COURSE WHERE STUDENT.sno = SC.sno AND SC.cno = COURSE.cno AND COURSE.cname = 數據結構 AND SC.grade 85 ORDER BY grade DESC; 注:當不同的表中有同名屬性時,屬性名前要用表名限定。,例5.3.2123,數據更新,數據更新包括數據插入、數據刪除和數據修改三種操作。 數據插入 元組值的插入 語法:INSERT INTO 基本表(列表) VALUES(元組值) 作用:將一條元組值插入到表中。 例1:往基本表SC中插入一個元組值 INSERT INTO SC VALUES(S004,數據庫,90); 例2:往基本表SC中插入部分元組值 INSERT INTO SC(sno, cno) VALUES(S004,物理); 查詢結果的插入 句法: INSERT INTO 基本表名(列名表) 子查詢 作用:將子查詢返回的結果數據集插入到表中。 要求:查詢語句的目標列必須與INTO子句匹配。,例3:將平均成績大于80分的學生學號和平均成績存入另一個基本表S_GRADE(Sno, Avg_grade)。 INSERT INTO S_GRADE (Sno, Avg_grade) SELECT Sno, AVG(grade) FROM SC GROUP BY sno HAVING AVG(grade)80; 數據刪除 語法:DELETE FROM 基本表 WHERE 條件表達式 作用:從表中刪除符合WHERE子句中刪除條件的元組;若WHERE子句缺省,則表示要刪除表中的所有元組。 例4:刪除學號為S001的學生信息。 DELETE FROM STUDENT WHERE sno=S001;,數據修改 語法: UPDATE 基本表名 SET 列名值表達式 ,列名值表達式 WHERE 條件表達式 作用:修改指定表中滿足WHERE子句條件的元組,若WHERE子句缺省,則表示對所有元組進行修改。 例5:把所有學生的年齡加1。 UPDATE STUDENT SET Sage = Sage+1; 例6:把課程號為C5的課程名改為“電子商務”。 UPDATE COURSE SET Cname=電子商務 WHERE Cno = C5;,視 圖,視圖是從一個或幾個基本表(或視圖)導出的一個虛表。 數據庫中只存放視圖的定義而不存放視圖的數據,這些數據仍放在原來的基表中。當基表中的數據發(fā)生變化時從視圖中查出的數據也隨之改變了。 視圖一經定義就可以對其進行查詢,但對視圖的更新操作有一定的限制。 視圖的定義 語法: CREATE VIEW 視圖名 (列名,列名) AS 子查詢 WITH CHECK OPTION,例1:建立計算機學院98級學生視圖。 CREATE VIEW CS_STUDENT(sno, sname) AS SELECT sno, sname FROM STUDENT WHERE sdept = CS WITH CHECK OPTION; 例2:建立計算機學院選修了5號課程的學生視圖。 CREATE VIEW CS_S1(sno,sname,grade) AS SELECT STUDENT.sno,sname,grade FROM STUDENT, SC WHERE sdept=CS AND STUDENT.sno=SC.sno AND cno=5;,視圖的查詢 對視圖的查詢與對表的查詢完全一樣。 例如:在計算機學院學生的視圖CS_S1中找學習了5號課程且成績?yōu)?5分的學號、姓名。 SELECT sno, sname FROM CS_S2 WHERE grade=95; 視圖的撤消 語法: DROP VIEW 視圖名 作用:從數據庫中刪除一個視圖的定義信息。 例如:撤消視圖CS_S1。 DROP VIEW CS_S1;,SQL的核心動詞,例5.3.8 查詢指定列:查詢全體學生的學號與姓名。 SELECT Sno,Sname FROM Student; 例5.3.9 查詢全部列:查詢全體學生的詳細記錄。 SELECT * FROM Student; 例5.3.11 查計算機系(CS)全體學生的姓名。 SELECT Sname FROM Student WHERE SdeptCS;,SQL舉例:,連接查詢,例5.3.21查詢每個學生及其選修課程的情況。 SELECT Student*,SC* FROM Student,SC WHERE StudentSnoSCSno;,例5.3.27 將一個新學生記錄(學號:20040020;姓名:陳冬;性別:男; 所在系:IS;年齡:18歲)插入Student表中。 INSERT INTO Student VALUES(20040020,陳冬,男,18,IS); 例5.3.29 將學生20040001的年齡改為22歲。 UPDATE Student SET Sage=22 WHERE Sno=20040001; 例5.3.31 刪除學號為20040019的學生記錄。 DELETE FROM Student WHERE Sno=20040019;,5.4 數據庫技術進展,1、主流數據庫系統(tǒng) dBase/FoxBase、Access、MySQL Oracle、SQL Server、SyBase、Informix,2、當前數據庫技術發(fā)展的主要特征,分布式數據庫 并行數據庫 數據倉庫,

注意事項

本文(《數據庫系統(tǒng)》PPT課件.ppt)為本站會員(za****8)主動上傳,裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。




關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!