数据库原理课件_第1页
数据库原理课件_第2页
数据库原理课件_第3页
数据库原理课件_第4页
数据库原理课件_第5页
已阅读5页,还剩526页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024-2-11第一章緒論1本章內容提要概述資料庫的基本概念,闡述資料庫技術產生和發展的背景,說明了資料庫系統的優點。數據模型是資料庫系統的核心和基礎。本章介紹三種常用的數據模型。概念模型也稱資訊模型,用於資訊世界的建模,E-R模型是這類模型的典型代表,E-R方法簡單、清晰,應用十分廣泛。資料庫系統的三級模式和兩層映象系統結構。2024-2-11第一章緒論2本章重點:資料庫的基本概念;資料庫系統的特點;數據模型及其三要素;概念模型與E-R方法;資料庫系統的三級模式結構本章難點:資料庫系統的特點資料庫系統的三級模式結構2024年2月11日3第一章緒論今天需要掌握的內容:數據,資料庫,資料庫管理系統,資料庫系統的概念。檔系統和數據庫系統有什麼不同?什麼是數據結構化、數據的冗餘度、數據獨立性、數據的完整性?2024-2-111.1.1數據、資料庫、資料庫管理系統、資料庫系統一、數據(DATA)

数据:描述事物的符號記錄。

数据的语义:數據的含義。

數據和關於數據的解釋是不可分的。例:學生檔案(姓名、性別、出生年月、籍貫、所在系別、入學時間)張強男1982/01重慶電腦2001第一章緒論

1.1資料庫系統概述2024年2月11日5第一章緒論

1.1資料庫系統概述1.1.1數據、資料庫、資料庫管理系統、資料庫系統二、資料庫(DATABASE,簡稱DB)

数据库是長期存放在電腦內的、有組織的、可共用的數據的集合。資料庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗餘度、較高的數據獨立性和易擴展性、並可為各用戶共用。2024-2-111.1.1數據、資料庫、資料庫管理系統、資料庫系統三、資料庫管理系統(DATABASEMANAGEMENTSYSTEM,簡稱DBMS)

数据库管理系统是位於用戶和操作系統之間的一層管理軟體。它為用戶和應用程式提供訪問資料庫(DB)的方法。

資料庫管理系統應有的功能:

1、數據定義功能

(數據定義語言DataDefinitionLanguageDDL)

2、数据操纵功能

(數據操縱語言DataManipulationLanguageDML)

3、

数据库运行管理

4、

資料庫的建立和運行管理

第一章緒論

1.1資料庫系統概述2024-2-111.1.1數據、資料庫、資料庫管理系統、資料庫系統

四、資料庫系統(DATABASESYSTEM,簡稱DBS)

資料庫系統是指在電腦系統中引入資料庫後的系統。

資料庫系統的組成:

数据库(DB)、

資料庫管理系統(及其開發工具)(DBMS)

应用系统、

人員(資料庫管理員DBA和用戶)

第一章緒論

1.1資料庫系統概述2024年2月11日8第一章緒論

1.1資料庫系統概述

1.1.1數據、資料庫、資料庫管理系統、資料庫系統

資料庫系統的構成相互有關聯關係的數據的集合DBDBMS管理資料庫的系統軟體完成某一功能的應用程式1應用程式2應用程式nDBAP1DBAP2DBAPnComputerSystemDBA2024年2月11日9第一章緒論

1.1資料庫系統概述

1.1.1數據、資料庫、資料庫管理系統、資料庫系統資料庫系統示意圖

2024年2月11日10第一章緒論

1.1資料庫系統概述

1.1.1數據、資料庫、資料庫管理系統、資料庫系統硬體操作系統DBMS應工發開用具應用系統資料庫系統在電腦系統中的地位2024-2-111.1.2數據管理技術的產生和發展

資料庫技術是應數據管理任務的需要而產生的。

數據處理------是指對各種數據進行收集、存儲、加工和傳播的一系列活動的總和。

數據管理------是對數據的分類、組織、編碼、儲存、檢索和維護。是數據處理的中心問題。數據管理隨著電腦硬體和軟體的發展而不斷發展。第一章緒論

1.1資料庫系統概述2024-2-111.1.2數據管理技術的產生和發展數據管理技術經歷了三個階段:

人工管理階段(20世紀50年代中期以前)檔系統階段(20世紀50年代後期到60年代中期)資料庫系統階段(20世紀60年代後期以來)第一章緒論

1.1資料庫系統概述2024-2-111.1.2數據管理技術的產生和發展一、

人工管理階段特點:(1)數據不保存

(2)應用程式管理數據(3)數據不共用--數據是面向應用的,有大量冗餘數據

(4)數據不具獨立性第一章緒論

1.1資料庫系統概述2024年2月11日14第一章緒論

1.1資料庫系統概述訪問訪問訪問數據1數據2數據n程式1程式2程式n人工管理階段2024年2月11日15第一章緒論

1.1資料庫系統概述

1.1.2數據管理技術的產生和發展二、檔系統階段特點:(1)數據可以長期保存(2)由檔系統管理數據(3)數據共用性差,冗餘度大—檔是面向應用的(4)數據獨立性差—是不具有彈性的無結構的數據集合,檔之間是孤立的,不能反映事物間聯繫。2024年2月11日16第一章緒論

1.1資料庫系統概數據1數據2數據n存取方式程式1程式2程式n檔系統階段2024年2月11日17第一章緒論

1.1資料庫系統概

三、資料庫系統階段數據1統一存取數據2數據n程式2程式1程式n資料庫系統階段2024年2月11日18第一章緒論

1.1資料庫系統概述1.1.2數據管理技術的產生和發展三者在以下特點的比較數據結構化數據共用度數據獨立性數據管理者人工管理階段無結構無共用、冗餘度極大不獨立,完全依賴於程式用戶(程式員)檔系統階段記錄內有結構、整體無結構共用性差,冗餘度大獨立性差檔系統資料庫系統階段整體結構化共用性高,冗餘度小數據獨立性高資料庫管理系統2024-2-111.1.3資料庫系統的特點一、

數據結構化數據是面向全組織的。

整體數據結構化是資料庫與檔系統的根本區別二、

數據的共用性高,冗餘度低,易擴充三、

數據的獨立性高(數據的物理獨立性和邏輯獨立性)四、

數據由DBMS統一管理和控制

DBMS提供以下幾個方面的數據控制功能:(1)

數據的安全性(Security)保護(2)

數據的完整性(Integrity)檢查(3)

併發(Concurrency)控制(4)資料庫恢復(Recovery)

第一章緒論

1.1資料庫系統概述2024年2月11日20第一章緒論

1.1資料庫系統概述學號姓名性別系別年齡家庭出身籍貫政治面貌日期地點學歷名課程號學號學分日期獎懲條目姓名與本人關係詳細情況課程號課程

學生基本記錄學生人事記錄學生學籍記錄學生選課記錄獎懲情況記錄家庭成員記錄課程記錄學生數據的組織2024年2月11日21第一章緒論今天需要掌握的內容:實體間聯繫的種類?數據模型的三要素概念模型及E-R表示方法2024年2月11日22第一章緒論

1.2數據模型模型:是現實世界特徵的模擬和抽象。數據模型(DataModel):是一種模型,它是現實世界數據特徵的抽象。數據模型的作用: 在資料庫中用這個工具來抽象、表示和處理現實世界中的數據和資訊。

數據模型是現實世界的模擬。2024年2月11日23第一章緒論

1.2數據模型數據模型應滿足的要求:

一是能較真實地模擬現實世界;二是容易為人理解;三是便於在電腦上實現。

兩類(兩層)模型:

概念模型(資訊模型):是按用戶的觀點對數據和資訊建模,主要用於資料庫設計。數據模型:是按電腦的觀點對數據建模,主要用於DBMS的實現。

2024年2月11日24第一章緒論

1.2數據模型資訊世界電腦世界現實世界問題概念模型數據模型抽象轉換注意相應世界的術語現實世界中客觀對象的抽象過程2024年2月11日25第一章緒論

1.2數據模型1.2.1數據模型的組成要素一般講數據模型是嚴格的一組概念的集合。這些概念精確地描述了: 系統的靜態特徵 系統的動態特性 完整性約束條件

數據模型的組成要素:數據結構數據操作數據的完整性約束

2024年2月11日26第一章緒論

1.2數據模型1.2.1數據模型的組成要素一、數據結構 數據結構是所研究的對象類型的集合。這些對象是資料庫的組成部分,一般可分為兩類: 與數據類型、內容、性質有關的對象; 與數據之間聯繫有關的對象。

數據結構是對系統靜態特性的描述。在資料庫系統中通常按照數據結構的類型來命名數據模型。2024年2月11日27第一章緒論

1.2數據模型二、數據操作數據操作是對數據庫中各種對象的實例允許的操作的集合,包括操作及有關的操作規則。

資料庫主要有檢索和更新(包括插入、修改刪除)兩大類操作。

數據操作是對系統動態性特性的描述。2024年2月11日28第一章緒論

1.2數據模型三、數據的約束條件數據的約束條件是一組完整性規則的集合。

l

完整性規則是給定的數據模型及其聯繫所具有的制約和依存法則,用以限定符合數據模型的資料庫狀態及狀態的變化,以確保數據的正確、有效、相容。

l

數據模型應該反映和規定本數據模型必須遵守的基本的通用的完整性約束條件。(通用) l

數據模型還應該提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。

(專用)2024年2月11日29第一章緒論

1.2數據模型1.2.2概念模型

概念模型用於資訊世界的建模,是現實世界的第一層抽象。

一、

資訊世界的基本概念(1)

實體(Entity)客觀存在的並可區別的事物稱為實體。(2)

屬性(Attribute)實體具有的某一特性稱為屬性。

(3)碼(Key)唯一標識實體的屬性集稱為碼。

(4)

域(Domain)

屬性的取值範圍稱為該屬性的域。

2024年2月11日30第一章緒論

1.2數據模型1.2.2概念模型(5)實體型(EntityType) 具有相同屬性的實體具有的共同的特徵和性質。即:用實體名及其屬性名集合來抽象和刻畫同類實體如:學生(學號、姓名、性別、出生年月、系、入學時間)(6)實體集(EntitySet)同型實體的集合稱為實體集。如全體學生即一個實體集。

注意區分:實體型屬性 實體值屬性值2024年2月11日31第一章緒論

1.2數據模型1.2.2概念模型(7)聯繫(Relationship)現實世界中事物內部以及事物之間的聯繫在資訊世界中反映為實體(型)內部的聯繫和實體(型)之間的聯繫實體內部的聯繫通常指組成實體的各屬性之間的聯繫。實體之間的聯繫通常是指不同實體集之間的聯繫。2024年2月11日32第一章緒論

1.2數據模型1.2.2概念模型兩實體之間的聯繫分為三類:1)

一對一聯繫(1:1)2)

一對多聯繫(1:N)3)

多對多聯繫(M:N)2024年2月11日33第一章緒論

1.2數據模型

實際上,一對一聯繫是一對多聯繫的特例,而一對多聯繫又是多對多聯繫的特例。一對一

一對多多對多三種聯繫的關係2024年2月11日34第一章緒論

1.2數據模型1.2.2概念模型兩個以上的實體之間也存在三類聯繫:1)

一對一聯繫(1:1)2)

一對多聯繫(1:N)3)

多對多聯繫(M:N)講授課程教員參考書1mn三個實體型之間的聯繫2024年2月11日35第一章緒論

1.2數據模型供應供應商專案零件mnp供應商專案零件nmmmnn

三個實體型之間多對多的聯繫和三個實體型兩兩之間的多對多的語義不同2024年2月11日36第一章緒論

1.2數據模型1.2.2概念模型同一個實體集內的各實體之間之間也存在三類聯繫:1)

一對一聯繫(1:1)2)

一對多聯繫(1:N)3)

多對多聯繫(M:N)職工領導1N2024年2月11日37第一章緒論

1.2數據模型1.2.2概念模型二、

概念模型的表示方法概念模型的表示方法中最著名也是最常用的是實體-聯繫方法(Entity–RelationshipApproach簡稱E-R圖法)

E-R圖的繪製:(1)

實體型:用矩形表示,矩形框內寫明實體名(2)

屬性:用橢圓形表示,並用無向邊將其與相應的實體聯接起來(3)聯繫:用菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體聯接起來,同時在並無向邊旁標上聯系的類型(1:1,1:N,M:N)特別注意:如果一個聯繫具有屬性,則這些屬性也要用無向邊與該聯繫連接起來。

2024年2月11日38例:某個工廠物資管理E-R圖

(P19)供應供應商供應商號姓名電話號地址帳號倉庫倉庫號面積電話號職工職工號姓名年齡職稱庫存量m零件零件號規格描述名稱單價庫存領導供應量項目開工日期預算專案號工作1n1mnnnp2024年2月11日391.2.3最常用的數據模型按數據結構的類型來命名數據模型.常用的有四種:l

層次模型(HierarchicalModel)l

網狀模型(NetworkModel)l

關係模型(RelationalModel)l

面向對象型模型(ObjectOrientedModel)

第一章緒論

1.2數據模型非關係模型2024年2月11日40在非關係模型中,實體用記錄表示,實體的屬性對應記錄的資料項目(或字段)。實體之間的聯繫在非關係模型中轉換成記錄之間的兩兩聯繫。

非關係模型中數據結構的單位是基本層次聯繫。所謂基本層次聯繫是指兩個記錄以及它們之間一對多(包括一對一)的聯繫。聯繫的起點叫做雙親節點(Parent),聯繫的終點叫做子女節點(Child)。

第一章緒論

1.2數據模型RiRjLij雙親節點子女節點一對多(包括一對一)的聯繫名2024年2月11日41第一章緒論

1.2數據模型1.2.4層次模型層次模型是用樹形結構來表示各類實體以及實體間的聯繫。一、層次數據模型的數據結構

在資料庫中定義滿足以下兩個條件的基本層次聯繫的集合稱為層次模型。(1)

有且只有一個節點沒有雙親節點,這個節點稱為根節點;(2)

根以外的其他節點有且只有一個雙親節點。2024年2月11日42第一章緒論

1.2數據模型在層次模型中,同一雙親的子女結點稱為兄弟結點,沒有子女結點的結點稱為葉結點。圖中工廠結點為根結點,分廠、處、研究所為兄弟結點,是工廠結點的子女結點,班組、科、室均為葉結點。層次模型象一棵倒立的樹,樹中實體間的聯繫是單向的,由父結點指向子結點,且一對父子之間只有一種聯繫,且是父對子的一對多聯繫。工廠處研究所分廠科室車間班組層次模型示例2024年2月11日43第一章緒論

1.2數據模型在層次模型中,每個結點表示一個記錄類型,記錄(類型)之間的聯繫用結點之間的連線(有向邊)表示,這種聯繫是父子間的一對多類型。因此,層次模型使得層次資料庫系統只能處理一對多的實體聯繫。每個記錄類型可包含若干個字段,記錄類型描述的是實體,而字段描述的是實體的屬性。層次模型的基本特點:任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義,沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。2024年2月11日44第一章緒論

1.2數據模型二、多對多聯繫在層次模型中的表示l

用層次模型表示多對多聯繫,必須先將其分解成一對多的聯繫。l

分解方法有兩種:

冗餘節點法:

優點:結構清晰,允許結點改變存儲位置.

缺點:需額外佔用存儲空間,有潛在的不一致性.

虛擬節點法:

優點:減少對存儲空間的浪費,避免產生潛在的數據不一致性.

缺點:結點改變存儲位置,可能引起虛擬結點中指針的修改.2024年2月11日45第一章緒論

1.2數據模型用層次模型表示多對多聯繫V.C學號姓名成績課程號課程名V.SCSCS(c)虛擬節點法學生S學號姓名成績S-C課程號課程名課程Cmn(a)多對多聯繫學號姓名成績課程號課程名CS學號姓名成績課程號課程名SC(b)冗餘節點法2024年2月11日46第一章緒論

1.2數據模型二、層次模型的數據操縱與完整性約束l

層次模型的數據操縱主要有查詢、插入、刪除和修改。l

在進行數據操縱時,要滿足層次模型的完整性約束條件。(1)插入節點時,必須知道該節點的父節點(根節點除外);(2)刪除節點時,則相應的子女節點也將刪除;(3)修改節點時,應修改所有相應記錄以保證數據的一致性;2024年2月11日47第一章緒論

1.2數據模型三、層次數據模型的存儲結構l

層次資料庫中不僅要存儲數據本身,還要存儲數據之間的層次聯繫。其方法有:

1、鄰接法:按照層次樹前序穿越的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來體現(或隱含)層次順序。

2、鏈接法:用指引元來反映數據之間的層次聯繫。

2024年2月11日48第一章緒論

1.2數據模型四、層次模型的優缺點優點:1、層次數據模型本身比較簡單;記錄間的聯繫通過指針,實現容易,查詢效率高。2、對於實體聯繫是固定的,且預先定義好的應用系統,採用層次模型來實現,其性能優於關係模型,不低於網狀模型。3、層次數據模型提供了良好的完整性支持。缺點:1、在處理非層次聯繫的事物時顯得很笨拙;2、對插入和刪除操作的限制比較多;3、查詢子女節點必須通過雙親節點;4、由於結構嚴密,層次命令趨於程式化。

2024年2月11日49第一章緒論

1.2數據模型1.2.5網狀模型

網狀模型是用叢結構來表示各類實體以及實體間的聯繫。一、網狀數據模型的數據結構

在資料庫中,滿足以下兩個條件的基本層次聯繫集合稱為網狀模型:(1)

允許一個以上的節點無雙親;(2)

一個節點可以有多於一個的雙親。2024年2月11日50第一章緒論

1.2數據模型例:多對多的網狀數據模型學號姓名系別學號課程號成績課程課程號課程名學分學生

學生/選課/課程的網狀資料庫模式選課S-SCC-SC2024年2月11日51第一章緒論

1.2數據模型二、網狀數據模型的操縱與完整性約束網狀數據模型沒有層次模型那樣嚴格的完整性約束條件。三、網狀數據模型的存儲結構網狀數據模型的存儲結構關鍵在於如何實現記錄之間的聯繫。常用方法:單向鏈接、雙向鏈接、環狀鏈接、向首鏈接等。

2024年2月11日52第一章緒論

1.2數據模型四、網狀數據模型的優缺點優點:1、可以更直接地描述現實世界;2、具有良好的性能,存取效率高。缺點:1、結構比較複雜,特別是當環境變大時,資料庫的結構會變得越來越複雜,不利於最終用戶掌握。2、其DDL、DML語言複雜,用戶不容易掌握注:DDL(DataDefinitionLanguage)DML(DataManipulationLanguage)3、記錄之間的聯繫是通過存取路徑實現的,應用程式在訪問數據時必須選擇適當的存取路徑,這樣用戶必須瞭解系統結構的細節,加重了編寫應用程式的負擔。2024年2月11日53第一章緒論

1.2數據模型1.2.6關係模型關係模型是目前最重要的一種數據模型。關係模型是用關係(二維表)結構來表示各類實體以及實體間的聯繫。一、關係數據模型的數據結構關係模型的常用術語:l

關係(Relation):一個關係通常對應一張表;l

元組(Tuple):表中的一行即為一個元組;l

屬性(Attribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名;

2024年2月11日54第一章緒論

1.2數據模型1.2.6關係模型l

主碼(Key):表中的某個屬性組,它可以唯一確定一個元組;l

域(Domain):屬性的取值範圍;l

分量:元組中的一個屬性值;l

關係模式:對關係的描述,一般表示為:

關係名(屬性1,屬性2,……屬性n)注意:關係模型要求關係必須是規範化的,最基本的一條就是關係的每一個分量必須是一個不可再分的資料項目,即不允許表中有表。

2024年2月11日55第一章緒論

1.2數據模型學號姓名年齡性別系名年級95004王小明19女社會學9595006黃小明20男心理學9595008張小明18女法律學95………………元組關係屬性列分量

主碼

關係模式:學生(學號,姓名,年齡,性別,系,年級)2024年2月11日56第一章緒論

1.2數據模型二、關係數據模型的操縱與完整性約束l

關係數據模型的操作主要有:查詢、插入、刪除和修改數據。l

關係的完整性約束包括三大類:實體完整性、參照完整性、用戶定義完整性。三、關係數據模型的存儲結構l

在關係數據模型中,實體及實體間的聯繫都用表來表示。2024年2月11日57第一章緒論

1.2數據模型四、關係數據模型的優缺點優點:1、

建立在嚴格的數學概念基礎上;2、概念單一,其數據結構簡單、清晰,用戶易懂易用;3、存取路徑對用戶透明,具有更高的數據獨立性、更好的安全保密性,簡化了程式員的工作和數據庫開發建立的工作。缺點:由於存取路徑對用戶透明,查詢效率往往不如非關係數據模型。

2024年2月11日58第一章緒論

1.2數據模型今天要掌握的內容

資料庫系統的三層模式結構2024年2月11日59第一章緒論

1.3資料庫系統結構

從資料庫管理系統看,常常採用三級模式結構,這是資料庫管理系統內部的系統結構;從資料庫最終用戶看,資料庫系統的結構分為集中式結構(包括單用戶結構、主從式結構)、分佈式結構、客戶/伺服器結構和併發結構。這是資料庫系統外部的體系結構。

2024年2月11日60第一章緒論

1.3資料庫系統結構1.3.2資料庫系統的體系結構單用戶數據庫系統:特點:資料庫系統裝在一臺機上,由一個用戶獨佔,不同機間不能共用數據,數據大量冗餘。

2024年2月11日61第一章緒論

1.3資料庫系統結構主從式結構的資料庫系統:一個主機多個終端,事務由主機完成,終端共用數據。優點:結構簡單,數據易於管理和維護。缺點:當終端用戶數目增加到一定程度後,主機的任務會過於繁重,使性能大大下降,系統的可靠性不高。2024年2月11日62第一章緒論

1.3資料庫系統結構分佈式結構的資料庫系統

分佈式結構的資料庫系統是指數據庫中的數據在邏輯上是一個整體,但物理地分佈在電腦網絡的不同接點上。優點:適應了地理上分散的公司、團體和組織對數據庫應用的需求缺點:數據的分散存放,給數據的處理、管理與維護帶來困難。進行遠程訪問時,系統效率明顯會受到網路交通的限制。

2024年2月11日63第一章緒論

1.3資料庫系統結構客戶/伺服器結構的資料庫系統客戶/伺服器結構的資料庫系統可分為集中的伺服器結構和分佈的伺服器結構。集中的伺服器結構分佈的伺服器結構

優點:減少了網路的數據傳輸量,提高了系統的性能、吞吐量和負載能力;更開放、可移植性高。

2024年2月11日64第一章緒論

1.3資料庫系統結構1.3.1資料庫系統模式的概念l

數據模型中有“型”和“值”的概念。型是指對某一類數據的結構和屬性的說明;值是型的一個具體賦值。例如:(學號,姓名,性別,系別,年齡,籍貫)——型(900201,李明,男,電腦,22,江蘇)——值2024年2月11日65第一章緒論

1.3資料庫系統結構1.3.1資料庫系統模式的概念模式(Schema)是資料庫中全體數據的邏輯結構和特徵的描述,它僅僅涉及到型的描述,不涉及具體的值。模式的一個具體值稱為模式的一個實例(Instance)。同一模式可以有很多實例。模式是相對穩定的,而實例是相對變動的。模式反映的是數據的結構及其聯繫,而實例反映的是資料庫某一時刻的狀態。

2024年2月11日66第一章緒論

1.3資料庫系統結構1.3.2資料庫系統的三級模式結構資料庫系統的三級模式結構是指數據庫系統是由外模式、模式和內模式三級構成。如圖所示:資料庫模式內模式應用A應用B外模式1應用C外模式2應用D應用E外模式3外模式/模式映象內模式/模式映象

資料庫系統的三級模式結構2024年2月11日67第一章緒論

1.3資料庫系統結構一、模式(Schema)模式(邏輯模式),是資料庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。一個資料庫只有一個模式。定義模式時不僅要定義數據的邏輯結構,而且要定義數據之間的聯繫,定義與數據有關的安全性、完整性要求

2024年2月11日68第一章緒論

1.3資料庫系統結構二、外模式(ExternalSchema)外模式(子模式Subschema)或用戶模式,是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的表述,是資料庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。外模式通常是模式的子集,一個資料庫可以有多個外模式。外模式是保證資料庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數據,資料庫中的其餘數據是不可見的。

2024年2月11日69第一章緒論

1.3資料庫系統結構三、內模式(InternalSchema)內模式(存儲模式StorageSchema),是數據物理結構和存儲方式的描述,是數據在資料庫內部的表示方式。一個資料庫只有一個內模式。2024年2月11日70第一章緒論

1.3資料庫系統結構1.3.3資料庫的二級映象功能與數據獨立性

資料庫系統的三級模式是對數據的三個抽象級別,它把數據的具體組織留給DBMS管理,使用戶能邏輯地抽象地處理數據,而不必關心數據在電腦中的具體表示方式與存儲方式。資料庫管理系統在三級模式之間提供了兩層映象: 外模式/模式映象

模式/內模式映象兩層映象保證了資料庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性。

2024年2月11日71第一章緒論

1.3資料庫系統結構一、外模式/模式映象對應於同一個模式可以有多個外模式。對於每一個外模式,資料庫系統都有一個外模式/模式映象,它定義了該外模式與模式之間的對應關係。當模式改變時,由資料庫管理員對各個外模式/模式的映象作相應改變,可以使外模式保持不變。從而應用程式不必修改,保證了數據與程式的邏輯獨立性,簡稱數據的邏輯獨立性。

2024年2月11日72第一章緒論

1.3資料庫系統結構二、模式/內模式映象模式/內模式映象是唯一的,它定義了資料庫全局邏輯結構與存儲結構之間的對應關係。資料庫的存儲結構改變時,由資料庫管理員對各個模式/內模式的映象作相應改變,可以使模式保持不變。從而應用程式不必修改,保證了數據與程式的物理獨立性,簡稱數據的物理獨立性。

2024年2月11日73第一章緒論

1.3資料庫系統結構資料庫的三級模式結構中,資料庫模式即全局邏輯結構模式是資料庫的中心與關鍵,獨立於資料庫的其他層次。因此,設計資料庫模式結構時,首先確定邏輯模式。內模式依賴於邏輯結構模式,獨立於外模式,也獨立於具體的存儲形式。外模式面向具體的應用程式,定義在邏輯模式之上,獨立於內模式和存儲設備。特定的應用程式在外模式描述的數據結構上編制依賴於特定的外模式,獨立於模式和內模式。

2024年2月11日74第一章緒論

1.4資料庫系統的組成資料庫系統的組成部分有:

硬體平臺及資料庫 軟體

人員

2024年2月11日75第一章緒論

1.4資料庫系統的組成一、硬體平臺及資料庫(1)要有足夠大的記憶體,存放操作系統、DBMS的核心模組、數據緩衝區和應用程式。(2)

要有足夠大的硬碟等直接存取設備,存放資料庫、有足夠的磁片作數據備份;(3)系統有較高的通道能力,以提高數據傳送率。

2024年2月11日76第一章緒論

1.4資料庫系統的組成二、軟體(1)DBMS。DBMS是為數據庫的建立、使用和維護配置的軟體。(2)支持DBMS運行的操作系統。(3)具有與資料庫介面的高級語言及其編譯系統,便於開發應用程式。(4)以DBMS為核心的應用開發工具。(5)為特定應用環境開發的資料庫應用系統。

2024年2月11日77第一章緒論

1.4資料庫系統的組成三、人員

開發、管理和使用資料庫系統的人員主要有:資料庫管理員(DBA)、系統分析員、資料庫設計人員、應用程式員和最終用戶。用戶應用系統DBMSOS數據表示外模式模式內模式DBDBA,系統分析員圖1.30

各種人員的數據視圖應用程式員軟體系統層次數據抽象級別2024年2月11日78第一章緒論

1.5資料庫技術的研究領域有三方面:一、資料庫管理系統軟體的研製二、資料庫設計三、資料庫理論.本章重點:

關係模型及其基本概念;關係操作及關係的完整性;關係代數及關係代數運算式。

本章難點:關係資料庫系統與非關係資料庫系統的區別;關係的內涵與外延;關係代數中的運算(除)第二章關係資料庫關係資料庫系統是支持關係模型的資料庫系統。關係模型組成:

關係數據結構、 關係操作集合、關係完整性約束。第二章關係資料庫

2.1關係模型概述一、單一的數據結構——關係二、關係操作1.常用的關係操作包括:查詢操作:選擇、投影、連接、除交、並、差更新操作:增加、刪除、修改2.關係操作的特點 集合操作方式。即操作的對象和結果都是集合。3.關係數據語言關係代數語言如ISBL

關係演算語言如APLHAQBE

具有關係代數和關係演算雙重特點的語言SQL第二章關係資料庫

2.1關係模型概述三、關係的三類完整性實體完整性, 參照完整性, 用戶自定義完整性第二章關係資料庫

2.1關係模型概述通用專用2.2.1關係1.域(Domain)

定義2.1

域(Domain)是一組具有相同數據類型的值的集合。2.笛卡兒積(CartesianProduct)

定義2.2

給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡兒積(CartesianProduct)為:D1×D2×…×Dn={(d1,d2,…,dn)|di∈

Di,I=1,2,…,n,}其中每一個元素叫做一個n元組,或簡稱為元組。元素中每一個值di叫做一個分量。若Di(i=1,2,…,n)為有限集,其基數為mi(i=1,2,…,n),則D1×D2×…×Dn的基數M為M=m1×m2×…×mn第二章關係資料庫

2.2關係數據結構及形式化定義第二章關係資料庫

2.2關係數據結構及形式化定義例1:設D1={1,2,3}D2={A,B}D1×D2={(1,A),(1,B),(2,A),(2,B),(3,A),(3,B)}

基數為3×2=6

寫成二維表的形式為:

D1×D2=D1D21A1B2A2B3A3B123AB2.2.1關係3.關係(Relation)定義2.3D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的關係,用R(D1,D2,…Dn)表示。這裏R表示關係的名字。n是關係的目或度。關係中的每個元素是關係中的元組,通常用

t表示當n=1時,稱為單元關係。當n=2時,稱為二元關係。關係是一個二維表,表的每行對應一個元組,表的每列對應一個域。由於域可以相同,為了加以區分,對每列起一個名字,稱為屬性。n目關係必有n個屬性。第二章關係資料庫

2.2關係數據結構及形式化定義

若關係中的某一屬性組的值能唯一地標識一個元組,則稱該屬為候選碼(Candidatekey)。若一個關係有多個候選碼,則選定其中一個為主碼(Primarykey)。主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何候選碼中的屬性稱為非主屬性(Non-key

attribute)在資料庫中我們要求關係的每一個分量必須是不可分的資料項目。並把這樣的關係稱為規範化的關係,簡稱為範式。關係可以有三種類型:基本關係(又稱為基本表或基表。它是實際存在的表)查詢表(是查詢結果對應的表)視圖表(是由基本表和其他視圖表導出的表,是虛表,不對應實際存儲的數據)第二章關係資料庫

2.2關係數據結構及形式化定義對關係的限定和擴充:(1)無限關係在資料庫系統中是無意義的。限定關係數據模型中的關係必須是有限集合。(2)通過為關係的每個列附加一個屬性名的方法取消元組的有序性。即(d1,d2,…di,dj,…dn)=(d1,d2,…dj,di,…dn)第二章關係資料庫

2.2關係數據結構及形式化定義基本關係有以下性質:1.

列是同質的,即每一列中的分量是同一類型的數據,來自同一域。2.

不同的列可出自同一域,每一列稱為屬性,要給予不同的屬性名。3.

列的順序無所謂,即列的次序可以任意交換。4.

任意兩個元組不能全同。5.

行的順序無所謂,即行的次序可以任意交換。6.分量必須取原子值,

每一分量必須是不可分的資料項目。第二章關係資料庫

2.2關係數據結構及形式化定義第二章關係資料庫

2.2關係數據結構及形式化定義2.2.2關係模式關係資料庫中,關係模式是型,關係是值。關係是元組的集合。因此關係模式必須指出這個元組集合的結構,即它由哪些屬性構成,這些屬性來自哪些域,以及屬性與域之間的映象關係。定義2.4關係的描述稱為關係模式(RelationSchema)。它可以形式化地表示為:

R(U,D,dom,F)其中:R為關係名;

U為組成該關係的屬性名集合;

D為屬性組U中屬性所來自的域;

dom為屬性向域的映象集合;

F為屬性間數據的依賴關係集合。第二章關係資料庫

2.2關係數據結構及形式化定義關係是關係模式在某一時刻的狀態或內容。關係模式是靜態的、穩定的。關係是動態的、隨時間不斷變化的。在實際中,常常把關系模式和關係統稱為關係,可以從上下文中加以區別。第二章關係資料庫

2.2關係數據結構及形式化定義2.2.3關係資料庫關係資料庫:在一個給定的應用領域中,所有實體及實體之間聯繫的關係的集合構成一個關係資料庫。關係資料庫有型和值之分。關係資料庫的型:也稱為關係資料庫模式,包括若干域的定義以及在這些域上定義的若干關係模式。關係資料庫的值:是這些關係模式在某一時刻對應的關係的集合,通常稱為關係資料庫。第二章關係資料庫

2.3關係的完整性關係模型的完整性規則是對關係的某種約束條件。關係模型有三類完整性約束:實體完整性、參照完整性、用戶定義的完整性。其中實體完整性和參照完整性是關係模型必須滿足的完整性約束條件,被稱作是關係的兩個不變性。

第二章關係資料庫

2.3關係的完整性一、實體完整性(EntityIntegrity)規則2.1

實體完整性規則設屬性A是基本關係R的主屬性,則屬性A不能取空值。對實體完整性規則的說明:1.

實體完整性規則是針對基本關係而言的。一個基本關係通常對應現實世界的一個實體集。2.

現實世界的實體是可區分的,即他們具有某種唯一性標識。3.

關係中由主碼作為唯一性標識。主屬性不能取空值。空值是“不知道”或“無意義”的值。例2:學生(學號,姓名,出生日期,班級,所屬系,專業號)學生選課(學號,課程號,成績)第二章關係資料庫

2.3關係的完整性二、參照完整性(ReferentialIntegrity)

定義2.5設F是基本關係R的一個或一組屬性,但不是關係R的碼,如果F與基本關係S的主碼KS相對應,則稱F是基本關係R的外碼(ForeignKey),並稱基本關係R為參照關係,基本關係S為被參照關係或目標關係。關係R和S不一定是不同的關係。

目標關係S的主碼KS和參照關係的外碼F必須定義在同一個(或一組)域上。參照完整性規則是定義外碼與主碼之間的引用規則。規則2.2

參照完整性規則若屬性(或屬性組)F是基本關係R的外碼,它與基本關係S的主碼KS相對應(基本關係R和S不一定是不同的關係),則對於R中每一個元組在F上的值必須為:(1)或者取空值(2)或者等於S中某個元組的主碼值。第二章關係資料庫

2.3關係的完整性例3:學生R(學號,姓名,出生日期,班級,所屬系,專業號)專業S(專業號,專業名)被參照關係或目標關係例4:學生(學號,姓名,出生日期,班級,所屬系,專業號)課程(課程號,課程名,學分)選修(學號,課程號,成績)例5:學生2(學號,姓名,出生日期,班級,所屬系,班長)第二章關係資料庫

2.3關係的完整性三、用戶定義的完整性(User-definedIntegrity)

用戶定義的完整性是針對某一具體關係資料庫的約束條件。它反映某一具體應用所涉及的數據必須滿足的語義要求。第二章關係資料庫

2.4關係代數關係代數是一種抽象的查詢語言,是關係數據操縱的一種傳統表達方式。關係代數是用對關係的運算來表達查詢的。運算的三要素:運算對象、運算符、運算結果關係代數的運算對象:關係關係代數的運算結果:關係關係代數的運算符:集合運算符專門的關係運算符算術比較符邏輯運算符關係代數運算按運算符分類:傳統的集合運算專門的關係運算第二章關係資料庫

2.4關係代數集合運算符∪-∩並差交專門的關係運算符σ∏∞÷×選擇投影連接除廣義笛卡耳積算術比較符>≥<≤=≠邏輯運算符∧∨非與或第二章關係資料庫

2.4關係代數2.4.1傳統的集合運算定義2.6

關係相容設關係R和關係S具有相同的目n,且相應的屬性取自同一個域,則稱關係R和關係S是關係相容的。設關係R和關係S是關係相容的,則可以定義以下基本操作:

1.

並(Union)

關係R和關係S的並記為:R∪S={t|t∈R∨t∈S}

其結果仍為n目關係。由屬於R或屬於S的元組組成。

2.差

(Difference)

關係R和關係S的差記為:R-S={t|t∈R∧t

S}

其結果仍為n目關係。由屬於R而不屬於S的元組組成。

3.交

(Intersection)

關係R和關係S的交記為:R∩S={t|t∈R∧t∈S}

其結果仍為n目關係。由既屬於R又屬於S的元組組成。關係的交可由關係的差表示,即R∩S=R-(R-S)第二章關係資料庫

2.4關係代數2.4.1傳統的集合運算

4.

廣義笛卡爾積兩個分別為n目和m目的關係R和關係S的廣義笛卡爾積是一個元組(n+m)列的元組的集合。元組的前n列是R的一個元組,後m列是關係是的一個元組。如R有k1個元組,S有k2個元組,則關係R和關係S的廣義笛卡爾積有k1×k2個元組。記作:

R×S={trts|tr∈R∧ts∈S}第二章關係資料庫

2.4關係代數2.4.1傳統的集合運算傳統的集合運算是二目運算,包括並、交、差、廣義笛卡爾集運算。它將關係看成元組的集合,其運算是從關係的“水準”方向,即行的角度來進行的。RSRSRSR×SRSR∩SR-SR∪S第二章關係資料庫

2.4關係代數2.4.2專門的關係運算專門的關係運算包括選擇、投影、連接和除等。幾個記號。1.

設關係模式為R(A1,A2,…AN),它的一個關係設為R。t∈R表示t是R的一個元組,t[Ai]則表示元組t中相應於屬性Ai的一個分量。2.若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…AN中的一部分,則A稱為屬性列或域列。則t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。Ã則表示{A1,A2,…AN}中去掉{Ai1,Ai2,…,Aik}後剩下的屬性組。3.R為

n目的關係,S為m目關係。tr∈R,ts∈S,trts

稱為元組的連串。它是一個n+m列的元組,前n個分量為R中的一個n元組,後m個分量為S中的一個m元組。第二章關係資料庫

2.4關係代數2.4.2專門的關係運算幾個記號。4.給定一個關係R(X,Z),X和Z為屬性組,定義,當t[X]=x時,x在R中的象集為:Zx={t[Z]|t∈R,t[X]=x},表示R中屬性組X上的值為x的諸元組在Z上分量的集合。例6:設有關係R(學號,姓名,性別)學號姓名性別0001張萍女0002王飛男0003李強男記:X為學號

Z為姓名,性別當t[X]=x=‘0001’時Zx=t[Z]={‘張萍’,‘女’}第二章關係資料庫

2.4關係代數2.4.2專門的關係運算1.選擇(Selection)

選擇又稱為限制。它是在關係R中選擇滿足給定條件的諸元組,記作:σF(R)={t|t∈R∧F(t)=‘真’}

其中F表示選擇條件,它是一個邏輯運算式,取邏輯值“真”或“假”。

F由邏輯運算符

、∧、∨連接各算術運算式組成。算術運算式的基本形式為:X1θY1。其中θ表示比較運算符,X1,Y1等是屬性名,或為常量,或為簡單函數。

屬性名也可以用它的序號來代替。

第二章關係資料庫

2.4關係代數2.4.2專門的關係運算選擇運算是從關係R中選取使邏輯運算式F為真的元組,這是從行的角度進行的運算。σ第二章關係資料庫

2.4關係代數2.4.2專門的關係運算2.投影(Projection)

關係R上的投影是從R中選擇出若干屬性列組成新的關係。記作:

ΠA(R)={t[A]|t∈R}

其中A為R中的屬性列。投影操作是從列的角度進行的運算。第二章關係資料庫

2.4關係代數2.4.2專門的關係運算投影操作是從列的角度進行的運算。它不僅涉及到列,還涉及到行。Π第二章關係資料庫

2.4關係代數2.4.2專門的關係運算3.連接(Join)

連接也稱為θ連接。它是從兩個關係的笛卡爾積中選取屬性間滿足一定條件的元組。記作:

R∞S={trts|tr∈R∧ts∈S∧tr[A]θts[B]}

AθB

其中:A和B分別是R和S上度數相等且可比的屬性組。

等值連接

R∞S={trts|tr∈R∧ts∈S∧tr[A]=ts[B]}

A=B

自然連接

R∞S={trts|tr∈R∧ts∈S∧tr[B]=ts[B]}第二章關係資料庫

2.4關係代數RS∞θθ連接第二章關係資料庫

2.4關係代數RS∞自然連接相同屬性第二章關係資料庫

2.4關係代數2.4.2專門的關係運算

4.除(Division)

給定關係R(X,Y)和S(Y,Z),其中X,Y,Z為屬性列。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運算得到一個新的關係P(X),P是R中滿足下列條件的元組在X屬性列上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。除法結果是R中滿足下列條件的元組在X屬性列上的投影:記作:

R÷S={tr[X]|tr∈R∧ΠY(S)

Yx}

其中Yx為x在R中的象集,x=tr[X]

第二章關係資料庫

2.4關係代數在以上介紹的八種運算中基本的運算是五種:

並、差、笛卡爾積、投影、選擇其他的運算均可用這五種基本運算來表達。引進他們並不增加語言的能力,但可以簡化表達。

.本章重點:

SQL的數據定義、查詢、更新、控制功能;視圖的概念及其優點。

本章難點:

SQL的數據查詢功能。第三章關係資料庫標準語言SQLSQL歷史SQL:StructuredQueryLanguang1974年,由Boyce和Chamberlin提出1975-1979年,在SystemR上實現,由IBM的SanJose研究室研製

由于它功能丰富受到广泛欢迎,经不断修改、扩充和完善,SQL語言最終發展成為關係資料庫的標準語言。第三章關係資料庫標準語言SQLSQL第三章關係資料庫標準語言SQL標準化有關組織ANSI(AmericanNaturalStandardInstitute)美國國家標準局ISO(InternationalOrganizationforStandardization)國際標準化組織有關標準SQL-86(1986年10月ANSI的資料庫委員會X3H2,87年ISO通過)“資料庫語言SQL”SQL-89“具有完整性增強的資料庫語言SQL”,增加了對完整性約束的支持SQL-92(SQL-2)“資料庫語言SQL”,是SQL-89的超集,增加了許多新特性,如新的數據類型,更豐富的數據操作,更強的完整性、安全性支持等。SQL-99(SQL-3)

正在討論中的新的標準,將增加對面向對象模型的支持意義:

自SQL成為國際標準語言後,各個資料庫廠家紛紛推出各自的SQL軟體或與SQL的介面軟體,這就使得大多數資料庫均用SQL作為共同的數據存取語言和標準介面,使不同資料庫系統之間的互操作有了共同的基礎。這個意義十分重大。SQL成為國際標準,對數據庫以外的領域也產生了很大影響。SQL已成為資料庫領域中的一個主流語言。第三章關係資料庫標準語言SQL3.1.1SQL特點

SQL語言的英語意義是結構查詢語言(StructuredQueryLanguage)。實際上它的功能豐富。SQL功能:數據查詢(DataQUERY);數據操縱(DataMANIPULATION);數據定義(DataDEFINITION);數據控制(DataCONTROL)SQL的主要特點是:1.綜合統一(一體化的特點)

2.高度非過程化

3.面向集合的操作方式

4.以同一種語法結構提供兩種使用方式

5.語言簡潔,易學易用第三章關係資料庫標準語言SQL

3.1SQL概述第三章關係資料庫標準語言SQL

3.1SQL概述SQL語言的動詞SQL功能動詞數據查詢SELECT數據定義CREATEDROPALTER數據操縱INSERTUPDATEDELETE數據控制GRANTREVOKE3.1.2SQL語言的基本概念SQL語言支持關係資料庫三級模式結構。第三章關係資料庫標準語言SQL

3.1SQL概述SQL視圖1視圖2基本表1基本表2基本表3基本表4存儲檔1存儲檔2外模式模式內模式SQL的數據定義功能包括三部分:定義基本表,定義視圖和定義索引。視圖是基於基本表的虛表,索引是依附於基本表的。因此SQL通常不提供修改視圖和索引定義的操作。SQL的數據定義語句第三章關係資料庫標準語言SQL

3.2数据定义操作對象操作方式創建刪除修改表CREATETABLEDROPTABLEALTERTABLE視圖CREATEVIEWDROPVIEW索引CREATEINDEXDROPINDEX3.2.1定義、刪除、與修改基本表一、定義基本表語句格式為:CREATETABLE<表名>(<列名><數據類型>[列級完整性約束][,<列名><數據類型>[列級完整性約束]]…[,表級完整性約束]);

功能:定義一個基本表,同時定義與該表有關的完整性約束條件。說明:(1)<表名>是所要定義的基本表的名字。

(2)一個表可以由一個或幾個屬性(列)組成。第三章關係資料庫標準語言SQL

3.2数据定义DB2SQL支持以下數據類型;INTEGER或INT全字長(31bits精度)的二進位整數SMALLINT半字長(精度為15bits)的二進位整數DECIMAL(p[,q])或DEC(p[,q])壓縮十進位數,共p位,小數點後有q位.15>=p>=q>=0,q=0時可省略.FLOAT雙字長的浮點數CHARTER(N)或CHAR(N)長度為n的定長字串VARCHAR(N)變長字串,最大長度為nGRAPHIC(N)長度為n的定長圖形字串VARGRAPHIC(N)變長圖形字串,最大長度為nDATE日期型,格式為YYYY-MM-DDTIME時間型,格式為HH.MM.SSTIMESTAMP日期加時間第三章關係資料庫標準語言SQL

3.2数据定义第三章關係資料庫標準語言SQL

3.2数据定义

例1:建立一個學生表Student,它由學號Sno,姓名Sname,性別Ssex,年齡Sage,所在系Sdept五個屬性組成。其中學號不能為空,值是唯一的,且姓名取值也唯一。

CREATETABLEStudent(SnoCHAR(5)NOTNULLUNIQUE,Snamechar(8)UNIQUE,SsexCHAR(1),SageSMALLINT,SdeptCHAR(15));

系統執行上面的CREATETABLE語句後,就在資料庫中建立一個新的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论