資料庫原理學習筆記——引言
最近開始學習資料庫系統原理這門課程,既然是資料庫系統原理,顧名思義,就是對資料進行管理操作的知識,那麼什麼是資料呢?
資料,我個人的直接理解就是 一系列有意義的符號,作用就是傳遞資訊。後來我查閱一些資料,感覺以前的理解只是狹義上的理解。廣義的理解,資料種類很多,文字(text)、圖形(graph)、影像(Image)、音訊(Audio)、視訊(Video)等等。資料有多種表現形式,但凡是能描述現實世界的東西,就是資料。資料都可以數字化後存入計算機。
學習資料庫相關的知識就是為了更高效的管理資料(資料管理是指對資料進行分類、組織、編碼、儲存、檢索和維護,它是資料處理的中心。),那麼資料的管理技術發展是怎樣的呢?
在沒有計算機的時候,人們對於資料的管理究竟是怎樣的我不清楚。我在沒有接觸計算機的時候,學習知識時候做筆記,不同的科目用不同的筆記本,重要的地方就摺頁(檢索方便)。即:我學習到的知識(資訊)就通過文字(資料)儲存在了我不同的(分類)筆記本上。當然,現在的資料管理是使用計算機。繼續糾纏下去沒有計算機時候怎麼管理資料也沒有什麼意義。隨著計算機技術的發展,資料管理技術大致可分為以下三個階段。(引用網路資料)
一、人工管理階段。這一階段(20世紀50年代中期以前),計算機主要用於科學計算。外部儲存器只有磁帶、卡片和紙帶等還沒有磁碟等直接存取儲存裝置。軟體只有組合語言,尚無資料管理方面的軟體。資料處理方式基本是批處理。這個階段有如下幾個特點: 1.計算機系統不提供對使用者資料的管理功能。使用者編制程式時,必須全面考慮好相關的資料,包括資料的定義、儲存結構以及存取方法等。程式和資料是一個不可分割的整體。資料脫離了程式就無任何存在的價值,資料無獨立性。 2.資料不能共享。不同的程式均有各自的資料,這些資料對不同的程式通常是不相同的,不可共享;即使不同的程式使用了相同的一組資料,這些資料也不能共享,程式中仍然需要各自加人這組資料,誰也不能省略。基於這種資料的不可共享性,必然導致程式與程式之間存在大量的重複資料,浪費了儲存空間。 3.不單獨儲存資料。基於資料與程式是一個整體,資料只為本程式所使用,資料只有與相應的程式一起儲存才有價值,否則就毫無用處。所以,所有程式的資料均不單獨儲存。 二、檔案系統階段。在這一階段(20世紀50年代後期至60年代中期)計算機不僅用於科學計算,還利用在資訊管理方面。隨著資料量的增加,資料的儲存、檢索和維護問題成為緊迫的需要,資料結構和資料管理技術迅速發展起來。此時,外部儲存器已有磁碟、磁鼓等直接存取的儲存裝置。軟體領域出現了作業系統和高階軟體。作業系統中的檔案系統是專門管理外存的資料管理軟體,檔案是作業系統管理的重要資源之一。資料處理方式有批處理,也有聯機實時處理。這個階段有如下幾個特點: 1.資料以“檔案”形式可長期儲存在外部儲存器的磁碟上。由於計算機的應用轉向資訊管理,因此對檔案要進行大量的查詢、修改和插人等操作。 2.資料的邏輯結構與物理結構有了區別,但比較簡單。程式與資料之間具有“裝置獨立性”,即程式只需用檔名就可與資料打交道,不必關心資料的物理位置。由作業系統的檔案系統提供存取方法(讀/寫)。 3.檔案組織已多樣化。有索引檔案、連結檔案和直接存取檔案等。但檔案之間相互獨立、缺乏聯絡。資料之間的聯絡要通過程式去構造。 4.資料不再屬於某個特定的程式,可以重複使用,即資料面向應用。但是檔案結構的設計仍然是基於特定的用途,程式基於特定的物理結構和存取方法,因此程式與資料結構之間的依賴關係並未根本改變。 5.對資料的操作以記錄為單位。這是由於檔案中只儲存資料,不儲存檔案記錄的結構描述資訊。檔案的建立、存取、查詢、插人、刪除、修改等所有操作,都要用程式來實現。 隨著資料管理規模的擴大,資料量急劇增加,檔案系統顯露出一些缺陷: 1.資料冗餘。由於檔案之間缺乏聯絡,造成每個應用程式都有對應的檔案,有可能同樣的資料在多個檔案中重複儲存。 2.不一致性。這往往是由資料冗餘造成的,在進行更新操作時,稍不謹慎,就可能使同樣的資料在不同的檔案中不一樣。 3.資料聯絡弱。這是由於檔案之間相互獨立,缺乏聯絡造成的。 檔案系統階段是資料管理技術發展中的一個重要階段。在這一階段中,得到充分發展的資料結構和演算法豐富了電腦科學,為資料管理技術的進一步發展打下了基礎,現在仍是計算機軟體科學的重要基礎。 三、資料系統階段 這一階段(60年代後期),資料管理技術進入資料庫系統階段。資料庫系統克服了檔案系統的缺陷,提供了對資料更高階、更有效的管理。這個階段的程式和資料的聯絡通過資料庫管理系統來實現(DBMS),見圖1.1.14所示。 概括起來,資料庫系統階段的資料管理具有以下特點: 1.採用資料模型表示複雜的資料結構。資料模型不僅描述資料本身的特徵,還要描述資料之間的聯絡,這種聯絡通過存取路徑實現。通過所有存取路徑表示自 然的資料聯絡是資料庫與傳統檔案的根本區別。這樣,資料不再面向特定的某個或多個應用,而是面向整個應用系統。資料冗餘明顯減少,實現了資料共享。 2.有較高的資料獨立性。資料的邏輯結構與物理結構之間的差別可以很大。使用者以簡單的邏輯結構運算元據而無需考慮資料的物理結構。資料庫的結構分成用 戶的區域性邏輯結構、資料庫的整體邏輯結構和物理結構三級。使用者(應用程式或終端使用者)的資料和外存中的資料之間轉換由資料庫管理系統實現。 3.資料庫系統為使用者提供了方便的使用者介面。使用者可以使用查詢語言或終端命令運算元據庫,也可以用程式方式(如用C一類高階語言和資料庫語言聯合編制的程式)運算元據庫。 4.資料庫系統提供了資料控制功能。例如,1。資料庫的併發控制:對程式的併發操作加以控制,防止資料庫被破壞,杜絕提供給使用者不正確的資料;2。數 據庫的恢復:在資料庫被破壞或資料不可靠時,系統有能力把資料庫恢復到最近某個正確狀態;3。資料完整性:保證資料庫中資料始終是正確的;4。資料安全 性:保證資料的安全,防止資料的丟失、破壞。 5.增加了系統的靈活性。對資料的操作不一定以記錄為單位,可以以資料項為單位。 |
瞭解了一下資料管理的發展,那麼我們現階段所處的是資料庫系統階段,那麼就得先了解一下什麼是資料庫。
資料庫(database(DB)),個人簡單理解為:一些相關資料按照一定格式存放在計算機上的資料的集合。
那麼通過什麼手段來儲存和檢索等這些資料呢,這就要資料庫管理系統(DatabaseManagement System)大展身手了。
資料庫管理系統(Database ManagementSystem):一個軟體而已,只不過這個軟體的主要作用就是用來管理資料庫。一些特點什麼的不再細說。
那麼好了,誰來直接操縱我們的資料庫管理系統呢。當然,不能隨便在大街上隨便拉個人就讓他來管理,這個人必須有著豐富的知識*****(省略一萬字讚美),那麼這人就是DBA。哈哈
這下好了,資料庫也有了,資料庫管理系統也有了,資料庫管理員也有了,那麼這就構成了資料庫系統(Database System)DBS。其實DBS包含的範圍很廣,記得我在學習的時候曾看到過這樣的描述,說說DBS包含了DB、DBA、OS等。引用《資料庫系統概論》上的:資料庫系統是一些相互關聯的資料以及一組使得使用者可以訪問和修改這些資料的程式的集合。我個人對於究竟什麼是資料庫系統也是很混亂,不知道該怎麼描述。看張圖吧。
有了資料庫系統,那麼資料庫系統的應用有哪些呢?其實應用非常之廣泛,下面簡單提一下。
資料庫很重要的一個目的就是給使用者提供一個抽象檢視。即:系統隱藏關於資料和儲存的某些細節。
為了高效檢索資料,就必須使用複雜的資料結構表示資料,但是這不爽了。並非人人專業學習過計算機相關知識,那麼就需要如下圖所示幾個層次的資料抽象。資料抽象的目的就是對於使用者遮蔽複雜性。個層保持獨立性。
下面再來談談例項(instance)和模式(schema)。
其實例項就是在特定時刻儲存在資料庫找中的資訊的集合。而資料庫的總體設計稱為模式。
那麼根據上面的不同的抽象層次,面對不同的抽象層次,與之也有對應的模式。
1.物理模式————>物理層
2.邏輯模式————>邏輯層
3.子模式 ————>檢視層
相關文章
- 資料庫學習筆記資料庫筆記
- MySQL資料庫學習筆記MySql資料庫筆記
- 資料庫mysql學習筆記記錄資料庫MySql筆記
- Redis學習筆記(七) 資料庫Redis筆記資料庫
- 達夢資料庫學習筆記資料庫筆記
- python學習筆記:資料庫Python筆記資料庫
- swoft 學習筆記之資料庫操作筆記資料庫
- 1029學習筆記 資料庫筆記資料庫
- Java學習筆記--資料庫初識Java筆記資料庫
- 資料庫學習筆記1(資料管理歷史)資料庫筆記
- 資料庫學習筆記——20 使用遊標資料庫筆記
- 資料庫學習筆記之查詢表資料庫筆記
- Activiti學習筆記一:建立資料庫表筆記資料庫
- 08年在大學學習資料庫的筆記資料庫筆記
- 資料庫的正規化學習筆記資料庫筆記
- AQS原理學習筆記AQS筆記
- synchronized原理學習筆記synchronized筆記
- 資料庫學習與複習筆記--資料庫概念和不同類資料庫CRUD操作(1)資料庫筆記
- 深度學習引言深度學習
- 飛機的 PHP 學習筆記八:資料庫PHP筆記資料庫
- MySQL學習筆記-使用Navicat操作MySQL資料庫MySql筆記資料庫
- 資料庫學習筆記 - MySQL基礎知識資料庫筆記MySql
- 資料庫學習筆記(四)2017.9.19資料庫筆記
- Symfony2學習筆記之資料庫操作筆記資料庫
- 規劃關聯式資料庫學習筆記資料庫筆記
- 《Python入門與資料科學庫》學習筆記Python資料科學筆記
- 《資料庫系統原理》課程筆記資料庫筆記
- 容斥原理學習筆記筆記
- oracle 原理學習筆記(一)Oracle筆記
- MySQL資料庫學習筆記02(事務控制,資料查詢)MySql資料庫筆記
- 飛機的 PHP 學習筆記之資料庫篇PHP筆記資料庫
- orientDB學習筆記(三)資料庫 構架設計筆記資料庫
- ODBC資料庫連線------java學習筆記之3資料庫Java筆記
- PHP 資料加密 (學習筆記)PHP加密筆記
- 大資料學習筆記(四)大資料筆記
- 大資料學習筆記(五)大資料筆記
- 大資料學習筆記(六)大資料筆記
- 資料結構學習筆記資料結構筆記