第一章數據庫系統(tǒng)概述_第1頁
第一章數據庫系統(tǒng)概述_第2頁
第一章數據庫系統(tǒng)概述_第3頁
第一章數據庫系統(tǒng)概述_第4頁
第一章數據庫系統(tǒng)概述_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第一章數據庫系統(tǒng)概述

1.1數據處理數據處理技術的發(fā)展階段人工管理階段文件系統(tǒng)階段數據庫系統(tǒng)階段分布式數據庫系統(tǒng)面向對象數據庫系統(tǒng)1.2.1數據庫數據庫(Database,簡稱為DB)是長期存儲在計算機內、有組織的、可共享的、統(tǒng)一管理的相關數據的集合。1.2數據庫基本概念1.2.2數據庫管理系統(tǒng)

1、數據庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)是位于用戶與數據庫之間的一個數據管理軟件。即用戶不能直接接觸數據庫,而只能通過DBMS來操作數據庫。2.數據庫管理系統(tǒng)的功能(1)數據定義功能

DBMS提供了數據描述語言(DataDescriptionLanguage,DDL)來定義數據庫的結構、數據之間的聯系等。(2)數據操縱功能DBMS提供了數據操縱語言(DataManipulationLanguage,DML)來完成用戶對數據庫提出的各種操作要求,實現數據的插入、檢索、刪除、修改等任務。(3)數據運行管理DBMS可以完成對數據庫的安全性控制、完整性控制、多用戶環(huán)境下的并發(fā)控制等。(4)數據庫維護功能DBMS還可以對已經建立好的數據庫進行維護,比如數據字典的自動維護,數據庫的備份、恢復等。(5)數據庫通信功能DBMS應提供網絡環(huán)境的數據通信功能。1.數據庫系統(tǒng)的概念數據庫系統(tǒng)(DatabaseSystem,簡稱DBS)是指采用了數據庫技術的計算機應用系統(tǒng)。它實際上是一個集合體,通常包括:

1.2.3數據庫系統(tǒng)

(1)數據庫。

(2)數據庫管理系統(tǒng),它是數據庫系統(tǒng)的核心組成部分。

(3)計算機硬件環(huán)境、操作系統(tǒng)環(huán)境及各種實用程序。

(4)管理和使用數據庫系統(tǒng)的各類人員,可以分為:終端用戶(EndUser)。按照用戶需求的信息以及獲得信息的方式的不同,一般可將終端用戶分為操作層、管理層和決策層,他們通過應用系統(tǒng)的用戶接口使用數據庫。應用程序員(ApplicationProgrammer)。應用程序員根據數據庫系統(tǒng)的功能需求,設計和編寫應用系統(tǒng)的程序模塊,并參與對程序模塊的測試。系統(tǒng)分析員。系統(tǒng)分析員是數據庫系統(tǒng)建設期的主要參與人員,負責應用系統(tǒng)的需求分析和規(guī)范說明,確定系統(tǒng)的基本功能,數據庫結構和應用程序的設計,以及軟硬件的配置,并組織整個系統(tǒng)的開發(fā)。數據庫管理員(DadabaseAdministrator,簡稱DBA)。全面負責建立、維護、管理和控制數據庫系統(tǒng)。⑴數據低冗余、共享性高。⑵數據獨立性高。數據的獨立性包括邏輯獨立性和物理獨立性。2、數據庫系統(tǒng)的特點

數據的邏輯獨立性是指當數據的總體邏輯結構改變時,數據的局部邏輯結構不變,由于應用程序是依據數據的局部邏輯結構編寫的,所以應用程序不必須修改,從而保證了數據與程序間的邏輯獨立性。例如,在原有的記錄類型之間增加新的聯系,或在某些記錄類型中增加新的數據項,均可確保數據的邏輯獨立性。數據的物理獨立性是指當數據的存儲結構改變時,數據的邏輯結構不變,從而應用程序也不必改變。例如,改變存儲設備和增加新的存儲設備,或改變數據的存儲組織方式,均可確保數據的物理獨立性。⑶有統(tǒng)一的數據控制功能。數據的安全性(security)控制

數據的完整性(integrity)控制并發(fā)(concurrency)控制數據恢復(recovery)三個概念:數據庫、數據庫管理系統(tǒng)、數據庫系統(tǒng)是三個不同的概念,數據庫強調的是數據,數據庫管理系統(tǒng)是管理數據庫的工具軟件,數據庫系統(tǒng)強調的則是一個整體系統(tǒng)。根據美國標準化協會和標準計劃與需求委員會(ANSI/SPARS)提出的建議,數據庫系統(tǒng)的內部體系結構是三級模式結構,分別為模式、外模式和內模式。1.3數據庫系統(tǒng)的體系結構1、模式也稱為概念模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。定義模式時不僅要定義數據的邏輯結構(例如數據記錄由哪些數據項構成,數據項的名字、類型、取值范圍等),而且要定義與數據有關的安全性、完整性要求,定義這些數據之間的聯系。2、外模式外模式也稱子模式或用戶模式,它是數據庫用戶(包括應用程序員和最終用戶)看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。3、內模式也稱存儲模式或物理模式,它是數據物理結構和存儲結構的描述,是數據在存儲介質上的保存方式(例如,記錄的存儲方式是順序存儲、還是按照B樹結構存儲;索引按照什么方式組織;數據是否壓縮存儲,是否加密等)。一個數據庫只有一個內模式。

三個模式反映了數據庫的三種不同的層面:模式表示了概念級數據庫,體現了數據庫操作的接口層;內模式表示了物理級數據庫,體現了數據庫操作的存儲層;外模式表示了用戶級數據庫,體現了數據庫操作的用戶層。應用1應用2外模式1應用3應用4外模式2應用5應用6外模式3模式內模式用戶級數據庫概念級數據庫物理級數據庫外模式/模式映像模式/內模式映像這里以簡單的職工管理數據庫為例,進一步說明三級模式和數據庫的三種層面,以此加深理解。

(1)某單位建立職工管理數據庫,包含職工基本情況和工資情況,如表所示的兩張二維表,把它們看作是從物理數據庫中抽象出來的概念數據庫。

(2)在數據庫中,需了解“文化程度”是“大?!钡穆毠せ厩闆r,結果如左表;需了解職工的崗位工資情況,結果如右表。把它們看作是用戶數據庫,它們只不過是概念數據庫的一個個子集。(3)存儲在存儲介質上的職工數據庫便是物理數據庫。4、模式間的映射三級模式之間的聯系是通過二級映射來實現的,當然實際的轉換工作是由數據庫管理系統(tǒng)來完成的。(1)外模式/模式映射它定義了外模式與模式之間的對應關系。當模式改變時,由數據庫管理員對各個外模式/模式的映象作相應改變,可以使外模式保持不變,從而應用程序不必修改,保證了數據的邏輯獨立性。(2)模式/內模式映射模式/內模式映象是唯一的,它定義了數據全局邏輯結構與存儲結構之間的對應關系。當數據庫的存儲結構改變了(例如采用了更先進的存儲結構),由數據庫管理員對模式/內模式映象作相應改變,可以使模式保持不變,從而保證了數據的物理獨立性。

1.4數據模型模型是對客觀世界中復雜對象的抽象描述,如航模、車模。在數據庫中用數據模型這個工具來描述現實世界中數據的結構、數據的性質、數據之間的聯系等。數據模型分成兩個不同的層次:概念模型和實施模型(有的教材也稱數據模型)計算機不能直接處理現實世界中的具體事物,首先將現實世界的事物及聯系抽象成信息世界的概念模型;然后再抽象成計算機世界的數據模型。這一轉換經歷了現實世界、信息世界和計算機世界三個不同的世界。現實世界現實世界中的事物由它的性質來表征。例如,學校的教學管理系統(tǒng)中,學院、系部、教師、班級、學生、課程是主要構成元素?,F實世界中事物與事物之間并非孤立,而是存在一定的聯系。例如,教師授課、學生選課,教師、學生、課程是相互關聯的。1.4.1現實世界、信息世界和計算機世界信息世界信息世界是對現實世界中事物及事物之間聯系的抽象描述。例如,一個教師可以用編號、姓名、性別、職稱、學歷等來表征;一門課程可以用課程編號、課程名稱、學時、學分、課程性質等來表征。計算機世界

計算機世界是將信息世界中的事物數據化后存入計算機系統(tǒng)。1.4.2概念模型

概念模型用于信息世界的建模,也稱信息模型。它是按用戶的觀點,在概念上表示數據庫中存儲什么事物以及事物之間的聯系,而不管事物和聯系如何在數據庫中存儲。

1、概念模型中的基本概念

(1)實體客觀存在并可相互區(qū)別的事物稱為實體。實體可以是具體的人、事、物,也可以是抽象的概念或聯系。如一個學生,一門課,一輛汽車;也可以是抽象的事件,如一堂課,一次比賽等。

(2)屬性實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫,如一個學生實體有學號、姓名、年齡、性別、班級等方面的屬性。屬性有"型"和“值”之分,"型"即為屬性名,如姓名、年齡是屬性的型;“值”即為屬性的具體內容。(3)鍵唯一標識實體的屬性或屬性集稱為鍵。如學生的學號可以作為學生實體的鍵,但學生的姓名有可能有重名,因此不能作為學生實體的鍵。(4)域屬性的取值范圍稱為該屬性的域。如學號的域為10位整數,姓名的域為字符串集合,性別的域為男和女。(5)實體型若干個屬性型組成的集合是一實體型,如學生(學號,姓名,年齡,性別,系)就是一個實體型。(6)實體集同型實體的集合稱為實體集。如所有的學生、所有的課程等。(7)聯系現實世界中事物內部以及事物之間是有聯系的,在信息世界中反映為實體內部的聯系和實體之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系,而實體之間的聯系通常是指不同實體集之間的聯系。2、兩個實體間聯系的類型

(1)一對一聯系(1:1)實體集A中的一個實體至多與實體集B中的一個實體相對應,反之亦然,則稱實體集A與實體集B為一對一的聯系,記作1:1。如一個班級只有一個班長,一個班長只能管理一個班級。(2)一對多聯系(1:n)如果對于實體集A中的每一個實體,實體集B中有多個實體與之對應,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之對應,則稱實體集A與實體B有一對多聯系,記為1:n。如學校的一個系有多名教師,而一個教師只屬于一個系。(3)多對多聯系(m:n)如果對于實體集A中的每一個實體,實體集B中有多個實體與之對應,反之,對于實體集B中的每一個實體,實體集A中也有多個實體與之對應,則稱實體集A與實體B具有多對多聯系,記為m:n。如一個學生可以選修多門課程,一門課程可以被多名學生選修。3、實體-聯系(Entity-Relationship)方法實體-聯系方法是最廣泛使用的概念模型設計方法,該方法用E-R圖來描述現實世界的概念模型。E-R圖提供了表示實體型、屬性和聯系的方法:

(1)實體型:用矩形表示,矩形框內寫明實體名。(2)屬性:用橢圓形表示,并用連線將其與相應的實體連接起來。(3)聯系:用菱形表示,菱形框內寫明聯系名,并用連線分別與有關實體連接起來,同時在連線旁標上聯系的類型(1:1、1:n或m:n)。

編號姓名性別學歷職稱教師課程m教師講授n教師1系部聘任n1.4.3實施模型概念模型是“概念”上的,而實施模型是按計算機系統(tǒng)的觀點對數據建模,與具體的數據庫管理系統(tǒng)有關,側重于數據和聯系的表示或存儲方法。實施模型主要包括層次模型、網狀模型、關系模型,這三種數據模型的區(qū)別在于數據結構不同,即實體之間聯系的表示方式不同。

層次模型用“樹結構”來表示實體之間的聯系;網狀模型是用“圖結構”來表示實體之間的聯系;關系模型是用“二維表”來表示實體之間的聯系。關系模型建立在嚴格的數學概念基礎上,結構簡單、清晰,因此是數據模型的主流。1.5關系數據庫1.5.1關系模型和基本術語

1、關系模型關系模型的數據結構是一個“二維表框架”組成的集合,每個二維表又可稱為關系,由行和列組成。

2、關系術語(1)關系

一個關系就是一張二維表。(2)元組表中第二行開始的每一行稱為“元組”,即通常所說的“記錄”,是構成關系的一個個實體。所以說,“關系”是“元組”的集合,“元組”是屬性值的集合,一個關系模型中的數據就是這樣逐行逐列組織起來的。

(3)屬性二維表中的一列即為一個屬性,又稱為字段,第一行列出的是屬性名(字段名)。

(4)域屬性的取值范圍。

(5)分量元組中的一個屬性值。關系模型要求關系必須是規(guī)范化的,最基本的條件就是,關系的每一個分量必須是一個不可分的數據項,即不允許表中還有表。(6)關系模式對關系的描述,一般表示為:關系名(屬性1,屬性2,…,屬性n)(7)關系數據庫對應于一個關系模型的所有關系的集合稱為關系數據庫。(8)候選關鍵字關系中的某個屬性組(一個或幾個屬性的集合),它可以唯一標識一個元組,這個屬性組稱為候選關鍵字。(9)主關鍵字一個關系中有多個侯選關鍵字,可以選擇其中一個作為主關鍵字,也稱為主碼或主鍵。(10)外部關鍵字如果一個屬性組不是所在關系的關鍵字,但是是其他關系的關鍵字,則該屬性組稱為外部關鍵字,也稱為外碼或外鍵。(11)主屬性包含在任一候選關鍵字中的屬性稱為主屬性。1.5.2關系的數學定義

1、域域是一組具有相同數據類型的值的集合。例如教師職稱的集合{助教,講師,副教授,教授}就是一個域。2、笛卡兒積D1,D2,…,Dn為一組域,那么D1,D2,…,Dn的笛卡兒積為:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di

,i=1,2,…,n}

其中每一個元素(d1,d2,…,dn)叫做一個n元組或簡稱元組,元組中的每一個值di叫做一個分量。例如設:

D1={張三,李四,王五,趙六}D2={講師,教授}則D1×D2={(張三,講師),(張三,教授),(李四,講師),(李四,教授),(王五,講師),(王五,教授),(趙六,講師),(趙六,教授)}

笛卡兒積實際上就是一張二維表。3、關系定義笛卡兒積D1×D2×…×Dn的任何一個子集稱為D1,D2,…,Dn上的一個n元關系。關系是笛卡兒積的有限子集,所以關系也是一個二維表。4、關系的性質

關系是一個二維表,但并不是所有的二維表都是關系。關系應具有以下性質:(1)每一列中的分量是同一類型的數據,來自同一個域。(2)不同的列要給予不同的屬性名。(3)列的順序無所謂,即列的次序可以任意交換。(4)任意兩個元組不能完全相同。(5)行的順序無所謂,即行的次序可以任意交換。(6)每一個分量都必須是不可分的數據項。教師編號姓名性別工作時間01張樂男1969-11-1010趙希明女1983-1-2511李小平男1963-5-1912王新女1967-12-31.5.3關系模型的完整性約束

關系模型的完整性約束包括實體完整性、參照完整性和用戶定義完整性。其中實體完整性和參照完整性統(tǒng)稱為關系完整性規(guī)則,是對關系主鍵和外鍵的約束條件。1、實體完整性實體完整性規(guī)則:若屬性A是基本關系R的主屬性,則屬性A不能取空值。例如有學生關系:學生(學號,姓名,性別,班級)其中學號是主關鍵字,因此不能為空值,不能有重復值。再例如有學生選課關系:學生選課(學號,課程編號,學年,學期,成績)其中學號和課程編號共同構成主關鍵字,因此學號和課程編號都不能為空值,而且學號和課程編號這個整體不能有重復值。教師編號姓名性別工作時間01張樂男1969-11-1010趙希明女1983-1-2511李小平男1963-5-1912王新女1967-12-32、參照完整性參照完整性規(guī)則:若屬性(或屬性組)F是基本關系R的外鍵,它與關系S的主關鍵字K相對應,則對于關系R中每個元組在F上的值必須為:或者取空值(F的每個屬性值均為空值);或者等于S中某個元組的主關鍵字的值。

例如:學院代碼是學院表的主鍵、系部表的外鍵。系部表中的學院代碼必須是學院表中一個存在的值,或者是空值。3、用戶定義的完整性實體完整性和參照完整性是關系數據模型必須要滿足的,而用戶定義的完整性是與應用密切相關的數據完整性的約束,不是關系數據模型本身所要求的。它的作用就是要保證數據庫中數據的正確性,例如限定屬性的取值范圍,學生成績的取值必須在0~100,學院代碼的取值必須在00~99。1.6關系代數關系代數是一種抽象的查詢語言,是關系數據操縱語言的一種傳統(tǒng)表達方式,它是用對關系的運算來表達查詢要求的。關系代數的運算對象是關系,運算結果也是關系。關系代數的運算可以分為兩大類:傳統(tǒng)的集合運算和專門的關系運算。1.6.1傳統(tǒng)的集合運算

設R和S均是n元關系(元數相同),且兩個關系屬性的性質相同。下面以教師A(如表1-5)和教師B(如表1-6)兩個關系為例,來說明傳統(tǒng)的集合運算:并運算、交運算和差運算。教師編號姓名性別工作時間01張樂男1969-11-1010趙希明女1983-1-2511李小平男1963-5-19教師編號姓名性別工作時間11李小平男1963-5-1930沈核男1957-10-1931李龍吟男1990-5-261、并運算兩個關系的并運算可以記作R∪S,運算結果是將兩個關系的所有元組組成一個新的關系,若有完全相同的元組,只留下一個。教師編號姓名性別工作時間01張樂男1969-11-1010趙希明女1983-1-2511李小平男1963-5-1930沈核男1957-10-1931李龍吟男1990-5-262、交運算兩個關系的交運算可以記作R∩S,運算結果是兩個關系中公共元組組成一個新的關系。

教師編號姓名性別工作時間11李小平男1963-5-193、差運算兩個關系的差運算可以記作R-S,運算結果是由屬于R,但不屬于S的元組組成一個新的關系。教師編號姓名性別工作時間01張樂男1969-11-1010趙希明女1983-1-254、集合的廣義笛卡兒積運算設R和S是兩個關系,如果R是m元關系,有i個元組,S是n元關系,有j個元組,則笛卡兒積R×S是一個m+n元關系,有i×j個元組。學號姓名0302010115張智軍0302010129梁宵課程名稱學時高級語言程序設計68高等數學68學號姓名課程名稱學時0302010115張智軍高級語言程序設計680302010115張智軍高等數學680302010129梁宵高級語言程序設計680302010129梁宵高等數學681.6.2專門的關系運算

在關系代數中,有4種專門的關系運算:選擇、投影、連接和除運算。1、選擇運算從指定的關系中選擇出滿足指定條件的元組組成一個新關系,通常選擇運算符記作:

σ<條件表達式>(R),其中,σ是選擇運算符,R是關系名。例如選出性別為“男”的教師名單,可以記成:σ性別=[男](教師A)2、投影運算從指定關

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論