最通俗易懂的理解什么是數(shù)據(jù)庫
1.什么是數(shù)據(jù)庫呢?
每個人家里都會有冰箱,冰箱是用來干什么的?冰箱是用來存放食物的地方。
同樣的,數(shù)據(jù)庫是存放數(shù)據(jù)的地方。正是因?yàn)橛辛藬?shù)據(jù)庫后,我們可以直接查找數(shù)據(jù)。例如你每天使用余額寶查看自己的賬戶收益,就是從數(shù)據(jù)庫讀取數(shù)據(jù)后給你的。

你可能會問了:我的數(shù)據(jù)就存放在自己電腦的excel表里就可以了,為什么還要搞個數(shù)據(jù)庫呢?
這是因?yàn)閿?shù)據(jù)庫比excel有更多的優(yōu)勢。數(shù)據(jù)庫可以存放大量的數(shù)據(jù),允許很多人同時使用里面的數(shù)據(jù)。
舉個例子你就明白了,excel好比是一個移動硬盤,你使用了這個移動硬盤其他人就用不了了。
數(shù)據(jù)庫好比是網(wǎng)盤,很多人可以同時訪問里面里的數(shù)據(jù)。
而且網(wǎng)盤比移動硬盤能放更多的數(shù)據(jù)。
理解了數(shù)據(jù)庫的概念后,是不是想要更深入的了解更多數(shù)據(jù)庫相關(guān)的內(nèi)容。
2.數(shù)據(jù)庫是如何存放數(shù)據(jù)的?
數(shù)據(jù)庫有很多種類,這里我們重點(diǎn)學(xué)習(xí)使用最廣泛的關(guān)系數(shù)據(jù)庫。
關(guān)系數(shù)據(jù)庫是由多個表組成的。如果你用過Excel,就會知道Excel是一張一張的二維表。每個表都是由行和列組成的。
同樣的,關(guān)系數(shù)據(jù)庫里存放的也是一張一張的表,只不過各個表之間是有聯(lián)系的。所以,簡單來說:
關(guān)系數(shù)據(jù)庫=多張表+各表之間的關(guān)系

對應(yīng)的,學(xué)會關(guān)系數(shù)據(jù)庫我們只要掌握兩點(diǎn)就可以:
1)多張表里面,每一張表的結(jié)構(gòu)
2)各表之間的關(guān)系
我們接下來分別來看看這兩個知識點(diǎn)。
1) 表的結(jié)構(gòu)
表的結(jié)構(gòu)是指要了解關(guān)系數(shù)據(jù)庫中每張表長什么樣。
每個表由一個名字標(biāo)識。表包含帶有列名的列,和記錄數(shù)據(jù)的行。我們舉個具體的例子就一目了然了。
下面圖片里的表名是:學(xué)生表,記錄了每個學(xué)生的信息。

表中每一列都有一個名字來標(biāo)識出該列,這個表里有4列,列名分別是學(xué)號,姓名,出生日期,性別。從列名上你也可以知道這一列對應(yīng)記錄的是什么數(shù)據(jù)。
表的每一行里記錄著數(shù)據(jù)。這里的一行表示該名學(xué)生的信息,比如第2行是學(xué)號0002學(xué)生的信息,他的姓名是猴子,出生日期是1990-12-21,性別是女。
2)各表之間的關(guān)系
關(guān)系數(shù)據(jù)庫是由多張表組成的,圖片里是存放在學(xué)校數(shù)據(jù)庫里的4張表。
你能發(fā)現(xiàn)下面這4張表之間有什么關(guān)系嗎?

什么是關(guān)系呢?
你是你爸爸的兒子,你是你的兒子的爸爸,這就是生活中的關(guān)系。其實(shí),數(shù)據(jù)之間也是有關(guān)系的。關(guān)系數(shù)據(jù)庫里各個表之間如何建立起關(guān)系呢?
我們來看圖中“學(xué)生表”,“成績表”這兩個表之前的關(guān)系。

這兩張表通過”學(xué)號”關(guān)聯(lián)起來,為了更清楚的看到這兩個表的關(guān)系,PPT里我用相同顏色代表同一個學(xué)生的信息。
例如我想知道學(xué)生表里學(xué)號“0001” 的成績是多少?那么我就可以在成績表里去查找“學(xué)號”值是0001的行,最后在成績表里發(fā)現(xiàn)有3行數(shù)據(jù)的學(xué)號都是“0001” ,對應(yīng)的就找到了該學(xué)生的三門課程的成績。
通過這個例子你應(yīng)該對表之間的關(guān)系有了大概的了解。關(guān)系就是數(shù)據(jù)能夠?qū)?yīng)的匹配,在關(guān)系數(shù)據(jù)庫中正式名稱叫聯(lián)結(jié),對應(yīng)的英文名稱叫做join。
聯(lián)結(jié)是關(guān)系型數(shù)據(jù)庫中的核心概念,務(wù)必記住這個概念,后面會在多表查詢中具體學(xué)到。
3.什么是數(shù)據(jù)庫管理系統(tǒng)?
前面講的都是關(guān)系數(shù)據(jù)庫原理方面的基本理論。理論有了,當(dāng)然的就的有對應(yīng)的軟件實(shí)現(xiàn)才能用起來,不然再強(qiáng)大的理論都是一堆無用的東東。這就好比,建筑師如果只有設(shè)計草圖是無法蓋起樓房的,得有具體的建筑人員才能蓋起樓房。
所以,上面講的關(guān)系數(shù)據(jù)庫原理就是“設(shè)計草圖”,那么對應(yīng)的“建筑人員”是誰呢?
實(shí)現(xiàn)數(shù)據(jù)庫原理的“建筑人員”就是數(shù)據(jù)庫管理系統(tǒng),用來管理數(shù)據(jù)庫的計算機(jī)軟件。
關(guān)系數(shù)據(jù)庫管理系統(tǒng)有很多種,比如MySQL、Oracle、SQL Server等都是實(shí)現(xiàn)上面理論的關(guān)系數(shù)據(jù)庫。

4.什么是sql?
建筑施工人員通過使鏟子,拉土機(jī)等工具來蓋房子。
那么,我們通過什么工具來操作數(shù)據(jù)庫里的數(shù)據(jù)呢?
這個工具就是SQL。
SQL是為操作數(shù)據(jù)庫而開發(fā)的一種語言,它可以對數(shù)據(jù)庫里的表進(jìn)行操作,比如修改數(shù)據(jù),查找數(shù)據(jù)。
之前我在社群里舉過一個例子,我覺得可以很好的說明白數(shù)據(jù)庫和sql是什么關(guān)系。
把數(shù)據(jù)庫比如一碗米飯,里面放的米是數(shù)據(jù),F(xiàn)在我們要吃碗里的米飯,怎么取出碗里的米飯呢?
這時候我們拿一雙筷子,用筷子操作碗里的米飯。這里的筷子就是SQL,用來操作數(shù)據(jù)庫里的數(shù)據(jù)。
5.總結(jié)
1)什么是數(shù)據(jù)庫?
數(shù)據(jù)庫用于存放數(shù)據(jù),
關(guān)系數(shù)據(jù)庫=多張表+各表之間的關(guān)系
2)關(guān)系數(shù)據(jù)庫表長什么樣?
關(guān)系數(shù)據(jù)庫中每個表由一個名字標(biāo)識。表包含帶有列名的列,和記錄數(shù)據(jù)的行。
主鍵是關(guān)系數(shù)據(jù)庫中重要的概念,用來標(biāo)識數(shù)據(jù)的唯一性。
3)關(guān)系數(shù)據(jù)庫里各個表之間如何建立聯(lián)系呢?
關(guān)系數(shù)據(jù)庫中,如果一張表要關(guān)聯(lián)其他表,通過對應(yīng)的列產(chǎn)生了關(guān)系。這個關(guān)系叫做聯(lián)結(jié)。
4)什么是關(guān)系數(shù)據(jù)庫管理系統(tǒng)?
實(shí)現(xiàn)數(shù)據(jù)庫原理的“施工團(tuán)隊”就是,用來管理數(shù)據(jù)庫的計算機(jī)軟件叫做數(shù)據(jù)庫管理系統(tǒng)。
常用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)有mysql,orcale,sql server為了方便描述,我們后面說到數(shù)據(jù)庫,都是指數(shù)據(jù)庫管理系統(tǒng)。
5)什么是SQL?
數(shù)據(jù)庫里面放著數(shù)據(jù),SQL是用來操作數(shù)據(jù)庫里數(shù)據(jù)的工具。
最后記住下面這張圖就掌握了數(shù)據(jù)庫的基本概念。

現(xiàn)在我們可以理解支付寶的背后的運(yùn)行原理了,用戶把錢存放到支付寶數(shù)據(jù)庫里,當(dāng)用戶查看支付寶余額的時候,后臺使用SQL這個工具操作支付寶的數(shù)據(jù)庫,把里面的數(shù)據(jù)查找出來,然后返回給用戶,這樣用戶就可以看到存放到支付寶里的錢和每天的收益了。
只不過,這個過程用戶看不到,都是在支付寶后臺來完成的,用戶看到的只是最后的一個查詢結(jié)果。
文章來源:@猴子,如涉及到版權(quán)問題,請聯(lián)系網(wǎng)站管理員刪除!
- 上一篇:芯片設(shè)計流程是什么?芯片設(shè)計的步驟有哪些? 2023/1/7
- 下一篇:普通顯卡,圖形卡,加速卡,計算卡的區(qū)別 2023/1/6