一.數(shù)據(jù)庫基礎(chǔ)
1.Database 的由來
首先使用"DataBase"一詞的是美國系統(tǒng)發(fā)展公司在為美國海軍基地在60年代研制數(shù)據(jù)中引用叉信。
2.數(shù)據(jù)庫的雛形
1963年,C·W·Bachman設(shè)計開發(fā)的IDS(IntegrateDataStore)系統(tǒng)開始投入運行酵幕,它可以為多個COBOL程序共享數(shù)據(jù)庫
3.網(wǎng)狀數(shù)據(jù)庫的出現(xiàn)
1968年袱耽,網(wǎng)狀數(shù)據(jù)庫系統(tǒng)TOTAL等開始出現(xiàn);
1969年,IBM公司McGee等人開發(fā)的層次式數(shù)據(jù)庫系統(tǒng)的IMS系統(tǒng)發(fā)表据途,它可以讓多個程序共享數(shù)據(jù)庫
1969年10月,CODASYL數(shù)據(jù)庫研制者提出了網(wǎng)絡(luò)模型數(shù)據(jù)庫系統(tǒng)規(guī)范報告DBTG叙甸,使數(shù)據(jù)庫系統(tǒng)開始走向規(guī)范化和標準化颖医。
4.數(shù)據(jù)庫的發(fā)展階段
20世紀80年代大量商品化的關(guān)系數(shù)據(jù)庫系統(tǒng)問世并被廣泛的推廣使用,既有適應(yīng)大型計算機系統(tǒng)的裆蒸,也有適用與中熔萧、小型和微型計算機系統(tǒng)的。這一時期分布式數(shù)據(jù)庫系統(tǒng)也走向使用僚祷。
1970年佛致,IBM公司SanJose研究所的E·F·Code發(fā)表了題為"大型共享數(shù)據(jù)庫的數(shù)據(jù)關(guān)系模型"論文,開創(chuàng)了數(shù)據(jù)庫的關(guān)系方法和關(guān)系規(guī)范化的理論研究辙谜。
1971年俺榆,美國數(shù)據(jù)系統(tǒng)語言協(xié)會在正式發(fā)表的DBTG報告中,提出了三級抽象模式装哆,即對應(yīng)用程序所需的那部分數(shù)據(jù)結(jié)構(gòu)描述的外模式罐脊,對整個客體系統(tǒng)數(shù)據(jù)結(jié)構(gòu)描述的概念模式,對數(shù)據(jù)存儲結(jié)構(gòu)描述的內(nèi)模式蜕琴,解決了數(shù)據(jù)獨立性的問題萍桌。
1974年,IBM公司SanJose研究所研制成功了關(guān)系數(shù)據(jù)庫管理系統(tǒng)SystemR凌简,并且投放到軟件市場上炎。
img
1976年,美籍華人陳平山提出了數(shù)據(jù)庫邏輯設(shè)計的實際(體)聯(lián)系方法雏搂。
1978年藕施,新奧爾良發(fā)表了DBDWD報告,他把數(shù)據(jù)庫系統(tǒng)的設(shè)計過程劃分為四個階段:需求分析畔派、信息分析與定義铅碍、邏輯設(shè)計和物理設(shè)計。
1980年线椰,J·D·Ulman所著的《數(shù)據(jù)庫系統(tǒng)原理》一書正式出版胞谈。
1981年E·F·Code獲得了計算機科學(xué)的最高獎ACM圖林獎。
1984年,DavidMarer所著的《關(guān)系數(shù)據(jù)庫理論》一書烦绳,標志著數(shù)據(jù)庫在理論上的成熟卿捎。
5.成熟階段
80年代至今,數(shù)據(jù)庫理論和應(yīng)用進入成熟發(fā)展時期易觀國際發(fā)布《IT產(chǎn)品和服務(wù)-2007年中國數(shù)據(jù)庫軟件市場數(shù)據(jù)監(jiān)測》径密,考察了中國數(shù)據(jù)庫管理軟件市場午阵。2007年數(shù)據(jù):Oracle、IBM享扔、Microsoft和Sybase牢牢占據(jù)國內(nèi)數(shù)據(jù)庫軟件市場前四位底桂,擁有93.8%的市場份額。
需要更加詳細的資料請參照:
[數(shù)據(jù)庫的發(fā)展過程]:https://baijiahao.baidu.com/s?id=1566776424021817&wfr=spider&for=pc
6.小結(jié)
數(shù)據(jù)庫定義:
以一定方式儲存在一起惧眠、能與多個用戶共享籽懦、具有盡可能小的冗余度、與應(yīng)用程序彼此獨立的數(shù)據(jù)集合氛魁。
為什么需要數(shù)據(jù)庫:
從根本上來說暮顺,數(shù)據(jù)庫還是基于磁盤文件的存儲的(部分非關(guān)系型數(shù)據(jù)庫可能基于內(nèi)存,但是如果需要長期保存數(shù)據(jù)的話秀存,
還是得序列化到硬盤)捶码,那既然如此為什么重復(fù)發(fā)明輪子呢?想想或链,隨著信息科學(xué)技術(shù)的發(fā)展惫恼,人類的生產(chǎn)力越來越旺盛,
全世界每日產(chǎn)生的數(shù)據(jù)量可是是非龐大的澳盐,即便是一家公司幾年的數(shù)據(jù)尤筐,而這些數(shù)據(jù)又是各式各樣的,很雜亂洞就。如果沒有
數(shù)據(jù)庫的話盆繁,想要對這些文件進行處理將是一大堆繁雜的工作。而數(shù)據(jù)庫的及時出現(xiàn)旬蟋,為人們數(shù)據(jù)的低冗余度存儲提供
了很好的支持油昂,同時更加方便了用戶對數(shù)據(jù)的二次處理(例如對原數(shù)據(jù)的備份,增刪改查等)倾贰,說的直接點冕碟,是為了方便
用戶,提供的一種更加快速的匆浙,靈活的強大的對于數(shù)據(jù)的處理方式安寺。
接下來將為大家介紹一種最為常見的關(guān)系型數(shù)據(jù)庫MySQL。
二.MySQL數(shù)據(jù)庫的發(fā)展
其實MySQL最初的出發(fā)點是用mSQL和他們自己的快速低級例程(ISAM)去連接表格首尼。不管怎樣挑庶,在經(jīng)過一些測試后言秸,開發(fā)者得出結(jié)論:mSQL的速度或靈活性不足以滿足要求。這導(dǎo)致了為數(shù)據(jù)庫提供了新的SQL接口迎捺,這樣举畸,這個API被設(shè)計成允許為用于mSQL而寫的第三方代碼更容易移植到MySQL。
原文引自:https://blog.csdn.net/zyj66666/article/details/74003041
1.MySQL名字由來
MySQL的海豚標志的名字叫“sakila”凳枝,它是由MySQL AB的創(chuàng)始人從用戶在“海豚命名”的競賽中建議的大量的名字表中選出的抄沮。
2. MySQL的發(fā)展歷程
1979年,一個名為Monty Widenius的程序員在為TcX的小公司打工岖瑰,并且用BASIC設(shè)計了一個報表工具叛买,使其可以在4MHz主頻和16KB內(nèi)存的計算機上運行。當(dāng)時蹋订,這只是一個很底層的且僅面向報表的存儲引擎聪全,名叫Unireg
1990年,TcX公司的客戶中開始有人要求為他的API提供SQL支持辅辩。Monty直接借助于mSQL的代碼,將它集成到自己的存儲引擎中娃圆。令人失望的是玫锋,效果并不太令人滿意,決心自己重寫一個SQL支持讼呢。
1996年撩鹿,MySQL 1.0發(fā)布,它只面向一小撥人悦屏,相當(dāng)于內(nèi)部發(fā)布节沦。到了1996年10月,MySQL 3.11.1 發(fā)布(MySQL沒有2.x版本)础爬,最開始只提供Solaris下的二進制版本甫贯。一個月后,Linux版本出現(xiàn)了看蚜。在接下來的兩年里叫搁,MySQL被依次移植到各個平臺。
1999~2000年供炎,MySQL AB公司在瑞典成立渴逻。Monty雇了幾個人與Sleepycat合作,開發(fā)出了Berkeley DB引擎, 由于BDB支持事務(wù)處理音诫,因此MySQL從此開始支持事務(wù)處理了惨奕。
2000,MySQL不僅公布自己的源代碼竭钝,并采用GPL(GNU General Public License)許可協(xié)議梨撞,正式進入開源世界雹洗。同年4月,MySQL對舊的存儲引擎ISAM進行了整理聋袋,將其命名為MyISAM队伟。
2001年,集成Heikki Tuuri的存儲引擎InnoDB幽勒,這個引擎不僅能持事務(wù)處理嗜侮,并且支持行級鎖。后來該引擎被證明是最為成功的MySQL事務(wù)存儲引擎啥容。MySQL與InnoDB的正式結(jié)合版本是4.0
2003年12月锈颗,MySQL 5.0版本發(fā)布,提供了視圖咪惠、存儲過程等功能击吱。
2008年1月,MySQL AB公司被Sun公司以10億美金收購遥昧,MySQL數(shù)據(jù)庫進入Sun時代覆醇。在Sun時代,Sun公司對其進行了大量的推廣炭臭、優(yōu)化永脓、Bug修復(fù)等工作
2008年11月,MySQL 5.1發(fā)布鞋仍,它提供了分區(qū)常摧、事件管理,以及基于行的復(fù)制和基于磁盤的NDB集群系統(tǒng)威创,同時修復(fù)了大量的Bug落午。
2009年4月,Oracle公司以74億美元收購Sun公司肚豺,自此MySQL數(shù)據(jù)庫進入Oracle時代溃斋,而其第三方的存儲引擎InnoDB早在2005年就被Oracle公司收購。
2010年12月吸申,MySQL 5.5發(fā)布盐类,其主要新特性包括半同步的復(fù)制及對SIGNAL/RESIGNAL的異常處理功能的支持,最重要的是InnoDB存儲引擎終于變?yōu)楫?dāng)前MySQL的默認存儲引擎呛谜。
想了解更加全面的請參見網(wǎng)址:https://blog.csdn.net/zyj66666/article/details/74003041
<div style="color:red;font-weight:700;">總結(jié):</div>
Database:60年代從美軍海軍基地研制引用中被提出在跳,再到網(wǎng)狀數(shù)據(jù)庫的出現(xiàn),1970年隐岛,IBM公司SanJose研究所的
E·F·Code發(fā)表了題為"大型共享數(shù)據(jù)庫的數(shù)據(jù)關(guān)系模型"論文猫妙,數(shù)據(jù)庫理論一步步完善,于是一些關(guān)系型數(shù)據(jù)庫開始出現(xiàn)聚凹。
直到現(xiàn)在市面上出現(xiàn)了比較流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(DBMS):MySQL,Oracle,DB2,SqlServer,MariaDB等割坠。而非關(guān)系
型數(shù)據(jù)庫管理系統(tǒng)隨著分布式和大數(shù)據(jù)的提出齐帚,一些非關(guān)系型數(shù)據(jù)庫已經(jīng)不能滿足基本的業(yè)務(wù)需求,于是出現(xiàn)了一批比較
具有代表性的非關(guān)系型數(shù)據(jù)庫:Hbase,MongoDB,Redis,Neo4j等彼哼。
MySQL:開發(fā)緣由原本與MySQL創(chuàng)始人Monty Widenius有關(guān)对妄,打工的Tcx公司客戶要求他為他自己開發(fā)的API提供SQL支持,
于是他將mSQL代碼集成到自己之前寫的僅面向報表的存儲引擎Unireg中去了敢朱,但是效率并不理想剪菱,于是他開始自己手寫了
SQL支持,即1996年MySQL1.0版本發(fā)布拴签。但是他的用戶僅提供給一小撥人使用孝常。到了1996年10月,MySQL 3.11.1 發(fā)布
(MySQL沒有2.x版本)蚓哩。
于是接下來:
1999~2000年构灸,MySQL AB公司在瑞典成立。Monty雇傭了幾個人開發(fā)了Berkeley DB引擎, 由于BDB支持事務(wù)處理岸梨,
因此MySQL從此開始支持事務(wù)處理了.
2000喜颁,MySQL不僅公布自己的源代碼,并采用GPL(GNU General Public License)許可協(xié)議,同年4月曹阔,MySQL對
舊的存儲引擎ISAM進行了整理半开,將其命名為MyISAM.
2001年,集成Heikki Tuuri的存儲引擎InnoDB,不僅支持事務(wù)處理,并且支持行級鎖。而正式與InnoDB結(jié)合的版本是
4.0次兆。
2003年12月,MySQL 5.0版本發(fā)布锹锰,提供了視圖芥炭、存儲過程等功能。
2008年1月恃慧,MySQL AB公司被Sun公司以10億美金收購园蝠,MySQL數(shù)據(jù)庫進入Sun時代。
2008年11月痢士,MySQL 5.1發(fā)布彪薛,它提供了分區(qū)、事件管理怠蹂,以及基于行的復(fù)制和基于磁盤的NDB集群系統(tǒng)
2009年4月善延,Oracle公司以74億美元收購Sun公司,自此MySQL數(shù)據(jù)庫進入Oracle時代城侧。
2010年12月易遣,MySQL 5.5發(fā)布,其主要新特性包括半同步的復(fù)制及對SIGNAL/RESIGNAL的異常處理功能的支持嫌佑,最
重要的是InnoDB存儲引擎終于變?yōu)楫?dāng)前MySQL的默認存儲引擎豆茫。
接下來的文章將為大家開始講解MySQL基本操作和語法特性侨歉。