版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
01數(shù)據(jù)庫基本原理01數(shù)據(jù)庫基本原理第1章數(shù)據(jù)庫基本原理數(shù)據(jù)庫技術是計算機科學技術的一個重要分支,數(shù)據(jù)庫技術的形成有兩大推動力:首先是計算機技術的發(fā)展,計算機技術的發(fā)展為數(shù)據(jù)庫的出現(xiàn)提供了技術基礎;其次是現(xiàn)代社會數(shù)據(jù)和信息成幾何級數(shù)增長,即所謂的信息爆炸。信息爆炸使得社會迫切需要一種技術來有效地管理數(shù)據(jù),在技術和需求的推動下,形成了現(xiàn)代數(shù)據(jù)庫技術。自1968年第一個商品化的數(shù)據(jù)庫管理系統(tǒng)IMS問世以來,數(shù)據(jù)庫技術得到迅速發(fā)展,已經成為信息管理、辦公自動化、計算機輔助設計、決策支持等方面應用的主要手段,廣泛應用于社會各個行業(yè)和領域。12/11/20222中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程第1章數(shù)據(jù)庫基本原理數(shù)據(jù)庫技術是計算機科學技術的最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件1.2數(shù)據(jù)模型現(xiàn)實世界中的客觀事物彼此聯(lián)系,某一事物內部的聯(lián)系,形成系統(tǒng);系統(tǒng)之間聯(lián)系,形成更大的系統(tǒng)??陀^事物的這種普遍聯(lián)系性,決定了作為事物屬性記錄符號的數(shù)據(jù)與數(shù)據(jù)之間也存在著一定的聯(lián)系性。具有聯(lián)系性的相關數(shù)據(jù)總是按照一定的組織關系排列,從而構成一定的結構,對這種結構的描述就是數(shù)據(jù)模型。從理論上講,數(shù)據(jù)模型是指反映客觀事物及客觀事物間聯(lián)系的數(shù)據(jù)組織的結構和形式??陀^事物是千變萬化的,表現(xiàn)各種客觀事物的數(shù)據(jù)結構和形式也是千差萬別的,盡管如此,它們之間還是有其共同性的。12/11/20229中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.2數(shù)據(jù)模型現(xiàn)實世界中的客觀事物彼此聯(lián)系,某1.2.1數(shù)據(jù)模型的組成要素一般地講,數(shù)據(jù)模型是嚴格定義的概念的集合,這些概念精確描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束。因此,數(shù)據(jù)模型通常由數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)約束3部分組成,這三個組成要素完整地描述了數(shù)據(jù)模型。1.數(shù)據(jù)結構數(shù)據(jù)結構是所研究的對象類型的集合,是數(shù)據(jù)庫的組成部分。研究數(shù)據(jù)結構的任務是利用計算機系統(tǒng)的知識來描述客觀世界的對象,以便能方便地進行處理。例如在關系結構中,使用表格數(shù)據(jù)結構來描述客觀世界中的對象。12/11/202210中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.2.1數(shù)據(jù)模型的組成要素12/10/202210中文2.數(shù)據(jù)操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)實例(值)允許執(zhí)行的操作的集合,包括操作及操作規(guī)則。數(shù)據(jù)庫操作主要包括檢索和更新(包括插入、刪除、修改等)兩類操作。3.數(shù)據(jù)約束數(shù)據(jù)約束是指完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符號數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。12/11/202211中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.數(shù)據(jù)操作12/10/202211中文Visual1.2.2數(shù)據(jù)模型的分類數(shù)據(jù)模型先后經歷了層次模型、網狀模型、關系模型和面向對象模型幾個階段,其中,層次模型和網狀模型統(tǒng)稱為非關系模型,非關系模型在20世紀70年代至80年代初非常流行?,F(xiàn)在,關系模型因為有著完整的理論基礎,已經逐漸取代了層次模型和網狀模型,在數(shù)據(jù)庫產品中占據(jù)了主導地位。12/11/202212中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.2.2數(shù)據(jù)模型的分類12/10/202212中文V1.層次模型(HierarchicalModel)利用樹型結構表示實體及其之間聯(lián)系的模型稱為層次模型。層次模型中的結點為記錄型,表示某種類型的實體,結點之間的連線則表示了它們之間的關系。層次模型具有如下特點:(1)有且僅有一個結點無雙親結點,稱為根結點。(2)根結點以外的其他結點有且僅有一個雙親結點。層次模型結構簡單,層次清楚,查找的路徑明顯,但是它只能處理一對多的實體聯(lián)系。12/11/202213中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.層次模型(HierarchicalModel)122.網狀模型(NetworkModel)利用網狀結構表示實體及其之間聯(lián)系的模型稱為網狀模型。網狀結構是層次模型的擴展,它表示多個從屬關系的層次結構,呈現(xiàn)一種交叉關系的網絡結構。網狀模型是以記錄為結點的網絡結構,其典型代表是DBTG系統(tǒng)。網狀模型具有如下特點:(1)可以有一個以上的結點無雙親結點。(2)至少有一個結點有多于一個的雙親結點??梢钥闯?,網狀模型去掉了層次模型的兩個限制,因而可以描述更復雜的多對多的實體聯(lián)系。層次模型是網狀模型的特殊形式,網狀模型是層次模型的一般形式。12/11/202214中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.網狀模型(NetworkModel)12/10/23.關系模型(RelationalModel)用二維表結構表示實體以及實體之間聯(lián)系的模型稱為關系模型。關系模型把各種聯(lián)系都統(tǒng)一描述成一些二維表,即由若干行和若干列組成的表格。每一個這樣的二維表格就稱為一個關系。在關系模型中常用的術語:(1)關系:一個關系對應著通常說的一個二維表,是具有相同性質的元組的集合。(2)元組:二維表中的一行稱為一個元組,一個元組相當于一個記錄。(3)屬性:二維表中的一列稱為一個屬性,一個屬性相當于一個字段。(4)域:屬性的取值范圍稱作域。(5)分量:元組中的一個屬性值稱作分量。12/11/202215中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程3.關系模型(RelationalModel)12/14.面向對象模型(關系對象模型)20世紀90年代中期以來,人們發(fā)現(xiàn)關系模型的一些缺陷,提出了面向對象模型,引入了對象、類、屬性、方法、事件等概念。面向對象模型一方面對數(shù)據(jù)結構方面的關系結構進行了改良,另一方面為數(shù)據(jù)操作引入了對象操作的概念和手段。如今的數(shù)據(jù)庫管理系統(tǒng)基本上都提供了這方面的功能。由于目前成熟的數(shù)據(jù)庫系統(tǒng)應用面向對象模型時沒有脫離關系模型,因此有人稱它為關系對象模型,也有人稱為后關系模型,也就是關系模型的擴展。因此,到目前為止數(shù)據(jù)庫模型主要是層次型、網絡型和關系型三種。12/11/202216中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程4.面向對象模型(關系對象模型)12/10/2022161.3數(shù)據(jù)庫系統(tǒng)1.3.1數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,簡稱DB)是計算機系統(tǒng)對數(shù)據(jù)資源的一種管理技術,是存儲在計算機內的有序結構的數(shù)據(jù)集合。其基本思想是對所有數(shù)據(jù)實行集中、統(tǒng)一、獨立的管理,數(shù)據(jù)獨立于應用程序而存在,并以最小的代價供各種不同的用戶共享使用。數(shù)據(jù)庫技術既克服了數(shù)據(jù)處理的初期階段將應用程序與數(shù)據(jù)置于同一過程的原始數(shù)據(jù)處理方式的不足,又克服了文件系統(tǒng)管理方式下對數(shù)據(jù)采取的不具彈性的無結構的集合方法,以及數(shù)據(jù)冗余大、文件不易擴充的缺點。12/11/202217中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3數(shù)據(jù)庫系統(tǒng)1.3.1數(shù)據(jù)庫12/10/202數(shù)據(jù)庫中的數(shù)據(jù)層次單位有兩類:邏輯單位與物理單位。邏輯單位從應用的角度出發(fā)觀察數(shù)據(jù),一般可分為數(shù)據(jù)項、數(shù)據(jù)項組、記錄、文件和數(shù)據(jù)庫。數(shù)據(jù)的物理單位是指數(shù)據(jù)在存儲介質上的存儲單位,一般可分為:位(比特)、字節(jié)、字、塊(物理記錄)和卷。數(shù)據(jù)庫是多記錄類型的具體值的集合,并包含記錄、數(shù)據(jù)文件和數(shù)據(jù)文件之間的數(shù)據(jù)聯(lián)系。12/11/202218中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程數(shù)據(jù)庫中的數(shù)據(jù)層次單位有兩類:邏輯單位與物理單位。邏1.3.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是一個幫助用戶建立、使用和管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的中心樞紐,應用程序對數(shù)據(jù)庫的全部操作通過DBMS進行,DBMS既是面向用戶的,也是面向整個數(shù)據(jù)庫系統(tǒng)的。學習使用數(shù)據(jù)庫,就是學習某個DBMS的使用方法。在關系數(shù)據(jù)庫領域中有許多DBMS,這些DBMS分為兩類:一類屬于大型數(shù)據(jù)庫管理系統(tǒng),如Sybase、Oracle、SQLServer等,另一類屬于小型數(shù)據(jù)庫管理系統(tǒng),如Access、Dbase、FoxBase、VisualFoxPro等。大型數(shù)據(jù)庫管理系統(tǒng)性能比較強大,功能比較完善,一般需要專人管理和維護,常用于大型數(shù)據(jù)庫系統(tǒng)中,如飛機訂票系統(tǒng)、銀行系統(tǒng)等。小型數(shù)據(jù)庫管理系統(tǒng)功能相對簡單,容易掌握,使用也比較方便,一般用在不是很復雜的小型數(shù)據(jù)庫系統(tǒng)中。
12/11/202219中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3.2數(shù)據(jù)庫管理系統(tǒng)12/10/202219中文V1.3.3數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是指在計算機系統(tǒng)中引進數(shù)據(jù)庫管理系統(tǒng)后的系統(tǒng)構成。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員和用戶組成,其中數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心組成部分。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)是計算機數(shù)據(jù)處理技術的重大進步,它具有以下特點。1.數(shù)據(jù)庫系統(tǒng)的優(yōu)點(1)數(shù)據(jù)結構化。不同的記錄之間存在著聯(lián)系,描述數(shù)據(jù)時不僅描述數(shù)據(jù)本身還要描述數(shù)據(jù)之間存在的聯(lián)系,是數(shù)據(jù)庫系統(tǒng)的本質特征。(2)數(shù)據(jù)共享。多個應用可以使用同一數(shù)據(jù)庫、同一時刻多個用戶可讀取同一數(shù)據(jù)、開發(fā)新的應用而不用增加新的存儲空間。12/11/202220中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3.3數(shù)據(jù)庫系統(tǒng)的特點12/10/202220中文(3)數(shù)據(jù)獨立性。所謂數(shù)據(jù)獨立是指應用程序不必隨數(shù)據(jù)存儲結構的改變而變動。數(shù)據(jù)獨立包括數(shù)據(jù)的物理獨立性和邏輯獨立性。(4)數(shù)據(jù)的可控冗余度。從理論上講,數(shù)據(jù)庫中的數(shù)據(jù)可以完全避免冗余,但是為了提高系統(tǒng)的效率或網絡的友好性,往往容許少量數(shù)據(jù)冗余,這種數(shù)據(jù)的冗余是可以人為控制的,所以稱為可控冗余度。(5)數(shù)據(jù)一致性。由于數(shù)據(jù)采用相應方法進行組織,相互之間采用一定的機制進行相關約束,從而保障了數(shù)據(jù)的一致性。(6)數(shù)據(jù)安全性。數(shù)據(jù)庫加入了安全保密機制,可以防止對數(shù)據(jù)的非法存取。另外,數(shù)據(jù)庫系統(tǒng)還采取了一系列措施,來恢復對數(shù)據(jù)庫的破壞。12/11/202221中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(3)數(shù)據(jù)獨立性。12/10/202221中文Vi2.數(shù)據(jù)庫系統(tǒng)的缺點數(shù)據(jù)庫系統(tǒng)也存在著不足,首先,建立數(shù)據(jù)庫的費用較高。數(shù)據(jù)庫系統(tǒng)軟件和與之相聯(lián)系的任何硬件都可能是昂貴的。其次,添加內容時變得復雜。數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)管理復雜得多。從理論上講,系統(tǒng)越復雜,就越容易失敗,恢復也越困難。最后,數(shù)據(jù)風險集中化,數(shù)據(jù)集中存儲,雖然減少了數(shù)據(jù)冗余,但集中存儲也同樣使數(shù)據(jù)損壞和丟失的風險增加了。一般應使這種風險降低到最小程度。12/11/202222中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.數(shù)據(jù)庫系統(tǒng)的缺點12/10/202222中文Vis1.3.4數(shù)據(jù)庫技術的發(fā)展1.第一代數(shù)據(jù)庫系統(tǒng)第一代數(shù)據(jù)庫系統(tǒng)是20世紀70年代研制的層次數(shù)據(jù)庫和網狀數(shù)據(jù)庫系統(tǒng)。1969年,IBM公司研制了基于層次模型的數(shù)據(jù)庫管理系統(tǒng)IMS(InformationManagementSystem)。美國數(shù)據(jù)庫系統(tǒng)語言協(xié)會CODASYL(ConferenceOnDataSystemLanguage)下屬的數(shù)據(jù)庫任務組DBTG(DataBaseTaskGroup)對網絡數(shù)據(jù)庫方法進行了系統(tǒng)探討,于20世紀60年代末70年代初提出了若干報告,稱為DBTG報告。DBTG報告確定并建立了網絡數(shù)據(jù)庫系統(tǒng)的許多概念、方法和技術。它是網絡數(shù)據(jù)庫的典型代表。在DBTG方法和思想的指引下,網絡數(shù)據(jù)庫系統(tǒng)的實現(xiàn)技術不斷成熟,出現(xiàn)了許多商品化的網絡數(shù)據(jù)庫管理系統(tǒng)。12/11/202223中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3.4數(shù)據(jù)庫技術的發(fā)展12/10/202223中文2.第二代數(shù)據(jù)庫系統(tǒng)第二代數(shù)據(jù)庫系統(tǒng)是關系型數(shù)據(jù)庫系統(tǒng)。1970年IBM公司SanJose研究實驗室的研究員E.F.Codd發(fā)表了題為“大型共享數(shù)據(jù)庫的關系模型”的論文,提出了關系數(shù)據(jù)模型,開創(chuàng)了關系數(shù)據(jù)庫方法和關系數(shù)據(jù)庫理論,為關系數(shù)據(jù)庫技術奠定了理論基礎。70年代是關系數(shù)據(jù)庫理論研究和原型系統(tǒng)開發(fā)的時代,其中以IBMSanJose實驗室開發(fā)的SystemR和Berkeley加利福尼大學研究的IN-GRES為典型代表。經過大量的高層次研究和開發(fā),關系數(shù)據(jù)庫系統(tǒng)的研究取得了一系列的成果,主要包括:奠定了關系模型的理論基礎;提出了關系數(shù)據(jù)語言;研制了大量的關系數(shù)據(jù)庫系統(tǒng)原型,攻克了在系統(tǒng)實現(xiàn)中查詢優(yōu)化、并發(fā)控制、故障恢復等一系列關鍵技術。
12/11/202224中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.第二代數(shù)據(jù)庫系統(tǒng)12/10/202224中文Vis20世紀70年代后期,關系數(shù)據(jù)庫從實驗室走向了社會。因此,計算機領域中很多人把20世紀70年代稱為關系數(shù)據(jù)庫時代。到20世紀80年代幾乎所有新開發(fā)的數(shù)據(jù)庫系統(tǒng)均是關系型的。這些數(shù)據(jù)庫系統(tǒng)的運行,使數(shù)據(jù)庫技術日益廣泛地應用到企業(yè)管理、情報檢索、輔助決策等各個方面,成為信息系統(tǒng)和多計算機應用系統(tǒng)的重要基礎。12/11/202225中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程20世紀70年代后期,關系數(shù)據(jù)庫從實驗室走向了社會。3.第三代數(shù)據(jù)庫系統(tǒng)20世紀80年代以來,數(shù)據(jù)庫技術在商業(yè)領域的巨大成就刺激了其他領域對數(shù)據(jù)庫需求的迅速增長。例如,計算機輔助設計與制造、計算機集成制造系統(tǒng)、辦公自動化和面向對象程序設計環(huán)境等等。這些領域需要的數(shù)據(jù)管理能力有相當一部分是傳統(tǒng)數(shù)據(jù)庫所不能滿足的,例如:(1)復雜對象的存儲和處理。復雜對象不僅內部結構復雜,相互之間的聯(lián)系也很復雜。(2)復雜數(shù)據(jù)類型的支持。復雜數(shù)據(jù)類型包括抽象數(shù)據(jù)類型、無結構的超長數(shù)據(jù)、時間、圖形、圖像、聲音和版本數(shù)據(jù)等。(3)數(shù)據(jù)、對象、知識的統(tǒng)一管理。(4)長事務和嵌套事務的處理。(5)程序設計語言和數(shù)據(jù)庫語言無間隙的集成。(6)巨型數(shù)據(jù)庫(數(shù)據(jù)庫可超過10的12次方字節(jié))的管理。
12/11/202226中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程3.第三代數(shù)據(jù)庫系統(tǒng)12/10/202226中文Vis1.4關系數(shù)據(jù)庫1.4.1關系數(shù)據(jù)庫概述1.關系模型的基本概念(1)字段(Field)。信息世界中的“屬性”一詞,在數(shù)據(jù)世界中使用數(shù)據(jù)項一詞進行描述。從數(shù)據(jù)庫的角度講,數(shù)據(jù)項就是字段。從表格的角度講,字段稱為列。通常使用字段這一名詞比較通俗。字段和屬性一樣,也用型和值表示。由此可見,字段與屬性、列、數(shù)據(jù)項這些術語,所描述的對象都是相同的,只是在不同角度,所用不同而已。12/11/202227中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.4關系數(shù)據(jù)庫1.4.1關系數(shù)據(jù)庫概述12/10(2)記錄(Record)。字段的有序集合稱為記錄,在關系模型中,記錄稱為元組。在表中記錄稱為一行。在概念模型也稱為實體。換句話說,實體、記錄、元組和行是不同角度描述同一對象的不同術語。記錄也用型和值來描述。記錄型是字段型的集合。記錄值是字段值的集合。(3)表(Table)。表是關系數(shù)據(jù)庫系統(tǒng)中的基本單位,是具有相同性質的元組的集合。表也分為型和值,表的型也稱作關系模型,或者稱為表結構,顯然是由一系列屬性所組成。表在關系模型理論中描述為一個關系。(4)關鍵字(KeyWords)。關系中能惟一區(qū)分和確定不同記錄的字段或字段組合,稱為關鍵字。單個字段組成的關鍵字稱為單關鍵字,多個字段組合的關鍵字稱為組合關鍵字。12/11/202228中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(2)記錄(Record)。12/10/202228(5)主關鍵字。主關鍵字也稱為主鍵,當一個關系中有多個關鍵字的時候,可以選中其中一個關鍵字作為主關鍵字。(6)外關鍵字。在眾多屬性中,如果某個屬性不是該關系的主關鍵字,但卻是另一個關系的主關鍵字,則稱這個關鍵字為外關鍵字。(7)關系數(shù)據(jù)庫(RelationDB)。所謂關系數(shù)據(jù)庫就是由若干個表組成的集合。換句話說,關系數(shù)據(jù)庫至少有一個表,才能稱之為數(shù)據(jù)庫?,F(xiàn)實中,關系數(shù)據(jù)庫有若干個表有機地組合在一起,以滿足某類應用系統(tǒng)的需要。
12/11/202229中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(5)主關鍵字。12/10/202229中文Vis2.關系模型的特點除了具有一般數(shù)據(jù)庫的共同的優(yōu)點之外,關系模型具有如下特點:(1)數(shù)據(jù)結構簡單,操作方便。在關系模型中使用人們通常使用的表格來描述,很接近實際,表間的關系用公共屬性名表示,沒有指針鏈接,簡化了數(shù)據(jù)定義,操作也很方便。(2)一體化的數(shù)據(jù)子語言。在其他數(shù)據(jù)庫系統(tǒng)的DBMS的子語言分為DDL、DML和DSDL,它們各自完成不同的功能,而關系數(shù)據(jù)子語言將這些功能合為一體,既可進行查詢、更新等數(shù)據(jù)操作,又具有數(shù)據(jù)定義和控制功能,在進行數(shù)據(jù)操作時還可以動態(tài)地修改數(shù)據(jù)結構,使用方便,提高了編程效率。12/11/202230中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.關系模型的特點12/10/202230中文Visu(3)堅實的理論基礎。關系數(shù)據(jù)模型建立在數(shù)學概念基礎上,如集合論等,此外還有關系的規(guī)范化和查詢優(yōu)化等理論,這些研究成果是對數(shù)據(jù)庫技術的研究從經驗發(fā)展到科學的高度,給數(shù)據(jù)庫技術的進一步研究奠定了基礎。(4)面向集合的存取方式。關系數(shù)據(jù)庫可以在關系一級進行運算,一次查詢結果可以得到一組記錄,對數(shù)據(jù)的其他操作也可以一次多個元組進行,其語言簡練,非過程化程度高。此外,關系數(shù)據(jù)模型有利于開展數(shù)據(jù)庫其他應用,例如關系數(shù)據(jù)庫有強大的分解能力,有利于分布式數(shù)據(jù)庫的實現(xiàn),它為各種非預期查詢提供支持,有利于決策支持系統(tǒng)的開發(fā)等等。當然關系數(shù)據(jù)模型也表現(xiàn)出一些不足,其中比較突出的是語義比較貧乏,處理多介質非格式化的數(shù)據(jù)(圖像、圖形、聲音等)時顯得力不從心。另外除了一些大型系統(tǒng)外,多個關系間的查詢效率還是比較低的。
12/11/202231中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(3)堅實的理論基礎。12/10/202231中文3.關系的基本性質表格是日常使用比較廣泛的一種數(shù)據(jù)表示方法,在關系模型中,將各種實體之間的聯(lián)系都統(tǒng)一描述成一些二維表,即由若干行和若干列組成的表格。這些表格不但存放著實體本身的數(shù)據(jù),而且還存放著實體之間的聯(lián)系。在關系數(shù)據(jù)庫中,一個關系實際上也就是一個二維表,也稱作數(shù)據(jù)表。12/11/202232中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程3.關系的基本性質12/10/202232中文Visu1.4.2關系表之間的關聯(lián)類型在一個關系數(shù)據(jù)庫中,若想將依賴于關系模型建立的多個數(shù)據(jù)表組織在一起,反映客觀事物數(shù)據(jù)間的多種對應關系,通常將這些數(shù)據(jù)表放入同一個數(shù)據(jù)庫中,并建立表間關聯(lián)。在同一個數(shù)據(jù)庫中,表間關聯(lián)關系的關聯(lián)類型常有一對一、一對多和多對一3種。1.一對一關系一對一關系即在兩個數(shù)據(jù)表中選一個相同屬性字段作為關鍵字段,把其中一個數(shù)據(jù)表中的關鍵字段稱為主關鍵字段,該字段值是惟一的,而另一個數(shù)據(jù)表中的關鍵字段稱為外關鍵字段,該字段值也是惟一的。即A表中的每一條記錄在B表中僅能有一個匹配記錄,同樣在B表中的每一條記錄也只能在A表中有一個匹配記錄。
12/11/202233中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.4.2關系表之間的關聯(lián)類型12/10/202233中2.一對多關系一對多關系,即在兩個數(shù)據(jù)表中選一個相同屬性字段作為關鍵字段,把其中一個數(shù)據(jù)表的關鍵字段稱為主關鍵字段,該字段值是惟一的,而把另一個數(shù)據(jù)表中的關鍵字段稱為外關鍵字段,該字段值是重復的。即A表中的一條記錄能與B表中的多個記錄相匹配,但是B表中的一條記錄僅能與A表中的一個記錄匹配。3.多對一關系多對一關系與一對多關系是類似的,惟一的區(qū)別是在兩個相關聯(lián)的數(shù)據(jù)表中,選擇哪一個數(shù)據(jù)表中的關鍵字段為主關鍵字段,該字段值是重復的,與它關聯(lián)的另一個數(shù)據(jù)表中的關鍵字段為外關鍵字段,該字段值是惟一的。即A表中的一條記錄僅能與B表中的一個記錄匹配,但是B表中的一條記錄能與A表中的多個記錄相匹配。
12/11/202234中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.一對多關系12/10/202234中文Visual1.4.3關系的操作關系操作也叫做關系運算,是基于關系模型上的基礎操作,但只是數(shù)據(jù)庫操作中的一部分。關系操作屬于集合運算范疇,為簡單起見,下面僅從數(shù)據(jù)庫操作的角度來說明關系操作的基本內容。在關系操作中,常見的關系操作包括投影操作、選擇操作和連接操作3種。1.投影操作(Project)投影操作是從關系中選擇某些字段的所有值組成一個新的關系。即是對一個關系在列的方向上進行選擇,刪除關系中的某些列,并按要求重新排列次序。12/11/202235中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.4.3關系的操作12/10/202235中文Vis2.選擇操作(Select)選擇操作是從關系中選擇某些滿足條件的記錄組成一個新的關系。即是對一個關系在行的方向上進行選擇,它把符合某個條件的元組選擇出來,重新構成一個原關系的子集。3.連接操作(Join)連接操作是將兩個或多個關系通過連接條件組成一個新的關系。即是從兩個關系中選擇屬性間滿足一定條件的元組,重新構成的一個關系。12/11/202236中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.選擇操作(Select)12/10/202236中文1.4.4關系的完整性關系完整性即關系中數(shù)據(jù)以及具有關聯(lián)關系的數(shù)據(jù)之間必須遵循的制約和依存關系,主要用于保證數(shù)據(jù)的正確性、有效性和相容性。關系模型的完整性規(guī)則主要有以下4種類型:實體完整性(EntityIntegrity)、域完整性(DomainIntegrity)、參照完整性(ReferentialIntegrity)和用戶定義完整性(User-definedIntegrity)。1.實體完整性關系通常對應現(xiàn)實世界的一個實體集。現(xiàn)實世界中的實體是可區(qū)分的,即每個實體具有某種惟一性標識。相應地,在關系模型中以主關鍵字作為該實體記錄的惟一標識。實體完整性規(guī)則要求主關鍵字中屬性(即主屬性)不能重復或取空值。12/11/202237中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.4.4關系的完整性12/10/202237中文Vi2.域完整性域完整性是指數(shù)據(jù)庫表中的列(字段)必須滿足某種特定的數(shù)據(jù)類型或約束。其中約束又包括取值范圍、精度等規(guī)定。例如在成績表中,規(guī)定成績取值范圍在0~100之間,這種約束稱為域完整性約束。3.參照完整性參照完整性是指兩個表的主關鍵字和外關鍵字的數(shù)據(jù)對應一致。它確保了有主關鍵字的表中對應其他表的外關鍵字的行存在,即保證了表之間的數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴散。參照完整性是建立在外關鍵字和主關鍵字之間或外關鍵字和惟一性關鍵字之間的關系上的。在關系模型中,實體與實體間的聯(lián)系都是用關系來描述的,這樣就自然存在著關系與關系間的引用。12/11/202238中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.域完整性12/10/202238中文Visual4.用戶自定義完整性不同的關系數(shù)據(jù)庫系統(tǒng)根據(jù)其應用環(huán)境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系數(shù)據(jù)庫的約束條件,它反映了某一具體應用所涉及的數(shù)據(jù)必須滿足的語義要求。關系模型(例如VisualFoxPro)提供定義和檢驗這類完整性的機制,以便用統(tǒng)一的系統(tǒng)方法來處理它們,不需要由應用程序承擔這一功能,這樣就降低了應用程序開發(fā)的難度。其他的完整性類型都支持用戶定義的完整性。12/11/202239中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程4.用戶自定義完整性12/10/202239中文Vis小結本章從信息和數(shù)據(jù)的概念出發(fā),闡明了二者之間的關系:數(shù)據(jù)是信息的載體,信息是數(shù)據(jù)的內涵。計算機數(shù)據(jù)管理技術的發(fā)展經歷了人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個階段。數(shù)據(jù)庫模型主要包括層次模型、網狀模型、關系模型,分別介紹了這些模型的概念和特點,其中關系模型在目前的實際應用中居于絕對領導地位。對數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫系統(tǒng)等幾個重要的概念進行了闡述,介紹了數(shù)據(jù)庫技術發(fā)展的三個階段及其特點。最后,對關系數(shù)據(jù)庫以及其中的表間關系、關系操作運算、關系完整性的概念和類型等進行了詳細說明。本章內容是數(shù)據(jù)庫系統(tǒng)的基礎原理,讀者要認真理解和掌握。12/11/202240中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程小結本章從信息和數(shù)據(jù)的概念出發(fā),闡明了二者之間的關最新01數(shù)據(jù)庫基本原理課件01數(shù)據(jù)庫基本原理01數(shù)據(jù)庫基本原理第1章數(shù)據(jù)庫基本原理數(shù)據(jù)庫技術是計算機科學技術的一個重要分支,數(shù)據(jù)庫技術的形成有兩大推動力:首先是計算機技術的發(fā)展,計算機技術的發(fā)展為數(shù)據(jù)庫的出現(xiàn)提供了技術基礎;其次是現(xiàn)代社會數(shù)據(jù)和信息成幾何級數(shù)增長,即所謂的信息爆炸。信息爆炸使得社會迫切需要一種技術來有效地管理數(shù)據(jù),在技術和需求的推動下,形成了現(xiàn)代數(shù)據(jù)庫技術。自1968年第一個商品化的數(shù)據(jù)庫管理系統(tǒng)IMS問世以來,數(shù)據(jù)庫技術得到迅速發(fā)展,已經成為信息管理、辦公自動化、計算機輔助設計、決策支持等方面應用的主要手段,廣泛應用于社會各個行業(yè)和領域。12/11/202243中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程第1章數(shù)據(jù)庫基本原理數(shù)據(jù)庫技術是計算機科學技術的最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件最新01數(shù)據(jù)庫基本原理課件1.2數(shù)據(jù)模型現(xiàn)實世界中的客觀事物彼此聯(lián)系,某一事物內部的聯(lián)系,形成系統(tǒng);系統(tǒng)之間聯(lián)系,形成更大的系統(tǒng)??陀^事物的這種普遍聯(lián)系性,決定了作為事物屬性記錄符號的數(shù)據(jù)與數(shù)據(jù)之間也存在著一定的聯(lián)系性。具有聯(lián)系性的相關數(shù)據(jù)總是按照一定的組織關系排列,從而構成一定的結構,對這種結構的描述就是數(shù)據(jù)模型。從理論上講,數(shù)據(jù)模型是指反映客觀事物及客觀事物間聯(lián)系的數(shù)據(jù)組織的結構和形式??陀^事物是千變萬化的,表現(xiàn)各種客觀事物的數(shù)據(jù)結構和形式也是千差萬別的,盡管如此,它們之間還是有其共同性的。12/11/202250中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.2數(shù)據(jù)模型現(xiàn)實世界中的客觀事物彼此聯(lián)系,某1.2.1數(shù)據(jù)模型的組成要素一般地講,數(shù)據(jù)模型是嚴格定義的概念的集合,這些概念精確描述了系統(tǒng)的靜態(tài)特性、動態(tài)特性和完整性約束。因此,數(shù)據(jù)模型通常由數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)約束3部分組成,這三個組成要素完整地描述了數(shù)據(jù)模型。1.數(shù)據(jù)結構數(shù)據(jù)結構是所研究的對象類型的集合,是數(shù)據(jù)庫的組成部分。研究數(shù)據(jù)結構的任務是利用計算機系統(tǒng)的知識來描述客觀世界的對象,以便能方便地進行處理。例如在關系結構中,使用表格數(shù)據(jù)結構來描述客觀世界中的對象。12/11/202251中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.2.1數(shù)據(jù)模型的組成要素12/10/202210中文2.數(shù)據(jù)操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)實例(值)允許執(zhí)行的操作的集合,包括操作及操作規(guī)則。數(shù)據(jù)庫操作主要包括檢索和更新(包括插入、刪除、修改等)兩類操作。3.數(shù)據(jù)約束數(shù)據(jù)約束是指完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符號數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效和相容。12/11/202252中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.數(shù)據(jù)操作12/10/202211中文Visual1.2.2數(shù)據(jù)模型的分類數(shù)據(jù)模型先后經歷了層次模型、網狀模型、關系模型和面向對象模型幾個階段,其中,層次模型和網狀模型統(tǒng)稱為非關系模型,非關系模型在20世紀70年代至80年代初非常流行?,F(xiàn)在,關系模型因為有著完整的理論基礎,已經逐漸取代了層次模型和網狀模型,在數(shù)據(jù)庫產品中占據(jù)了主導地位。12/11/202253中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.2.2數(shù)據(jù)模型的分類12/10/202212中文V1.層次模型(HierarchicalModel)利用樹型結構表示實體及其之間聯(lián)系的模型稱為層次模型。層次模型中的結點為記錄型,表示某種類型的實體,結點之間的連線則表示了它們之間的關系。層次模型具有如下特點:(1)有且僅有一個結點無雙親結點,稱為根結點。(2)根結點以外的其他結點有且僅有一個雙親結點。層次模型結構簡單,層次清楚,查找的路徑明顯,但是它只能處理一對多的實體聯(lián)系。12/11/202254中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.層次模型(HierarchicalModel)122.網狀模型(NetworkModel)利用網狀結構表示實體及其之間聯(lián)系的模型稱為網狀模型。網狀結構是層次模型的擴展,它表示多個從屬關系的層次結構,呈現(xiàn)一種交叉關系的網絡結構。網狀模型是以記錄為結點的網絡結構,其典型代表是DBTG系統(tǒng)。網狀模型具有如下特點:(1)可以有一個以上的結點無雙親結點。(2)至少有一個結點有多于一個的雙親結點。可以看出,網狀模型去掉了層次模型的兩個限制,因而可以描述更復雜的多對多的實體聯(lián)系。層次模型是網狀模型的特殊形式,網狀模型是層次模型的一般形式。12/11/202255中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.網狀模型(NetworkModel)12/10/23.關系模型(RelationalModel)用二維表結構表示實體以及實體之間聯(lián)系的模型稱為關系模型。關系模型把各種聯(lián)系都統(tǒng)一描述成一些二維表,即由若干行和若干列組成的表格。每一個這樣的二維表格就稱為一個關系。在關系模型中常用的術語:(1)關系:一個關系對應著通常說的一個二維表,是具有相同性質的元組的集合。(2)元組:二維表中的一行稱為一個元組,一個元組相當于一個記錄。(3)屬性:二維表中的一列稱為一個屬性,一個屬性相當于一個字段。(4)域:屬性的取值范圍稱作域。(5)分量:元組中的一個屬性值稱作分量。12/11/202256中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程3.關系模型(RelationalModel)12/14.面向對象模型(關系對象模型)20世紀90年代中期以來,人們發(fā)現(xiàn)關系模型的一些缺陷,提出了面向對象模型,引入了對象、類、屬性、方法、事件等概念。面向對象模型一方面對數(shù)據(jù)結構方面的關系結構進行了改良,另一方面為數(shù)據(jù)操作引入了對象操作的概念和手段。如今的數(shù)據(jù)庫管理系統(tǒng)基本上都提供了這方面的功能。由于目前成熟的數(shù)據(jù)庫系統(tǒng)應用面向對象模型時沒有脫離關系模型,因此有人稱它為關系對象模型,也有人稱為后關系模型,也就是關系模型的擴展。因此,到目前為止數(shù)據(jù)庫模型主要是層次型、網絡型和關系型三種。12/11/202257中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程4.面向對象模型(關系對象模型)12/10/2022161.3數(shù)據(jù)庫系統(tǒng)1.3.1數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,簡稱DB)是計算機系統(tǒng)對數(shù)據(jù)資源的一種管理技術,是存儲在計算機內的有序結構的數(shù)據(jù)集合。其基本思想是對所有數(shù)據(jù)實行集中、統(tǒng)一、獨立的管理,數(shù)據(jù)獨立于應用程序而存在,并以最小的代價供各種不同的用戶共享使用。數(shù)據(jù)庫技術既克服了數(shù)據(jù)處理的初期階段將應用程序與數(shù)據(jù)置于同一過程的原始數(shù)據(jù)處理方式的不足,又克服了文件系統(tǒng)管理方式下對數(shù)據(jù)采取的不具彈性的無結構的集合方法,以及數(shù)據(jù)冗余大、文件不易擴充的缺點。12/11/202258中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3數(shù)據(jù)庫系統(tǒng)1.3.1數(shù)據(jù)庫12/10/202數(shù)據(jù)庫中的數(shù)據(jù)層次單位有兩類:邏輯單位與物理單位。邏輯單位從應用的角度出發(fā)觀察數(shù)據(jù),一般可分為數(shù)據(jù)項、數(shù)據(jù)項組、記錄、文件和數(shù)據(jù)庫。數(shù)據(jù)的物理單位是指數(shù)據(jù)在存儲介質上的存儲單位,一般可分為:位(比特)、字節(jié)、字、塊(物理記錄)和卷。數(shù)據(jù)庫是多記錄類型的具體值的集合,并包含記錄、數(shù)據(jù)文件和數(shù)據(jù)文件之間的數(shù)據(jù)聯(lián)系。12/11/202259中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程數(shù)據(jù)庫中的數(shù)據(jù)層次單位有兩類:邏輯單位與物理單位。邏1.3.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是一個幫助用戶建立、使用和管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的中心樞紐,應用程序對數(shù)據(jù)庫的全部操作通過DBMS進行,DBMS既是面向用戶的,也是面向整個數(shù)據(jù)庫系統(tǒng)的。學習使用數(shù)據(jù)庫,就是學習某個DBMS的使用方法。在關系數(shù)據(jù)庫領域中有許多DBMS,這些DBMS分為兩類:一類屬于大型數(shù)據(jù)庫管理系統(tǒng),如Sybase、Oracle、SQLServer等,另一類屬于小型數(shù)據(jù)庫管理系統(tǒng),如Access、Dbase、FoxBase、VisualFoxPro等。大型數(shù)據(jù)庫管理系統(tǒng)性能比較強大,功能比較完善,一般需要專人管理和維護,常用于大型數(shù)據(jù)庫系統(tǒng)中,如飛機訂票系統(tǒng)、銀行系統(tǒng)等。小型數(shù)據(jù)庫管理系統(tǒng)功能相對簡單,容易掌握,使用也比較方便,一般用在不是很復雜的小型數(shù)據(jù)庫系統(tǒng)中。
12/11/202260中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3.2數(shù)據(jù)庫管理系統(tǒng)12/10/202219中文V1.3.3數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是指在計算機系統(tǒng)中引進數(shù)據(jù)庫管理系統(tǒng)后的系統(tǒng)構成。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫管理員和用戶組成,其中數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心組成部分。數(shù)據(jù)庫系統(tǒng)的出現(xiàn)是計算機數(shù)據(jù)處理技術的重大進步,它具有以下特點。1.數(shù)據(jù)庫系統(tǒng)的優(yōu)點(1)數(shù)據(jù)結構化。不同的記錄之間存在著聯(lián)系,描述數(shù)據(jù)時不僅描述數(shù)據(jù)本身還要描述數(shù)據(jù)之間存在的聯(lián)系,是數(shù)據(jù)庫系統(tǒng)的本質特征。(2)數(shù)據(jù)共享。多個應用可以使用同一數(shù)據(jù)庫、同一時刻多個用戶可讀取同一數(shù)據(jù)、開發(fā)新的應用而不用增加新的存儲空間。12/11/202261中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3.3數(shù)據(jù)庫系統(tǒng)的特點12/10/202220中文(3)數(shù)據(jù)獨立性。所謂數(shù)據(jù)獨立是指應用程序不必隨數(shù)據(jù)存儲結構的改變而變動。數(shù)據(jù)獨立包括數(shù)據(jù)的物理獨立性和邏輯獨立性。(4)數(shù)據(jù)的可控冗余度。從理論上講,數(shù)據(jù)庫中的數(shù)據(jù)可以完全避免冗余,但是為了提高系統(tǒng)的效率或網絡的友好性,往往容許少量數(shù)據(jù)冗余,這種數(shù)據(jù)的冗余是可以人為控制的,所以稱為可控冗余度。(5)數(shù)據(jù)一致性。由于數(shù)據(jù)采用相應方法進行組織,相互之間采用一定的機制進行相關約束,從而保障了數(shù)據(jù)的一致性。(6)數(shù)據(jù)安全性。數(shù)據(jù)庫加入了安全保密機制,可以防止對數(shù)據(jù)的非法存取。另外,數(shù)據(jù)庫系統(tǒng)還采取了一系列措施,來恢復對數(shù)據(jù)庫的破壞。12/11/202262中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(3)數(shù)據(jù)獨立性。12/10/202221中文Vi2.數(shù)據(jù)庫系統(tǒng)的缺點數(shù)據(jù)庫系統(tǒng)也存在著不足,首先,建立數(shù)據(jù)庫的費用較高。數(shù)據(jù)庫系統(tǒng)軟件和與之相聯(lián)系的任何硬件都可能是昂貴的。其次,添加內容時變得復雜。數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)管理復雜得多。從理論上講,系統(tǒng)越復雜,就越容易失敗,恢復也越困難。最后,數(shù)據(jù)風險集中化,數(shù)據(jù)集中存儲,雖然減少了數(shù)據(jù)冗余,但集中存儲也同樣使數(shù)據(jù)損壞和丟失的風險增加了。一般應使這種風險降低到最小程度。12/11/202263中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.數(shù)據(jù)庫系統(tǒng)的缺點12/10/202222中文Vis1.3.4數(shù)據(jù)庫技術的發(fā)展1.第一代數(shù)據(jù)庫系統(tǒng)第一代數(shù)據(jù)庫系統(tǒng)是20世紀70年代研制的層次數(shù)據(jù)庫和網狀數(shù)據(jù)庫系統(tǒng)。1969年,IBM公司研制了基于層次模型的數(shù)據(jù)庫管理系統(tǒng)IMS(InformationManagementSystem)。美國數(shù)據(jù)庫系統(tǒng)語言協(xié)會CODASYL(ConferenceOnDataSystemLanguage)下屬的數(shù)據(jù)庫任務組DBTG(DataBaseTaskGroup)對網絡數(shù)據(jù)庫方法進行了系統(tǒng)探討,于20世紀60年代末70年代初提出了若干報告,稱為DBTG報告。DBTG報告確定并建立了網絡數(shù)據(jù)庫系統(tǒng)的許多概念、方法和技術。它是網絡數(shù)據(jù)庫的典型代表。在DBTG方法和思想的指引下,網絡數(shù)據(jù)庫系統(tǒng)的實現(xiàn)技術不斷成熟,出現(xiàn)了許多商品化的網絡數(shù)據(jù)庫管理系統(tǒng)。12/11/202264中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.3.4數(shù)據(jù)庫技術的發(fā)展12/10/202223中文2.第二代數(shù)據(jù)庫系統(tǒng)第二代數(shù)據(jù)庫系統(tǒng)是關系型數(shù)據(jù)庫系統(tǒng)。1970年IBM公司SanJose研究實驗室的研究員E.F.Codd發(fā)表了題為“大型共享數(shù)據(jù)庫的關系模型”的論文,提出了關系數(shù)據(jù)模型,開創(chuàng)了關系數(shù)據(jù)庫方法和關系數(shù)據(jù)庫理論,為關系數(shù)據(jù)庫技術奠定了理論基礎。70年代是關系數(shù)據(jù)庫理論研究和原型系統(tǒng)開發(fā)的時代,其中以IBMSanJose實驗室開發(fā)的SystemR和Berkeley加利福尼大學研究的IN-GRES為典型代表。經過大量的高層次研究和開發(fā),關系數(shù)據(jù)庫系統(tǒng)的研究取得了一系列的成果,主要包括:奠定了關系模型的理論基礎;提出了關系數(shù)據(jù)語言;研制了大量的關系數(shù)據(jù)庫系統(tǒng)原型,攻克了在系統(tǒng)實現(xiàn)中查詢優(yōu)化、并發(fā)控制、故障恢復等一系列關鍵技術。
12/11/202265中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.第二代數(shù)據(jù)庫系統(tǒng)12/10/202224中文Vis20世紀70年代后期,關系數(shù)據(jù)庫從實驗室走向了社會。因此,計算機領域中很多人把20世紀70年代稱為關系數(shù)據(jù)庫時代。到20世紀80年代幾乎所有新開發(fā)的數(shù)據(jù)庫系統(tǒng)均是關系型的。這些數(shù)據(jù)庫系統(tǒng)的運行,使數(shù)據(jù)庫技術日益廣泛地應用到企業(yè)管理、情報檢索、輔助決策等各個方面,成為信息系統(tǒng)和多計算機應用系統(tǒng)的重要基礎。12/11/202266中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程20世紀70年代后期,關系數(shù)據(jù)庫從實驗室走向了社會。3.第三代數(shù)據(jù)庫系統(tǒng)20世紀80年代以來,數(shù)據(jù)庫技術在商業(yè)領域的巨大成就刺激了其他領域對數(shù)據(jù)庫需求的迅速增長。例如,計算機輔助設計與制造、計算機集成制造系統(tǒng)、辦公自動化和面向對象程序設計環(huán)境等等。這些領域需要的數(shù)據(jù)管理能力有相當一部分是傳統(tǒng)數(shù)據(jù)庫所不能滿足的,例如:(1)復雜對象的存儲和處理。復雜對象不僅內部結構復雜,相互之間的聯(lián)系也很復雜。(2)復雜數(shù)據(jù)類型的支持。復雜數(shù)據(jù)類型包括抽象數(shù)據(jù)類型、無結構的超長數(shù)據(jù)、時間、圖形、圖像、聲音和版本數(shù)據(jù)等。(3)數(shù)據(jù)、對象、知識的統(tǒng)一管理。(4)長事務和嵌套事務的處理。(5)程序設計語言和數(shù)據(jù)庫語言無間隙的集成。(6)巨型數(shù)據(jù)庫(數(shù)據(jù)庫可超過10的12次方字節(jié))的管理。
12/11/202267中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程3.第三代數(shù)據(jù)庫系統(tǒng)12/10/202226中文Vis1.4關系數(shù)據(jù)庫1.4.1關系數(shù)據(jù)庫概述1.關系模型的基本概念(1)字段(Field)。信息世界中的“屬性”一詞,在數(shù)據(jù)世界中使用數(shù)據(jù)項一詞進行描述。從數(shù)據(jù)庫的角度講,數(shù)據(jù)項就是字段。從表格的角度講,字段稱為列。通常使用字段這一名詞比較通俗。字段和屬性一樣,也用型和值表示。由此可見,字段與屬性、列、數(shù)據(jù)項這些術語,所描述的對象都是相同的,只是在不同角度,所用不同而已。12/11/202268中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.4關系數(shù)據(jù)庫1.4.1關系數(shù)據(jù)庫概述12/10(2)記錄(Record)。字段的有序集合稱為記錄,在關系模型中,記錄稱為元組。在表中記錄稱為一行。在概念模型也稱為實體。換句話說,實體、記錄、元組和行是不同角度描述同一對象的不同術語。記錄也用型和值來描述。記錄型是字段型的集合。記錄值是字段值的集合。(3)表(Table)。表是關系數(shù)據(jù)庫系統(tǒng)中的基本單位,是具有相同性質的元組的集合。表也分為型和值,表的型也稱作關系模型,或者稱為表結構,顯然是由一系列屬性所組成。表在關系模型理論中描述為一個關系。(4)關鍵字(KeyWords)。關系中能惟一區(qū)分和確定不同記錄的字段或字段組合,稱為關鍵字。單個字段組成的關鍵字稱為單關鍵字,多個字段組合的關鍵字稱為組合關鍵字。12/11/202269中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(2)記錄(Record)。12/10/202228(5)主關鍵字。主關鍵字也稱為主鍵,當一個關系中有多個關鍵字的時候,可以選中其中一個關鍵字作為主關鍵字。(6)外關鍵字。在眾多屬性中,如果某個屬性不是該關系的主關鍵字,但卻是另一個關系的主關鍵字,則稱這個關鍵字為外關鍵字。(7)關系數(shù)據(jù)庫(RelationDB)。所謂關系數(shù)據(jù)庫就是由若干個表組成的集合。換句話說,關系數(shù)據(jù)庫至少有一個表,才能稱之為數(shù)據(jù)庫?,F(xiàn)實中,關系數(shù)據(jù)庫有若干個表有機地組合在一起,以滿足某類應用系統(tǒng)的需要。
12/11/202270中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(5)主關鍵字。12/10/202229中文Vis2.關系模型的特點除了具有一般數(shù)據(jù)庫的共同的優(yōu)點之外,關系模型具有如下特點:(1)數(shù)據(jù)結構簡單,操作方便。在關系模型中使用人們通常使用的表格來描述,很接近實際,表間的關系用公共屬性名表示,沒有指針鏈接,簡化了數(shù)據(jù)定義,操作也很方便。(2)一體化的數(shù)據(jù)子語言。在其他數(shù)據(jù)庫系統(tǒng)的DBMS的子語言分為DDL、DML和DSDL,它們各自完成不同的功能,而關系數(shù)據(jù)子語言將這些功能合為一體,既可進行查詢、更新等數(shù)據(jù)操作,又具有數(shù)據(jù)定義和控制功能,在進行數(shù)據(jù)操作時還可以動態(tài)地修改數(shù)據(jù)結構,使用方便,提高了編程效率。12/11/202271中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程2.關系模型的特點12/10/202230中文Visu(3)堅實的理論基礎。關系數(shù)據(jù)模型建立在數(shù)學概念基礎上,如集合論等,此外還有關系的規(guī)范化和查詢優(yōu)化等理論,這些研究成果是對數(shù)據(jù)庫技術的研究從經驗發(fā)展到科學的高度,給數(shù)據(jù)庫技術的進一步研究奠定了基礎。(4)面向集合的存取方式。關系數(shù)據(jù)庫可以在關系一級進行運算,一次查詢結果可以得到一組記錄,對數(shù)據(jù)的其他操作也可以一次多個元組進行,其語言簡練,非過程化程度高。此外,關系數(shù)據(jù)模型有利于開展數(shù)據(jù)庫其他應用,例如關系數(shù)據(jù)庫有強大的分解能力,有利于分布式數(shù)據(jù)庫的實現(xiàn),它為各種非預期查詢提供支持,有利于決策支持系統(tǒng)的開發(fā)等等。當然關系數(shù)據(jù)模型也表現(xiàn)出一些不足,其中比較突出的是語義比較貧乏,處理多介質非格式化的數(shù)據(jù)(圖像、圖形、聲音等)時顯得力不從心。另外除了一些大型系統(tǒng)外,多個關系間的查詢效率還是比較低的。
12/11/202272中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程(3)堅實的理論基礎。12/10/202231中文3.關系的基本性質表格是日常使用比較廣泛的一種數(shù)據(jù)表示方法,在關系模型中,將各種實體之間的聯(lián)系都統(tǒng)一描述成一些二維表,即由若干行和若干列組成的表格。這些表格不但存放著實體本身的數(shù)據(jù),而且還存放著實體之間的聯(lián)系。在關系數(shù)據(jù)庫中,一個關系實際上也就是一個二維表,也稱作數(shù)據(jù)表。12/11/202273中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程3.關系的基本性質12/10/202232中文Visu1.4.2關系表之間的關聯(lián)類型在一個關系數(shù)據(jù)庫中,若想將依賴于關系模型建立的多個數(shù)據(jù)表組織在一起,反映客觀事物數(shù)據(jù)間的多種對應關系,通常將這些數(shù)據(jù)表放入同一個數(shù)據(jù)庫中,并建立表間關聯(lián)。在同一個數(shù)據(jù)庫中,表間關聯(lián)關系的關聯(lián)類型常有一對一、一對多和多對一3種。1.一對一關系一對一關系即在兩個數(shù)據(jù)表中選一個相同屬性字段作為關鍵字段,把其中一個數(shù)據(jù)表中的關鍵字段稱為主關鍵字段,該字段值是惟一的,而另一個數(shù)據(jù)表中的關鍵字段稱為外關鍵字段,該字段值也是惟一的。即A表中的每一條記錄在B表中僅能有一個匹配記錄,同樣在B表中的每一條記錄也只能在A表中有一個匹配記錄。
12/11/202274中文VisualFoxPro9.0數(shù)據(jù)庫應用與開發(fā)教程1.4.2關系表之間的關聯(lián)類型12/10/202233中2.一對多關系一對多關系,即在兩個數(shù)據(jù)表中選一個相同屬性字段作為關鍵字段,把其中一個數(shù)據(jù)表的關鍵字段稱為主關鍵字段,該字段值是惟一的,而把另一個數(shù)據(jù)表中的關鍵字段稱為外關鍵字段,該字段值是重復的。即A表中的一條記錄能與B表中的多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度首付分期購房借款合同范本規(guī)定6篇
- 年度線性低密度聚乙烯產業(yè)分析報告
- 年度吸污車產業(yè)分析報告
- 2025年度樓房建筑工程合同糾紛解決協(xié)議4篇
- 二零二四年養(yǎng)老社區(qū)三方物業(yè)服務委托合同文本3篇
- 二零二五年度船舶租賃船運輸協(xié)議合同3篇
- 二零二五年酒店客房家具更新?lián)Q代合同3篇
- 2025年度智能交通信號系統(tǒng)安裝與維護承包協(xié)議合同范本3篇
- 二零二五版教育培訓機構合同標的課程開發(fā)與教學質量承諾3篇
- 2025年度生物質能發(fā)電項目合作協(xié)議合同范本
- GB/T 33688-2017選煤磁選設備工藝效果評定方法
- GB/T 304.3-2002關節(jié)軸承配合
- 漆畫漆藝 第三章
- CB/T 615-1995船底吸入格柵
- 光伏逆變器一課件
- 貨物供應、運輸、包裝說明方案
- (完整版)英語高頻詞匯800詞
- 《基礎馬來語》課程標準(高職)
- IEC61850研討交流之四-服務影射
- 《兒科學》新生兒窒息課件
- 材料力學壓桿穩(wěn)定
評論
0/150
提交評論