数据库基础教程
第1章 數(shù)據(jù)庫概覽——實例、概念與認識
數(shù)據(jù)管理 是 數(shù)據(jù)處理 的中心活動,直接影響數(shù)據(jù)處理的效率,兩者密不可分。隨著計算機科學與技術(shù)的發(fā)展,利用計算機進行數(shù)據(jù)管理經(jīng)歷了三個階段,即人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。
1.1 數(shù)據(jù)管理系統(tǒng)的進展
- 人工管理階段
計算機主要用于科學計算,無磁盤等直接存取的設(shè)備,無操作系統(tǒng)。程序員將數(shù)據(jù)處理納入程序設(shè)計的過程中。此階段數(shù)據(jù)不長期保存在計算機中;應(yīng)用程序管理數(shù)據(jù),數(shù)據(jù)與程序不具有獨立性;數(shù)據(jù)是面向應(yīng)用的。 - 文件系統(tǒng)階段
計算機開始用于數(shù)據(jù)處理,外存儲器有了磁盤、磁鼓等直接存取設(shè)備,軟件有操作系統(tǒng),且操作系統(tǒng)中有了專門的數(shù)據(jù)管理軟件——文件系統(tǒng)。此階段數(shù)據(jù)能夠長期保存,反復操作;由專門軟件對數(shù)據(jù)進行管理,程序與數(shù)據(jù)之間有了一定的獨立性。但由于數(shù)據(jù)文件是面向應(yīng)用的,數(shù)據(jù)的組織和管理直接依賴于應(yīng)用程序,數(shù)據(jù)共享性差,冗余度大,數(shù)據(jù)獨立性差。 - 數(shù)據(jù)庫系統(tǒng)階段
數(shù)據(jù)處理成為計算機應(yīng)用的主要領(lǐng)域,數(shù)據(jù)庫系統(tǒng)的主要特征是數(shù)據(jù)的統(tǒng)一管理和數(shù)據(jù)共享。數(shù)據(jù)采用統(tǒng)一的數(shù)據(jù)模型進行組織和存儲,由數(shù)據(jù)庫管理軟件進行統(tǒng)一管控,應(yīng)用程序在DBMS的控制下,采用統(tǒng)一的方式對數(shù)據(jù)庫中的數(shù)據(jù)進行訪問和操作。
數(shù)據(jù)庫系統(tǒng)階段的特點:
1.2 理解數(shù)據(jù)庫系統(tǒng)
三個概念:數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)庫系統(tǒng)
- 數(shù)據(jù)庫:長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。
- 數(shù)據(jù)庫管理系統(tǒng):位于用戶和操作系統(tǒng)之間,對數(shù)據(jù)進行統(tǒng)一管理與控制的專門系統(tǒng)軟件。
- 數(shù)據(jù)庫系統(tǒng):帶有數(shù)據(jù)庫并利用數(shù)據(jù)庫技術(shù)進行數(shù)據(jù)管理的計算機系統(tǒng)。
1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)庫系統(tǒng) 由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員(DBA)、數(shù)據(jù)庫應(yīng)用系統(tǒng)和用戶組成。數(shù)據(jù)庫系列產(chǎn)品很多,它們建立于不同的操作系統(tǒng)之上,支持不同的數(shù)據(jù)模型,采用不同的數(shù)據(jù)庫語言,但他們在體系結(jié)構(gòu)上具有相同的特征,即采用 三級模式 結(jié)構(gòu),提供 兩級映像 功能。
- 模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。模式是面向所有用戶的公共數(shù)據(jù)視圖,是數(shù)據(jù)庫的全局視圖。一個數(shù)據(jù)庫只有一個模式,它既不涉及物理存儲細節(jié),也不涉及應(yīng)用程序和程序設(shè)計語言。
- 外模式也稱子模式或用戶模式,它是模式的子集。外模式是具體面向應(yīng)用的,是數(shù)據(jù)庫用戶所能使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述。由于不同應(yīng)用有不同的外模式,因此一個數(shù)據(jù)庫應(yīng)有多個外模式。
- 內(nèi)模式也稱存儲模式,是數(shù)據(jù)庫的物理結(jié)構(gòu),是數(shù)據(jù)庫在存儲介質(zhì)上的存儲結(jié)構(gòu)。內(nèi)模式主要描述數(shù)據(jù)的物理結(jié)構(gòu)和存儲方式,一個數(shù)據(jù)庫只有一個內(nèi)模式。
數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的三個抽象層次,兩級映像定義了三級模式間的對應(yīng)關(guān)系。模式是數(shù)據(jù)庫的核心和關(guān)鍵,獨立于數(shù)據(jù)庫的其他層次。內(nèi)模式由DBMS定義,無需數(shù)據(jù)庫設(shè)計人員設(shè)計。
三級模式兩級映像的優(yōu)點
- 保證數(shù)據(jù)獨立性。外模式/模式映像保證了數(shù)據(jù)的邏輯獨立性;模式/內(nèi)模式映像保證了數(shù)據(jù)的物理獨立性。
- 有利于數(shù)據(jù)共享,減少數(shù)據(jù)冗余。
- 有利于數(shù)據(jù)的安全性。不同用戶在各自外模式下根據(jù)要求操作數(shù)據(jù),只能對限定的數(shù)據(jù)進行操作。
- 簡化了用戶接口。用戶按外模式編寫應(yīng)用程序或輸入命令,而無需了解數(shù)據(jù)庫全局邏輯結(jié)構(gòu)和內(nèi)部存儲結(jié)構(gòu),方便用戶使用。
數(shù)據(jù)庫管理系統(tǒng)的主要功能:
1.4 數(shù)據(jù)模型
1.4.1 數(shù)據(jù)模型的概念
模型是現(xiàn)實世界特征的抽象與模擬,可分為實物模型和抽象模型。數(shù)據(jù)模型是一種抽象模型,是對現(xiàn)實世界數(shù)據(jù)特征的抽象,為數(shù)據(jù)庫系統(tǒng)的信息表示和操作提供必須的抽象框架。
數(shù)據(jù)模型的選擇應(yīng)滿足三方面要求:①能較真實地模擬現(xiàn)實世界②易于理解③便于在計算機上實現(xiàn)。根據(jù)實際問題的需要和應(yīng)用目的的不同,有三種層面上的數(shù)據(jù)模型。
面向用戶的模型,是現(xiàn)實世界到機器世界的一個中間層次。其基本特征是按用戶觀點對信息建模,與具體的DBMS無關(guān)。概念數(shù)據(jù)模型的作用和意義在于描述現(xiàn)實世界的概念化結(jié)構(gòu),使數(shù)據(jù)庫設(shè)計人員在設(shè)計的初始階段能夠擺脫計算機系統(tǒng)和DBMS具體技術(shù)的約束,集中精力分析數(shù)據(jù)及其聯(lián)系。最常用的概念模型是實體-聯(lián)系(E-R)模型。
按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,服務(wù)于DBMS的應(yīng)用實現(xiàn)。結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)模型包括:層次結(jié)構(gòu)、網(wǎng)狀模型、關(guān)系模型等。
用于描述數(shù)據(jù)在存儲介質(zhì)上的組織結(jié)構(gòu),它與具體DBMS有關(guān),也與操作系統(tǒng)和硬件有關(guān),是物理層次上的數(shù)據(jù)模型。
1.4.2 概念數(shù)據(jù)模型
概念數(shù)據(jù)模型是現(xiàn)實世界到信息世界的抽象,是數(shù)據(jù)庫設(shè)計人員與用戶進行交流的工具。因此概念數(shù)據(jù)模型的選擇應(yīng)具有較強的語義表達能力,同時還應(yīng)簡單、清晰、便于用戶理解。目前使用較多的概念數(shù)據(jù)模型描述工具有E-R模型、UML等。
實體指客觀存在并可相互區(qū)別的事物。實體可以是人、事或物,也可以是抽象的概念。屬性是實體的特征,刻畫了實體在某方面的特征。現(xiàn)實世界中事物之間的聯(lián)系反映在E-R模型中就是實體間的聯(lián)系。
在數(shù)據(jù)庫系統(tǒng)中,引入的對象通常都有“型”和“值”之分。“型”是對象特征的抽象描述,“值”是對象的具體內(nèi)容。實體型指對某一數(shù)據(jù)結(jié)構(gòu)和特征的描述,通常由實體名和屬性名的集合來抽象和刻畫同類實體。實體值是實體型的內(nèi)容,由描述實體的各個屬性值組成。實體集指具有相同實體型的若干實體構(gòu)成的集合。
實體內(nèi)部/之間的聯(lián)系:實體集內(nèi)部各實體間/不同實體集中實體間的聯(lián)系。
存在性/功能性聯(lián)系:學校有老師,工廠有車間/老師授課,學生選課。
兩個實體型之間的聯(lián)系:一對一聯(lián)系(1:1)、一對多聯(lián)系(1:n)、多對多聯(lián)系(m:n)。
用矩形框表示實體型,框內(nèi)標明實體名;用橢圓表示實體型的屬性;用無向線段連接實體和屬性;用菱形框表示聯(lián)系,用無向邊分別與有關(guān)實體連接,同時在無向邊旁標注聯(lián)系類型。
1.4.3 邏輯數(shù)據(jù)模型
邏輯數(shù)據(jù)模型是數(shù)據(jù)庫管理系統(tǒng)呈現(xiàn)給用戶的數(shù)據(jù)模型,即用戶從數(shù)據(jù)庫中看到的數(shù)據(jù)組織形式,它與DBMS直接相關(guān)。用概念數(shù)據(jù)模型描述的數(shù)據(jù),必須用邏輯數(shù)據(jù)模型表示才能由DBMS管理。
數(shù)據(jù)模型的三要素
邏輯數(shù)據(jù)模型是嚴格定義的一組概念的集合,主要由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)完整性約束三部分組成,通常稱為邏輯數(shù)據(jù)模型的三要素。
數(shù)據(jù)模型的類型
數(shù)據(jù)結(jié)構(gòu)是刻畫數(shù)據(jù)模型最重要的方面。因此在數(shù)據(jù)庫系統(tǒng)中,通常按照其數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。數(shù)據(jù)模型的發(fā)展帶動了數(shù)據(jù)庫系統(tǒng)的更新?lián)Q代。先后出現(xiàn)了層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P汀ο箨P(guān)系模型等邏輯數(shù)據(jù)模型。其中層次模型和網(wǎng)狀模型統(tǒng)稱為格式化模型。
關(guān)系數(shù)據(jù)模型
關(guān)系模型源于數(shù)學,具有完備的關(guān)系理論作為基礎(chǔ),因此被普遍采用。
(1)數(shù)據(jù)結(jié)構(gòu)。非形式化地討論,關(guān)系模型地基本數(shù)據(jù)結(jié)構(gòu)是表格,使用二維表來表示實體及其聯(lián)系。
(2)數(shù)據(jù)操作。關(guān)系模型的數(shù)據(jù)操作主要包括查詢和更新。關(guān)系數(shù)據(jù)操作有兩個顯著特點:操作對象和結(jié)果均為集合;關(guān)系模型將操作中的存取路徑向用戶屏蔽起來。
(3)數(shù)據(jù)完整性約束。對數(shù)據(jù)模型中的數(shù)據(jù)操作必須滿足完整性約束規(guī)則。關(guān)系完整性約束規(guī)則包括三類:實體完整性、參照完整性和用戶定義完整性。
1.5 數(shù)據(jù)庫系統(tǒng)的發(fā)展
1.5.1 數(shù)據(jù)庫系統(tǒng)發(fā)展的階段
采用規(guī)格化模型的數(shù)據(jù)庫系統(tǒng)屬于第一代數(shù)據(jù)庫系統(tǒng)。層次模型數(shù)據(jù)庫系統(tǒng)代表:IBM公司的IMS(Information Management System);網(wǎng)狀模型的典型代表是DBTG系統(tǒng)。
第一代數(shù)據(jù)庫系統(tǒng)的主要特點有:
(1)支持三級模式體系結(jié)構(gòu)。
(2)用存儲路徑表示實體間的聯(lián)系。
(3)導航式的數(shù)據(jù)操縱語言。
第二代數(shù)據(jù)庫系統(tǒng)是指支持關(guān)系數(shù)據(jù)模型的關(guān)系數(shù)據(jù)庫系統(tǒng)。關(guān)系模型由E.F.Codd提出。支持的實驗系統(tǒng)有System R和INGRES,商用系統(tǒng)有System R發(fā)展來的SQL/DS以及INGRES實驗系統(tǒng)發(fā)展來的INGRES關(guān)系數(shù)據(jù)庫軟件產(chǎn)品。Foxpro、Access、Oracle、SQL Server、 Sybase、 DB2、 Informix。
第二代數(shù)據(jù)庫系統(tǒng)的主要特點有:
(1)概念單一,實體以及實體之間的聯(lián)系都用關(guān)系表示。
(2)以關(guān)系代數(shù)為基礎(chǔ),形式化基礎(chǔ)好。
(3)數(shù)據(jù)獨立性強,數(shù)據(jù)的物理存取路徑對用戶屏蔽。
(4)語言標準化,即創(chuàng)建了結(jié)構(gòu)化查詢語言SQL(Structured Query Language)。
第三代數(shù)據(jù)庫系統(tǒng)是指以更豐富的數(shù)據(jù)模型、更強大的數(shù)據(jù)管理能力為特征,滿足更廣泛更復雜的新應(yīng)用需求的各類數(shù)據(jù)庫系統(tǒng)的大家族。這些新的數(shù)據(jù)庫系統(tǒng)包括:面向?qū)ο髷?shù)據(jù)庫、分布式數(shù)據(jù)庫、并行數(shù)據(jù)庫、統(tǒng)計數(shù)據(jù)庫、空間數(shù)據(jù)庫等。
第三代數(shù)據(jù)庫管理系統(tǒng)的三個基本特征:
(1)第三代數(shù)據(jù)庫系統(tǒng)應(yīng)支持數(shù)據(jù)管理,對象管理和知識管理。
(2)第三代數(shù)據(jù)庫系統(tǒng)必須保持或繼承第二代數(shù)據(jù)庫系統(tǒng)的技術(shù)。即必須保持第二代數(shù)據(jù)庫系統(tǒng)的非過程化數(shù)據(jù)存取方式和數(shù)據(jù)獨立性等特征。
(3)第三代數(shù)據(jù)庫系統(tǒng)必須對其他系統(tǒng)開放。數(shù)據(jù)庫系統(tǒng)的開放性表現(xiàn)在:支持數(shù)據(jù)庫語言標準,支持網(wǎng)絡(luò)標準,系統(tǒng)具有良好的可移植性、可連接性、可擴展性和互操作性等。
1.5.2 數(shù)據(jù)庫系統(tǒng)主要研究領(lǐng)域
DBMS是數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)與核心,開發(fā)可靠性好、效率高、功能齊全的DBMS始終是數(shù)據(jù)庫領(lǐng)域研究的重要內(nèi)容。并且為了充分發(fā)揮數(shù)據(jù)庫的應(yīng)用功能,還需開發(fā)一些必須能在DBMS上運行的軟件系統(tǒng)。
在DBMS支持下,設(shè)計與開發(fā)滿足用戶要求的數(shù)據(jù)庫應(yīng)用系統(tǒng),這是數(shù)據(jù)庫領(lǐng)域研究的另一個重要內(nèi)容。
總結(jié)
- 上一篇: 紫色范冰冰WIN7主题包
- 下一篇: wincc历史数据库_wincc查询历史