數據庫基礎知識數據庫復習材料_第1頁
數據庫基礎知識數據庫復習材料_第2頁
數據庫基礎知識數據庫復習材料_第3頁
數據庫基礎知識數據庫復習材料_第4頁
數據庫基礎知識數據庫復習材料_第5頁
已閱讀5頁,還剩27頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1.1數據庫基本概念1.1.1數據庫數據(Data)數據是描述現實世界事物的符號記錄,是用物理符號記錄的可以鑒別的信息。包括文字、圖形、聲音等,他們都是用來描述事物特性的。

數據處理數據處理是對各種類型的數據進行收集、存儲、分類、計算、加工、檢索與傳輸的過程。包括:收集原始數據、編碼轉換、數據輸入、數據處理、數據輸出等。數據庫(DataBase,簡記為DB)數據庫是長期存儲在計算機內、有組織的、可共享的數據集合。這種集合具有如下特點:最小的冗余度應用程序對數據資源共享數據獨立性高統一管理和控制返回首頁1.1數據庫基本概念1.1.2數據庫系統數據庫應用系統

數據庫應用系統是指系統開發人員利用數據庫系統資源開發出來的,面向某一類實際應用的應用軟件系統。例如:財務管理系統,人事管理系統等等。

數據庫管理系統(DBMS)數據庫管理系統是位于用戶與操作系統之間的一個數據管理軟件,它的基本功能包括以下幾個方面:數據定義功能用戶通過數據定義語言對數據庫中的數據對象進行定義。數據操縱功能用戶可以使用數據操縱語言操縱數據,如查詢、插入、刪除和修改。數據庫的運行管理功能數據庫在建立、運行和維護時由數據庫管理系統統一管理和控制。數據庫的建立和維護功能它包括數據庫初始數據的輸入、轉換功能,數據庫的轉儲、恢復功能等。返回首頁1.1數據庫基本概念

數據庫系統的組成

數據庫系統由5部分組成:硬件系統、數據庫集合、數據庫管理系統、應用系統和人員。其中,人員包括:數據庫管理員、系統分析員、數據庫設計員、應用程序員和最終用戶等。其中,數據庫管理員是對數據庫進行規劃、設計、維護、監視等的專業人員。

用戶數據庫管理員操作系統應用系統數據庫管理系統應用開發工具用戶用戶數據庫返回首頁1.1數據庫基本概念

數據庫系統的結構

數據庫系統在總體結構上一般都體現為三級模式的結構特征,即外模式、模式和內模式,分別反映了看待數據庫的3個角度。

■模式Schema):又稱概念模式或邏輯模式,是數據庫中全體數據的邏輯結構和特征的描述。

■外模式(ExternalSchema):也稱子模式或用戶模式,是數據庫用戶看見和使用的局部數據的邏輯結構和特征的描述。

■內模式(InternalSchema)又叫做存儲模式,是數據在數據庫系統中的內部表示,即數據的物理結構和存儲方式的描述。如果把一個話劇團看作一個數據庫系統,那么,所有演員的集合就是它的模式,它不同于其他話劇團;觀眾看到的某一場話劇的演員為外模式,它只是全體演員即模式的子集;演員的住宿方式就是內模式了,它表述了演員的物理存在形式返回首頁1.1數據庫基本概念

三級模式之間的關系

數據庫系統在三級模式中提供了兩次映像:外模式到模式的映像和模式到內模式的映像,而這兩次映像就實現了數據庫中數據兩個層次的獨立性,即物理獨立性和邏輯獨立性。數據庫模式外模式1內模式外模式2外模式3應用1應用2應用3應用4應用5模式/內模式映象模式/外模式映象返回首頁1.1數據庫基本概念1.1.3數據庫技術的發展

數據管理技術的發展經歷了人工管理、文件系統和數據庫系統3個階段。人工管理階段這一階段是指20世紀50年代中期以前,計算機主要用于科學計算,當時的計算機硬件狀況是:外存只有磁帶、卡片、紙帶,沒有磁盤等直接存取的存儲設備;軟件狀況是:沒有操作系統,沒有管理數據的軟件,數據處理方式是批處理。人工管理階段的特點是:數據不保存、數據無專門軟件進行管理、數據不共享、數據不具有獨立性、數據無結構。文件系統階段這一階段從20世紀50年代后期到60年代中期,計算機硬件和軟件都有了一定的發展。計算機不僅用于科學計算,還大量用于管理。這時硬件方面已經有了磁盤、磁鼓等直接存取的存儲設備。在軟件方面,操作系統中已經有了數據管理軟件,一般稱為文件系統。處理方式上不僅有了文件批處理,而且能夠聯機實時處理返回首頁1.1數據庫基本概念數據庫系統階段

20世紀60年代末數據管理進入新時代——數據庫系統階段。數據庫系統階段出現了統一管理數據的專門軟件系統,即數據庫管理系統。數據庫系統是一種較完善的高級數據管理方式,也是當今數據管理的主要方式,獲得了廣泛的應用。

分布式數據庫系統階段分布式數據庫系統是由若干個站集合而成。這些站又稱為節點,它們在通訊網絡中聯接在一起,每個節點都是一個獨立的數據庫系統,它們都擁有各自的數據庫、中央處理機、終端,以及各自的局部數據庫管理系統。因此分布式數據庫系統可以看作是一系列集中式數據庫系統的聯合。它們在邏輯上屬于同一系統,但在物理結構上是分布式的。

面向對象數據庫系統

面向對象編程(ObjectOrientedProgramming,OOP,面向對象程序設計)是一種計算機編程架構。OOP的一條基本原則是計算機程序是由單個能夠起到子程序作用的單元或對象組合而成。OOP達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。面向對象數據庫吸收了面向對象程序設計方法的核心概念和基本思想,采用面向對象的觀點來描述現實世界實體(對象)的邏輯組織、對象之間的限制和聯系等

。返回首頁1.2數據庫管理的實現1.2.1三個世界的轉化現實世界數據庫管理的對象存在于現實世界中,現實世界中的事物存在著各種各樣的聯系。這種聯系是客觀存在的,是由事物本身的性質決定的。例如,學??紕展芾硐到y中有老師、學生、課程、教室等構成元素。概念世界概念世界也叫做信息世界,是現實世界在人們頭腦中的反映,是對客觀事物及其聯系的一種抽象描述。從現實世界到概念世界是通過概念模型來表達的。如對學生的描述可分為:學號、姓名、班級、籍貫、性別等概念。數據世界存入計算機系統的數據是將概念世界中的事物數據化的結果。為準確地反映事物本身及事物之間的各種聯系,數據庫中的數據一定存在一個結構,數據模型可用來準確描述這種結構。在實現數據庫管理,也就是三個世界的轉化過程中,概念模型和數據模型是實現現實世界數據化的橋梁,是對現實世界中的事物進行抽象的工具。

返回首頁1.2數據庫管理的實現

三個世界的轉化過程示意圖

返回首頁1.2數據庫管理的實現1.2.2

數據模型

模型概念模型(model):一般而言,模型是現實世界某些特征的模擬和抽象,分為實物模型與抽象模型。建筑模型,汽車模型,飛機模型等都是實物模型,它們通常是客觀事物的某些外觀特征或者功能的模擬與刻畫;數學模型s=πr2是一種抽象模型,它抽象描述了園的面積和園的半徑之間的數量關系,揭示客觀事物的某些本質的、內部的特征。數據模型在實現數據庫管理的過程中,數據模型起著關鍵作用。整個數據庫技術的發展就是沿著數據模型的主線展開的?,F有的數據庫均是基于某種數據模型,了解數據模型的基本概念是學習數據庫的基礎。根據模型應用的不同目的,可以將這些模型劃分為兩類,他們分屬于兩個不同的層次。第一類模型是概念模型,也稱信息模型。它是按用戶的觀點來對數據和信息建模,主要用于數據庫設計。另一類模型是數據模型,主要包括網狀模型、層次模型、關系模型等,它是按計算機系統的觀點對數據建模,主要用于DBMS的實現,這種數據模型也叫結構數據模型。返回首頁1.2數據庫管理的實現數據模型的要素:數據結構數據結構是所研究的對象類型的集合,這些對象是數據庫的組成成分,它們包括兩類,一類是與數據類型、內容、性質有關的對象;一類是與數據之間聯系有關的對象。數據操作數據操作是指對數據庫中各種對象的(型)的實例(值)允許執行的操作的集合,包括操作及有關的操作規則。數據庫主要有檢索和更新(包括插入、刪除、修改)兩大類操作,數據模型必須定義這些操作的確切含義、操作符號、操作規則(如優先級)以及實現操作的語言。數據操作是對系統動態特性的描述。數據的約束條件數據約束條件是一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。如:入學年齡不超過30歲,成績不得有三門以上不及格等。返回首頁1.2數據庫管理的實現1.2.3概念模型概念模型的相關概念(1)實體(Entity):客觀存在并相互區別的事物及其事物之間的聯系。例如,一個學生、一門課程、學生的一次選課、一次考試等都是實體。(2)屬性(Attribute):實體所具有的某一特性。例如,學生的學號、姓名、性別、出生年份、系、入學時間等。(3)碼(Key):唯一標示實體的屬性集。例如,學號是學生實體的碼。(4)域(Domain):屬性的取值范圍。例如,年齡的域為15至35之間。(5)實體型(EntityType):用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,學生(學號,姓名,性別,出生年份,系,入學時間)就是一個實體型。(6)實體集(EntitySet):同型實體的集合稱為實體集。如,全體學生就是一個實體集。(7)聯系(Relationship):實體與實體之間以及實體與組成它的各屬性間的關系。返回首頁1.2數據庫管理的實現實體間聯系的三種情況(1)一對一聯系(1:1)如果對于實體集A中的每一個實體,實體集B中至少有一個(也可以沒有)實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1:1。例如,一個學生只能有一個學號,而一個學號只能指向一個學生,則學生與學號之間具有一對一聯系。(2)一對多聯系(1:n)如果對于實體集A中的每一個實體,實體集B中有個n實體(n≥0)之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B有一對多聯系,記為1:n。例如,一個班級中有若干名學生,而每個學生只在一個班級中學習,則班級與學生之間具有一對多聯系。(3)多對多聯系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯系,則稱實體集A與實體集B具有多對多聯系,記為m:n。例如,一門課程同時有若干個學生選修,而一個學生可以同時選修多門課程,則課程與學生之間具有多對多聯系。

注意:實際上,一對一聯系是一對多聯系的特例,而一對多聯系又是多對多聯系的特例。

返回首頁1.2數據庫管理的實現概念模型的表示方法概念模型的表示方法很多,最常用的是實體—聯系方法。該方法用E-R(Entity—RelationshipApproch)圖來描述現實世界的概念模型。E-R圖提供了表示實體型、屬性和聯系的方法。E-R圖有三個要素:(1)實體型:用矩形表示,矩形框內寫明實體名。(2)屬性:用橢圓形表示,并用無向邊將其與相應的實體連接起來。(3)聯系:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1,1:n或m:n)。。返回首頁1.2數據庫管理的實現返回首頁1.2數據庫管理的實現1.2.4數據模型這里講的數據模型是在概念級的模型(概念模型)的基礎上形成的,為計算機上某一DBMS支持的數據模型。本書主要介紹前三種模型。層次模型若用圖來表示,層次模型是一棵倒立的樹。在數據庫中,滿足以下條件的數據模型稱為層次模型:①有且僅有一個結點無父結點,這個結點稱為根結點;②其他結點有且僅有一個父結點。返回首頁1.2數據庫管理的實現網狀模型

在現實世界中,事物之間的聯系更多的是非層次關系的,用層次模型表示非樹型結構是很不直接的,網狀模型則可以克服這一弊病。網狀模型是一個網絡。在數據庫中,滿足以下兩個條件的數據模型稱為網狀模型。①允許一個以上的結點無父結點;②一個結點可以有多于一個的父結點。從以上定義看出,網狀模型構成了比層次結構復雜的網狀結構,適宜表示多對多的聯系。網狀模型和網頁上的“超鏈接數據”模式有類似之處。返回首頁1.2數據庫管理的實現關系模型

以二維表的形式表示實體和實體之間聯系的數據模型稱為關系數據模型。從模型的三要素角度看,關系模型的內容為:數據結構:一張二維表格。數據操作:數據表的定義,檢索、維護、計算等。數據約束條件:表中列的取值范圍即域值的限制條件。關系模型的幾個常見概念:(1)關系:一個關系就是一張二維表,每個關系都有一個關系名,即數據表名。(2)元組:表中的行稱為元組,一行就是一個元組,對應表中一條記錄。(3)屬性:表中的列稱為屬性,即字段。字段名稱為屬性名,字段值稱為屬性值。(4)域:屬性的取值范圍,如,分數在0~100之間。(5)關鍵字:表中的一個屬性(組),它的值可以唯一地標志一個元組。如:學號。(6)候選碼:表中的某一個屬性,它的值可以唯一地標志一個元組。一個表中可能有多個候選碼,選擇一個作為主鍵,主鍵的屬性稱為主屬性。(7)外關鍵字:如果一個關系中的屬性或屬性組并非該關系的關鍵字,但它們是另外一個關系的關鍵字,則稱其為該關系的外關鍵字。返回首頁1.2數據庫管理的實現返回首頁1.2數據庫管理的實現關系模型的完整性

關系模型對數據一般都具有一定的限制,這種限制稱為完整性或完整性約束。關系模型的完整性是保證關系數據表正確的關鍵。關系模型支持實體完整性約束、參照完整性約束和域約束3種完整性約束。(1)實體完整性約束假設A是一個表R的主鍵,則A不能接收空值,即單列主鍵的值不能為空,復合主鍵的任何列也不能接收空值。例如,在學生信息表中,“學號”為該表的主鍵,那么在數據庫的任何記錄中,“學號”列的值都不能為空。這樣的約束稱為實體完整性約束。(2)參照完整性約束參照完整性約束關心的是邏輯相關的表中值與值之間的關系。假設X是一個表A的主鍵,在表B中是外鍵,那么若K是表B中一個外部鍵值,則表A中必然存在在X上的值為K的記錄。例如,“系編碼”是院系信息表的主鍵,而在學生信息表中是相對于院系信息表的外鍵(學生信息表中的主關鍵字是由“學號”和“系編碼”組合而成),對于學生信息表的任何記錄,其所包含的“系編碼”的值,在院系信息表的“系編碼”列中必然存在一個相同的值。這樣的約束稱為參照完整性約束。

返回首頁1.2數據庫管理的實現(3)域約束域是邏輯相關的值的集合,從域中可以得出特定列的值。例如,在學生信息表中:●“出生日期”域的值必須按照特定的統一格式存放,而不能有時用:1986.12.23格式,有時用:12/23/1986格式,造成數據混亂;●“學生名字”、“院系名稱”等域的值必須屬于字符集合;●對于“性別”,該域中的值必須局限于男、女等。

返回首頁1.2數據庫管理的實現1.2.5關系運算關系的基本運算有兩類:傳統的集合運算和專門的關系運算。

傳統的集合運算(1)并(Union):設有兩個關系R和S,它們具有相同的結構。R和S的并是由屬于R或屬于S的元組組成的集合,運算符為∪。例如:設每個班有一個學生關系R1,R2,R3,…則全校學生關系T是:

T=R1∪R2∪R3∪…(2)差(Difference):設有兩個關系R和S,它們具有相同的結構。R和S的差是由屬于R但不屬于S的元組組成的集合。運算符為-。例如:設有參加計算機小組的學生關系R,參加橋牌小組的學生關系S。求參加了計算機

小組但沒有參加橋牌小組的學生。結果放在關系T1中,則T1=R-S。(3)交(Intersection):設有兩個關系R和S,它們具有相同的結構。R和S的交是由既屬于R又屬于S的元組組成的集合,運算符為∩。交運算的結果是R和S的共同元組。例如:設有參加計算機小組的學生關系R,參加橋牌小組的學生關系S。求既參加了計算機小組又參加橋牌小組的學生。結果放在關系T2中,則T2=R∩S。關系的交可以用關系的差來表示。即R∩S=R-(R–S),所以,上式也可以寫成:T2=R-(R–S)。返回首頁1.2數據庫管理的實現專門的關系運算(1)選擇(Selection):按照給定條件從指定的關系中挑選出滿足條件的元組構成新的關系,其關系模式不變,但其中元組的數目小于等于原來的關系中元組的個數,它是原關系的一個子集。這是從行的角度進行的運算,即水平方向抽取元組。

(2)投影(projection):從指定的關系中挑選出某些屬性構成新的關系,其關系模式所包含的屬性個數往往比原關系少,或者屬性的排列順序不同。投影的結果將取消由于取消了某些列而產生的重復元組。例如:設有讀者關系,讀者(借書證號,姓名,性別,單位,職稱,地址)。按照單位在前,姓名在后的次序列出讀者名單。此運算結果包括元組數目不變,但減少了列的數目,同時改變了列的顯示順序(3)聯接(join):聯接是將兩個和多個關系模式通過公共的屬性名拼接成一個更寬的關系模式,生成的新關系包含滿足聯接條件的元組。例如:設有三個關系:學生(學號,姓名,所在系,性別,現住址);課程(課程號,課程名,學分);選修(學號,課程號,成績)。若想查詢成績90分以上的學生姓名。聯接結果包括學生、課程、選修三個關系中屬性的并集。自然聯接:是去掉重復屬性的等值連接。它屬于聯接運算的一個特例返回首頁1.3關系數據庫設計1.3.1數據庫設計方法手工試湊法數據庫的設計水平和與設計人員的經驗有直接關系。數據庫設計只是一種經驗的反復實施,而不能稱為是一門科學,缺乏科學分析理論基礎和工程手段的支持,所以設計質量很難保證。規范設計法主要是將設計的步驟分為:需求分析、概念設計、邏輯設計和物理設計等幾個步驟,并采用了許多規范化的手段和工具完成每個階段的任務。比如基于E-R模型的數據庫設計方法,基于3NF(第三范式)的設計方法,基于抽象語法規則的設計方法等,就是在數據庫設計的各個過程中采用的具體的技術與方法。

注意:規范設計法仍舊是一種手工方法。對于大型的項目,規范化是必須遵循的設計思想。返回首頁1.3關系數據庫設計1.3.2數據庫設計步驟

按照規范化的設計方法,數據庫設計步驟分為六個階段,這個過程也叫數據庫的生命周期。

需求分析:這個階段的工作是要充分調查研究,了解用戶需求概念結構設計:概念結構是整個系統的信息結構。它是現實世界的真實反映,包括實體與實體之間的關系。邏輯結構設計:這個階段的任務是將概念結構轉換成與所選用的DBMS所支持的數據模型相符合的過程。物理結構設計:這個階段的任務是為一個給定的邏輯數據模型選取一個合適的物理結構,并對物理結構進行評價。

返回首頁1.3關系數據庫設計物理結構設計:這個階段的任務是為一個給定的邏輯數據模型選取一個合適的物理結構,并對物理結構進行評價。編碼測試:進入這個階段后,就要按照邏輯設計和物理設計的結果利用DBMS的數據定義語言把數據庫描述出來個階段運行維護:。試運行的主要工作是檢查應用程序的功能,測量系統的性能指標,在物理設計階段所做的評估是否正確,此時可以得到檢驗。返回首頁1.3關系數據庫設計1.3.3數據庫設計規范范式的概念

:規范化是數據庫設計中的一個重要過程,可以通過它來剔除數據庫中冗余的數據。EF–Codd在1971年提出規范化理論,他和后來的研究人員為數據庫結構定義了五種規范化模式,簡稱范式。規范化的優點:

◆大大減少了數據冗余◆改進了數據庫

溫馨提示

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

評論

0/150

提交評論