一、資料庫概念
資料庫(Database)是按照資料結構來組織、儲存和管理資料的建立在計算機儲存裝置上的倉庫。
簡單來說是本身可視為電子化的檔案櫃——儲存電子檔案的處所,使用者可以對檔案中的資料進行新增、擷取、更新、刪除等操作。
嚴格來說,資料庫是長期儲存在計算機內、有組織的、可共享的資料集合。資料庫中的資料指的是以一定的資料模型組織、描述和儲存在一起、具有儘可能小的冗餘度、較高的資料獨立性和易擴充套件性的特點並可在一定範圍內為多個使用者共享
常見的資料庫:DB2、Oracle、Informix、Sybase、SQL Server、PostgreSQL、mySQL、access、mongodb
二、資料庫簡介
1、DB2
作為關聯式資料庫領域的開拓者和領航人,IBM在1997年完成了System R系統的原型,1980年開始提供整合的資料庫伺服器—— System/38,隨後是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關。DB2 forMVSV1 在1983年推出。該版本的目標是提供這一新方案所承諾的簡單性,資料不相關性和使用者生產率。1988年DB2 for MVS 提供了強大的線上事務處理(OLTP)支援,1989 年和1993 年分別以遠端工作單元和分散式工作單元實現了分散式資料庫支援。最近推出的DB2 Universal Database 6.1則是通用資料庫的典範,是第一個具備網上功能的多媒體關聯式資料庫管理系統,支援包括Linux在內的一系列平臺
2、Oracle
Oracle 前身叫SDL,由Larry Ellison 和另兩個程式設計人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用SQL 關聯式資料庫管理系統。Oracle公司是最早開發關聯式資料庫的廠商之一,其產品支援最廣泛的作業系統平臺。目前Oracle關聯式資料庫產品的市場佔有率名列前茅。
3、Informix
Informix在1980年成立,目的是為Unix等開放作業系統提供專業的關係型資料庫產品。公司的名稱Informix便是取自Information 和Unix的結合。Informix第一個真正支援SQL語言的關聯式資料庫產品是Informix SE(StandardEngine)。InformixSE是在當時的微機Unix環境下主要的資料庫產品。它也是第一個被移植到Linux上的商業資料庫產品。
4、Sybase
Sybase公司成立於1984年,公司名稱“Sybase”取自“system”和 “database” 相結合的含義。Sybase公司的創始人之一Bob Epstein 是Ingres 大學版(與System/R同時期的關聯式資料庫模型產品)的主要設計人員。公司的第一個關聯式資料庫產品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 資料庫體系結構的思想,並率先在Sybase SQLServer 中實現。
5、SQL Server
1987 年,微軟和 IBM合作開發完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統中繫結了OS/2Database Manager,而微軟產品線中尚缺少資料庫產品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協議,使用Sybase的技術開發基於OS/2平臺的關係型資料庫。1989年,微軟釋出了SQL Server 1.0 版。
6、PostgreSQL
PostgreSQL 是一種特性非常齊全的自由軟體的物件——關係性資料庫管理系統(ORDBMS),它的很多特性是當今許多商業資料庫的前身。PostgreSQL最早開始於BSD的Ingres專案。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以說是目前世界上最豐富的資料型別的支援;其次,目前PostgreSQL 是唯一支援事務、子查詢、多版本並行控制系統、資料完整性檢查等特性的唯一的一種自由軟體的資料庫管理系統.
7、mySQL
mySQL是一個小型關係型資料庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放原始碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。MySQL的官方網站的網址是: www.mysql.com
8、access
美國Microsoft公司於1994年推出的微機資料庫管理系統。它具有介面友好、易學易用、開發簡單、介面靈活等特點,是典型的新一代桌面資料庫管理系統。其主要特點如下:
1)完善地管理各種資料庫物件,具有強大的資料組織、使用者管理、安全檢查等功能。
2)強大的資料處理功能,在一個工作組級別的網路環境中,使用Access開發的多使用者資料庫管理系統具有傳統的XBASE(DBASE、FoxBASE的統稱)資料庫系統所無法實現的客戶伺服器(Cient/Server)結構和相應的資料庫安全機制,Access具備了許多先進的大型資料庫管理系統所具備的特徵,如事務處理/出錯回滾能力等。
3)可以方便地生成各種資料物件,利用儲存的資料建立窗體和報表,可視性好。
4)作為Office套件的一部分,可以與Office整合,實現無縫連線。
5)能夠利用Web檢索和釋出資料,實現與Internet的連線。 Access主要適用於中小型應用系統,或作為客戶機/伺服器系統中的客戶端資料庫。
9、mongodb
MongoDB(來自於英文單詞“Humongous”,中文含義為“龐大”)是可以應用於各種規模的企業、各個行業以及各類應用程式的開源資料庫。作為一個適用於敏捷開發的資料庫,MongoDB的資料模式可以隨著應用程式的發展而靈活地更新。與此同時,它也為開發人員 提供了傳統資料庫的功能:二級索引,完整的查詢系統以及嚴格一致性等等。 MongoDB能夠使企業更加具有敏捷性和可擴充套件性,各種規模的企業都可以通過使用MongoDB來建立新的應用,提高與客戶之間的工作效率,加快產品上市時間,以及降低企業成本。
MongoDB是專為可擴充套件性,高效能和高可用性而設計的資料庫。它可以從單伺服器部署擴充套件到大型、複雜的多資料中心架構。利用記憶體計算的優勢,MongoDB能夠提供高效能的資料讀寫操作。 MongoDB的本地複製和自動故障轉移功能使您的應用程式具有企業級的可靠性和操作靈活性