大學(xué)計算機(jī)基礎(chǔ)教學(xué).ppt_第1頁
大學(xué)計算機(jī)基礎(chǔ)教學(xué).ppt_第2頁
大學(xué)計算機(jī)基礎(chǔ)教學(xué).ppt_第3頁
大學(xué)計算機(jī)基礎(chǔ)教學(xué).ppt_第4頁
大學(xué)計算機(jī)基礎(chǔ)教學(xué).ppt_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

大學(xué)計算機(jī)基礎(chǔ),大學(xué)計算機(jī)基礎(chǔ),,Fundamentals of Computers,第七章 數(shù)據(jù)庫技術(shù),2,1.1 數(shù)據(jù)庫系統(tǒng)的應(yīng)用 1.2 數(shù)據(jù)庫管理技術(shù)的產(chǎn)生和發(fā)展 1.3 數(shù)據(jù)庫系統(tǒng)的組成,第1節(jié) 數(shù)據(jù)庫系統(tǒng)概述,3,超市信息管理系統(tǒng) 在超市的數(shù)據(jù)庫中存儲所有關(guān)于進(jìn)、銷、存的信息,其中包括供應(yīng) 商、商品、庫存、銷售、現(xiàn)金賬和人員等超市運(yùn)營管理的信息。 這些信息以表的方式存儲,表與表之間存在一定的聯(lián)系。 銀行信息管理系統(tǒng) 電子商務(wù)網(wǎng)站,1.1 數(shù)據(jù)庫系統(tǒng)的應(yīng)用,4,數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理。 數(shù)據(jù)管理是指對數(shù)據(jù)的組織、分類、編碼、存儲、檢索和維護(hù)。 隨著計算機(jī)硬件和軟件的發(fā)展,數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個發(fā)展階段。,1.2 數(shù)據(jù)庫管理技術(shù)的產(chǎn)生和發(fā)展,5,產(chǎn)生的背景(20世紀(jì)50年代中以前) 應(yīng)用需求 科學(xué)計算 硬件水平 無直接存取存儲設(shè)備 軟件水平 沒有操作系統(tǒng) 處理方式 批處理,1、人工管理階段(程序管理),6,特點(diǎn) 數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。 數(shù)據(jù)面向的對象:某一應(yīng)用程序,程序和數(shù)據(jù)不可分 數(shù)據(jù)的共享程度:無共享、冗余度極大 數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴于程序,無結(jié)構(gòu)。,應(yīng)用程序與數(shù)據(jù)集合的關(guān)系,1、人工管理階段,7,產(chǎn)生的背景(20世紀(jì)50年代后60年代中) 應(yīng)用需求 科學(xué)計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機(jī)實時處理、批處理 在文件系統(tǒng)中,應(yīng)用程序從數(shù)據(jù)文件中存取數(shù)據(jù),產(chǎn)生各種報 表和實現(xiàn)各種事務(wù)處理。 文件管理是指將有關(guān)數(shù)據(jù)組織成一個獨(dú)立的文件,叫做數(shù)據(jù)文 件。,2、文件管理階段,8,特點(diǎn) 數(shù)據(jù)的管理者:文件系統(tǒng),數(shù) 據(jù)可長期保存 數(shù)據(jù)面向的對象:某一應(yīng)用程 序 數(shù)據(jù)的共享程度:共享性差、 冗余度大 數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu), 整體無結(jié)構(gòu) 數(shù)據(jù)的獨(dú)立性:獨(dú)立性差,數(shù) 據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng) 用程序 數(shù)據(jù)控制能力:應(yīng)用程序自己 控制,應(yīng)用程序與數(shù)據(jù)集合的關(guān)系,2、文件管理階段,9,產(chǎn)生的背景(20世紀(jì)60年代) 應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機(jī)實時處理,分布處理,批處理 指導(dǎo)思想是將所有的數(shù)據(jù)實行統(tǒng)一的、集中的、獨(dú)立的管 理,形成一個所謂的數(shù)據(jù)倉庫,使數(shù)據(jù)的存儲完全獨(dú)立于應(yīng) 用程序,由數(shù)據(jù)庫管理系統(tǒng)(DBMS)來對數(shù)據(jù)庫進(jìn)行管 理。,3、數(shù)據(jù)庫系統(tǒng)管理階段,10,DBS階段數(shù)據(jù)與程序的關(guān)系,11,在數(shù)據(jù)字典中存儲數(shù)據(jù)結(jié)構(gòu)(元數(shù)據(jù))和數(shù)據(jù)之間的聯(lián)系。 數(shù)據(jù)字典:是DBMS自動建立和管理的一個文件,用于 存放數(shù)據(jù)結(jié)構(gòu)(元數(shù)據(jù))和數(shù)據(jù)之間的聯(lián)系。 所有應(yīng)用程序都通過DBMS訪問數(shù)據(jù)庫。BMS能夠根據(jù) 數(shù)據(jù)庫的任何變動自動地修改數(shù)據(jù)字典。 避免了文件系統(tǒng)編寫、修改存取程序的麻煩,DBMS可 以消除文件系統(tǒng)中數(shù)據(jù)依賴于程序的弱點(diǎn),提供較好的 數(shù)據(jù)獨(dú)立性。,3、數(shù)據(jù)庫系統(tǒng)管理階段特點(diǎn),12,在建立數(shù)據(jù)庫時,只需要簡單地定義數(shù)據(jù)的邏輯結(jié)構(gòu),不必 花費(fèi)大量的精力定義數(shù)據(jù)的物理結(jié)構(gòu)和編寫程序。 例如,定義一個學(xué)生表。只要用以下命令就可以建立數(shù)據(jù)庫 的表結(jié)構(gòu)。 CREATE TABLE學(xué)生(學(xué)號 SMALLINT, 學(xué)號是短整型數(shù) 姓名 CHAR(8); 姓名是字符型、長度是8個字符,3、數(shù)據(jù)庫系統(tǒng)管理階段特點(diǎn),13,可以自動地將用戶輸入的邏輯數(shù)據(jù)轉(zhuǎn)換成物理數(shù)據(jù)。邏輯數(shù) 據(jù)與物理數(shù)據(jù)之間的變換由DBMS來完成。 “邏輯數(shù)據(jù)”是指存在于人們頭腦中有具體含義的數(shù)據(jù), 例如年齡、性別等; “物理數(shù)據(jù)”是指實際存儲在計算機(jī)中的二進(jìn)制數(shù)據(jù)。 DBMS能夠把用戶的邏輯請求轉(zhuǎn)換成內(nèi)部命令,由DBMS確 定數(shù)據(jù)的物理地址。 DBMS將查詢的結(jié)果按照用戶要求的格式輸出。,3、數(shù)據(jù)庫系統(tǒng)管理階段特點(diǎn),14,DBMS中通過封鎖和授權(quán)機(jī)制,確保數(shù)據(jù)庫的安全性和保密 性。 能夠?qū)崿F(xiàn)數(shù)據(jù)共享,支持多個用戶的數(shù)據(jù)存取。 具有數(shù)據(jù)備份和數(shù)據(jù)恢復(fù)的能力,保證數(shù)據(jù)的可靠性。 提供完整性約束功能,可以控制數(shù)據(jù)冗余和消除潛在的數(shù)據(jù) 不一致問題。 提供功能強(qiáng)大的結(jié)構(gòu)化查詢語言(SQL)。SQL屬于一種非 過程性語言,只需用戶指出做什么,不必說明怎么做。同 時,DBMS還提供了第三代語言存取數(shù)據(jù)的接口,如 COBOL、C、Pascal等語言。,3、數(shù)據(jù)庫系統(tǒng)管理階段特點(diǎn),15,數(shù)據(jù)庫是長期存儲在計算機(jī)內(nèi)有組織的大量的共享的數(shù)據(jù)集合。它可以供各種用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性。 DBMS在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時對數(shù)據(jù)庫進(jìn)行統(tǒng)一控制,以保證數(shù)據(jù)的完整性、安全性,并在多用戶同時使用數(shù)據(jù)庫時進(jìn)行并發(fā)控制,在發(fā)生故障后對系統(tǒng)進(jìn)行恢復(fù)。,3、數(shù)據(jù)庫系統(tǒng)管理階段,16,文件 桌面數(shù)據(jù)庫 大型商業(yè)數(shù)據(jù)庫 開源數(shù)據(jù)庫 新型Java數(shù)據(jù)庫 國產(chǎn)數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)平臺簡介,17,文本文件 文件保存在操作系統(tǒng)中的目錄中。有不同類 型的文件,例如,可執(zhí)行文件(.EXE)、數(shù)據(jù)文件 (.DAT)和文本文件(.TXT)等。數(shù)據(jù)庫也是以文件 形式由操作系統(tǒng)管理并存放在磁盤上的。 Excel文件 微軟公司提供的處理電子表格的軟件,適 合日常工作中的表格管理、財務(wù)報表處理或報表打 印。,1、文件,18,Access 是微軟提供的一種小型桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它具有關(guān) 系數(shù)據(jù)庫管理系統(tǒng)的基本功能。另外,還可以編寫用戶使用界面和可 供打印的報表,很容易制作一個小型的MIS系統(tǒng)。 XBase 作為個人計算機(jī)系統(tǒng)中使用最廣泛的小型數(shù)據(jù)庫管理系統(tǒng), 具有方便、廉價、簡單易用等優(yōu)勢,并向下兼容Dbase、Foxbase等 早期的數(shù)據(jù)庫管理系統(tǒng)。它有良好的普及性,在小型企業(yè)數(shù)據(jù)庫管理 與WWW結(jié)合等方面具有一定優(yōu)勢,但它難于管理大型數(shù)據(jù)庫。,2、桌面數(shù)據(jù)庫,19,Oracle是目前世界上最流行的大型關(guān)系數(shù)據(jù)庫管理系統(tǒng),具有移植性 好、使用方便、功能強(qiáng)大、性能強(qiáng)大等特點(diǎn),適用于各類大、中、小、 微機(jī)和專用服務(wù)器環(huán)境。 Oracle適合大中型企業(yè)使用,在電子政務(wù),電信、證券和銀行企業(yè)中使 用比較廣泛。 Oracle 1.0于1979年推出,目前最新版本為Oracle 10i。 SQL Server 、IBM的DB2,Sybase和Informix等。,3、大型商業(yè)數(shù)據(jù)庫,20,開源數(shù)據(jù)庫是指開放源代碼的數(shù)據(jù)庫,Linux系統(tǒng)下最受 程序員喜愛的三種DB是MySQL、PostgreSQL和 Oracle。其中MySQL、PostgreSQL是開源數(shù)據(jù)庫的優(yōu) 秀代表。 開源數(shù)據(jù)庫具有速度快、易用性好、支持SQL語言、支 持各種網(wǎng)絡(luò)環(huán)境、可移植性、開放和價格低廉(甚至免 費(fèi))等特點(diǎn)。,4、開源數(shù)據(jù)庫,21,伴隨著互聯(lián)網(wǎng)的發(fā)展,使用Java語言編寫的面向 對象數(shù)據(jù)庫管理系統(tǒng)也應(yīng)運(yùn)而生。 JDataStore是Borland公司推出的純Java數(shù)據(jù) 庫,主要用于J2EE平臺,具有跨平臺的移植性, 與Borland新一代Java開發(fā)工具Jbuilder配合使 用。,5、新型Java數(shù)據(jù)庫,22,據(jù)中國軟件評測中心對國內(nèi)、外數(shù)據(jù)庫的調(diào)查結(jié)果顯示,以東軟 OpenBASE等為代表的國產(chǎn)數(shù)據(jù)庫除了具有自主版權(quán)外,在技術(shù)方面已經(jīng) 接近國外先進(jìn)水平。 國產(chǎn)數(shù)據(jù)庫有價格低和實施周期短等優(yōu)勢。目前,已經(jīng)獲得實際應(yīng)用的國產(chǎn) 數(shù)據(jù)庫主要包括: 1東軟公司開發(fā)的東軟OpenBASE; 2九江華易軟件有限公司開發(fā)的華易數(shù)據(jù)庫管理系統(tǒng)HYSQL; 3人大金倉公司開發(fā)的Kingbase ES金鼎DBMS; 4武漢華工達(dá)夢數(shù)據(jù)庫有限公司研制的DM3; 5北京國信貝斯軟件有限公司推出的iBASE數(shù)據(jù)庫。,6、國產(chǎn)數(shù)據(jù)庫,23,近年來,在計算機(jī)領(lǐng)域出現(xiàn)了許多新技術(shù),例如分布式處理技術(shù)、并行 處理技術(shù)、人工智能、多媒體處理技術(shù)、模糊技術(shù)和面向?qū)ο蠹夹g(shù)等。 隨著與其他學(xué)科內(nèi)容的結(jié)合,數(shù)據(jù)庫技術(shù)的應(yīng)用范圍越來越廣,出現(xiàn)了 一些更適合特定領(lǐng)域的新型數(shù)據(jù)庫技術(shù),例如工程數(shù)據(jù)庫、模糊數(shù)據(jù) 庫、統(tǒng)計數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫和演繹數(shù)據(jù)庫等。 從發(fā)展上也出現(xiàn)了一些引人矚目的趨勢,其主要趨勢包括分布式數(shù)據(jù) 庫、面向?qū)ο髷?shù)據(jù)庫、多媒體數(shù)據(jù)庫和并行數(shù)據(jù)庫等。,數(shù)據(jù)庫應(yīng)用及發(fā)展趨勢,24,數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng) 數(shù)據(jù)庫應(yīng)用 數(shù)據(jù)庫管理員 用戶,1.3 數(shù)據(jù)庫系統(tǒng)的組成,25,從用戶使用數(shù)據(jù)庫的觀點(diǎn),定義數(shù)據(jù)庫是長期存儲在計算機(jī) 內(nèi)、有組織的、可共享的數(shù)據(jù)集合。 數(shù)據(jù)庫不僅需要存儲用戶的數(shù)據(jù),還存儲有關(guān)數(shù)據(jù)的結(jié)構(gòu)描 述信息(元數(shù)據(jù))。 數(shù)據(jù)庫技術(shù)是數(shù)據(jù)處理最有效的手段。數(shù)據(jù)庫中的數(shù)據(jù)按一 定的數(shù)據(jù)模型組織、描述和存儲,具有較小的冗余度、較高 的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,可為各種用戶共享。,數(shù)據(jù)庫(DB, DataBase),26,DB,27,DBMS是一個系統(tǒng)軟件,是用戶與數(shù)據(jù)庫間的接口。 對內(nèi),數(shù)據(jù)庫復(fù)雜的結(jié)構(gòu)描述信息由DBMS直接管理, 終端用戶不必了解數(shù)據(jù)庫內(nèi)部復(fù)雜的結(jié)構(gòu)。 對外,它向用戶提供一整套命令,用于合法用戶對數(shù)據(jù) 庫的各種操作;包括創(chuàng)建DB、定義數(shù)據(jù)、增、刪、改DB 記錄、統(tǒng)計計算等。當(dāng)用戶讀取數(shù)據(jù)時,DBMS自動地 將用戶的請求轉(zhuǎn)換成復(fù)雜的機(jī)器代碼,實現(xiàn)用戶對數(shù)據(jù) 庫的操作。 DBMS是在OS支持下工作的數(shù)據(jù)庫管理軟件。,數(shù)據(jù)庫管理系統(tǒng)(DBMS),28,DBMS是商品化的數(shù)據(jù)庫軟件,用戶不能對DBMS進(jìn)行修 改。 所謂數(shù)據(jù)庫設(shè)計不是對DBMS的設(shè)計,而是對數(shù)據(jù)庫的結(jié)構(gòu) 進(jìn)行設(shè)計。一旦完成數(shù)據(jù)庫設(shè)計,就可以利用DBMS提供的 數(shù)據(jù)定義功能,把所設(shè)計的數(shù)據(jù)模型轉(zhuǎn)換成計算機(jī)能夠接受 的內(nèi)部結(jié)構(gòu)。,DBMS,29,用戶對數(shù)據(jù)庫的操作就是數(shù)據(jù)庫應(yīng)用。 也可以理解為實現(xiàn)業(yè) 務(wù)邏輯的應(yīng)用程序。 數(shù)據(jù)庫應(yīng)用的方式有:屏幕格式、查詢窗口、報表、菜單、 應(yīng)用程序和交互式操作 ,其中除應(yīng)用程序外都可以由DBMS 實現(xiàn)。 目前,有許多數(shù)據(jù)庫應(yīng)用開發(fā)工具,例如,Oracle公司的 Developer2000,Sybase公司的PowerBuilder等。應(yīng)用這 些工具可以快速地開發(fā)應(yīng)用組件。,數(shù)據(jù)庫應(yīng)用,30,專門從事數(shù)據(jù)庫管理的機(jī)構(gòu)和人員,稱為數(shù)據(jù)庫管理員 (DBA)。 DBA全面負(fù)責(zé)對數(shù)據(jù)庫管理的計劃、組織、測試、監(jiān)控和服 務(wù) 。 向終端用戶提供數(shù)據(jù)和信息 制定數(shù)據(jù)庫管理的政策、標(biāo)準(zhǔn)和規(guī)程 確保數(shù)據(jù)庫的安全性,防止非法操作 數(shù)據(jù)庫的備份和恢復(fù) 培訓(xùn)終端用戶,數(shù)據(jù)庫管理員(DBA),31,用戶使用數(shù)據(jù)庫應(yīng)用跟蹤事務(wù)過程。他們使用表單來讀取、 輸入和查詢數(shù)據(jù),并且生成報表。,用 戶,32,DBS是指在計算機(jī)系統(tǒng)中引入DB后的系統(tǒng)構(gòu)成。 DBS = 數(shù)據(jù)庫 + 用戶 + 軟件 + 硬件 硬件:指運(yùn)行DBS的硬件資源,例如,SQL Server要求至少16MB內(nèi)存、32位CPU、至少80MB硬盤空間; 軟件:指DBS操作平臺,例如WINDOWS NT、DBMS、漢字處 理系統(tǒng)等; 用戶:指終端用戶、應(yīng)用程序員和數(shù)據(jù)庫管理員。,數(shù)據(jù)庫系統(tǒng)DBS,33,數(shù)據(jù)處理的三個世界 數(shù)據(jù)模型,第2節(jié) 數(shù)據(jù)模型,34,從現(xiàn)實生活中的客觀事物到存放于計算機(jī)中的數(shù)據(jù),這樣一個加工 過程可劃分為三個階段: 現(xiàn)實世界、信息世界和計算機(jī)世界 在現(xiàn)實世界中,分析客觀事物,找出要求解的對象集合,研究這些 對象、認(rèn)識它們的本質(zhì)及其規(guī)律。 在概念世界中,將求解的事物映射為實體,找出實體之間的各種聯(lián) 系,用實體-聯(lián)系圖來描述(Entity-Relationship,簡稱E-R圖)。 在計算機(jī)世界中,將實體模型轉(zhuǎn)換為能夠在計算機(jī)中處理的數(shù)據(jù)模 型。,客觀存在的世界中的事實及其聯(lián)系。,現(xiàn)實世界在人們頭腦中的反映,是對客觀事物及其聯(lián)系的一種抽象描述,可稱作數(shù)據(jù)世界,是在信息世界基礎(chǔ)上的進(jìn)一步抽象,7.2.1、數(shù)據(jù)處理的三個世界,35,在現(xiàn)實世界中,某類實體集中各個屬性之間的聯(lián)系、各實體之 間的聯(lián)系可使用E-R圖來描述,E-R圖是由美籍華人Peter Chen 在1976年提出的。在E-R圖中,用矩形表示實體,用圓角矩形 表示屬性,用菱形表示實體間的聯(lián)系。,實體與關(guān)系,36,數(shù)據(jù),數(shù)據(jù)分級,記錄 項 項 值,數(shù) 據(jù) 模 型,實 體 模 型,事物 及 聯(lián)系,實體分級,實體,對象 屬性 總體 個體,事物,事物分級,對象 性質(zhì) 共同 特殊,抽 象 過 程,數(shù)據(jù) 世界,信息 世界,現(xiàn)實 世界,客觀世界是信息之源,是設(shè)計DB的出發(fā)點(diǎn)。 實體模型和數(shù)據(jù)模型是對客觀事物的兩級抽象描述。 數(shù)據(jù)庫的核心問題是數(shù)據(jù)模型。,結(jié)論: 要得到正確的數(shù)據(jù)模型,必須首先充分了解客觀事物。,由此可見:,數(shù)據(jù)加工三個階段的關(guān)系,37,以教學(xué)管理為例: 教學(xué)由學(xué)生、課程、教師、學(xué)習(xí)、任課等實體組成。 學(xué)生屬性:學(xué)號、姓名、性別、年齡、班級 課程屬性:課程號、課程名稱 教師屬性:姓名、課程號、課時 學(xué)習(xí)屬性:學(xué)號、課程號、分?jǐn)?shù) 任課屬性:教師名、課程號、教室,實體模型舉例,38,課程,成績,授課,教師,學(xué)生,教師編號、姓名、職稱,教師編號、課程號,學(xué)號、姓名、性別、班級,課程號、課程名,學(xué)號、課程號、分?jǐn)?shù),聽課,學(xué)習(xí),講授,教學(xué)實體模型示意圖,39,建立了實體模型后,就可以建立數(shù)據(jù)模型了。 數(shù)據(jù)模型就是現(xiàn)實世界的模擬和抽象。 或 在DBS中表示實體(數(shù)據(jù)記錄)之間聯(lián)系的方式稱為數(shù)據(jù)模型。數(shù) 據(jù)模型實際上是數(shù)據(jù)間的一個整體邏輯結(jié)構(gòu)圖。 為了使模型能清晰、準(zhǔn)確地反映客觀事物,要進(jìn)行數(shù)據(jù)模型的設(shè)計,也 即數(shù)據(jù)庫的設(shè)計。 數(shù)據(jù)模型的組成 數(shù)據(jù)模型的分類,7.2.2 數(shù)據(jù)模型,40,數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu)是所研究的對象類型的集合。 數(shù)據(jù)操作 數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值) 允許執(zhí)行的操作集合,包括操作及有關(guān)的操作規(guī)則。 完整性約束 數(shù)據(jù)的約束條件是一組完整性規(guī)則的集合。,數(shù)據(jù)模型的組成,41,所研究的對象: 與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象,例如網(wǎng)狀模型中的數(shù)據(jù)項、記錄,關(guān)系模型中的域、屬性、關(guān)系等; 與數(shù)據(jù)之間聯(lián)系有關(guān)的對象,例如網(wǎng)狀模型中的系型(SetType)。 數(shù)據(jù)結(jié)構(gòu)是刻畫一個數(shù)據(jù)模型性質(zhì)最重要的方面。 數(shù)據(jù)結(jié)構(gòu)的類型,例如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)。 數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述。,數(shù)據(jù)結(jié)構(gòu),42,數(shù)據(jù)庫主要有檢索和更新(包括插入、刪除、修改)兩大類 操作。 數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī) 則(如優(yōu)先級)以及實現(xiàn)操作的語言。 數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述。,數(shù)據(jù)操作,43,完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約 和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài) 的變化,以保證數(shù)據(jù)的正確、有效、相容。 數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用 的完整性約束條件。,完整性約束,44,概念模型 面向計算機(jī)用戶、面向現(xiàn)實世界的數(shù)據(jù)模型,它與DBMS無關(guān),不 依賴于具體的計算機(jī)系統(tǒng),它主要用于應(yīng)用系統(tǒng)開發(fā)的有關(guān)需求分 析,描述一個單位的概念化結(jié)構(gòu),將現(xiàn)實世界抽象為信息世界。 邏輯模型 數(shù)據(jù)庫的組織形式稱為邏輯數(shù)據(jù)模型,它決定了數(shù)據(jù)庫中數(shù)據(jù)之間 聯(lián)系的表達(dá)方式。 在建立了概念數(shù)據(jù)模型后,即根據(jù)一定的規(guī)則將其轉(zhuǎn)化為邏輯數(shù)據(jù) 模型。 物理模型,數(shù)據(jù)模型的分類,45,這類模型主要用于信息世界的建模,強(qiáng)調(diào)語義表達(dá)能力,能 方便、直接地表達(dá)應(yīng)用中各種語義知識,其概念簡單、清 晰用戶容易理解。 概念數(shù)據(jù)模型主要有:實體-聯(lián)系模型(E-R模型)、擴(kuò)展實 體聯(lián)系模型(EER模型)、面向?qū)ο竽P停∣O模型)、 IDEF1X模型等,概念數(shù)據(jù)模型用于數(shù)據(jù)庫的設(shè)計。其中以 E-R模型最為著名。,概念模型,46,目前,常用的邏輯數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型、 關(guān)系模型。 層次模型(Hierachical Model): 數(shù)據(jù)之間的聯(lián)系像一棵倒放的樹,樹根、樹的分枝點(diǎn)和樹葉都稱為節(jié)點(diǎn),節(jié)點(diǎn)是分層次的,樹根是最高層。 軍隊中的建制、機(jī)關(guān)編制、家譜等都屬于層次模型。,邏輯模型,47,層次模型示意圖,48,網(wǎng)絡(luò)模型(Network Model): 數(shù)據(jù)之間的聯(lián)系象一張網(wǎng),網(wǎng)上的聯(lián)接點(diǎn)稱為節(jié)點(diǎn),節(jié)點(diǎn) 與節(jié)點(diǎn)之間是平等的,不分層次。,網(wǎng)絡(luò)模型,49,關(guān)系模型(Relational Model): 關(guān)系模型是當(dāng)前DBMS所支持的數(shù)據(jù)模型的主流,關(guān)系模 型建立在集合論的基礎(chǔ)上,工資表、成績表、檔案表等都 屬于關(guān)系模型。 其組織形式是一張二維表,一個表即一個關(guān)系;其特點(diǎn): 一個關(guān)系一張表 數(shù)據(jù)獨(dú)立性高 操作簡單 一行是一個記錄 一列是一個數(shù)據(jù)項(字段),關(guān)系模型,50,物理數(shù)據(jù)模型反映數(shù)據(jù)的存儲結(jié)構(gòu),例如存儲介質(zhì)的物理 塊、指針和索引等。 每個邏輯數(shù)據(jù)模型在實現(xiàn)時,都有其對應(yīng)的物理數(shù)據(jù)模型。 物理數(shù)據(jù)模型不但與DBMS有關(guān),而且還與計算機(jī)系統(tǒng)的硬 件和操作系統(tǒng)有關(guān)。 物理數(shù)據(jù)模型和邏輯數(shù)據(jù)模型用于DBMS的實現(xiàn)。,物理模型,51,數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計步驟,DB應(yīng)用系統(tǒng)的設(shè)計步驟符合軟件工程設(shè)計思想。 用戶需求分析 理解用戶對該項目所提出的各種要求,并進(jìn)一步對各個環(huán)節(jié)進(jìn)行抽象。 概念設(shè)計 將需求分析的結(jié)果抽象為信息結(jié)構(gòu),得到系統(tǒng)的全局E-R圖。 邏輯設(shè)計 將得到的抽象的E-R圖轉(zhuǎn)換成數(shù)據(jù)模型。 物理設(shè)計 確定得到的數(shù)據(jù)模型最后反映在物理設(shè)備上是個什么物理結(jié)構(gòu)。 數(shù)據(jù)庫實施 在選定的RDBMS中,建立系統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu),對原始數(shù)據(jù)進(jìn)行采集、整理、轉(zhuǎn)換并錄入。 數(shù)據(jù)庫的維護(hù) 包括故障排除、數(shù)據(jù)備份和恢復(fù)、安全性和完整性機(jī)制的定期改善,以及對數(shù)據(jù)庫性能進(jìn)行改進(jìn)。,數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計步驟,52,從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式 結(jié)構(gòu) 數(shù)據(jù)庫模式的概念 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu) 數(shù)據(jù)庫的兩級映射功能與數(shù)據(jù)獨(dú)立性,第3節(jié) 數(shù)據(jù)庫體系結(jié)構(gòu),53,在數(shù)據(jù)模型中有型與值的概念 模式(Schema)是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的 描述,它僅僅涉及到型的描述,不涉及到具體的值。模式的 主體就是數(shù)據(jù)庫的數(shù)據(jù)模型。 模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系,而實例反映的是數(shù)據(jù)庫 某一時刻的狀態(tài)。,數(shù)據(jù)模式的概念,54,外模式 也稱子模式(Subschema)或用戶模式,它是數(shù)據(jù)庫用戶 (包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù) 的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與 某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。 外模式通常是模式的子集。一個數(shù)據(jù)庫可以有多個外模式。 一個應(yīng)用程序只能使用一個外模式。,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),55,模式 也稱為邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的 描述,是所有用戶的公共數(shù)據(jù)視圖。 模式實際上是數(shù)據(jù)庫數(shù)據(jù)在邏輯級上的視圖。一個數(shù)據(jù)庫只 有一個模式。,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),56,內(nèi)模式 也稱存儲模式(Storage Schema),它是數(shù)據(jù)物理結(jié)構(gòu)和 存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。 一個數(shù)據(jù)庫只有一個內(nèi)模式。,數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu),57,數(shù)據(jù)庫系統(tǒng)的分層視圖,58,數(shù)據(jù)庫管理系統(tǒng)在三級模式之間提供了兩層映射:外模式/模 式映射;模式/內(nèi)模式映射。 正是這兩層映射保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。 外模式/模式映射 模式/內(nèi)模式映射,數(shù)據(jù)庫的兩級映射功能與數(shù)據(jù)獨(dú)立性,59,模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的 局部邏輯結(jié)構(gòu)。對應(yīng)于同一個模式可以有任意多個外模式。 對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映射, 它定義了該外模式與模式之間的對應(yīng)關(guān)系。這些映射定義通 常包含在各自外模式的描述中。 當(dāng)模式改變時(例如增加新的關(guān)系、新的屬性、改變屬性的 數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對各個外模式/模式的映射作 相應(yīng)改變,可以使外模式保持不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的 外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程 序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。,外模式/模式映射,60,數(shù)據(jù)庫中只有一個模式,也只有一個內(nèi)模式,所以模式/內(nèi)模 式映射是唯一的,它定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu) 之間的對應(yīng)關(guān)系。 當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié) 構(gòu)),由數(shù)據(jù)庫管理員對模式/內(nèi)模式映射作相應(yīng)改變,可以 使模式保持不變,從而應(yīng)用程序也不必改變。保證了數(shù)據(jù)與 程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。,模式/內(nèi)模式映射,61,關(guān)系模型的基本概念 關(guān)系的形式化定義 關(guān)系代數(shù)基礎(chǔ) 結(jié)構(gòu)化查詢語言(SQL)基礎(chǔ),第4節(jié) 關(guān)系數(shù)據(jù)庫基礎(chǔ),62,關(guān)系模型 是數(shù)學(xué)化的模型,它把數(shù)據(jù)看作二維表中的元素,表就是其關(guān)系。 其特點(diǎn)是: 表中每一列屬性都是不能再細(xì)分的基 本單元 不允許有重復(fù)的列 不允許有相同的記錄 行、列次序均無關(guān),1.關(guān)系模型的基本概念,63,關(guān)系(庫名)SHOP,店 名 地 址 經(jīng)辦人 電話,解放路食品店 解放路262號 李國基 2278101 桃園商場 桃園路6號 張山 3268231 香甜瓜果店 北大街26號 王宏 3262013 白塔干鮮果店 西大街56號 宋良忠 2667337 北大街果品店 北大街231號 林青 3101169,關(guān)系框架 或 庫結(jié)構(gòu),元組 或 記錄,屬性(字段),屬性 “電話”的值,關(guān)系概念的圖解,64,關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一。在關(guān)系模型中,現(xiàn)實世界的 實體以及實體間的各種聯(lián)系均用關(guān)系來表示。在用戶看來, 關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。 每一個交叉點(diǎn)都必須是單值的(不能有重復(fù)組);每一列 (屬性)的所有數(shù)據(jù)都是同一類型的,每一列都有唯一的列 名,列在表中的順序無關(guān)緊要;表中任意兩行(元組)不能 相同,行在表中的順序也無關(guān)緊要。,關(guān)系的數(shù)據(jù)結(jié)構(gòu),65,查詢(Query)操作:選擇(Select)、投影(Project)、 連接(Join)、除(Divide)、并(Union)、交 (Intersection)、差(Difference)等。 其它操作:插入(Insert)刪除(Delete)更新(Update) 等。,關(guān)系的基本操作,66,關(guān)系模型允許定義三類完整性約束:實體完整性、參照完整 性和用戶定義的完整性。其中,實體完整性和參照完整性是 關(guān)系模型必須滿足的完整性約束條件,應(yīng)該由關(guān)系系統(tǒng)自動 支持。用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件, 體現(xiàn)了具體領(lǐng)域中的語義約束。,關(guān)系的基本約束,67,域(Domain) 笛卡爾積(Cartesian Product) 關(guān)系(Relation),關(guān)系的形式化定義,68,域是一組具有相同數(shù)據(jù)類型的值的集合。例: 整數(shù) 實數(shù) 介于某個取值范圍的整數(shù) 長度指定長度的字符串集合 男,女 介于某個取值范圍的日期,域(domain),69,給定一組域D1,D2,Dn,這些域中可以有相同的。 D1,D2,Dn的笛卡爾積為:D1D2Dn (d1,d2,dn)diDi,i1,2,n 所有域的所有取值的一個組合 不能重復(fù),笛卡爾積(Cartesian Product),70,元組(Tuple) 笛卡爾積中每一個元素(d1,d2,dn)叫作一個n元 組(n-tuple)或簡稱元組。 分量(Component) 笛卡爾積元素(d1,d2,dn)中的每一個值di叫作一 個分量。,笛卡爾積,71,關(guān)系 D1D2Dn的子集叫作在域D1,D2,Dn上的關(guān) 系,表示為 R(D1,D2,Dn) R:關(guān)系名 n:關(guān)系的目或度(Degree),關(guān)系(relation),72,元組 關(guān)系中的每個元素是關(guān)系中的元組,通常用t表示。 單元關(guān)系與二元關(guān)系 當(dāng)n=1時,稱該關(guān)系為單元關(guān)系(Unary relation)。 當(dāng)n=2時,稱該關(guān)系為二元關(guān)系(Binary relation)。,關(guān) 系,73,屬性 關(guān)系中不同列可以對應(yīng)相同的域,為了加以區(qū)分,必須對 每列起一個名字,稱為屬性(Attribute)。 n目關(guān)系必有n個屬性,關(guān) 系,74,若關(guān)系中的某一最小屬性組的值能唯一地標(biāo)識一個元組,則 稱該屬性組為候選鍵(Candidate Key)。 若一個關(guān)系有多個候選鍵,則選定其中一個為主鍵 (Primary Key)。主鍵的諸屬性稱為主屬性(Primary Attribute)。 不包含在任何候選鍵中的屬性稱為非鍵屬性(Non-key Attribute)。,關(guān) 系,75,關(guān)系數(shù)據(jù)模型中的關(guān)系必須是有限集。 任意兩個元組不能完全相同。 每一列的所有數(shù)據(jù)都屬于同一種類型; 關(guān)系中的每一列都是不可再分的; 不同的列可出自同一個域,稱其中的每列為一個屬性,不同 的屬性要有不同的屬性名; 列的順序與行的次序可以任意交換,不影響它們所表示的信 息內(nèi)容;,關(guān)系的性質(zhì),76,關(guān)系的描述稱為關(guān)系模式。一個關(guān)系模式通常包括關(guān)系名、 組成該關(guān)系的屬性名、屬性到域的映像以及屬性間的數(shù)據(jù)依 賴關(guān)系等。在這一章中關(guān)系模式通常記為R(A1, A2,An)。其中,R為關(guān)系名,A1,A2,An為屬性 名。屬性到域的映像常常直接說明為屬性類型、長度等。 關(guān)系是關(guān)系模式在某一時刻關(guān)系模式對應(yīng)的內(nèi)容,是一個元 組的集合。通常把關(guān)系模式和關(guān)系統(tǒng)稱為關(guān)系,讀者應(yīng)當(dāng)根 據(jù)上下文加以區(qū)分。 關(guān)系數(shù)據(jù)庫的描述稱為數(shù)據(jù)庫模式,通常是由若干關(guān)系模式 組成的。而數(shù)據(jù)庫的值是由組成該數(shù)據(jù)庫模式的所有關(guān)系模 式在某一時刻對應(yīng)的關(guān)系的集合組成的。,關(guān)系模式與關(guān)系數(shù)據(jù)庫,77,基本運(yùn)算 選擇、投影、并、差、積 其它運(yùn)算 交、自然連接、除 等 交、自然連接、除等運(yùn)算可以由基本運(yùn)算定義,關(guān)系代數(shù)基礎(chǔ),78,選擇運(yùn)算是從關(guān)系中選擇某些滿足條件的元組構(gòu)成一個新的 關(guān)系。通常選擇運(yùn)算表達(dá)式記為:(R)。 例如,要從學(xué)生關(guān)系中選擇性別=女的元組應(yīng)寫成: 性別=女(學(xué)生),選擇運(yùn)算,79,學(xué)號 姓名 性別 06002657 王遠(yuǎn)征 男 06002782 李守財 男 06002792 張小冬 男 05001234 韓龍妹 女 05001343 竇旭香 女,學(xué)號 姓名 性別 05001234 韓龍妹 女 05001343 竇旭香 女,性別=女,選擇運(yùn)算的條件表達(dá)式中可以使用比較運(yùn)算符、!、和=,也可以用邏輯運(yùn)算符AND(邏輯與)和OR(邏輯或)構(gòu)成復(fù)雜的條件表達(dá)式。,選擇運(yùn)算,80,投影運(yùn)算是從關(guān)系中選擇某些屬性列構(gòu)成個新的關(guān)系。投 影的結(jié)果將消除重復(fù)元組。通常投影運(yùn)算表達(dá)式記為: A,B(R),其中A和B是屬性名,R是一個關(guān)系。 有學(xué)生關(guān)系R,列出學(xué)生的姓名和專業(yè),其投影運(yùn)算表達(dá)式應(yīng) 寫成: 姓名,專業(yè)(學(xué)生)或?qū)懗桑?,4(學(xué)生) 投影運(yùn)算的結(jié)果是一個包含姓名和專業(yè)屬性的新關(guān)系,投影運(yùn)算,81,姓名 專業(yè) 竇旭香 物理 李守財 法學(xué) 王遠(yuǎn)征 數(shù)學(xué),學(xué)號 姓名 性別 專業(yè) 05001343 竇旭香 女 物理 06002782 李守財 男 法學(xué) 06002657 王遠(yuǎn)征 男 數(shù)學(xué),姓名,專業(yè)(學(xué)生),投 影,82,設(shè)關(guān)系R和S的屬性數(shù)目(n列)相同,且相應(yīng)的屬性取自同 一個域,則關(guān)系R與S的并是由屬于R或?qū)儆赟的元組組成的 新關(guān)系。其結(jié)果是具有n個屬性的關(guān)系,且消除重復(fù)元組。 通常并運(yùn)算表達(dá)式記為:RUS 有學(xué)生和新生關(guān)系如下: 學(xué)生(學(xué)號,姓名,性別) 新生(學(xué)號,姓名,性別) 如果要把兩個關(guān)系合并成一個關(guān)系,可以用并運(yùn)算實現(xiàn)這個 操作。顯然,兩個關(guān)系的屬性數(shù)目相同,相應(yīng)屬性域也相 同,滿足并運(yùn)算的條件。 并運(yùn)算的結(jié)果有9個元組其中5個元組來自學(xué)生關(guān)系,4個 元組來自新生關(guān)系。如果有重復(fù)的元組將消除。,并(union),83,學(xué)號 姓名 性別 06002657 王遠(yuǎn)征 男 06002782 李守財 男 06002792 張小冬 男 05001234 韓龍妹 女 05001343 竇旭香 女,學(xué)號 姓名 性別 07005437 寧建春 女 07004321 曲春霞 女 07003352 雷金鳳 女 07003482 武利君 男,學(xué)號 姓名 性別 06002657 王遠(yuǎn)征 男 06002782 李守財 男 06002792 張小冬 男 05001234 韓龍妹 女 05001343 竇旭香 女 07005437 寧建春 女 07004321 曲春霞 女 07003352 雷金鳳 女 07003482 武利君 男,并(續(xù)),84,設(shè)關(guān)系R和S具有相同數(shù)目的屬性(n列),且相應(yīng)的屬性取 自同一個域,則關(guān)系R與S的差是由屬于R而不屬于S的元組 構(gòu)成的新關(guān)系,記為:R-S。 有學(xué)生和畢業(yè)生關(guān)系如下: 學(xué)生(學(xué)號姓名) 畢業(yè)生(學(xué)號,姓名) 顯然,兩個關(guān)系的屬性數(shù)目相同,且相應(yīng)屬性域也相同,滿 足差運(yùn)算的條件。差運(yùn)算的結(jié)果是在校生關(guān)系,共有3個元 組,這3個元組屬于學(xué)生關(guān)系,但不屬于畢業(yè)生關(guān)系。 如果要生成一個在校生關(guān)系,即從學(xué)生關(guān)系中減去畢業(yè)生的 元組,可以用差運(yùn)算實現(xiàn)。,差(difference),85,學(xué)號 姓名 06002657 王遠(yuǎn)征 06002782 李守財 06002792 張小冬 05001234 韓龍妹 05001343 竇旭香,學(xué)號 姓名 05001234 韓龍妹 05001343 竇旭香,學(xué)號 姓名 06002657 王遠(yuǎn)征 06002782 李守財 06002792 張小冬,差(續(xù)),86,關(guān)系R與關(guān)系S的笛卡兒積記成:RS,若R有m個屬性,S 有n個屬性,則RS是一個具有(m+n)個屬性的關(guān)系

溫馨提示

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

最新文檔

評論

0/150

提交評論