




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據庫系統(tǒng)什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
第一章數據庫概論
數據庫技術已成為計算機科學與技術學科的一個重要分支第一章數據庫概論
第一章數據庫概論什么是數據庫技術?
數據庫技術是數據管理的最新技術,研究數據庫的結構、存儲、管理和使用
數據庫技術巳是現代計算機信息系統(tǒng)和計算機應用系統(tǒng)的基礎和核心
產品:Oracle、DB2、Sybase、Informix、SQLServer、
Foxpro、Access都是數據庫管理系統(tǒng)
數據庫的規(guī)模、性能、信息量大小、使用頻度已成為衡量一個國家信息化程度的重要標志用戶:借閱圖書、存取款、購票、上WWW、全球通、…后臺:MIS、OIS、GIS、CIMS什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
--對該數據所屬類型的描述數據有可施加的操作數據有語法
語義數據有邏輯結構
物理結構數據有型
值1.1引言
一、數據和信息
第一章數據庫概論1.1引言信息是關于現實世界事物存在方式或運動狀態(tài)的反映
數據是對事物描述的符號記錄,它描述事物中人們所感興趣的特征,它能被計算機識別、存儲和處理。是信息的載體。
--型的一個實例--數據的含義--數據的格式--數據及其聯系在計算機內的表示(存儲結構)--反映數據之間的聯系-在邏輯結構上定義,在存儲結構上實現什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
1.2數據庫的由來和發(fā)展
一、人工管理階段
第一章數據庫概論1.2數據庫的由來和發(fā)展數據存儲介質:
軟件技術:
用途:
特點:
20世紀50年代中期前
磁帶、卡片、紙帶
機器語言、匯編語言
科學計算
數據不保存在計算機內無專用軟件對數據進行管理數據面向程序,數據不共享
應用程序完全依賴于數據,數據不獨立
只有程序概念,沒有文件概念
第一章數據庫概論1.2數據庫的由來和發(fā)展二、文件系統(tǒng)階段
數據存儲介質:軟件技術:用途:思路:◆數據按內容和用途組織成若干個相互獨立的文件
◆用文件系統(tǒng)管理數據,存取由OS提供支持20世紀50年代后期~60年代中期磁盤、磁鼓等直接存取設備高級語言、操作系統(tǒng)(OS)
科學計算、信息管理
第一章數據庫概論1.2數據庫的由來和發(fā)展例如:圖書館文件管理系統(tǒng)
*OS只提供文件的打開、關閉、讀、寫,用程序實現增、刪、改*文件結構變→應用程序變(獨立性差)
。*應用程序功能重復(查F2)。*文件的設計和劃分難,數據冗余→浪費存儲空間,造成數據不一致*一般不支持對文件的并發(fā)訪問。讀者文件應用程序→
A1A3書目文件出借文件A2A4F1F3F2圖書借閱讀者增刪改催還通知新書入庫
第一章數據庫概論1.2數據庫的由來和發(fā)展◆對數據的操作以記錄為單位,文件操作由程序實現◆數據面向應用,數據獨立性差◆數據可長期保存在外存上
◆文件組織多樣化,但文件之間相互獨立、缺乏聯系文件系統(tǒng)特點:
◆數據的邏輯結構與物理結構有了區(qū)別,有設備獨立性
◆數據冗余
◆數據聯系弱文件系統(tǒng)缺陷:
◆數據不一致
第一章數據庫概論1.2數據庫的由來和發(fā)展三、數據庫系統(tǒng)階段20世紀60年代末期~大容量、快速存取磁盤、光盤
數據庫管理軟件(DBMS)
信息管理↘(MIS、OIS、CAD、CAM、CIMS、GIS、電子商務等)數據存儲介質:
軟件技術:
用途:
思路:◆數據由數據庫管理系統(tǒng)(DBMS)軟件統(tǒng)一管理◆采用復雜的數據模型組織、描述和存儲數據
第一章數據庫概論1.2數據庫的由來和發(fā)展年代研究成果名稱研制者意義1963IDS(IntegratedDataStore)美國通用電氣公司C.W.Bachman等第一個DBMS73年獲圖靈獎1968IMS(InformationManagementSystem)美國IBM公司和Rockwell公司合作第一個實用數據庫管理系統(tǒng)(里程碑1)1969數據庫建議書(數據描述語言DDL)(數據操縱語言DML)美國數據系統(tǒng)語言委員會的數據庫任務組DBTG提供了網狀數據庫完整的系統(tǒng)設計和語言規(guī)范(里程碑2)1970論文(ARelationalModelofDataforSharedDataBanks)IBM公司SanJose研究所的E.F.Codd提出關系模型,為關系數據庫的開發(fā)奠定了理論基礎(里程碑3)1981年獲圖靈獎類型網狀數據庫層次數據庫網狀數據庫關系數據庫產生過程:↘
第一章數據庫概論1.2數據庫的由來和發(fā)展特點:◆
采用數據模型表示復雜的數據結構◆為用戶提供方便的用戶接口:非過程的、過程的主要特征:實現了數據的集中管理和數據的共享與文件系統(tǒng)根本區(qū)別:通過所有存取路徑表示自然的數據聯系◆增加了系統(tǒng)的靈活性◆
數據獨立性較高
數據獨立性——應用程序與數據庫的數據結構之間相互獨立P8◆具有數據庫保護功能數據庫的并發(fā)控制、數據庫的恢復、數據的完整性、數據安全性
◆共享性好
第一章數據庫概論1.2數據庫的由來和發(fā)展四、高級數據庫技術階段20世紀80年代~1.分布式數據庫系統(tǒng)2.對象數據庫系統(tǒng)3.開放數據庫互聯技術特點:◆數據物理上分布,邏輯上是一個整體
◆各場地既局部自治,又支持全局應用
◆各地計算機由數據通信網絡相聯系集中管理、分布處理特點:◆對象數據模型能完整地描述現實世界的數據結構,能表達數據間嵌套、遞歸的聯系
◆封裝性、繼承性提高了軟件可重用性中間件:是網絡環(huán)境中保證不同的操作系統(tǒng)、通信協議和
DBMS之之間進行對話、互操作的軟件系統(tǒng)。屏蔽復雜性。如:ODBC、JDBC
第一章數據庫概論1.2數據庫的由來和發(fā)展數據庫技術的發(fā)展階段(三個)階段年代主流產品功能特征新成果第一階段20世紀70年代以網狀和層次數據庫為代表的第一代數據庫系統(tǒng)集中控制與數據共享關系DB原型SystemR和Ingres
第二階段
20世紀80年代關系數據庫為代表的第二代數據庫?Oracle、SybaseInformix?dBASE、Foxpro?集中控制與數據共享?較高的數據獨立性?高級的非過程語言接口分布式DB第三階段20世紀80年代未開始以面向對象數據庫為代表的第三代數據庫處理非常規(guī)數據(圖形、圖像、聲音、時態(tài)、空間)?O-RDBMS?OO數據模型?基于邏輯的數據模型*
第一、二代DBS稱為傳統(tǒng)數據庫,以處理常規(guī)數據和事務數據為主*
90年代數據庫新的應用不斷出現:數據倉庫/聯機分析處理/數據挖掘什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
是一個單位或組織需要管理的全部數據的集合
數據按一定的數據模型組織、描述和存儲
一、數據庫(DataBase→DB)
數據庫是長期存儲在計算機內、有組織的、統(tǒng)一管理的相關數據的集合。DB具有能為各種用戶共享,具有較小冗余度、數據間聯系緊密又有較高數據獨立性等特點。
第一章數據庫概論1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義
第一章數據庫概論1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義二、數據庫管理系統(tǒng)(DataBaseManagementSystem→DBMS)
數據庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數據管理軟件,它為用戶或應用程序提供訪問
DB的方法,包括DB的建立、查詢、更新及各種數據控制數據庫中的數據由DBMS統(tǒng)一管理,數據庫的創(chuàng)建、運行和維護在DBMS的控制下實現。DBMS總是基于某種數據模型。DBMS產品必須提供一些基本功能用戶DBMSOSDB
第一章數據庫概論1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義三、數據庫系統(tǒng)
(DBS—DataBaseSystem)數據庫系統(tǒng)是實現有組織地、動態(tài)地存儲大量關聯數據、方便多用戶訪問的計算機軟、硬件和數據資源組成的系統(tǒng),即它是采用數據庫技術的計算機系統(tǒng)。什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
第一章數據庫概論1.4數據模型1.4數據模型(DataModel)一、數據模型的定義①數據模型--是用來描述數據的一組概念和定義,
是對現實世界數據特征的抽象②能表示實體類型及實體間聯系的模型稱為“數據模型”2.對現實世界的抽象
現實世界中的具體事物→計算機可處理的數據
現實世界中的具體事物==>
某一DBMS支持的數據模型1.定義(2)對現實世界的兩層抽象現實世界
信息世界概念數據模型
數據世界DBMS支持的數據模型認識抽象
現實世界中事物的抽象過程物理數據模型邏輯數據模型
第一章數據庫概論1.4數據模型轉換
第一章數據庫概論1.4數據模型客觀世界中的問題域:學生選修課程個體:學生課程聯系:選修概念模型用ER圖表達邏輯模型用關系模型表達STUDENT(SNO,SNAME,SEX)SC(SNO,CNO,GRADE)COURSE(CNO,CNAME,CREDIT,PCNO)物理模型用Oracle或SQLServer或其它關系數據庫產品來實現概念數據模型――面向客觀世界,面向用戶,與DBMS無關的數據模型。例如:E-R模型、擴充的E-R模型邏輯數據模型――用戶從數據庫所看到的模型,與
DBMS有關,既面向用戶又面向實現。反映數據的邏輯結構(文件、記錄等)例:網狀的、層次的、關系的、面向對象
有三個要素,提供數據庫語言物理數據模型――反映數據存儲結構(物理塊、指針、索引等)的數據模型,不僅與DBMS有關,還與操作系統(tǒng)和硬件有關。
主要用于數據庫設計用于DB設計DBMS實現
第一章數據庫概論1.4數據模型1)DBMS通常按所采用的邏輯數據模型來分類常用的邏輯數據模型:層次模型、網狀模型、關系模型2)概念模型表示的數據=>邏輯模型表示的數據=>DBMS中實現↓層次數據庫↓網狀數據庫↓關系數據庫說明:
第一章數據庫概論1.4數據模型*兩類:查詢、更新(插入I、刪除D、修改U)*數據模型要為這些操作定義確切的含義、操作規(guī)則和實現操作的語言――數據的基本結構、數據間的聯系和數據中的約束――定義在數據上的操作3.數據模型的基本組成
數據模型描述數據的:(2)動態(tài)特性(1)靜態(tài)特性邏輯數據模型的三要素:
數據結構數據操作
數據完整性約束――對實體類型和實體間聯系的表達和實現
――指對數據操作的實現
――數據及其聯系應具有的制約和依賴規(guī)則是一組完整性規(guī)則的集合*在數據庫系統(tǒng)中通常按照數據結構的類型來命名數據模型。
第一章數據庫概論1.4數據模型
4.數據模式(補充)
(1)數據模式(DataSchema)
是用給定的數據模型對具體數據的靜態(tài)特性的描述
(2)數據模式與數據模型的關系
?
數據模型是描述數據的手段(程序設計語言)
?
數據模式是用數據模型對一個單位的模擬(程序)
?
數據模式僅是數據模型中有關數據結構及其相
互關系、約束的描述
第一章數據庫概論1.4數據模型二、實體-聯系模型(E-R數據模型)概念模型:
◆是數據庫設計人員進行數據庫設計的重要工具
◆是數據庫設計人員和用戶之間進行交流的語言
◆直接模擬現實世界、直觀、自然、易理解
◆廣泛使用的是E-R數據模型(Entity-Relationshipdatamodel)
第一章數據庫概論1.4數據模型P.P.Chen于1976年提出目的:
(1)建立一個統(tǒng)一的數據模型,以概括三種傳統(tǒng)的數據模型(2)作為三種傳統(tǒng)的數據模型互相轉換的中間模型(3)作為超脫DBMS的一種概念數據模型以自然而有效的方式模擬現實世界E-R數據模型用了三個抽象概念
1.E-R模型的基本概念
1)實體實體(Entity)――
客觀存在的且可以區(qū)別的事物具體事物抽象概念實體集(EntitySets)――具有相同性質的實體的集合也稱實體類型學生的集合→學生實體集Es
全體教師→教師實體集Et
所有課程→課程實體集Ec有生命無生命――>某位學生、教師,某門課――>愛好
第一章數據庫概論1.4數據模型2)聯系(Relationship)、聯系集或聯系類型聯系(Relationship)――實體集之間關系的抽象表示
例如:Es與Ec之間的“選課”聯系聯系的類型:二元聯系、多元聯系、自反聯系
Et與Ec之間的“任課”聯系Et與Es之間的“教學”聯系
第一章數據庫概論1.4數據模型例如:(1)工廠與廠長(2)公司與職工(3)教師與學生(a)二元聯系--只有兩個實體集參與的聯系,包括:
1:1聯系:E1中的每個實體至多與E2中的一個實體有聯系,反之亦然
1:n聯系:E1中每個實體與E2中任意個實體(包括零個)相聯系,而E2中每個實體至多和E1中一個實體有聯系m:n聯系:E1、E2中的每一個實體都和另一個實體集中任意個實體(包括零個)有聯系1:1m:n1:n
第一章數據庫概論1.4數據模型(b)多元聯系――
是參與聯系的實體集的個數≥3的聯系也可以區(qū)分為1:1、1:n和m:n三種例如:學生書店圖書
m:n:p(c)自反聯系――
是同一實體集內兩部分實體之間的聯系也可以區(qū)分為1:1、1:n和m:n三種例如:實體集“人”中夫與妻
1:1是一種特殊的二元聯系
思考:職工實體集中領導與普通職工是什么聯系?
第一章數據庫概論1.4數據模型?
每個屬性值都有一定的變化范圍,稱為屬性的域(Domain)
3)屬性(Attribute)――實體或聯系所具有的特征
?
一個實體集(或聯系集)可有若干個屬性,在數據庫設計中只選需要的屬性例如:
成績屬性域――>0~100性別屬性域――>男、女
第一章數據庫概論1.4數據模型↓空缺符(屬性值未知)
?
屬性值可以是:單值,多值,NULL↓年齡
↓所獲學位
?
不能再細分的屬性稱為原子屬性通信地址街區(qū)地址市省郵編街名號碼公寓號碼?
屬性可以是單域的簡單屬性或多域的組合屬性
第一章數據庫概論1.4數據模型
?
實體鍵:
能唯一標識實體的屬性或屬性組學號,姓名,性別,…
?實體鍵學號也稱:實體標識符――>E-R數據模式
2.E-R圖(E-RDiagram)
對一個單位用E-R數據模型模擬E-R數據模式用圖形表示――>E-R圖
表示方法:
?
實體集――>矩形框,框中標明實體集名?
聯系――>菱形框,框內標明聯系名
?
屬性――>橢圓?
相關圖形間用無向邊連接,在聯系與實體集的連線上要標明聯系類型(如:1:n等),在實體標識符下畫線
?
可以使用略去了屬性的E-R簡圖來突出各實體集之間的聯系學生課程選課學號nm
第一章數據庫概論1.4數據模型(1)畫出實體(2)畫出聯系(3)寫出屬性(4)連線(5)標出聯系類型(6)標出實體鍵
第一章數據庫概論1.4數據模型例1:用E-R圖描述學校與教師實體集及其聯系聘任日期聘任教師學校地址名稱學校代碼性別職稱教師編號姓名1n例2:幾個E-R簡圖二元聯系E-R簡圖系部教師聘任1n校長學校負責11課程教師講授nm自反聯系E-R簡圖人夫妻11課程先修nm項目供應商供應mp零件n三元聯系
第一章數據庫概論1.4數據模型補充:抽象方法?
對現實世界進行抽象時,實體、聯系和屬性的區(qū)分不是絕對的?
某個具體的數據對象確定為實體、聯系或屬性,取決于應用背景和用戶觀點?
通常實體――>需求描述中的名詞(需再被描述)
屬性――>需求描述中的名詞和形容詞
聯系――>需求描述中的動詞說明:E-R數據模型只描述了數據的靜態(tài)特性
第一章數據庫概論1.4數據模型課堂練習某圖書管理數據庫系統(tǒng)擬管理圖書信息,讀者信息和借閱情況。圖書有圖書編號、書名、作者、出版單位等信息;讀者有借書證號、姓名等信息;對讀者的每次借閱都登記借閱日期。每本圖書的編號唯一,每位讀者的借書證號唯一。每位讀者可借多種圖書,每種圖書可被多個讀者借閱。請為該系統(tǒng)畫E-R圖。(注:答案均用中文描述)
第一章數據庫概論課堂練習習題一1、解釋DB,DBMS,DBS三個概念。2、何為數據模型,有哪幾種(級)數據模型,各自的特點和作用是什么?何為數據模式?
第一章數據庫概論習題一什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
第一章數據庫概論1.5數據庫的體系結構1.5數據庫的體系結構(從DBMS來看)一、數據庫的三級體系結構一個數據庫結構從邏輯上劃分為三個層次
?外模式(ExternalSchema)
?概念模式(ConceptualSchema)
?內模式(InternalSchema)
用戶11用戶1i用戶n1
用戶njDB外部級(單個用戶的視圖)概念級(全局視圖)內部級(存儲視圖)
外模式1
外模式n
邏輯模式
內模式
外模式/模式映象模式/內模式映象
第一章數據庫概論1.5數據庫的體系結構三級體系結構概念模式――是數據庫中全局數據的整體邏輯結構的描述。用邏輯數據模型。二、體系結構中的五個要素
第一章數據庫概論1.5數據庫的體系結構?
簡稱模式
?
一個數據庫只有一個概念模式
?
不涉及物理存儲、硬件環(huán)境、應用程序、程序設計語言?
概念模式設計是數據庫設計的基本任務,當定義數據庫的層次結構時,應首先定義概念模式?
由DBMS提供的模式定義語言(模式DDL)來定義和描述?
由概念記錄組成,也包括:記錄間的聯系/完整性/安全性?
是DB所有用戶的公共數據視圖,是裝配數據的結構框架
?
比如:createtable…語句
外模式――是用邏輯數據模型對用戶用到的數據的描述是用戶與數據庫系統(tǒng)的接口?
是數據庫的用戶視圖,用戶與DB的接口?
一個數據庫可以有多個外模式?
是概念模式的一個邏輯子集或由概念模式推導而來
?
由DBMS提供的外模式定義語言來定義和描述
?
也稱子模式或用戶模式
第一章數據庫概論1.5數據庫的體系結構?
比如:createview…語句
第一章數據庫概論1.5數據庫的體系結構內模式――是對數據的物理結構和存儲方式的描述,定義所有的物理記錄類型、索引和文件的組織方式,以及數據控制方面的細節(jié)?
一個數據庫只有一個內部模式?
對一般的數據庫用戶透明?
內模式的設計直接影響數據庫的性能?
由DBMS提供的內模式定義語言(內模式DDL)來定義和描述?
也稱存儲模式
?
比如:索引createindex…語句簇集、分區(qū)等是一種對應規(guī)則,指出映象雙方怎樣進行轉換
第一章數據庫概論1.5數據庫的體系結構模式/內模式映象―-用于定義概念模式和內模式之間的對應性
?
在概念級和內部級之間
?
一般在內模式中描述
外模式/模式映象―-用于定義外模式與概念模式之間的對應性/命名、組成等
?
在概念級和外部級之間
?
一般在外模式中描述當需要改變內模式(比如選用了另一種存儲結構)時,可由DBA對邏輯模式/內部模式映象作相應改變,使邏輯模式保持不變,從而外模式不變,應用程序也不變
說明:數據庫的三級模式結構是一個理想的結構,在目前現有的DBMS商品軟件中,不同系統(tǒng)的數據獨立性程度不同。三、兩級數據獨立性pp.25邏輯獨立性――應用程序獨立于邏輯模式的變化當需要改變邏輯模式時(增加新的關系、屬性等),由DBA對各個外模式/邏輯模式映象作相應改變以保持外模式不變,從而不必修改或重寫應用程序物理獨立性――應用程序獨立于內模式的變化邏輯數據獨立性與物理數據獨立性統(tǒng)稱為數據獨立性
數據獨立性――應用程序和數據庫的數據結構之間相互獨立,不受影響
第一章數據庫概論1.5數據庫的體系結構?
外模式的作用
-簡化了用戶接口。用戶無需了解數據的存儲結構,只需按照外模式的規(guī)定編寫應用程序或在終端上鍵入操作命令,便可實現所需的操作-有利于數據共享??梢詮耐贿壿嬆J疆a生出不同的外模式,減少了數據的冗余度-有利于數據安全和保密。用戶不易接觸與己無關的數據,保密性好。同時使程序錯誤傳播的范圍縮小保證了其它數據的安全性。-保證數據的獨立性。通過模式間的映象保證數據庫數據的獨立性。
第一章數據庫概論1.5數據庫的體系結構四、用戶用戶――使用數據庫的應用程序或聯機終端用戶?
主語言:編寫應用程序的高級程序設計語言也稱宿主語言?
交互型DML:可自成系統(tǒng),在終端上直接對數據庫進行操作的DML?
嵌入型DML:可嵌入在主語言中使用的DML
第一章數據庫概論1.5數據庫的體系結構什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
第一章數據庫概論1.6數據庫管理系統(tǒng)1.6數據庫管理系統(tǒng)(DBMS)pp.27DB物理數據庫DBMS
操作系統(tǒng)(OS)用戶DBMS是DBS中對數據進行管理的軟件系統(tǒng),是DBMS的核心組成部分,是用戶的應用程序與物理數據庫之間的橋梁。用戶對DB操作時:DBMS將操作從應用程序帶入外部級→邏輯級→內部級,再通過OS操縱存儲器上物理數據庫中的數據。DBMS類似于一個操作命令解釋器,又像一個向導
第一章數據庫概論1.6數據庫管理系統(tǒng)一、DBMS的工作模式(pp.26)1)接受應用程序的數據請求和處理請求2)將用戶的數據請求轉換成復雜的機器代碼3)實現對數據庫的操作4)從對數據庫的操作中接受查詢結果5)對查詢結果進行處理6)將處理結果返回給用戶應用程序DBMSDB數據請求低層指令數據(查詢結果)數據(處理結果)對存儲路徑的選擇應用程序數據庫語言語句語法樹執(zhí)行計劃與存取原語系統(tǒng)調用I/O命令磁盤并發(fā)控制存取機制恢復機制應用1語義分析和查詢處理與優(yōu)化(DDL、QL、DML、DCL)授權檢查詞法及語法分析器應用i………應用j應用n…接口m接口1操作系統(tǒng)是一些基本操作命令:打開、關閉文件,取一記錄,建立索引。由存取機制執(zhí)行。DBMS的執(zhí)行單位是事務檢查用戶是否有權訪問語法樹中涉及的數據對象發(fā)生故障時使DB恢復到某個一致狀態(tài)防止多用戶并發(fā)訪問數據庫時引起數據不一致補充:解釋執(zhí)行的RDBMS的結構及處理過程:
第一章數據庫概論1.6數據庫管理系統(tǒng)DBMS是OS的用戶,分配內存、創(chuàng)建或撤銷進程、訪問磁盤時需通過系統(tǒng)調用來請求OS的服務(1)
數據庫定義(2)
數據庫操縱二、DBMS的主要功能
?
外模式、邏輯模式、內模式、及模式間映象的定義;
?
數據庫完整性定義;
?
存取路徑等的定義
?
定義存儲在數據字典中,是DBMS運行的基本依據
?
檢索(查詢)
?
更新(插入、刪除、修改)
第一章數據庫概論1.6數據庫管理系統(tǒng)——DML實現過程性DML:做什么+怎么做(層次、網狀)非過程性DML:做什么(關系)——DDL實現(3)數據庫的保護(4)
數據庫的維護
?
恢復——在數據庫被破壞或數據不正確時,系統(tǒng)有能力把數據庫恢復到正確的狀態(tài)
?
并發(fā)控制——在多個用戶同時對同一個數據進行操作時,系統(tǒng)應能加以控制,防止數據庫中數據被破壞
?
完整性控制——保證數據庫中數據及語義的正確性和有效性,防止任何對數據造成錯誤的操作
?
安全性控制——防止未經授權的用戶存取數據庫中的數據,以免數據的泄露、更改或破壞
?
數據載入、轉換、轉儲、數據庫改組、性能監(jiān)控
?
由專門的實用程序完成(非核心部分)
第一章數據庫概論1.6數據庫管理系統(tǒng)(5)數據字典(DataDictionary):是數據庫系統(tǒng)中存放三級結構定義的數據庫
或:是一組關于DB中數據的數據
?
存放有關DB中數據的定義。
?
存放數據庫運行時的統(tǒng)計信息。
?
對DB的操作都要通過DD來實現。
?
稱數據字典中的數據為元數據(Meta-Data),組成數據字典文件的屬性稱為元屬性。
?
是DBMS存取和管理數據的基本依據,主要由系統(tǒng)管理和使用。
?
管理數據字典的子系統(tǒng)稱為“數據字典系統(tǒng)”
第一章數據庫概論1.6數據庫管理系統(tǒng)
第一章數據庫概論1.6數據庫管理系統(tǒng)三、DBMS的模塊組成(自學)查詢處理器數據庫管理系統(tǒng)DDL編譯器DML編譯器嵌入式DML預編譯器查詢運行核心程序存儲管理器權限和完整性管理器事務管理器文件管理器緩沖區(qū)管理器什么是數據庫技術?1.1引言1.2數據庫的由來和發(fā)展1.3數據庫、數據庫管理系統(tǒng)與數據庫系統(tǒng)定義1.4數據模型1.5數據庫的體系結構1.6數據庫管理系統(tǒng)1.7數據庫系統(tǒng)第一章數據庫概論
第一章數據庫概論1.7數據庫系統(tǒng)1.7數據庫系統(tǒng)(DBS)PP.29一、DBS的組成
DBS由數據庫、硬件、軟件和數據庫管理員組成1.數據庫:與一個企業(yè)組織各項應用有關的全部數據的集合包括:物理數據庫——應用數據的集合,是DB主體描述數據庫——各級數據結構的描述,由DD系統(tǒng)管理2.硬件包括:CPU、內存、外存、I/O設備等要求:足夠內存 足夠的磁盤等直接存取設備 較高的通道能力,提高數據傳輸速率支持聯網的能力
第一章數據庫概論1.7數據庫系統(tǒng)3.軟件包括:DBMS OS(支持DBMS運行的操作系統(tǒng))
各種主語言(與DB有接口的高級語言及編譯系統(tǒng))
應用開發(fā)支撐軟件(VB/Delphi/PB)
4.數據庫管理員
定義:DBA是控制數據整體結構的一組人員,負責
DBS的正常運行,承擔創(chuàng)建、監(jiān)控和維護數據庫結構的責任
第一章數據庫概論1.7數據庫系統(tǒng)主要職責:定義模式(邏輯模式)
定義內模式 與用戶的聯絡:定義外模式/應用程序設計/培訓 定義安全性規(guī)則,對用戶訪問數據庫的授權 定義完整性規(guī)則,監(jiān)督數據庫的運行 數據庫的轉儲與恢復
DBA的工具:實用程序→裝載/重組/日志/恢復/統(tǒng)計分析
DD系統(tǒng)→整個系統(tǒng)的工作情況DBA的素質:熟悉/了解/系統(tǒng)分析員/業(yè)務/資歷…補充:DBS組成的另一種定義
由數據庫(DB)
數據庫管理系統(tǒng)(DBMS)
應用程序數據庫管理員(DBA)
第一章數據庫概論1.7數據庫系統(tǒng)第一章總結本章介紹了:◆數據管理的四個發(fā)展階段和
◆數據庫、數據庫管理系統(tǒng)、數據庫系統(tǒng)、數據獨立性、共享性、冗余等概念◆DBS的特點
第一章數據庫概論第一章總結◆數據模型的概念◆數據模型的三要素、三級別◆
概念模型及其三個抽象概念(實體、屬性和聯系)◆E-R圖的畫法
第二章關系模型和關系運算理論關系模型是當前的主流邏輯數據模型
首先由IBM公司的高級研究員E.F.Codd于1970年提出
應用廣泛的原因:
?
單一的數據建模概念
?
堅實的數學理論基礎
?
提供高級接口:數據庫語言SQL
第二章關系模型和關系運算理論2.1關系模型的基本概念
2.1.1關系模型的數據結構
2.1.2關系的定義和性質
2.1.3關系模型的數據約束
2.1.4E-R模型向關系模型的轉換
2.1.5關系模型的數據操作
2.1.6關系模型的三級模式和優(yōu)點2.2關系代數2.3關系演算概述2.4關系代數表達式的優(yōu)化第二章關系模型和關系運算理論2.1關系模型的基本概念
第二章關系模型和關系運算理論2.1關系模型的基本概念關系模型的定義:
用二維表格(table)表示實體集及其間聯系,用關鍵碼(或鍵)進行數據導航的數據模型關系數據模型屬邏輯數據模型,具有三要素理論基礎:集合論中的關系(Relation)概念:課程號課程名0001局域網0002數據庫::學分23:開課時間春季秋季…
學號課號成績984101000185:::學號姓名984101王一984102趙二::性別男女:出生日期1980/06/031981/04/28:…
第二章關系模型和關系運算理論2.1關系模型的基本概念E-R圖學生課程選修mn成績課號……學號學號課程號成績9841010001859841020001902.1.1關系模型的數據結構
一、從用戶的角度看關系數據庫由二維表組成
第二章關系模型和關系運算理論2.1關系模型的基本概念每張二維表中的:(2)
一行對應一條記錄
一列對應一個字段每個字段反映事物的一個特征每個字段都有字段名和字段值
2二.理論術語
關系數據庫由關系組成
一個關系由一張二維表表示關系由元組(Tuple)組成,一個元組對應表中的一行(Row).
元組由屬性組成,一屬性一列(Clumn),屬性有名/值.屬性的取值范圍(所有可取值的集合)――>屬性域Domain(A).每個關系都有關系名.關系名及其各屬性名――>關系模式(RelationSchema).關系中屬性的個數――>關系的目或元數關系中元組的個數――>關系的基數
關系中各元組用關鍵字(Keyword—簡稱鍵)來標識.選課3
第二章關系模型和關系運算理論2.1關系模型的基本概念成績:0-100選課(學號,課程號,成績)說明:表與關系、元組與記錄、屬性與列/字段等術語可以通用學號課程號成績984101000185984102000190選課(學號,課程號,成績)主屬性――包含在任何一個候選鍵中的屬性
非主屬性――不包含在任何一個候選鍵中的屬性
例3:選課(學號,課程號,成績)(2)候選鍵:不含多余屬性的超鍵。
或:其值能唯一地決定關系中其它所有屬性的值、而它的任何真子集無此性質的屬性或屬性組。三.鍵(Key)
――
數據間關系的描述(表內的、表間的)
第二章關系模型和關系運算理論2.1關系模型的基本概念(1)超鍵(SupperKey)
――其值能唯一地決定其它所有屬性的值的屬性集Y
?學號,姓名
――>例1:STUDENT(學號,姓名,性別,出生日期,籍貫)――>×
學號例2:STUDENT(學號,姓名,性別,出生日期,籍貫)候選鍵?
?學號,姓名
第二章關系模型和關系運算理論2.1關系模型的基本概念(3)主鍵
(PrimaryKey)
――用戶選作元組標識的候選鍵,稱為主鍵(PK),簡稱鍵
(4)候補鍵(AlternateKey)
――主鍵之外的候選鍵
例4:
設在STUDENT關系中,學生姓名唯一
則學號、姓名都為STUDENT的候選健
若定義學號為主鍵,則姓名就為候補健
(5)全鍵
――由關系的所有屬性構成的主鍵
n例5:
SUPPLY(供應商,零件名,工程名)
項目供應mp零件供應商(6)外鍵(ForeignKey)
①如果模式R中的屬性K是其它模式的主鍵,那么K
在模式R中稱為外鍵,記做(FK)
。②不是本關系的鍵,卻引用了其它關系或本關系的鍵的屬性或屬性組,記做(FK)
例6:
關系STUDENT(學號,姓名,性別,出生日期,籍貫)
關系COURSE(課程名,課程號,學分,開課時間,先修課號)
關系SC(學號,課程號,成績)
PK學號PK課程號PK學號FK課程號FK*關系數據模型中實體間(表間)的聯系是用外鍵隱含地表示的
第二章關系模型和關系運算理論2.1關系模型的基本概念思考:
第二章關系模型和關系運算理論2.1關系模型的基本概念
在關系COURSE(課程名,課程號,學分,開課時間,先修課號)
中先修課號是什么鍵,與課程號的關系如何
?
第二章關系模型和關系運算理論2.1關系模型的基本概念2.1.2關系的定義和性質二.性質
?
關系模型中屬性無序(不同于集合)R(A1,A2)=R(A2,A1)
?
關系模型中元組無序?
關系中的每一個屬性值都是不可分解的,即關系的屬性域是原子數據的集合?
同一關系中不允許有相同元組
一.定義關系是一個屬性數目(目)相同的元組的集合
有限關系:元組數目(基數)有限
第二章關系模型和關系運算理論2.1關系模型的基本概念語法上的規(guī)定:每個元組屬性都取域中的值語義上的限制:完整性約束規(guī)則在對DB進行更新(I/D/U)操作時檢查保證數據與現實世界的一致性關系模型有三類完整性規(guī)則:實體完整性規(guī)則(EntityIntegrityConstrain)參照(引用)完整性規(guī)則(ReferenceIntegrityConstrain)用戶定義的完整性規(guī)則2.1.3關系模型的完整性約束
PP.41
第二章關系模型和關系運算理論2.1關系模型的基本概念一.實體完整性規(guī)則?
每個關系都應有一個主鍵?
每個元組的主鍵的值應當唯一?
主鍵值不能為NULL(主屬性不為NULL)(1)作用:關系內的約束
(2)規(guī)定:關系SC
(學號,課程號,成績)
↑↑
notnullnotnull
第二章關系模型和關系運算理論2.1關系模型的基本概念(1)作用:不同關系或同一關系的不同元組間的約束
二.參照完整性規(guī)則?外鍵要么引用實際存在的主鍵值,要么是NULL
即:不允許引用不存在的實體?幾點說明:
①外鍵與主鍵只需值域相同,可不同名→注意SQL的書寫
COURSE(課程號,…,先修課號)
②外鍵值是否為空,酌情而定→若為主屬性則不可為空
SC
(學號,課程號,成績)
③若屬性集K是關系R2的外鍵,它引用關系R1的主鍵,則常稱:R1為參照關系、主表、父表學生STUDENTR2為依賴關系、副表、子表選課SC④若引用本關系的鍵,則表示關系內不同元組間的聯系(2)規(guī)定
第二章關系模型和關系運算理論2.1關系模型的基本概念三.用戶定義的完整性規(guī)則說明:
?
各種DBMS產品對完整性約束的支持程度不同
?
數據庫中完整性約束檢查,由DBMS實現或由用戶負責
(1)作用:和數據的具體內容有關的約束
(2)需顯式說明:CHECK()子句、觸發(fā)器、斷言、過程…2.1.4E-R模型向關系模型的轉換PP.168
第二章關系模型和關系運算理論2.1關系模型的基本概念(1)實體集:*每個實體集轉換成一個關系模式
*實體集的屬性即為關系模式的屬性
*實體健即為關系模式的鍵(2)聯系集:1:1的聯系集
1:n的聯系集
m:n的聯系集目標:把E-R圖轉換為關系模式的集合規(guī)則:R學校與R校長通過校長的“校長職工號”(外鍵)關聯1:1的聯系集→聯系集的屬性歸入兩個關系模式的任一個之中(消除聯系集),并在該關系模式中引用另一個關系的鍵(公共屬性,成為本關系的外鍵)在R學校中引入“任職年月”屬性在R學校引用校長的“職工號”R學校(學校代號,校名,…)R校長(職工號,姓名,年齡,…)*校長學校負責11任職年月例如:
第二章關系模型和關系運算理論2.1關系模型的基本概念R學校(學校代號,校名,校長職工號,任職年月…)1:n的聯系集→聯系集的屬性歸入n方關系模式中
(消聯系集),在n方的關系模式中
引用1方關系中的鍵在R教師中引入“聘期”屬性
聘用聘期系
教師1nR教師(職工號,姓名,性別,…)R教師與R系通過外鍵“系號”關聯R系(系號,系名,地址,…)
第二章關系模型和關系運算理論2.1關系模型的基本概念聘期,系號,m:n的聯系集―>用聯系集的屬性和兩個實體集的鍵單獨構成一個新關系,新關系的鍵由兩個實體集的鍵組合而成學生課程選課mn成績STUDENT(學號,姓名,性別,出生日期,籍貫)
COURSE(課程名,課程號,學分,開課時間,先修課號)
關系SC(學號,課程號,成績)
第二章關系模型和關系運算理論2.1關系模型的基本概念2.1.5關系模型的數據操作
(1)關系數據庫的數據操作有兩大類:?
查詢――對數據的檢索?
更新――數據的插入(I)、刪除(D)和修改(U)
更新以查詢?yōu)榛A(2)
關系數據模型提供一組完備的關系運算(操作定義),以支持對數據庫的查詢等操作
第二章關系模型和關系運算理論2.1關系模型的基本概念(4)關系運算理論基礎分為三大類:關系代數
關系演算
――查詢操作以集合操作為基礎,又分為:
關系專用操作:選擇、投影、連接、除
傳統(tǒng)集合操作:并、交、差、笛卡兒積――查詢操作以謂詞演算為基礎,又按謂詞變量分為:元組關系演算
域關系演算
(3)關系運算以一個或多個關系為運算對象,運算后形成新的關系,提供用戶所需數據
第二章關系模型和關系運算理論2.1關系模型的基本概念關系邏輯――以一階邏輯表達關系的操作(if-then)。
第二章關系模型和關系運算理論2.1關系模型的基本概念一、關系模型的三級模式:對應數據庫的三級體系結構數據庫的
關系模型的
定義的內容邏輯模式關系模式模式名/屬性名/值域/主鍵等外模式子模式用的數據/與關系模式數據的聯系/操作權限內模式存儲模式存儲關系的方式:索引/散列2.1.6關系模型的三級模式和優(yōu)點
PP.42
第二章關系模型和關系運算理論2.1關系模型的基本概念數據結構數據操作數據完整性規(guī)則――關系(二維表)――提供完備的高級關系運算*關系代數*關系演算*關系邏輯――實體完整性參照完整性用戶定義的完整性關系模型:二、關系模型的優(yōu)點關系運算的完備性和設計規(guī)范化理論關系模型的基本結構是二維表;數據表示統(tǒng)一、簡明、精確,便于在計算機中實現;向用戶提供的是獨立于數據存儲方式的關系模式;易于掌握和運用。
第二章關系模型和關系運算理論2.1關系模型的基本概念優(yōu)點:邏輯結構及相應操作獨立于數據存儲方式存取路徑對用戶透明*有堅實的理論基礎*有很強的表達能力*數據獨立性高*數據結構簡單二維表能方便地表示實體集和實體集間的聯系補充缺點:
*查詢效率不如非關系數據模型由于存取路徑對用戶透明,查詢優(yōu)化處理依靠系統(tǒng)完成,加重了系統(tǒng)的負擔。
第二章關系模型和關系運算理論2.1關系模型的基本概念2.1關系模型的基本概念
2.1.1關系模型的數據結構
2.1.2關系的定義和性質
2.1.3關系模型的數據約束
2.1.4E-R模型向關系模型的轉換
2.1.5關系模型的數據操作
2.1.6關系模型的三級模式和優(yōu)點2.2關系代數2.3關系演算概述2.4關系代數表達式的優(yōu)化第二章關系模型和關系運算理論2.2關系代數關系代數是以關系為運算對象的一組高級運算的集合。關系代數表達式由運算符和作為運算分量的關系構成關系代數的運算分為兩大類:
傳統(tǒng)的集合運算(并、交、差、笛卡爾積)
專門的關系運算
*選取部分數據的運算(選擇、投影等)*組合兩個關系元組的操作(連接運算等)
第二章關系模型和關系運算理論2.2關系代數:::課程號課程名學分開課時間…0001局域網2春季
0002數據庫3秋季
:學號課號成績984101000185:::學號姓名性別出生日期…984101王一男1980/06/03
984102趙二女1981/04/28
::::
學生課程選修mnE-R簡圖舉例用的表和數據:
第二章關系模型和關系運算理論2.2關系代數STUDENT、SC、COURSE或S、SC、C
第二章關系模型和關系運算理論2.2關系代數F:命題公式F有兩種成份:
運算對象:‘常數’,元組分量(屬性名或列序號)
運算符:算術比較運算符θ(<,<=,>,>=,=,<>或
)
邏輯運算符(∧,∨,┐)一.選擇操作(σ)
?
一元操作?
目的:在關系中選出符合條件的元組(行)→水平分割?
定義:
σF(R)≡{t|t
R∧F(t)=true}選出R中使F為真的元組?
表示:σ<選擇條件>(<關系名>)→σF(R),F是命題公式
2.2.1
五個基本操作--關系代數的完備操作集
∪、-、×、
σ、Π
A
B
C
a
b
c
d
a
f
c
b
d
關系R
A
B
C
ab
c
c
b
dσB=‘b’(R)
或σ2=‘b’(R)
?
結果:結果:全部屬性,部分元組構成的關系
第二章關系模型和關系運算理論2.2關系代數選擇操作的結果是其作用的關系的子集?例如:在STUDENT表中:(1)查詢王彤同學的情況(2)查詢1975出生的江蘇學生的情況
(3)查詢1975年之后出生的男生的情況
第二章關系模型和關系運算理論2.2關系代數σ姓名=‘王彤’(STUDENT)σ籍貫=‘江蘇’∧YEAR(出生日期)=’1975’(STUDENT)σ性別=‘男’
∧YEAR(出生日期)>=‘1976’(STUDENT)?
性質:(a)σ<F1>(σ<F2>(R))≡σ<F2>(σ<F1>(R))(b)σ<F1>σ<F2>(
…(σ<Fn>(R)))
≡σ<F1>∧<F2>∧…∧<Fn>(R)STUDENT(學號,姓名,性別,出生日期,籍貫)(1)σ姓名=‘王彤’(STUDENT)學號姓名性別出生日期籍貫934103王彤男1976/01/05福建(2)σ籍貫=‘江蘇’∧出生年份=’1975’(STUDENT)(3)σ性別=‘男’∧出生年份>=‘1976’
(STUDENT)學號姓名性別出生日期籍貫934101王一男1975/06/03江蘇934102趙二女1976/04/28江蘇934103王彤男1976/01/05福建934104陳三女1975/06/03安徽934105李四男1975/06/03浙江
第二章關系模型和關系運算理論2.2關系代數?
一元操作
?
目的:選取關系中感興趣的列,重排列順序即:對關系垂直分割
?結果:
ABCabcdafcbd
關系RΠA,C(R)Π1,3(R)?
形式定義:
Πi1,…,im(R)≡{t|t=<ti1,…,tim>∧<t1,…,tk>
R}
第二章關系模型和關系運算理論2.2關系代數?表示:Π<屬性或序號列表>(<關系名>)二.投影操作(Π)ACacdfcd投影結果:部分屬性全部元組?
當屬性列表中不含候選鍵時,投影結果可能有重復元組(消除)
?性質:Π<屬性表1>(Π<屬性表2>(R))≡Π<屬性表1>(R)
屬性表1∈屬性表2?
應用:
STUDENT(學號,姓名,性別,出生日期,籍貫)
學號姓名性別出生日期籍貫934101王一男1975/06/03江蘇934102趙二女1976/04/28江蘇934103王彤男1976/01/05
福建姓名籍貫王一江蘇趙二江蘇王彤
福建姓名籍貫姓名趙二姓名
第二章關系模型和關系運算理論2.2關系代數例1:Π姓名,籍貫(STUDENT)
查詢所有學生的姓名和籍貫例2:投影與選擇結合Π<姓名>(σ<性別>=‘女’(STUDENT))三.并
?
二元操作
——
對二個關系的操作
?
前提:并兼容――兩關系具有相同的目,對應屬性域相同
且兩個關系的屬性排列次序一樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 送給戀人的畢業(yè)贈言(4篇)
- 2024年客服工作年度總結模板5篇
- DB31∕T 680.7-2019 城市公共用水定額及其計算方法 第7部分:零售業(yè)(超市大賣場、商場)
- 2025年玻璃纖維及其制品項目建議書
- 前列腺余例體會
- 泵站電工知識培訓課件
- 2025年幼兒園園本培訓質量提升策略
- 環(huán)境行業(yè)環(huán)保試題庫
- 項目進度調整通知函
- 定期會議活動計劃書
- FZ/T 81013-2016寵物狗服裝
- 市政級安全管理
- 《社保知識培訓》教學課件
- 肌力與肌張力課件
- 學生檔案登記表
- is620p系列伺服用戶手冊-v0.2綜合版
- 電信渠道管理人員考核管理辦法
- 勘察工作內容及方案
- 八年級數學(上冊)整式計算題練習100道無答案_新人教版
- 托管中心學生家長接送登記表
- 橋梁施工危險源辨識與防控措施
評論
0/150
提交評論