教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

Java培訓(xùn)之MySQL數(shù)據(jù)庫(kù)概述

更新時(shí)間:2016年06月27日18時(shí)08分 來(lái)源:傳智播客java培訓(xùn)學(xué)院 瀏覽次數(shù):


1.什么是數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)簡(jiǎn)單來(lái)說(shuō)指的是存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。數(shù)據(jù)庫(kù)有以下優(yōu)點(diǎn):
  • 可存儲(chǔ)大量數(shù)據(jù);
  • 方便檢索;
  • 保持?jǐn)?shù)據(jù)的一致性、完整性;
  • 安全,可共享;
  • 通過(guò)組合分析,可產(chǎn)生新數(shù)據(jù)。

2.數(shù)據(jù)庫(kù)的發(fā)展歷程

數(shù)據(jù)庫(kù)發(fā)展歷程如下所示:
  • 沒(méi)有數(shù)據(jù)庫(kù),使用磁盤(pán)文件存儲(chǔ)數(shù)據(jù);
  • 層次結(jié)構(gòu)模型數(shù)據(jù)庫(kù);
  • 網(wǎng)狀結(jié)構(gòu)模型數(shù)據(jù)庫(kù);
  • 關(guān)系結(jié)構(gòu)模型數(shù)據(jù)庫(kù),使用二維表格來(lái)存儲(chǔ)數(shù)據(jù);
  • 關(guān)系-對(duì)象模型數(shù)據(jù)庫(kù);
我們今天要學(xué)習(xí)的MySQL就是關(guān)系結(jié)構(gòu)模型數(shù)據(jù)庫(kù)管理系統(tǒng),簡(jiǎn)稱(chēng)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。

3.MySQL數(shù)據(jù)庫(kù)簡(jiǎn)介

MySQL是一種開(kāi)放源代碼的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS—Relational database management system),MySQL數(shù)據(jù)庫(kù)系統(tǒng)使用最常用的數(shù)據(jù)庫(kù)管理語(yǔ)言:結(jié)構(gòu)化查詢(xún)語(yǔ)言進(jìn)行數(shù)據(jù)庫(kù)管理。
由于MySQL是開(kāi)放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個(gè)性化的需要對(duì)其進(jìn)行修改。MySQL因?yàn)槠渌俣?、可靠性和適應(yīng)性而備受關(guān)注。大多數(shù)人都認(rèn)為在不需要事務(wù)化處理的情況下,MySQL是管理內(nèi)容最好的選擇。

4.常見(jiàn)數(shù)據(jù)庫(kù)介紹

  • Oracle數(shù)據(jù)庫(kù):Oracle是殷墟(yīn Xu)出土的甲骨文(oracle bone inscriptions)的英文翻譯的第一個(gè)單詞,在英語(yǔ)里是“神諭”的意思,由Larry Ellison 和另兩個(gè)編程人員在1977創(chuàng)辦,他們開(kāi)發(fā)了自己的拳頭產(chǎn)品,在市場(chǎng)上大量銷(xiāo)售,1979 年,Oracle公司引入了第一個(gè)商用SQL 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle公司是最早開(kāi)發(fā)關(guān)系數(shù)據(jù)庫(kù)的廠商之一,其產(chǎn)品支持最廣泛的操作系統(tǒng)平臺(tái)。目前Oracle關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品的市場(chǎng)占有率名列前茅。
  • SQL Server數(shù)據(jù)庫(kù):1987 年,微軟和 IBM合作開(kāi)發(fā)完成OS/2,IBM 在其銷(xiāo)售的OS/2 ExtendedEdition 系統(tǒng)中綁定了OS/2Database Manager,而微軟產(chǎn)品線(xiàn)中尚缺少數(shù)據(jù)庫(kù)產(chǎn)品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協(xié)議,使用Sybase的技術(shù)開(kāi)發(fā)基于OS/2平臺(tái)的關(guān)系型數(shù)據(jù)庫(kù)。1989年,微軟發(fā)布了SQL Server 1.0 版。
  • Sybase數(shù)據(jù)庫(kù):  Sybase公司成立于1984年,公司名稱(chēng)“Sybase”取自“system”和 “database” 相結(jié)合的含義。Sybase公司的創(chuàng)始人之一Bob Epstein 是Ingres 大學(xué)版(與System/R同時(shí)期的關(guān)系數(shù)據(jù)庫(kù)模型產(chǎn)品)的主要設(shè)計(jì)人員。公司的第一個(gè)關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的思想,并率先在Sybase SQLServer 中實(shí)現(xiàn)。
  • MySQL數(shù)據(jù):  mySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)者為瑞典MySQL AB公司。在2008年1月16號(hào)被Sun公司收購(gòu)。而2009年,Sun公司又被Oracle公司收購(gòu)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)
  • DB2數(shù)據(jù)庫(kù):  作為關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域的開(kāi)拓者和領(lǐng)航人,IBM在1997年完成了System R系統(tǒng)的原型,1980年開(kāi)始提供集成的數(shù)據(jù)庫(kù)服務(wù)器—— System/38,隨后是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關(guān)。DB2 forMVSV1 在1983年推出。該版本的目標(biāo)是提供這一新方案所承諾的簡(jiǎn)單性,數(shù)據(jù)不相關(guān)性和用戶(hù)生產(chǎn)率。1988年DB2 for MVS 提供了強(qiáng)大的在線(xiàn)事務(wù)處理(OLTP)支持,1989 年和1993 年分別以遠(yuǎn)程工作單元和分布式工作單元實(shí)現(xiàn)了分布式數(shù)據(jù)庫(kù)支持。最近推出的DB2 Universal Database 6.1則是通用數(shù)據(jù)庫(kù)的典范,是第一個(gè)具備網(wǎng)上功能的多媒體關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),支持包括Linux在內(nèi)的一系列平臺(tái)。

5.理解數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)管理系統(tǒng)如圖1-1所示:

圖1-1 數(shù)據(jù)庫(kù)管理系統(tǒng)
我們通常將數(shù)據(jù)庫(kù)管理系統(tǒng)稱(chēng)為數(shù)據(jù)庫(kù),當(dāng)我們安裝了數(shù)據(jù)庫(kù)服務(wù)器,就可以在數(shù)據(jù)庫(kù)服務(wù)器中創(chuàng)建數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)中還可以包含多張表。如圖1-2所示:

圖1-2 數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)中的表就是一個(gè)多行多列的表格。在創(chuàng)建表時(shí),需要指定表的列數(shù),以及列名稱(chēng),列類(lèi)型等信息。而不用指定表格的行數(shù),行數(shù)是沒(méi)有上限的。下面是tab_student表的結(jié)構(gòu):

圖1-3 tab_student表結(jié)構(gòu)
當(dāng)把表格創(chuàng)建好了之后,就可以向表格中添加數(shù)據(jù)了。向表格添加數(shù)據(jù)是以行為單位的,下面是s_student表的記錄:
s_id s_name s_age s_sex
S_1001 zhangSan 23 male
S_1002 liSi 32 female
S_1003 wangWu 44 male
簡(jiǎn)單來(lái)說(shuō):
  • RDBMS = 管理員(manager)+倉(cāng)庫(kù)(database);
  • database = N個(gè)table;
  • table:
  • 表結(jié)構(gòu):定義表的列名和列類(lèi)型;
  • 表記錄:一行一行的記錄,即數(shù)據(jù)。

6.應(yīng)用程序與數(shù)據(jù)庫(kù)

90%的應(yīng)用都會(huì)依賴(lài)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)是保存數(shù)據(jù)的好地方,但是在實(shí)際開(kāi)發(fā)中,我們開(kāi)發(fā)的應(yīng)用程序和數(shù)據(jù)庫(kù)服務(wù)器并不在同一臺(tái)電腦上,這個(gè)時(shí)候我們?cè)僭L問(wèn)數(shù)據(jù)庫(kù)服務(wù)器就涉及到網(wǎng)絡(luò)傳輸了。通過(guò)應(yīng)用程序?qū)?shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查。如圖1-4所示:

圖1-4 應(yīng)用程序和數(shù)據(jù)庫(kù)

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/javaee
0 分享到:
和我們?cè)诰€(xiàn)交談!