使用資料庫可以高效且條理分明地儲存數據,使人們能夠更加迅速,方便地管理數據。資料庫有以下特點:
1、可結構化儲存大量的資料訊息,方便使用者進行有效的檢索與存取。
2、可有效維持資料資訊的一致性、完整性,並降低資料冗餘。
3、可滿足應用的共享和安全方面的要求。
資料庫的基本概念:
1、資料:描述事物的符號記錄成為資料(Data)包括數位、文字、圖形、影像、聲音、檔案記錄等都是資料。資料以「記錄」形式以統一的格式儲存的。
2、資料庫與資料庫表:表格是用來儲存特定資料的,且資料庫是表格的集合。它是以一定的組織方式儲存的相互的資料集合。例如,關聯式資料庫的表格由記錄組成,記錄有欄位組成,欄位有字元或數字組成。它可以供各種用戶共享,具有最小冗餘度和較高的資料獨立性。它是統一管理的相關數據的集合。
資料庫管理系統(Database Management System,DBMS)是實現對資料庫資源有效組織、管理和存取的系統軟體。它在作業系統的支援下,支援使用者對資料庫的各項操作。 DBMS主要包括:
1、資料庫的建立與維護功能
2、資料定義功能
4.資料庫的運作管理功能 5、通訊功能 資料庫系統( Database System DBS)是一個人一機系統,一般由硬體、作業系統、資料庫、DBMS、應用軟體和資料庫使用者(包括資料庫管理員)所組成。使用者可以透過DBMS操作資料庫,也可以透過應用程式操作資料庫。 應用程式是利用DBMS,為解決某個特定的管理或資料處理的任務而編制的一系列命令的有序集合。如果應用程式比較完善,能夠提供友善的人機介面,並編譯成可執行檔發行,使得一般使用者不需要具備電腦的專業知識,在較短時間就學會使用,那麼就稱為資料庫應用軟體。 資料庫管理員(Database Administrator DBA)負責資料庫的更新備份、資料庫系統的維護使用者管理等工作,確保資料庫系統的正常運作。 DBA一般由業務水準較高、資歷較深的人員擔任。 資料庫發展史根據資料模型的發展,可分為三個階段:第一代的網狀、層次資料庫系統;第二代的關聯式資料庫系統;第三代的以物件導向模型為主要特徵的資料庫系統。 20世紀60年代,層次模型與網狀模型的資料庫系統,資料庫的代表是1969年IBM公司研發的層次模型的資料庫管理系統-IMS(Imformation Management System,資訊管理系統)與1970年代美國資料系統語言協會(CODASYL)下屬資料庫任務小組(DBTG)所提議的網狀模型。 20世紀70年代初,第二代資料庫-關聯式資料庫開始出現。逐漸成為主導的資料庫,成為產業主流。關聯式資料系統將結構化查詢語言(Structured Query Language,SQL)作為資料定義語言(DataDefinition Language,DDL)和資料操作語言(Data Manipulation Language,DML),它一誕生就成為關聯式資料庫的標準語言。 20世紀80年代開始,各種適應不同領域的新型資料庫系統不斷湧現,如工程資料庫、多媒體資料庫、圖形資料庫、智慧資料庫、分散式資料庫及物件導向資料庫等。 經典資料模型 資料是現實世界中「量」的抽象,而資料模型(Data Model)是資料特徵的抽象化。在資料庫系統中,資料模型是它的核心與基礎。資料模型表現為資料的結構、定義在其上的操作及約束條件。它從概念層次描述了系統的靜態特徵、動態特徵和約束條件,為資料庫系統的資訊表示與操作提供了一個抽象框架。 在DBMS的開發過程中,出現了網狀模型、層次模型、關係模型三種經典的資料模型。 資料模型所描述的內容包括三個面向:資料結構、資料操作、資料約束。 網狀模型資料記錄組織成圖的形式,使用「資料結構圖」進行抽象的分析與表示。網狀模型適合表達複雜的資料關係的實現,也可以將資料冗餘減小到最小。它的資料結構模型能直觀反映現實中資料之間的連結。
資料操作
網狀模型的資料操作是建立在關係鏈基礎上的導航式的操作。網狀模型以圖為基礎、
資料限制
網狀模型的資料限制是零散孤立的,或分散在各個節點,或集中成為一種關係鏈,容易導致不一致性或降低效率。通常網狀模型不會具體實現資料約束,而由應用程式本身來實現資料約束。
層次模型
層次模型中,資料記錄組織成樹的形式,使用「樹結構圖」。
資料操作
在層次模型上的資料操作不可避免地具有網狀模型的特徵-導航性。這樣的結構有利於提高資料的查詢效率,但資料存取上還存在著必須導航的要求,因此,層次模型的資料庫在資料操作上依然比較複雜。
資料約束
層次模型的資料限制與網狀模型相似,由於結構的簡化,去掉了網狀模型中多對多和多對一的關係,層次模型的資料約束可以做到適當的系統實現約束可以做到適當的系統實現約束,還是要依靠應用程式本身實現。
層次模型的實現技術比關係模型優越,比網狀模型簡單,所以一直獨領風騷。它的代表是IBM公司的IMS系統。該系統曾是使用最早和最廣的幾個資料庫之一,在歷史上曾是最大的資料庫之一,由於它的開發者是最早開始處理並發、恢復、完整性和高效查詢等問題的人,其中的一些技術和想法自然應用到DB2中,這是DB2長盛不衰的根源。
關係模型
資料結構。關係模型建立在關係代數的理論基礎上,資料結構適用簡單易懂的二維資料表,「實體—關係」(E-R)圖來直接表示,E-R圖中包含了實體(資料物件),關係和屬性三個要素。
實體:也稱為實例,對應現實世界中可區別與其他物件的「事件」或「事物」。
實體集:具有相同類型及共享相同性質的實體集合。
屬性:實體所具有的某一特性,一個實體可以有多個屬性。
聯繫:實體集之間的對應關係成為聯繫,也稱為關係。
資料操作。對於資料庫的使用者而言,關係模型使用從關係代數上抽像出來的資料庫操作語言(DML)進行操作。結構化查詢語言(SQL)就是其中最重要的一種。它的特色是直接面向結果,簡化操作步驟,使得資料庫應用的設計變得非常簡單易懂。
對於資料庫的實體結構而言, 關係資料庫系統的資料結構簡單、功能強、資料獨立性高、理論基礎堅實。嚴格的關聯式資料庫以二維的資料庫表格作為基本資料結構,利用簡單或複雜的索引技術實作查詢演算法,實作起來相對比較簡單,也方便了預編譯技術將SQL語言直接轉換為有效的資料檢索演算法。
資料約束。關係模型的資料約束可以針對實體,也可以針對實體的屬性,還可以針對關係,並且可以在定義實體、實體屬性和關係時全面實現。關係模型所使用的資料定義語言(DDL)和關係模型在理論上對關係資料庫核心實現的要求,使得資料約束可以很容易實現,但是他的效率並不高。
總和來說,關係模型相比網狀模型和層次模型有更堅實和完整的理論基礎。相較於層次模型和網狀模型而言,關係模型與使用者更靠近些,而網狀模型和層次模型與底層實現的結合更緊密。這樣的特色也更容易讓關係模式成為商業資料庫的選擇。
當今主流資料庫介紹
SQL Server 是Microsoft公司的資料庫產品。在設計上,Microsoft SQL Server大量利用了Microsoft Windows作業系統的底層結構,直接面對Microsoft Windows,尤其是Windows系列伺服器作業系統的使用者。
Oracle 公司成立於1977年,2013年6月,Oracle 12C正式發布,讓企業快速實現私有雲。 Oracle資料庫成為世界上使用廣泛的資料庫系統之一。 Oracle公司在資料庫領域一直處於領先地位,不僅資料庫核心相當優秀,而且其相關的支援產品也相當完善且全面。 Oracle能適應70多種操縱系統。
DB2,1970年,IBM公司的德加·考特提出”關係模型”的概念.他被稱為”關係數據庫之父”.DB2支持從PC到UNIX,從中小型到大型機,從IBM到非IBM(HP及Sun UNIX系統等)各種操縱系統平台。 DB2伺服器端的最佳運作環境還是IBM自己的作業系統平台OS/400。
DB2資料庫核心又稱為DB2通用伺服器,可以運行與多種作業系統之上,它根據相應的平台環境做了調整和最佳化,以便達到較好的效能。
MySQL 也是一個關聯式資料庫管理系統,現已被Oracle公司收購。 MySQL運行與Linux作業系統之上,Apache和Nginx作為Web伺服器,MySQL作為後台資料庫,PHP/Perl/Python作為腳本解釋器。這四款軟體都是免費或開源的。業界稱為「LAMP」組合。
關聯式資料庫的基本概念
關聯式資料庫系統是基於關聯式模型的資料庫系統。是關係模型應用到資料庫領域的實例化。它的基本概念來自於關係模型。
關聯式資料庫使用的儲存結構是多個二維表格,反映事物及其連結的資料描述是以平面表格形式體現的。
關聯式資料庫是由資料表之間的關聯組成的,其中:
資料表通常是一個由行和列組成的二維表,每個資料表分別說明資料庫中某一特定的面向或部分的對象及其屬性。
資料表中的行通常稱為記錄或元組,它代表眾多具有相同屬性的物件中的一個。
資料表中的資料列通常稱為欄位或屬性,它代表對應資料庫中儲存的共有的屬性。
主鍵與外鍵
資料表中的每行記錄都必須是唯一的,而不允許出現完全相同的記錄,透過定義主鍵(主關鍵字,Primary Key)可以保證記錄(實體)的唯一性。
鍵,即關鍵字,它是關係模型中一個非常重要的元素。
主鍵唯一標識表中的行數據,一個主鍵值對應一行數據。主鍵由一個或多個欄位組成,其值具有唯一性,不允許取空值(NULL)。一個表只能有一個主鍵。
如果一個屬性集能唯一地表示表的一行而又不含有多於的屬性,那麼這個屬性集稱為候選鍵。表中可以有多個候選鍵,但是只能有一個候選鍵可以選取表的主鍵,其他候選鍵稱為備用鍵。
外鍵
一個關係資料庫通常包含多個表,透過外鍵(ForeignKey)可以使這些表關聯起來。
外鍵是用於建立和加强两表資料之間的連結的一列或多列。透過將表中主鍵值的一列或多列新增至另一個表中,可建立兩個表之間的連結。這個列就稱為第二個表的外鍵。
「主表」和「從表」總是成對出現的,相互之間以「外鍵」形成關聯。
資料完整性規則
關係資料庫的資料與更新作業必須遵守四類完整規則:
1、實體完整性規則
值。如果出現空值,那麼主鍵值就起不到唯一標識元組的作用。
2、域完整性規則
域完整性也稱為列完整性,指定一個資料集對某一資料列是否有效或決定是否允許空值。
3、引用完整性規則
如果兩個表相互關聯,那麼引用完整性規則要求不允許引用不存在的元組。
4、使用者定義的完整性規則
使用者定義完整規則是針對某一特定資料的限制條件,由應用環境決定。它反映某一具體應用所涉及的資料必須滿足的語意要求。系統提供定義和檢驗這類完整性的機制,以便用統一的系統方法處理,不再由應用程式承擔這項工作。
實體完整性規則和域完整性規則是關係資料庫標準要求在資料庫系統的核心層實現的。