




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、.本章主要介紹如下知識: 數(shù)據庫系統(tǒng)的基本知識 對數(shù)據模型進行闡述,特別是其中的E-R模型和關系模型 著重介紹關系型數(shù)據庫及其設計理論 數(shù)據庫的設計過程 簡單介紹面向對象數(shù)據庫系統(tǒng).6.1 6.1 數(shù)據庫系統(tǒng)的基礎知識數(shù)據庫系統(tǒng)的基礎知識 6.1.1數(shù)據庫系統(tǒng)的產生與發(fā)展 6.1.2 數(shù)據庫的基本術語 6.1.3 數(shù)據庫系統(tǒng)結構體系.6.1.16.1.1數(shù)據庫系統(tǒng)的產生與發(fā)展數(shù)據庫系統(tǒng)的產生與發(fā)展 數(shù)據管理技術經歷以下三個階段:人工管理階段(50年代中期以前);文件系統(tǒng)階段(50年代后期到60年代中期);數(shù)據庫系統(tǒng)階段(60年代后期以來)。 .1.人工管理階段當時外存沒有磁盤等直接存取的存儲設
2、備;軟件沒有操作系統(tǒng),數(shù)據的處理是批處理。 人 工 管 理 數(shù) 據 具 有 如 下 特 點 : 1)數(shù)據不保存。 2)數(shù)據需要由應用程序自己管理,沒有相應的軟件來處理數(shù)據。 3)數(shù)據不共享。 4)數(shù)據不具有獨立性。 .2.文件系統(tǒng)階段 50年代后期到60年代中期,在操作系統(tǒng)中有專門的數(shù)據管理軟件,一般稱為文件系統(tǒng)。文件系統(tǒng)是數(shù)據庫系統(tǒng)發(fā)展的初級階段。 用 文 件 系 統(tǒng) 管 理 數(shù) 據 具 有 如 下 特 點 : 1)數(shù)據可長期保存。2)簡單的數(shù)據管理功能 3)數(shù)據共享性差。 4)數(shù)據的獨立性差。.3.數(shù)據庫系統(tǒng)階段 60年代末期,人們對文件系統(tǒng)進行了擴充,研制了一種結構化的數(shù)據組織和處理方式
3、,才出現(xiàn)了真正的數(shù)據庫系統(tǒng)。 數(shù) 據 庫 系 統(tǒng) 的 基 本 特 點 如 下 : 1)數(shù)據的集成性。2)數(shù)據的高度共享性與低冗余性。3)數(shù)據獨立性高。數(shù)據的獨立性包括:.物理獨立性:是指數(shù)據的物理結構的改變,如存儲設備的更換、物理存儲的更換、存取方式改變等都不影響數(shù)據庫的邏輯結構,從而不致引起應用程序的改變。邏輯獨立性:是指數(shù)據的總體邏輯結構改變時,如修改數(shù)據模式、改變數(shù)據間的聯(lián)系等,不需要修改相應的應用程序。(4)數(shù)據的管理和控制能力。 數(shù)據管理發(fā)展的三個階段的軟硬件背景及其特點的比較見下表 。.人工管理階段人工管理階段文件系統(tǒng)階段文件系統(tǒng)階段數(shù)據庫系統(tǒng)階段數(shù)據庫系統(tǒng)階段背背景景應用背景應用
4、背景科學計算科學計算科學計算、管理科學計算、管理大規(guī)模管理大規(guī)模管理硬件背景硬件背景無直接存取存儲設無直接存取存儲設備備磁盤、磁鼓磁盤、磁鼓大容量磁備盤大容量磁備盤軟件背景軟件背景沒有操作系統(tǒng)沒有操作系統(tǒng)有文件系統(tǒng)有文件系統(tǒng)有數(shù)據庫管理系統(tǒng)有數(shù)據庫管理系統(tǒng)處理方式處理方式批處理批處理聯(lián)機實時處理、批處理聯(lián)機實時處理、批處理聯(lián)機實時處理、分布處理、聯(lián)機實時處理、分布處理、批處理批處理特特點點數(shù)據的管理者數(shù)據的管理者用戶用戶( (程序員程序員) )文件系統(tǒng)文件系統(tǒng)數(shù)據庫管理系統(tǒng)數(shù)據庫管理系統(tǒng)數(shù)據面向的對象數(shù)據面向的對象某一應用程序某一應用程序某一應用某一應用現(xiàn)實世界現(xiàn)實世界數(shù)據共享程度數(shù)據共享程度
5、無共享,冗余度極無共享,冗余度極大大共享性差,冗余度大共享性差,冗余度大共享性高,冗余度小共享性高,冗余度小數(shù)據的獨立性數(shù)據的獨立性不獨立,完全依賴不獨立,完全依賴于程序于程序獨立性差獨立性差具有高度的物理獨立性和一具有高度的物理獨立性和一定的邏輯獨立性定的邏輯獨立性數(shù)據的結構化數(shù)據的結構化無結構無結構記錄內有結構,整體無記錄內有結構,整體無結構結構整體結構化,用數(shù)據模型描整體結構化,用數(shù)據模型描述述數(shù)據控制能力數(shù)據控制能力應用程序自己控制應用程序自己控制應用程序自己控制應用程序自己控制由數(shù)據庫管理系統(tǒng)提供數(shù)據由數(shù)據庫管理系統(tǒng)提供數(shù)據安全性、完整性、并發(fā)控制安全性、完整性、并發(fā)控制和恢復能力和
6、恢復能力.6.1.2 6.1.2 數(shù)據庫的基本術語數(shù)據庫的基本術語1. 數(shù)據(Data)定義:數(shù)據是描述事物的符號記錄。 數(shù)據的表現(xiàn)形式不僅是數(shù)字,還包括字符(文字和符號)、圖表(圖形、圖像和表格)及聲音、語言等 。 信息是從原始數(shù)據中經過篩選、提煉等加工后,產生的對決策有影響的數(shù)據。 .2. 數(shù)據庫(Database)定義:數(shù)據庫(DB)是長期儲存在計算機內的、有組織的、可共享的數(shù)據的集合。 數(shù)據庫有以下特點:1)數(shù)據結構化。 2)實現(xiàn)數(shù)據共享。 3)減少數(shù)據的冗余。 4)數(shù)據獨立。 .3.數(shù)據庫管理系統(tǒng)(Databbase Management System簡稱DBMS)定義:數(shù)據庫管理系
7、統(tǒng)它是位于用戶和操作系統(tǒng)(OS)之間的一層數(shù)據管理軟件,負責數(shù)據庫中數(shù)據組織、數(shù)據操縱、數(shù)據維護、數(shù)據控制及保護和數(shù)據接口等。 .4.數(shù)據庫管理員(Database Adminstrator簡稱DBA)定義:由專職人員對數(shù)據庫進行規(guī)劃、設計、維護、監(jiān)視等,稱這些專職人員為數(shù)據庫管理員。 數(shù) 據 庫 管 理 員 的 具 體 職 責 包 括 : 1)數(shù)據庫定義與設計。 2)數(shù)據庫運行與維護。 3)數(shù)據庫的改進和重組重構。 .5.數(shù)據庫系統(tǒng)(Database System簡稱DBS)定義:數(shù)據庫系統(tǒng)一般由數(shù)據庫、數(shù)據庫管理系統(tǒng)(及其開發(fā)軟件)、系統(tǒng)平臺、應用系統(tǒng)和人員構成。 數(shù)據庫系統(tǒng)在整個計算機系
8、統(tǒng)中的地位如下圖所示。 .DBOSDBMS應用程序應用程序.6.1.3 6.1.3 數(shù)據庫系統(tǒng)結構體系數(shù)據庫系統(tǒng)結構體系 數(shù)據庫系統(tǒng)的結構可以有多種不同的層次。 從數(shù)據庫管理系統(tǒng)角度看,數(shù)據庫系統(tǒng)通常采用三級模式結構,這是數(shù)據庫系統(tǒng)的內部系統(tǒng)結構。 從數(shù)據庫最終用戶角度看,數(shù)據庫系統(tǒng)分為單用戶數(shù)據庫系統(tǒng)、主從式數(shù)據庫系統(tǒng)、分布式數(shù)據庫系統(tǒng)和客戶/服務器數(shù)據庫系統(tǒng)。.1. 數(shù)據庫系統(tǒng)的模式結構 模式是數(shù)據庫中全體數(shù)據的邏輯結構和特征的描述。 數(shù)據庫系統(tǒng)在其內部具有三級模式和二級映像。三級模式分別為外模式、模式與內模式;二級映像則是外模式/模式映像和模式/內模式映像。 三級模式與二級映像構成數(shù)據庫
9、系統(tǒng)的內部的抽象結構體系,如下圖所示。.應 用 程應 用 程序序A應 用 程應 用 程序序B應 用 程應 用 程序序n外模式外模式1外模式外模式n模式模式(概念數(shù)據庫概念數(shù)據庫)內模式內模式(物理數(shù)據庫物理數(shù)據庫)數(shù)據庫數(shù)據庫外模式外模式/模式模式映像映像模式模式/內模式內模式映像映像.(1)數(shù)據庫系統(tǒng)的三級模式。 外模式也稱子模式或用戶模式,還稱為用戶級模式。它是數(shù)據庫用戶能夠看見和使用的局部數(shù)據的邏輯結構和特征的描述,是數(shù)據庫用戶的數(shù)據視圖。 模式也稱邏輯模式,還稱概念模式。是數(shù)據庫中全體數(shù)據的邏輯結構和特征的描述。 內模式也稱存儲模式,還稱物理模式。它是數(shù)據物理結構和存儲方式的描述。.(
10、2)數(shù)據庫系統(tǒng)的二級映像。 外模式模式映像:它使數(shù)據具有較高的邏輯獨立性。它定義了該外模式與模式之間的對應關系。這些映象定義通常包含在各自外模式的描述中。當模式改變時,DBA要對相關的外模式模式映像作相應的改變,以使外模式保持不變。應用程序是依據數(shù)據的外模式編寫的,外模式不變,應用程序就沒必要修改。所以外模式模式映像功能保證了數(shù)據與程序的邏輯獨立性。. 模式內模式映像:它使數(shù)據具有較高的物理獨立性。它定義了數(shù)據庫全局邏輯結構與存儲結構之間的對應關系。該映像定義通常包含在模式描述中。當數(shù)據庫的存儲結構了,DBA要對模式內模式映像作相應的改變,以使模式保持不變。模式不變,與模式沒有直接聯(lián)系的應用程
11、序也不會改變,所以模式內模式映像功能保證了數(shù)據與程序的物理獨立性。.2. 數(shù)據庫系統(tǒng)的體系結構(1)單用戶數(shù)據庫系統(tǒng)。 DBDB.(2)主從式數(shù)據庫系統(tǒng)。DB主機主機.(3)分布式數(shù)據庫系統(tǒng)。主主機機DBDBDB主主機機主主機機網網絡絡.(4)客戶/服務器數(shù)據庫系統(tǒng)??蛻魴C客戶機客戶機客戶機客戶機客戶機客戶機客戶機服務器服務器.6.2 6.2 數(shù)據模型數(shù)據模型 6.2.1 數(shù)據模型的基本概念 6.2.2 概念模型 6.2.3 數(shù)據模型.6.2.1 6.2.1 數(shù)據模型的基本概念數(shù)據模型的基本概念 數(shù)據模型根據不同的應用層次劃分為三種類型:1、概念模型:也稱信息模型。它是按用戶觀點來對數(shù)據和信息
12、建模,主要用于數(shù)據庫設計。它與具體數(shù)據庫管理系統(tǒng)無關,與具體的計算機平臺無關。目前,較為流行的概念模型有E-R模型、擴充的E-R模型、面向對象模型等。.2、邏輯模型:又稱數(shù)據模型。它是按計算機系統(tǒng)觀點對數(shù)據建模,主要用于DBMS的實現(xiàn)。目前數(shù)據模式有很多種,包括層次模型、網狀模型和關系模型、面向對象模型等。3、物理模型:它是一中面向計算機物理表示的模型,此模型給出了數(shù)據模型在計算機上的物理結構的表示。. 數(shù)據模型的三要素:1、數(shù)據結構。數(shù)據結構用來描述系統(tǒng)的靜態(tài)特征。它主要描述數(shù)據的類型、內容性質以及數(shù)據間的聯(lián)系等。 2、數(shù)據操作。數(shù)據操作用于描述系統(tǒng)的動態(tài)特征。它主要描述在相應數(shù)據結構上的操
13、作類型與操作方式。數(shù)據庫主要有檢索和更新(包括插入、刪除和修改)兩類操作。.3、數(shù)據約束條件。 數(shù)據約束條件是一組完整型規(guī)則的集合,它描述了數(shù)據及其聯(lián)系應具有的制約和依賴規(guī)則。.6.2.2 6.2.2 概念模型概念模型 概念模型是現(xiàn)實世界到機器世界的一個中間層次。 概念模型的表示方法很多,其中最常用的是實體聯(lián)系模型,簡稱為E-R模型。該模型將現(xiàn)實世界中需要的信息,以及它們之間的基本聯(lián)接關系轉化成圖,比較直觀的反映了現(xiàn)實世界。.1. 概念模型涉及的基本概念(1)實體:客觀存在的并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物,比如小趙、信息學院、教材等;也可以是抽象的概念或聯(lián)系,比如領導與職工
14、的領導關系。實體是概念世界中的基本單位。.(2)屬性:實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。如學生實體可以由學號、姓名、性別等屬性組成。(3)聯(lián)系:現(xiàn)實世界中的事物間的關聯(lián)稱為聯(lián)系。如教師與學生的授課關系等。這些聯(lián)系反映為實體內部的聯(lián)系和實體之間的聯(lián)系。.兩個實體集間的聯(lián)系可以分為以下幾種:一對一聯(lián)系(1 :1):對于實體集A中的每一個實體,實體集B中有且只能有一個實體與之聯(lián)系,反之亦然。如學校與校長之間的聯(lián)系 。一對多聯(lián)系(1 :n)或多對一聯(lián)系(n :1):對于實體集A中的每一個實體,實體集B中有n (n1)個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A
15、中有且只能有一個實體與之聯(lián)系。如一個學院由多個班級。 . 多對多聯(lián)系(m :n): 這是一種復雜的聯(lián)系,對于實體集A中的每一個實體,實體集B中有n (n1)個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中有n (n1)實體與之聯(lián)系。如一門課同時有若干個學生選修,而一個學生可以同時選修多門課。.2. 概念模型基本概念之間的關系(1)實體集(聯(lián)系)與屬性間的關系。 一個實體可以有若干個屬性,實體以及它的所有屬性構成了實體的一個完整描述,因此實體與屬性間有一定的聯(lián)系。如在學生基本情況信息表中每一個人(實體)可以有:編號、姓名、性別、系別、年齡、籍貫、政治面貌等屬性,它們組成了一個有關學生
16、實體的完整描述。. 聯(lián)系也可以附有屬性,聯(lián)系和它的所有的屬性構成了聯(lián)系的一個完整描述,因此,聯(lián)系與屬性間也有聯(lián)接關系。(2)實體集與聯(lián)系。 實體集間可通過聯(lián)系建立聯(lián)接關系。 概念模型中的基本關系的結構如下圖所示。 .學學生生信信息息表表關關系系關系名關系名主碼主碼(男,女男,女)信息信息,材料材料北京北京,上海上海團員團員,黨員黨員域域屬性屬性(列列)元元組組行行屬性名屬性名.3. 概念模型的表示方法(1)實體集的表示方法:在E-R圖中用矩形表示實體集,在矩形內寫上該實體集的名字。(2)屬性的表示方法:在E-R圖中用橢圓表示屬性,在橢圓內寫上該屬性的名稱。并用無向邊將其與相應的實體連接起來。.
17、(3)聯(lián)系的表示方法:在E-R圖中用菱形表示聯(lián)系,菱形框內寫明聯(lián)系名,并用無向邊分別與有關的實體連接起來,同時在無向邊旁標上聯(lián)系的類型,如1 :1,1 :n,n :m等。如下圖所示。.班級班級領導領導班長班長11(a)兩個實體集間的兩個實體集間的1:1聯(lián)系聯(lián)系班級班級組成組成學生學生1n(b)兩個實體集間的兩個實體集間的1:n聯(lián)系聯(lián)系. 聯(lián)系本身也是一種實體型,也有屬性,如果一個聯(lián)系具有屬性,則將這些屬性用無向邊與該聯(lián)系連接起來。課程課程選修選修學生學生nm(c)兩個實體集間的兩個實體集間的n: m聯(lián)系聯(lián)系. 例例6.1 6.1 有三個實體集及它們的屬性,它們分別是:學生(Student):學
18、號(Xh)、姓名(Xm)、性別(Xb)、年齡(Nl)班級(Class):班號(Bh)、專業(yè)(Zy)課程(Course):課程號(Kh)、課程名(Km)、學分(Xf) 由這三個實體集構成的概念模型,可用E-R圖來表示,如圖所示。.ClassStudentCourseXh組成組成選修選修KmXfXhXmXbNlBh成績成績學生學生1nnmZy.6.2.3 6.2.3 數(shù)據模型數(shù)據模型在數(shù)據庫領域中最常用的數(shù)據模型有層次模型、網狀模型、關系模型三種模型。1. 層次模型層次模型是最早發(fā)展起來的數(shù)據庫模型。它的基本結構是樹形結構,這種結構方式在現(xiàn)實世界中很普遍,如家族結構、行政組織結構等。. 在圖論中,
19、我們學過樹的定義,任一樹結構均有以下特性:1)棵樹有且僅有一個無雙親結點,稱為根結點。2)除根結點以外其他的結點有且僅有一個雙親,無子女的結點稱為葉結點。 層次模型的示例如下圖所示。 .院院 系系學學 校校研究所研究所機機 關關教研室教研室班班 級級科研室科研室科室科室教師教師學生學生科研人員科研人員工作人員工作人員領導領導領導領導領導領導領導領導領導領導領導領導領導領導組成組成組成組成組成組成組成組成.2.網狀模型 網狀模型是一種更具有普遍性的結構,從圖論的角度講,網狀模型是一個不加任何條件限制的無向圖。網狀模型是以記錄為結點的網狀結構,它滿足以下條件:(1)可以有任意個結點無雙親。(2)允
20、許結點有一個以上的雙親。(3)允許兩個結點之間有一種或兩種以上的聯(lián)系。. 網狀模型的示例如下圖所示。工廠工廠市場部市場部生產部生產部產品產品管理管理管理管理推銷推銷生產生產.3.關系模型 目前,關系模型是數(shù)據庫領域中目前最重要的一種數(shù)據模型。關系模型的本質是一張二維表,關系模型中,一張二維表就稱為一個關系。(1)關系模型的數(shù)據結構。關系模型采用二維表來表示,簡稱表。如下表是一張學生登記表,它由行(元組)和列(屬性)組成。.學號學號姓名姓名性別性別年齡年齡系號系號年級年級950104950104王小明王小明女女191901019595950206950206黃大鵬黃大鵬男男20200202959
21、5950508950508張文斌張文斌女女181805059595. 關系二維表一般具有下面幾個性質: 1) 元組個數(shù)有限性。2) 元組的唯一性。 3)元組次序的無關性。4)元組分量的原子性5)屬性名的唯一性。6)屬性的次序無關性。7) 分量值域的同一性。. 需要注意的是:關系必須滿足一定的規(guī)范條件,其中最基本的一條是:關系的每一個分量必須是一個不可分的數(shù)據項,即不允許表中還有表。 外鍵:二維表中某個屬性或屬性組合雖不是該表的關鍵字或只是關鍵字的一部分,但卻是另外一個表的關鍵字時,稱該屬性或屬性組合為這個表的外部關鍵字或外鍵。.(2)關系模型的操作。一般有以下四種操作:1)數(shù)據查詢。數(shù)據查詢是
22、數(shù)據庫的核心操作。它包括單表查詢和多表查詢。 單表查詢:是指僅在一個數(shù)據庫表進行的查詢。 多表查詢:是指同時涉及兩個以上的表的查詢。首先將相關的關系合并成一個關系,再對合并后的關系作橫向或縱向的定位。確定要查詢的數(shù)據,之后進行操作。.2)數(shù)據插入。數(shù)據插入僅對一個關系而言,在指定的關系中插入一個或多個元組。3)數(shù)據刪除。數(shù)據刪除的基本單位是一個表中元組,它將滿足條件元組從表中刪除。4)數(shù)據修改。數(shù)據修改又稱更新操作。它可以分解為刪除和插入兩個基本操作。 以上四種操作的對象都是關系(表),而操作的結果也是關系(表)。.(3)關系模型的約束條件。關系模型定義三種數(shù)據約束條件:1)實體完整性約束條件
23、。實體完整性約束要求關系中主碼的任何屬性都不能為空。這是數(shù)據庫完整性的最基本的要求,因為主碼唯一標識元組,如為空則不能為主碼。.2)參照完整性約束條件。參照完整性約束是對關系間引用數(shù)據的一種限制。即在關系中的外鍵要么是所關聯(lián)關系中的實際存在的元組,要么就為空值。比如在下面關系中:職工關系(職工編號,姓名,性別,部門編號)部門關系(部門編號,部門名稱,部門經理) 職工編號是職工關系的主碼,而外碼為部門編號,職工關系與部門關系通過部門編號關聯(lián),參照完整性要求職工關系中的部門編號的值在部門關系中必有相應元組。.3)用戶定義的完整性約束條件。用戶定義的完整性約束條件是某一具體數(shù)據庫的約束條件,是用戶自
24、己定義的某一具體數(shù)據必須滿足的語義要求。 其中前兩者約束條件由關系數(shù)據庫系統(tǒng)自動支持。對后者,則由關系數(shù)據庫系統(tǒng)提供完整性約束語言,用戶利用該語言定義出約束條件。.6.3 6.3 關系數(shù)據庫關系數(shù)據庫 6.3.1 關系模型的特點 6.3.2 關系代數(shù) 6.3.3 結構化查詢語言SQL.6.3.1 6.3.1 關系模型的特點關系模型的特點1.單一的數(shù)據結構關系 關系模型的數(shù)據結構是單一的。現(xiàn)實世界的實體以及實體之間的各種聯(lián)系均用關系來表示,從用戶角度來看,關系模型中數(shù)據的邏輯結構是一張二維表。2.關系操作 關系操作采用集合操作方式。即操作對象和結果都是集合。其中查詢是最基本的操作。.3.關系的三
25、類完整性規(guī)則 關系模型的完整性規(guī)則是對數(shù)據的約束。關系模型提供了三類完整性規(guī)則:實體完整性規(guī)則、參照完整性規(guī)則和用戶自定義完整性規(guī)則。.6.3.2 6.3.2 關系代數(shù)關系代數(shù) 關系模型中的關系操作通常用關系代數(shù)和關系演算來表示的。關系代數(shù)是一種抽象的查詢語言,它是用對關系的運算來表達查詢的。關系演算是用謂詞來表達查詢要求的方式。二者是等價的。在這里我們著重介紹關系代數(shù)。.1. 關系代數(shù)的相關概念(1)笛卡爾積:令A和B是任意兩個集合,若有序對的第一個成員是A的元素,第二個成員是B的元素,所有這樣的有序對的集合,稱為集合A和B的笛卡爾積或直積。記作AB。 AB=|(xA)(yB) 笛卡爾積可表
26、示為一個二維表,表中的每一行對應一個元組,表中的每一列對應一個域(同一屬性的集合)。. 我們看一個例子:例如:A=a,b, B=0,1,2則: AB=a,0,a,1, a,2, b,0, b,1, b,2 BA=0,a,0,b, 1,a, 1,b, 2,a, 2,b.(2)關系:令A和B是任意兩個集合,笛卡爾積AB的子集R稱作A到B的關系。簡單的說:關系是笛卡爾積的子集。(3)關系模型:關系的描述稱為關系模型。它可以形象化地表示為一個五元組: R(U,D,DOM,F(xiàn))。其中R為關系名,U為組成該關系的屬性名的集合,D為屬性組U中屬性所來自的域,DOM為屬性向域的映像集合,F(xiàn)為屬性間數(shù)據依賴關系
27、。.2.傳統(tǒng)的集合運算(1)并:設關系R和S具有相同的關系模式,R和S的并是由屬于R或屬于S的元組構成的集合,記為RS。形式定義如下: RS = t | tR tS , t是元組變量,R和S都有n個屬性。 并運算可以實現(xiàn)插入若干元組的操作。如對關系R插入R,則可用并運算表示為:RR。.(2)差:設關系R和S具有相同的關系模式,R和S的差是由屬于R但不屬于S的元組構成的集合,記為RS。形式定義如下: RS = t | tR tS , R和S都有n個屬性。 差運算可實現(xiàn)刪除操作。如對關系R刪除R,則可用差運算表示為:RR。 對關系的修改可分兩步進行,先做刪除操作,再做插入操作,即先做差運算再做并運
28、算。.(3)交:設關系R和S具有相同的關系模式,關系R和S的交是由既屬于R又屬于S的元組構成的集合,記為RS,這里要求R和S定義在相同的關系模式上。形式定義如下: RS = ttR tS, R和S都有n個屬性。.(4)廣義笛卡爾積:設關系R和S的元數(shù)分別為r和s,則R和S的笛卡爾積是一個(r+s)元的元組集合,每個元組的前r個分量來自R的一個元組,后s個分量來自S的一個元組,記為:RS。形式定義如下: RS = t | t= tr R ts S 下面舉例說明上述的四種傳統(tǒng)集合運算。. 例R R 關系關系R R1 1R R2 2R R3 31 12 23 32 25 57 7S S關系關系R R
29、1 1R R2 2R R3 34 42 23 31 12 23 3R RS (RS (R和和S S 的并的并) )R R1 1R R2 2R R3 31 12 23 32 25 57 74 42 23 3RS (RRS (R和和S S 的交的交) )R R1 1R R2 2R R3 31 12 23 3R RS (RS (R和和S S 的差的差) )R R1 1R R2 2R R3 32 25 57 7R RS(RS(R和和S S的廣義笛卡爾積的廣義笛卡爾積) )R R1 1R R2 2R R3 3R R1 1R R2 2R R3 31 12 23 34 42 23 31 12 23 31 1
30、2 23 32 25 57 74 42 23 32 25 57 71 12 23 3.3.專門的關系運算專門的關系運算包括選擇、投影、連接、除。(1)選擇:選擇運算是根據某些條件對關系做水平分割,即選取符合條件的元組。形式定義如下:F(R) t | tR F(t)= true 其中為選擇運算符,F(xiàn)(R)表示從R中挑選滿足公式F為真的元組所構成的關系。這是從行的角度進行的運算。 例如, 23 (R)表示從R中挑選第2個分量值大于3的元組所構成的關系。.(2)投影:投影運算是從關系內選擇出若干屬性列組成新的關系。形式定義如下:A(R) t A| tR 其中A為R的屬性列。投影操作是從列的角度進行的
31、運算。 投影之后不僅取消了原關系中的某些列,而且取消完全相同的元組。 例如, 3,1 (R)表示關系R中取第1、3列,組成新的關系,新關系中第1列為R的第3列,新關系的第2列為R的第1列。.(3)連接:連接也稱為聯(lián)接。它是從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組組成新的關系。關系R和S的連接運算形式定義如下:R S tt = trR tsS AB trA tsB . 連接運算中有兩種最為常用的連接:1) 等值連接:將連接中的換成“=”,功能是從關系R和S的笛卡爾積中選取A,B屬性值相等的那些元組。它的形式定義為: R S tt = trR tsS A=B trA tsB .2)自然連
32、接:是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且要在結果中將重復的屬性去掉。它的形式定義為:R S tt = trR tsS trBtsB 連接運算一般是從行的角度進行的操作,但自然連接是同時從行和列的角度進行的操作。.我們舉例說明連接運算:R R關系關系A AB BC CD Da1a1b1b1c1c14 4a2a2b2b2c2c27 7a2a2b3b3c1c15 5a1a1b4b4c2c21 1S S關系關系B BE Eb1b12 2b2b26 6b2b28 8b3b31111選擇連接選擇連接A AR.BR.BC CD DS.BS.BE Ea1a1b1b1c1
33、c14 4b1b12 2a2a2b2b2c2c27 7b1b12 2a2a2b2b2c2c27 7b2b26 6a1a1b3b3c1c15 5b2b22 2R S DE .自然連接自然連接R R S SA AB BC CD DE Ea1a1b1b1c1c14 42 2a2a2b2b2c2c27 76 6a2a2b2b2c2c27 78 8a2a2b3b3c1c15 51111A AR.BR.BC CD DS.BS.BE Ea1a1b1b1c1c14 4b1b12 2a2a2b2b2c2c27 7b2b26 6a2a2b2b2c2c27 7b2b28 8a2a2b3b3c1c15 5b3b311
34、11等值連接等值連接 R SR.B=S.B .(4)除:設R(x)和S(y)是兩個關系,并且y是x的子集即x中的每一個屬性都在y中,關系RS是模式xy上的關系,也就是說,RS包含所有在x中而不在y中的屬性。它形式定義為: RS = trX| trR yx y(S) 其中yx為x在R中的像集。. 我們舉例說明除運算:R R關系關系A AB BC CD D2 24 43 34 44 45 56 67 74 45 53 34 42 24 46 67 72 24 43 38 8S S關系關系C CD D3 34 46 67 73 38 8R RS SA AB B2 24 4. 根據上述的關系運算完成下
35、面例題學生選課數(shù)據庫的關系模式為:Student(Sno,Sname,Sdept,Sage);Course(Cno,Cname,Pno);SC(Sno,Cno,Grade)。其中Sno,Sname,Sdept,Sage表示學號、學生姓名、學生系別、學生年齡;Cno,Cname,Pno表示課程號、課程名、預修課程號;Grade表示成績。.寫出對關系模型Student、Course、SC中的下述查詢表達式:(1)檢索學生年齡小于19的學生的姓名。 Sname(Sage85 (Student SC) (5)求選修了全部課程的學生學號。 Sno,Cno(SC) Cno(Course) .6.3.3 6
36、.3.3 結構化查詢語言結構化查詢語言SQLSQL SQL:是Structured Query Language的縮寫,是一種結構化查詢語言。是1974年由Boyce和Chamberlin提出來的。 由于SQL使用方便、功能豐富、語言簡單易學,現(xiàn)已成為關系數(shù)據庫領域中的一個主流語言。.1.SQL數(shù)據庫結構 SQL數(shù)據庫的結構如圖所示。SQL用戶用戶SQL用戶用戶視圖視圖1視圖視圖2基本表基本表1基本表基本表2基本表基本表3基本表基本表4存儲文件存儲文件1存儲文件存儲文件1存儲文件存儲文件1. 它基本上是三級結構,它支持關系數(shù)據庫三級模式結構,但在SQL數(shù)據庫中,模式被稱為基本表,內模式稱為存儲
37、文件,外模式稱為視圖或部分基本表,元組稱為行,屬性稱為列。.2.結構化查詢語言SQL的組成 SQL語言包括數(shù)據定義、數(shù)據查詢、數(shù)據操縱、數(shù)據控制4個方面。 數(shù)據定義包括定義基本表、定義視圖、定義索引3部分。 數(shù)據查詢是建立數(shù)據庫的主要目的,SQL語言提供了SELECT語句進行查詢。 數(shù)據操縱包括數(shù)據檢索和更新兩部分功能。 數(shù)據控制是指控制用戶對數(shù)據的存儲權力。.3. SQL數(shù)據庫的查詢 數(shù)據庫的查詢的基本格式為:SELECTALL/DISTINCTFROM WHEREGROUP BYORDER BY ASC/DESC;在語句中,凡是在中的項是不可缺的, 中的項可根據需要省略。. 整個查詢語句的
38、含義是: 根據WHERE子句中的條件,從FROM子句指定的表中找出滿足條件的元組,再按SELECT子句中的目標列或目標列表達式選出元組中的屬性值形成結果表。如果有GROUP子句,則按列名1的值進行分組。如果有ORDER子句,則在結果表中按照列名2的值進行升序(ASC)和降序(DESC)排序。.我們舉例說明如何用SQL語言進行查詢。例:學生選課數(shù)據庫的關系模式為: Student(Sno,Sname,Sdept,Sage); Course(Cno,Cname,Pno); SC(Sno,Cno,Grade)。(1)查詢全體學生的姓名、學號。 SELECT Sno, Sname FROM Stude
39、nt;.(2)查詢所有選修過課的學生的學號。 SELECT DISTINCT Sno FROM SC;(3)查詢年齡在19到22之間的學生姓名、系別和年齡。 SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 19 AND 23; 謂詞BETWEENAND 和NOT BETWEEN AND可以查找屬性值在(或不在)指定范圍內的元組。.(4)查詢出成績?yōu)?0、85、87的記錄。 SELECT * FROM SC WHERE Grade IN(80,85,87);謂詞IN用來查找屬性值屬于指定集合的元組。(5)查詢第二個字為“艷”的學
40、生的姓名和系別。 SELECT Sname, Sdept FROM Student WHERE Sname LIKE - -_艷%; 謂詞LIKE可以用來進行字符串的匹配。其中%代表任意長的的字符串,- 代表任意單個字符。一個漢字占兩個字符。.(6)查詢選修“數(shù)據庫系統(tǒng)原理”課程的學生姓名。 SELECT Sname FROM Student WHERE Sno IN ( SELECT Sno FROM SC WHERE Cno IN (SELECT Cno FROM Course WHERE Cname=數(shù)據庫系統(tǒng)原理); 此查詢?yōu)榍短撞樵儭?.6.4 6.4 數(shù)據庫的設計數(shù)據庫的設計 6.
41、4.1 6.4.1 數(shù)據庫設計的步驟數(shù)據庫設計的步驟 6.4.2 6.4.2 數(shù)據庫設計的需求分析數(shù)據庫設計的需求分析 6.4.3 6.4.3 數(shù)據庫的概念結構設計數(shù)據庫的概念結構設計 6.4.4 6.4.4 邏輯結構設計邏輯結構設計 6.4.56.4.5 物理結構設計物理結構設計. 數(shù)據庫設計是數(shù)據庫應用的核心。數(shù)據庫設計是指利用現(xiàn)有的數(shù)據庫管理系統(tǒng),針對具體的應用對象,構造合適的數(shù)據庫模式,建立基于數(shù)據庫的應用系統(tǒng)或信息系統(tǒng)。.6.4.1 6.4.1 數(shù)據庫設計的步驟數(shù)據庫設計的步驟 在數(shù)據庫設計中有兩種方法: 一種是以信息需求為主,兼顧處理需求,稱為面向數(shù)據的方法。 另一種方法是以處理需
42、求為主,兼顧信息需求,稱為面向過程的方法。 這兩種方法現(xiàn)在都有使用,但面向數(shù)據方法已成為主流方法。. 數(shù)據庫設計一般分為以下六個階段:1.需求分析階段 進行數(shù)據庫設計首先必須準確分析用戶的需求,按需求合理的設計系統(tǒng)。2.概念設計階段 概念結構設計是整個數(shù)據庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。.3.邏輯設計階段 該階段是將概念結構轉化為某個DBMS所支持的數(shù)據模型,并對其進行優(yōu)化,得到數(shù)據庫的邏輯模型。4.物理設計階段 數(shù)據庫物理設計是為邏輯數(shù)據模型選取一個最合適應用環(huán)境的物理結構(包括存儲結構和存取方法)。.5.實現(xiàn)階段 在數(shù)據庫實施階段,
43、設計人員運用DBMS提供的數(shù)據語言及其宿主語言,根據邏輯設計和物理設計的結果建立數(shù)據庫,編制與調試應用程序,組織數(shù)據入庫,并進行試運行。6.運行和維護階段 數(shù)據庫應用系統(tǒng)經過試運行后即可投入正式運行。在其運行過程中必須不斷對其進行評價、調整與修改。. 數(shù)據庫設計的步驟如圖所示需求分析需求分析概念設計概念設計邏輯設計邏輯設計物理設計物理設計系統(tǒng)實施系統(tǒng)實施運行與維護運行與維護需求說明需求說明信息結構信息結構邏輯結構邏輯結構物理數(shù)據庫結構物理數(shù)據庫結構數(shù)據庫實施數(shù)據庫實施總體信息需求總體信息需求處理需求處理需求.6.4.2 6.4.2 數(shù)據庫設計的需求分析數(shù)據庫設計的需求分析 分析和表達用戶的需求
44、,通常采用結構化分析方法,這種方法用自頂向下,逐層分解的方式分析系統(tǒng)。并用數(shù)據流圖和數(shù)據字典描述系統(tǒng)。.6.4.3 6.4.3 數(shù)據庫的概念結構設計數(shù)據庫的概念結構設計1.概念結構設計的目的 概念結構設計階段的目標是通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型。 概念結構的設計方法有兩種:.(1)集中式模式設計法:根據需求由一個統(tǒng)一機構或人員設計一個綜合的全局模式。該方法簡單方便,適用于小型或不復雜的系統(tǒng)設計。(2)視圖集成設計法:這種方法是將一個系統(tǒng)分解成若干個子系統(tǒng),首先對每一個子系統(tǒng)進行模式設計,建立各個局部視圖,然后將這些局部視圖進行集成,最終形成整個系統(tǒng)的
45、全局模式。.2.概念結構設計的過程 數(shù)據庫概念結構設計是使用E-R模型和視圖集成設計法進行設計的。它的設計過程是:首先設計局部應用,再進行局部視圖(局部E-R圖)設計,然后進行視圖集成得到概念模型(全局E-R圖)。. 視圖設計一般有三種方法:(1)自頂向下。這種方法是從總體概念結構開始逐層細化。如教師這個視圖可以從一般教師開始,分解成高級教師、普通教師等。進一步再由高級教師細化為青年高級教師與中年高級教師等。(2)自底向上。這種方法是從具體的對象逐層抽象,最后形成總體概念結構。(3)由內向外。這種方法是從核心的對象著手,然后向四周逐步擴充,直到最終形成總體概念結構。. 在視圖集成過程中最重要的
46、任務是解決各個E-R圖設計中的沖突。常見的沖突有以下幾類:(1)命名沖突。命名沖突有同名異義和同義異名兩種。如教師屬性何時參加工作與參加工作時間屬于同義異名。(2)概念沖突。同一概念在一處為實體而在另一處為屬性或聯(lián)系。(3)域沖突。相同屬性在不同視圖中有不同的域。(4)約束沖突。不同的視圖可能有不同的約束。. 我們舉例說明數(shù)據庫的概念設計過程:設計學生管理系統(tǒng)。包括學生的學籍管理子系統(tǒng)和課程管理子系統(tǒng)兩個系統(tǒng)。(1)學籍管理子系統(tǒng)包括學生、宿舍、班級、教室、輔導員。這些實體之間的聯(lián)系有: 一個班級有若干學生,一個學生只能屬于一個班;一個宿舍可以住多個學生,一個學生只能住在一個宿舍中;一個輔導員
47、帶若干個學生,一個學生只屬于一個輔導員。一個輔導員帶多個班級;一個班級在多個教室上課,一個教室有多個班級來上課。.(2)課程管理子系統(tǒng)包括學生、課程、教師、教室、教科書。這些實體之間的聯(lián)系有: 一個學生選修多門課程,一門課程有若干學生選修;一個學生有多個教師授課,一個教師教授若干學生;一門課程由若干個教師講授,一個教室只講一門課程;一個教室開設多門課,一門課只能在一個教室上。. 針對兩個子系統(tǒng)分別設計出它們的E-R圖。在E-R圖中省去屬性。學籍管理子系統(tǒng)的E-R圖如圖所示。 輔導員輔導員班級班級教室教室學生學生宿舍宿舍組成組成指導指導管理管理上課上課住宿住宿1n11nn1nmn.對應各個實體的
48、屬性分別為: 學生學號,姓名,性別,出生日期,系別,何時入校,平均成績 班級班級號,學生人數(shù) 輔導員職工號,姓名,性別,工作時間 宿舍宿舍編號,地址,人數(shù) 教室教室編號,地址,容量 其中有下劃線的屬性為實體的碼。. 課程管理子系統(tǒng)的E-R圖如圖所示。學生學生教師教師課程課程教科書教科書教室教室教教學學講講授授選選修修開開設設m111mnnnn.對應各個實體的屬性分別為: 學生學號,姓名,性別,年齡,入學時間 課程課程號,課程名,學分 教科書書號,書名,作者,出版日期,關鍵字 教室教室編號,地址,容量 教師職工號,姓名,性別,職稱 其中有下劃線的屬性為實體的碼。.下面將學籍管理子系統(tǒng)E-R圖和課
49、程管理子系統(tǒng)E-R圖集成學生管理系統(tǒng)E-R圖。集成過程如下:(1)消除沖突。這兩個子E-R圖存在著多方面的沖突: 輔導員屬于教師,學籍管理中的輔導員與課程管理中的教師可以統(tǒng)一為教師。 將輔導員改為教師后,教師與學生之間有兩種不同的聯(lián)系:指導聯(lián)系和教學聯(lián)系,將兩種聯(lián)系綜合為教學聯(lián)系。 調整學生屬性組成,調解結果為:學生學號,姓名,出生日期,年齡,系別,平均成績.(2)消除冗余。 學生實體的屬性中的年齡可由初涉概念日期計算出來,屬于數(shù)據冗余。調整為:學生學號,姓名,出生日期,系別,平均成績 教室實體與班級實體之間的上課聯(lián)系可以由教室與課程之間的開設聯(lián)系、課程與學生之間的選修聯(lián)系、學生與班級之間的組成聯(lián)系三者推導出來,因此屬于數(shù)據冗余,可以消去。 學
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學年Unit 2 There are tall trees now.教案配套
- 電氣工程師資格證書考試理論與實踐結合探討試題及答案
- 2024年紡織機械安全操作的最佳實踐探討試題及答案
- 2025年中國外置揚聲器市場調查研究報告
- 2025年中國復合濾料過濾器市場調查研究報告
- 2025年中國塑膠絲數(shù)據監(jiān)測報告
- 2024年質量工程師復習模式探索試題及答案
- 初中生物北京版八年級上冊第一節(jié) 人的生殖和發(fā)育教案設計
- 一體化紡織生產方式的考試試題及答案
- 2025年中國絲綢旗袍數(shù)據監(jiān)測報告
- 2024-2024年上海市高考英語試題及答案
- IEC603645523電線電纜載流量行業(yè)資料國內外標準規(guī)范
- PCR培訓理論練習題庫(試題及答案)
- 最新安全生產管理教材電子版
- 工程項目內部控制流程圖表
- 強夯試夯報告(共12頁)
- 骨優(yōu)導介紹PPT
- 國標鐵路機車牽引電機懸掛抱軸瓦油
- 畢業(yè)設計(論文)-四自由度工業(yè)機械手的設計
- 用Polyphen2和SIFT進行突變預測
- 考生體檢誠信承諾書 - fjnueducn
評論
0/150
提交評論