《數(shù)據(jù)庫原理及應(yīng)用教程-MySQL8.0》課件 第1章 數(shù)據(jù)庫系統(tǒng)概述_第1頁
《數(shù)據(jù)庫原理及應(yīng)用教程-MySQL8.0》課件 第1章 數(shù)據(jù)庫系統(tǒng)概述_第2頁
《數(shù)據(jù)庫原理及應(yīng)用教程-MySQL8.0》課件 第1章 數(shù)據(jù)庫系統(tǒng)概述_第3頁
《數(shù)據(jù)庫原理及應(yīng)用教程-MySQL8.0》課件 第1章 數(shù)據(jù)庫系統(tǒng)概述_第4頁
《數(shù)據(jù)庫原理及應(yīng)用教程-MySQL8.0》課件 第1章 數(shù)據(jù)庫系統(tǒng)概述_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理與應(yīng)用教程-MySQL8.0第1章數(shù)據(jù)庫系統(tǒng)概述第1章數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫——通俗地講就是存放數(shù)據(jù)的倉庫。數(shù)據(jù)庫技術(shù)所研究的問題是如何科學(xué)地組織和存儲(chǔ)數(shù)據(jù),在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲(chǔ)冗余、實(shí)現(xiàn)數(shù)據(jù)共享,以及如何保障數(shù)據(jù)安全、有效地獲取和處理。1.1數(shù)據(jù)庫技術(shù)發(fā)展史數(shù)據(jù)庫技術(shù)是20世紀(jì)60年代后期興起的一門信息管理自動(dòng)化學(xué)科,是計(jì)算機(jī)學(xué)科的一個(gè)重要分支(數(shù)據(jù)處理)。了解計(jì)算機(jī)的三個(gè)主要的應(yīng)用領(lǐng)域:科學(xué)計(jì)算、數(shù)據(jù)處理、智能控制1.1.1數(shù)據(jù)處理技術(shù)1.數(shù)據(jù)(Data)數(shù)據(jù)是描述現(xiàn)實(shí)世界中各種具體事物或抽象概念的符號(hào)記錄。除了常用的數(shù)字?jǐn)?shù)據(jù)外,文字(如名稱)、圖形、圖像、聲音等信息,也都是數(shù)據(jù)。在計(jì)算機(jī)中,為了存儲(chǔ)和處理這些事物,就要抽出對(duì)這些事物感興趣的特征組成一個(gè)記錄來描述。例如,對(duì)學(xué)生的學(xué)號(hào)、姓名、性別和年齡等情況這樣描述:202201001,張三,男,19。1.1.1數(shù)據(jù)處理技術(shù)2.數(shù)據(jù)處理(DataProcess)數(shù)據(jù)處理(DataProcess)是指對(duì)數(shù)據(jù)的收集、分類、組織、編碼、存儲(chǔ)、加工、計(jì)算、檢索、維護(hù)、傳播以及打印等一系列的活動(dòng)。其目的就是從大量的數(shù)據(jù)中提取出有效的信息資源。在數(shù)據(jù)處理中,通常數(shù)據(jù)的計(jì)算比較簡單,而數(shù)據(jù)的管理比較復(fù)雜。數(shù)據(jù)管理是指數(shù)據(jù)的收集、分類、組織、編碼、存儲(chǔ)、檢索、維護(hù)等操作。1.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段隨著計(jì)算機(jī)硬件和軟件的發(fā)展,計(jì)算機(jī)在數(shù)據(jù)處理方面應(yīng)用越來越廣泛,數(shù)據(jù)庫技術(shù)也不斷地發(fā)展。從數(shù)據(jù)管理的角度數(shù)據(jù)庫技術(shù)經(jīng)歷了三個(gè)階段。

1.人工管理階段

2.文件系統(tǒng)階段

3.數(shù)據(jù)庫系統(tǒng)階段1.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段1.人工管理階段

20世紀(jì)50年代中期以前屬于人工管理階段,它是數(shù)據(jù)管理的初級(jí)階段。這一階段的計(jì)算機(jī)主要用于科學(xué)計(jì)算。特點(diǎn):(1)數(shù)據(jù)不能被長期保存,沒有文件的概念。(2)沒有對(duì)數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng)。(3)數(shù)據(jù)無獨(dú)立性。(4)數(shù)據(jù)不能共享。1.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段程序與數(shù)據(jù)是一個(gè)整體,一個(gè)程序中的數(shù)據(jù)無法被其他程序使用,因此程序與程序之間存在大量的重復(fù)數(shù)據(jù)。應(yīng)用程序和數(shù)據(jù)的依賴關(guān)系:應(yīng)用程序n應(yīng)用程序2數(shù)據(jù)組n應(yīng)用程序1數(shù)據(jù)組1數(shù)據(jù)組2…1.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段2.文件系統(tǒng)階段

20世紀(jì)50年代后期至60年代中后期,計(jì)算機(jī)的應(yīng)用范圍不斷擴(kuò)大,不僅用于科學(xué)計(jì)算,還大量用于管理。硬件方面,磁盤成為計(jì)算機(jī)的主要外存儲(chǔ)器;軟件方面,出現(xiàn)了高級(jí)語言和操作系統(tǒng)。程序通過數(shù)據(jù)文件訪問數(shù)據(jù)。外存儲(chǔ)器數(shù)據(jù)輸入程序數(shù)據(jù)輸入程序數(shù)據(jù)文件特點(diǎn):(1)數(shù)據(jù)可以長期保存(2)由文件系統(tǒng)管理數(shù)據(jù)(3)數(shù)據(jù)具有一定的獨(dú)立性(4)文件結(jié)構(gòu)的設(shè)計(jì)仍然是基于特定的用途應(yīng)用程序和數(shù)據(jù)文件的關(guān)系:應(yīng)用程序n應(yīng)用程序2數(shù)據(jù)文件n數(shù)據(jù)文件1文件系統(tǒng)應(yīng)用程序1數(shù)據(jù)文件21.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段3.數(shù)據(jù)庫系統(tǒng)階段(DBMS)

20世紀(jì)60年代后期以來,計(jì)算機(jī)應(yīng)用越來越廣泛,數(shù)據(jù)量急劇增加,數(shù)據(jù)的共享要求越來越高。硬件方面,有了大容量的磁盤;軟件方面,出現(xiàn)了能夠統(tǒng)一管理和共享數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem)。所以,此階段將數(shù)據(jù)集中存儲(chǔ)在各數(shù)據(jù)庫中,進(jìn)行統(tǒng)一組織和管理。外存儲(chǔ)器數(shù)據(jù)庫1.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段1.1.2數(shù)據(jù)庫技術(shù)的三個(gè)發(fā)展階段數(shù)據(jù)庫系統(tǒng)的特點(diǎn)如下(優(yōu)點(diǎn)):(1)數(shù)據(jù)結(jié)構(gòu)化(2)較高的數(shù)據(jù)共享性(3)較高的數(shù)據(jù)獨(dú)立性(4)數(shù)據(jù)由DBMS統(tǒng)一管理和控制

應(yīng)用程序與數(shù)據(jù)之間的關(guān)系如圖所示:應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫1.2數(shù)據(jù)庫系統(tǒng)組成數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫開發(fā)工具、數(shù)據(jù)庫應(yīng)用系統(tǒng)和人員構(gòu)成。數(shù)據(jù)庫發(fā)開工具應(yīng)用系統(tǒng)人員硬件DBMSOS數(shù)據(jù)庫1.2數(shù)據(jù)庫系統(tǒng)組成1.數(shù)據(jù)庫(DataBase,DB)

數(shù)據(jù)庫是指長期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織的、可共享的數(shù)據(jù)集合,即在計(jì)算機(jī)系統(tǒng)中按一定的數(shù)據(jù)模型組織、存儲(chǔ)和使用的相關(guān)聯(lián)的數(shù)據(jù)集合。它不僅包括描述事物的數(shù)據(jù)本身,還包括相關(guān)事物之間的聯(lián)系。

1.2數(shù)據(jù)庫系統(tǒng)組成

2.數(shù)據(jù)庫管理系統(tǒng)(DBMS)

數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是為數(shù)據(jù)庫的建立、使用和維護(hù)而配置的軟件。它建立在操作系統(tǒng)的基礎(chǔ)上,位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它為用戶或應(yīng)用程序提供訪問數(shù)據(jù)庫的方法,包括數(shù)據(jù)庫的創(chuàng)建、查詢、更新及各種數(shù)據(jù)控制等。

1.2數(shù)據(jù)庫系統(tǒng)組成數(shù)據(jù)庫管理系統(tǒng)的功能數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心軟件,一般說來,其功能主要包括以下4個(gè)方面。(1)數(shù)據(jù)定義和操縱功能

DBMS提供數(shù)據(jù)定義語言DDL對(duì)數(shù)據(jù)庫中的對(duì)象進(jìn)行定義和數(shù)據(jù)操縱語言DML檢索、插入、修改、刪除數(shù)據(jù)庫中的數(shù)據(jù)。(2)數(shù)據(jù)庫運(yùn)行控制功能對(duì)數(shù)據(jù)庫進(jìn)行并發(fā)控制、安全性檢查、完整性約束條件的檢查和執(zhí)行、數(shù)據(jù)庫的內(nèi)部維護(hù)等。1.2數(shù)據(jù)庫系統(tǒng)組成(3)數(shù)據(jù)庫的組織、存儲(chǔ)和管理

DBMS確定以何種文件結(jié)構(gòu)和存取方式物理地組織數(shù)據(jù),如何實(shí)現(xiàn)數(shù)據(jù)之間的聯(lián)系,以便提高存儲(chǔ)空間利用率和各種操作的時(shí)間效率。(4)建立和維護(hù)數(shù)據(jù)庫初始數(shù)據(jù)的輸入與數(shù)據(jù)轉(zhuǎn)換,數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)與恢復(fù)、數(shù)據(jù)庫的重組織與重構(gòu)造、性能的監(jiān)視與分析等。1.2數(shù)據(jù)庫系統(tǒng)組成3.數(shù)據(jù)庫應(yīng)用系統(tǒng)

凡使用數(shù)據(jù)庫技術(shù)管理其數(shù)據(jù)的系統(tǒng)都稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。數(shù)據(jù)庫應(yīng)用系統(tǒng)的應(yīng)用非常廣泛,它可以用于事務(wù)管理、計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)圖形分析和處理以及人工智能等系統(tǒng)中。1.2數(shù)據(jù)庫系統(tǒng)組成4.人員(1)終端用戶終端用戶是數(shù)據(jù)庫的使用者,通過應(yīng)用程序與數(shù)據(jù)庫進(jìn)行交互。(2)應(yīng)用程序員應(yīng)用程序員負(fù)責(zé)分析、設(shè)計(jì)、開發(fā)、維護(hù)數(shù)據(jù)庫系統(tǒng)中各類應(yīng)用程序,數(shù)據(jù)庫系統(tǒng)一般需要一個(gè)以上的應(yīng)用程序員在開發(fā)周期內(nèi)完成數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)、應(yīng)用程序開發(fā)等任務(wù)。1.2數(shù)據(jù)庫系統(tǒng)組成(3)數(shù)據(jù)庫管理員(DatabaseAdministrator,DBA)

數(shù)據(jù)庫管理員是高級(jí)用戶,其職能是管理、監(jiān)督、維護(hù)數(shù)據(jù)庫系統(tǒng)的正常運(yùn)行,負(fù)責(zé)全面管理和控制數(shù)據(jù)庫系統(tǒng)。職責(zé):設(shè)計(jì)數(shù)據(jù)庫的結(jié)構(gòu)和內(nèi)容,定義數(shù)據(jù)庫的安全性和完整性,監(jiān)督數(shù)據(jù)庫的運(yùn)行等等。1.3數(shù)據(jù)庫的體系結(jié)構(gòu)1.3.1數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)

為了保障數(shù)據(jù)與程序之間的獨(dú)立性,使用戶能以簡單的邏輯結(jié)構(gòu)操作數(shù)據(jù)而無需考慮數(shù)據(jù)的物理結(jié)構(gòu),簡化應(yīng)用程序的編制和程序員的負(fù)擔(dān),增強(qiáng)系統(tǒng)的可靠性。DBMS將數(shù)據(jù)庫的體系結(jié)構(gòu)分為三級(jí)模式:外模式、模式和內(nèi)模式。1.3.1數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)學(xué)生表:學(xué)號(hào)姓名性別學(xué)院2016002張三男數(shù)學(xué)2016025李四女?dāng)?shù)學(xué)2016023劉明男數(shù)學(xué)2016033王曉女信息2016055李洪男信息2016123鄭曉風(fēng)女信息模式外模式學(xué)號(hào)姓名性別2016033王曉女2016055李洪男2016123鄭曉風(fēng)女男劉明2016023女男性別李四2016025張三2016002姓名學(xué)號(hào)數(shù)學(xué)學(xué)院學(xué)生:信息學(xué)院學(xué)生:1.3.1數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)1.3.1數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(1)模式

模式也稱概念模式或邏輯模式,是對(duì)數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。一個(gè)數(shù)據(jù)庫只有一個(gè)模式,綜合地考慮了所有用戶的需求,并將這些需求結(jié)合成一個(gè)邏輯整體。(2)內(nèi)模式

內(nèi)模式也稱存儲(chǔ)模式或物理模式,是對(duì)數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。三級(jí)模式結(jié)構(gòu)的一個(gè)具體實(shí)例圖書信息出版社名稱字符型20書名字符型30作者姓名字符型20出版日期日期型

作者著書信息作者姓名字符型20書名字符型30出版社出書類型出版社名稱字符型20書名字符型30類型字符型1

作者

作品

出版社

數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件

索引文件索引文件索引文件

作者

作品

出版社

作者編號(hào)字符型5書號(hào)字符型6出版社編號(hào)字符型5

作者姓名字符型20書名字符型30出版社名稱字符型20

通信地址字符型50類型字符型1城市字符型10

郵編字符型6價(jià)格貨幣

電話字符型11出版日期日期型

外模式模式內(nèi)模式1.3.1數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)(3)外模式

外模式也稱子模式或用戶模式,它是對(duì)數(shù)據(jù)庫用戶能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。外模式通常是模式的子集,一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。

1.3.2數(shù)據(jù)庫的兩級(jí)映像

數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)把數(shù)據(jù)的具體組織(內(nèi)模式)留給DBMS去做,用戶只要抽象地處理數(shù)據(jù)(模式——DBA、外模式——程序員),減輕了用戶使用系統(tǒng)的負(fù)擔(dān)。但,三級(jí)模式結(jié)構(gòu)之間差別往往很大,為了實(shí)現(xiàn)這3個(gè)抽象級(jí)別的聯(lián)系和轉(zhuǎn)換,DBMS在三級(jí)模式結(jié)構(gòu)之間提供了兩級(jí)映像:外模式/模式映像,模式/內(nèi)模式映像。1.3.2數(shù)據(jù)庫的兩級(jí)映像(1)外模式/模式映像

對(duì)于每個(gè)外模式,數(shù)據(jù)庫系統(tǒng)都有一個(gè)外模式/模式映像,它定義了該外模式與模式之間的對(duì)應(yīng)關(guān)系。當(dāng)模式改變時(shí)(如增加新的關(guān)系、新的屬性、改變屬性的數(shù)據(jù)類型等),由數(shù)據(jù)庫管理員對(duì)各個(gè)外模式/模式映像作相應(yīng)改變,可以使外模式保持不變。因?yàn)閼?yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,所以應(yīng)用程序不必修改。此映像的功能就是:保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱邏輯數(shù)據(jù)獨(dú)立性。1.3.2數(shù)據(jù)庫的兩級(jí)映像(2)模式/內(nèi)模式映像

數(shù)據(jù)庫中只有一個(gè)模式,也只有一個(gè)內(nèi)模式,所以模式/內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)庫全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了(如選用了另一種存儲(chǔ)結(jié)構(gòu)),由數(shù)據(jù)庫管理員對(duì)模式/內(nèi)模式映像作相應(yīng)改變,可以保證模式保持不變,因而應(yīng)用程序也不必改變。此映像的功能是:保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱物理數(shù)據(jù)獨(dú)立性。1.4數(shù)據(jù)模型客觀事物是信息之源,是設(shè)計(jì)、建立數(shù)據(jù)庫的出發(fā)點(diǎn),也是使用數(shù)據(jù)庫的最后歸宿。但計(jì)算機(jī)不能直接處理現(xiàn)實(shí)世界中的具體事物,所以人們必須事先將具體事物轉(zhuǎn)換成計(jì)算機(jī)能夠處理的數(shù)據(jù),這就是數(shù)據(jù)庫的數(shù)據(jù)模型。1.4.1信息的三種世界計(jì)算機(jī)信息處理的對(duì)象是現(xiàn)實(shí)生活中的客觀事物,在對(duì)客觀事物實(shí)施處理的過程中,涉及到三個(gè)層次,即現(xiàn)實(shí)世界、信息世界和機(jī)器世界,經(jīng)歷了兩次抽象和轉(zhuǎn)換。1.現(xiàn)實(shí)世界現(xiàn)實(shí)世界就是人們所能看到的、接觸到的世界。現(xiàn)實(shí)世界就是存在于人腦之外的客觀世界,客觀事物及其相互聯(lián)系就處于現(xiàn)實(shí)世界中。1.4.1信息的三種世界2.信息世界

信息世界就是現(xiàn)實(shí)世界在人們頭腦中的反映,又稱概念世界。客觀事物在信息世界中稱為實(shí)體,反映事物間聯(lián)系的是實(shí)體模型或概念模型。3.數(shù)據(jù)世界數(shù)據(jù)世界又叫機(jī)器世界,是信息世界中的信息數(shù)據(jù)化后對(duì)應(yīng)的產(chǎn)物。現(xiàn)實(shí)世界中的客觀事物及其聯(lián)系,在數(shù)據(jù)世界中用數(shù)據(jù)模型來描述。1.4.2概念模型概念模型是現(xiàn)實(shí)世界的抽象反映,是獨(dú)立于計(jì)算機(jī)系統(tǒng)的模型,是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層。1.基本概念(1)實(shí)體(Entity):客觀存在并可以相互區(qū)分的事物。如一個(gè)學(xué)生、一個(gè)班級(jí)等。(2)屬性(Attribute):實(shí)體所具有的某些特性。通過屬性對(duì)實(shí)體進(jìn)行描述,實(shí)體是由屬性組成的。例如,學(xué)生實(shí)體可由學(xué)號(hào)、姓名、性別、年齡、系、專業(yè)等組成,(202202001、張強(qiáng)、男、19、計(jì)算機(jī)、軟件工程)這些屬性組合起來就可以表示“張強(qiáng)”這個(gè)學(xué)生。

1.4.2概念模型(3)

碼(Key):一個(gè)實(shí)體往往有多個(gè)屬性,如果其中有一個(gè)屬性或?qū)傩约軌蛭ㄒ粯?biāo)識(shí)整個(gè)屬性集合,則稱該屬性或?qū)傩约癁樵搶?shí)體的碼。例如,學(xué)號(hào)是學(xué)生實(shí)體的碼。在同一學(xué)校里,不可能有兩個(gè)學(xué)生具有相同的學(xué)號(hào)。(4)實(shí)體型(EntityType):具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì)。用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。例如,學(xué)生(學(xué)號(hào),姓名,性別,年齡,系,專業(yè))就是一個(gè)實(shí)體型。(5)實(shí)體集(EntitySet):同型實(shí)體的集合稱為實(shí)體集。例如,全體學(xué)生就是一個(gè)實(shí)體集。1.4.2概念模型(6)聯(lián)系(Relationship):現(xiàn)實(shí)世界的事物之間是有聯(lián)系的,即各實(shí)體型之間是有聯(lián)系的。a1

a2

a3

a4

b1

b2

b3

b4

A

B

一對(duì)一聯(lián)系(1:1)對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之對(duì)應(yīng),反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系,記為1:1。例如,部門與經(jīng)理之間聯(lián)系,學(xué)校與校長之間的聯(lián)系等等就是一對(duì)一的聯(lián)系。1.4.2概念模型一對(duì)多聯(lián)系(1:M)對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之對(duì)應(yīng);反過來,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多有一個(gè)實(shí)體與之對(duì)應(yīng),則稱實(shí)體集A與實(shí)體集B具有一對(duì)多聯(lián)系,記為1:M。例如,一個(gè)班可以有多個(gè)學(xué)生,但一個(gè)學(xué)生只能屬于一個(gè)班。班級(jí)與學(xué)生之間的聯(lián)系就是一對(duì)多的聯(lián)系。a1

a2

a3

b1

b2

b3

b4

b5A

B

1.4.2概念模型多對(duì)多聯(lián)系(M:N)對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有多個(gè)實(shí)體與之對(duì)應(yīng);反過來,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有多個(gè)實(shí)體與之對(duì)應(yīng),則稱實(shí)體集A與實(shí)體集B具有多對(duì)多聯(lián)系,記為M:N。例如,學(xué)生在選課時(shí),一個(gè)學(xué)生可以選多門課程,一門課程也可以被多個(gè)學(xué)生選,則學(xué)生和課程之間具有多對(duì)多聯(lián)系。a1

a2

a3

a4

b1

b2

b3

b4

A

B

1.4.2概念模型2.E-R模型概念模型的表示方法很多,其中最為著名和使用最為廣泛的是P.P.S.Chen于1976年提出的E-R(Entity-Relationship)模型。E-R模型又叫實(shí)體-聯(lián)系模型,是對(duì)現(xiàn)實(shí)世界的一種抽象,它的主要成分是實(shí)體、聯(lián)系和屬性。E-R模型的圖形表示稱為E-R圖。1.4.2概念模型E-R圖通用的表示方式:(1)用矩形表示實(shí)體,在框內(nèi)寫上實(shí)體名。(2)用橢圓形表示實(shí)體的屬性,并用無向邊把實(shí)體和屬性連接起來。(3)用菱形表示實(shí)體間的聯(lián)系,在菱形框內(nèi)寫上聯(lián)系名,用無向邊分別把菱形框與有關(guān)實(shí)體連接起來,在無向邊旁注明聯(lián)系的類型。注:有的聯(lián)系也有屬性。

1.4.2概念模型例1:學(xué)生實(shí)體和班級(jí)實(shí)體的聯(lián)系的E-R圖。

學(xué)生班級(jí)屬于班級(jí)名班主任n1學(xué)生實(shí)體有屬性:學(xué)號(hào)、姓名、性別、年齡、班級(jí)名。班級(jí)實(shí)體有屬性:班級(jí)名、班主任。姓名性別班級(jí)名年齡學(xué)號(hào)例2:學(xué)生選課系統(tǒng)的E-R圖。學(xué)生實(shí)體有屬性:學(xué)號(hào)、姓名、性別、年齡、班級(jí)名。課程實(shí)體有屬性:課程名、課程編號(hào)、學(xué)時(shí)、學(xué)分。選修mn成績注:學(xué)生選課后有成績1.4.2概念模型學(xué)生課程學(xué)號(hào)姓名性別年齡班級(jí)課程號(hào)課程名學(xué)分學(xué)時(shí)例1、例2組合成一個(gè)簡單的學(xué)生信息數(shù)據(jù)庫系統(tǒng)。1.4.2概念模型1NMN課程學(xué)生選修姓名性別年齡課程號(hào)課程名學(xué)分成績學(xué)號(hào)班級(jí)屬于班主任班級(jí)名學(xué)時(shí)系實(shí)體的屬性有:系名,系號(hào),系主任。教師實(shí)體的屬性有:教師號(hào),教師名,年齡,職稱。練習(xí):畫出某學(xué)校系和教師之間關(guān)系的E-R圖。1.4.2概念模型1.4.2概念模型例如:有一個(gè)高等學(xué)校信息數(shù)據(jù)庫系統(tǒng),包含學(xué)生、教師、專業(yè)、教科書和課程五個(gè)實(shí)體,實(shí)體聯(lián)系的E-R圖。

MN1N1NNMNM1N屬于所屬教科書專業(yè)訂購課程開課教師學(xué)生教學(xué)選修專業(yè)名專業(yè)號(hào)學(xué)號(hào)姓名性別年齡職工號(hào)姓名性別民族課程號(hào)課程名學(xué)分成績書號(hào)書名出版社數(shù)量開課學(xué)期1.4.3數(shù)據(jù)模型1.數(shù)據(jù)模型三要素?cái)?shù)據(jù)模型是對(duì)客觀事物及聯(lián)系的數(shù)據(jù)描述,是概念模型的數(shù)據(jù)化,即數(shù)據(jù)模型提供表示和組織數(shù)據(jù)的方法。數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的完整性約束三部分(三要素)組成。1.4.3數(shù)據(jù)模型(1)數(shù)據(jù)結(jié)構(gòu)對(duì)計(jì)算機(jī)的數(shù)據(jù)組織方式和數(shù)據(jù)之間聯(lián)系進(jìn)行框架性描述的集合,是對(duì)數(shù)據(jù)庫靜態(tài)特征的描述。數(shù)據(jù)庫系統(tǒng)是按數(shù)據(jù)結(jié)構(gòu)的類型來組織數(shù)據(jù)的,因此數(shù)據(jù)庫系統(tǒng)通常按照數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。如層次結(jié)構(gòu)、網(wǎng)狀結(jié)構(gòu)和關(guān)系結(jié)構(gòu)的模型分別命名為層次模型、網(wǎng)狀模型和關(guān)系模型。1.4.3數(shù)據(jù)模型(2)數(shù)據(jù)操作指數(shù)據(jù)庫中各記錄允許執(zhí)行的操作的集合,例如插入、刪除、修改、檢索、更新等操作,是對(duì)數(shù)據(jù)庫動(dòng)態(tài)特征的描述。(3)數(shù)據(jù)的完整性約束是關(guān)于數(shù)據(jù)狀態(tài)和狀態(tài)變化的一組完整性約束規(guī)則的集合,以保證數(shù)據(jù)的正確性、有效性和一致性。例如,數(shù)據(jù)庫的主碼不能允許取空值,性別的取值范圍為“男或女”等。1.4.3數(shù)據(jù)模型2.常見的三種數(shù)據(jù)模型(1)層次模型

層次模型用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型,結(jié)點(diǎn)之間的連線表示記錄類型間的聯(lián)系,這種聯(lián)系只能是父子聯(lián)系。學(xué)校學(xué)院1學(xué)院3學(xué)院2系1系2教研室1教研室2層次模型的特點(diǎn):只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),稱為根結(jié)點(diǎn)。根結(jié)點(diǎn)以外的其他結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)。所以只能表示一對(duì)多和一對(duì)一聯(lián)系。1.4.3數(shù)據(jù)模型層次數(shù)據(jù)模型的操作主要有查詢、插入、刪除和更新。進(jìn)行插入、刪除、更新操作時(shí)要滿足層次模型的完整性約束條件:進(jìn)行插入操作時(shí),如果沒有相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值。進(jìn)行刪除操作時(shí),如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除。進(jìn)行更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性。1.4.3數(shù)據(jù)模型層次模型的優(yōu)點(diǎn):模型本身比較簡單,只需很少幾條命令就能操縱數(shù)據(jù)庫;對(duì)于實(shí)體間聯(lián)系是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),采用層次模型最易實(shí)現(xiàn)。但其缺點(diǎn)也很多:如插入和刪除操作的限制比較多;查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn);無法直接表示多對(duì)多聯(lián)系等等。1.4.3數(shù)據(jù)模型(2)網(wǎng)狀模型

網(wǎng)狀數(shù)據(jù)模型是一種比層次模型更具普遍性的結(jié)構(gòu),它允許多個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),也允許一個(gè)結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn)。因此,網(wǎng)狀模型可以方便地表示各種類型的聯(lián)系。課程1課程2課程3學(xué)生2學(xué)生3學(xué)生4學(xué)生5學(xué)生1網(wǎng)狀模型是一個(gè)不加任何條件的無向圖。一般來說,層次模型是網(wǎng)狀模型的特殊形式,網(wǎng)狀模型是層次模型的一般形式。1.4.3數(shù)據(jù)模型網(wǎng)狀數(shù)據(jù)模型的操作主要包括查詢、插入、刪除和更新數(shù)據(jù)。進(jìn)行插入、刪除、更新操作時(shí)要滿足網(wǎng)狀模型的完整性約束條件:(1)插入操作允許插入尚未確定雙親結(jié)點(diǎn)值的子女結(jié)點(diǎn)值。(2)刪除操作允許只刪除雙親結(jié)點(diǎn)值。(3)更新操作只需要更新指定記錄即可。(4)查詢操作可以有多種方法,可根據(jù)具體情況選用。1.4.3數(shù)據(jù)模型網(wǎng)狀模型與層次模型相比,提供了更大的靈活性,能更直接地描述現(xiàn)實(shí)世界,性能和效率也比較好。網(wǎng)狀模型的缺點(diǎn):結(jié)構(gòu)比較復(fù)雜,用戶不易掌握;DDL和DML語言復(fù)雜,用戶不易使用;記錄之間聯(lián)系變動(dòng)后涉及鏈接指針的調(diào)整,擴(kuò)充和維護(hù)都比較復(fù)雜。1.4.3數(shù)據(jù)模型(3)關(guān)系模型用二維表格結(jié)構(gòu)表示實(shí)體以及實(shí)體之間的聯(lián)系的數(shù)據(jù)模型稱為關(guān)系模型。關(guān)系模型是數(shù)據(jù)模型中最重要的模型。它以關(guān)系數(shù)學(xué)為理論基礎(chǔ),在關(guān)系模型中,操作的對(duì)象和操作結(jié)果都是二維表。1.4.3數(shù)據(jù)模型重要概念*:關(guān)系一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系都有一個(gè)關(guān)系名,在計(jì)算機(jī)里,一個(gè)關(guān)系可以存儲(chǔ)為一個(gè)文件。元組二維表中的行稱為元組,每一行是一個(gè)元組。元組對(duì)應(yīng)存儲(chǔ)文件中的一個(gè)記錄。屬性二維表的列稱為屬性,每一列有一個(gè)屬性名,屬性值是屬性的具體值。屬性對(duì)應(yīng)存儲(chǔ)文件中的一個(gè)字段,屬性的具體取值就形成表中的一個(gè)個(gè)元組。1.4.3數(shù)據(jù)模型域域是屬性的取值范圍。關(guān)系模式對(duì)關(guān)系的信息結(jié)構(gòu)及語義限制的描述稱為關(guān)系模式,用關(guān)系名和包含的屬性名的集合表示。例如,職工信息表的關(guān)系模式是:職工(職工號(hào),姓名,性別,年齡,工資)。關(guān)鍵字或碼在關(guān)系的屬性中,能夠用來唯一標(biāo)識(shí)元組的屬性(或?qū)傩越M合)稱為關(guān)鍵字或碼(Key)。1.4.3數(shù)據(jù)模型候選關(guān)鍵字或候選碼

如果在一個(gè)關(guān)系中,存在多個(gè)屬性(或?qū)傩越M合)都能用來唯一標(biāo)識(shí)該關(guān)系中的元組,這些屬性(或?qū)傩越M合)都稱為該關(guān)系的候選關(guān)鍵字或候選碼,候選碼可以有多個(gè)。

主鍵或主碼

在一個(gè)關(guān)系的若干候選關(guān)鍵字中,被指定作為關(guān)鍵字的候選關(guān)鍵字稱為該關(guān)系的主鍵或主碼(PrimaryKey),一般,我們

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論