您好,登錄后才能下訂單哦!
使用數據庫可以高效且條理分明地存儲數據,使人們能夠更加迅速,方便地管理數據。數據庫具有以下特點:
1、可以結構化存儲大量的數據信息,方便用戶進行有效的檢索和訪問。
2、可以有效地保持數據信息的一致性、完整性,降低數據冗余。
3、可以滿足應用的共享和安全方面的要求。
數據庫的基本概念:
1、數據:描述事物的符號記錄成為數據(Data)包括數字、文字、圖形、圖像、聲音、檔案記錄等都是數據。數據以“記錄”形式按統一的格式進行存儲的。
2、數據庫和數據庫表:表是用來存儲具體數據的,數據庫就是表的集合。它是以一定的組織方式存儲的相互的數據集合。例如,關系數據庫的表由記錄組成,記錄有字段組成,字段有字符或數字組成。它可以供各種用戶共享,具有最小冗余度和較高的數據獨立性。它是統一管理的相關數據的集合。
數據庫管理系統(Database Management System,DBMS)是實現對數據庫資源有效組織、管理和存取的系統軟件。它在操作系統的支持下,支持用戶對數據庫的各項操作。DBMS主要包括:
1、數據庫的建立和維護功能
2、數據定義功能
3、數據操作功能
4、數據庫的運行管理功能
5、通信功能
數據庫系統(Database System DBS)是一個人一機系統,一般由硬件、操作系統、數據庫、DBMS、應用軟件和數據庫用戶(包括數據庫管理員)組成。用戶可以通過DBMS操作數據庫,也可以通過應用程序操作數據庫。
應用程序是利用DBMS,為解決某個具體的管理或數據處理的任務而編制的一系列命令的有序集合。如果應用程序比較完善,能夠提供友好的人機界面,并編譯成可執行文件發行,使得普通用戶不需要具備計算機的專業知識,在較短時間就學會使用,那么就稱為數據庫應用軟件。
數據庫管理員(Database Administrator DBA)負責數據庫的更新和備份、數據庫系統的維護用戶管理等工作,保證數據庫系統的正常運行。DBA一般由業務水平較高、資歷較深的人員擔任。
數據庫發展史
根據數據模型的發展,可以劃分為三個階段:第一代的網狀、層次數據庫系統;第二代的關系數據庫系統;第三代的以面向對象模型為主要特征的數據庫系統。
20世紀60年代,層次模型與網狀模型的數據庫系統,數據庫的代表是1969年IBM公司研制的層次模型的數據庫管理系統——IMS(Imformation Management System,信息管理系統)和20世紀70年代美國數據系統語言協會(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、用戶定義的完整性規則
用戶定義完整規則是針對某一具體數據的約束條件,由應用環境決定。它反映某一具體應用所涉及的數據必須滿足的語義要求。系統提供定義和檢驗這類完整性的機制,以便用統一的系統方法進行處理,不再由應用程序承擔這項工作。
實體完整性規則和域完整性規則是關系數據庫標準要求在數據庫系統的核心層實現的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。