天天鼓搗數(shù)據(jù),你知道數(shù)據(jù)庫長啥樣嗎?

4 評論 20948 瀏覽 71 收藏 8 分鐘

在家里,找一個東西,經(jīng)常找了幾個小時找不到,最終放棄。

在宜家,找任何東西,基本都可以靠編號自助搞定。

是什么導致了這種區(qū)別?

很好理解,宜家的所有東西都在一張表上登記過,然后在這張表里面填上了物品即將被放置的地址編號,最終這件物品才被工作人員最終放置到那個地址編號所對應的貨架上,便于尋址(計算機中的尋址就是“找”的意思,不裝逼一下,半夜寫文章還真有點兒困)。在表上填寫若干件物品的名稱和相應的地址,有需要的時候再把它找出來,有的時候要進行統(tǒng)計每種物品的庫存數(shù)量,其實就是一個典型的數(shù)據(jù)庫的應用場景,只不過我舉的例子好像是一個純?nèi)斯な止さ牟僮鳎媚_后跟想想,21世紀的今天,肯定也是由電腦完成的哦。

數(shù)據(jù)庫的英文叫做DB(DataBase),數(shù)據(jù)倉庫的意思,就是存儲數(shù)據(jù)的倉庫唄,跟宜家存儲是真正的物品沒有什么不同,一個是在硬盤上,一個是在真正的三維空間中而已。

數(shù)據(jù)庫中有多個表(最少要有一張表,空的數(shù)據(jù)庫什么也表示不了哦,表的英文叫table),表中真正存儲的才是數(shù)據(jù)記錄,一張表簡單理解成excel的一張二維表格,你就真正理解數(shù)據(jù)庫了,哈哈,如下表所示,表仍然以行列描述其結(jié)構(gòu),列id,name,address分別描述了物品的編號,名稱以及地址,明眼人應該看清楚了,每一列就是一個物品的一個屬性,也就是這個物品的一個特點。每一行代表了一條記錄(record),這條記錄有三個列(特點)。

4

這張表格如此清晰,我上面這張圖也是從excel截取出來的,那為啥不用excel直接管理數(shù)據(jù)???主要是因為數(shù)據(jù)庫的存取效率較excel更高,好多系統(tǒng)是沒有用戶界面的,你也用不了excel,最重要的是全世界的數(shù)據(jù)庫都支持一種叫做SQL語言的東西來進行“增刪改查”操作,數(shù)據(jù)庫是有事務系統(tǒng)的(一系列步驟的一步出錯了,全部回滾到最初狀態(tài)),數(shù)據(jù)庫是支持命令操作的,而不是簡簡單單的鼠標操作,這就更減少了人為出錯,數(shù)據(jù)庫是支持索引的,數(shù)據(jù)庫的查詢效率更高等等等等,后面省略一萬條原因。

作為一名產(chǎn)品或設(shè)計人員,你只需要把數(shù)據(jù)庫簡單理解為,數(shù)據(jù)庫是一個大文件,這個大文件當中有若干個excel表格,每張表格里面存儲了若干條記錄就。

以宜家舉例,宜家的后臺一定是個大數(shù)據(jù)庫,這個數(shù)據(jù)庫里面至少有兩張表,第一張表記錄了所有的員工信息,包括姓名,年齡,手機,家庭住址,銀行卡帳號等等。第二張表記錄了所有商品的信息,包括商品編號,價格,庫存,貨架位置等等。

你的新浪微博的用戶名和密碼,是存儲在新浪的后臺數(shù)據(jù)庫中的一個表當中的。

你的QQ號碼,也是存儲在騰訊的服務器中的某一個數(shù)據(jù)庫里面的。

你的京東購物車的物品列表,也是存儲在京東的一個數(shù)據(jù)庫當中的。

數(shù)據(jù)庫的操作一般有“增”“刪”“改”“查”四種操作,都是借助于SQL語句完成的,SQL讀作【se一聲】【kou一聲】,我們寫程序的時候,一般用C語言,C++或者Java等,但是操作數(shù)據(jù)庫的話,全世界的程序員都是統(tǒng)一的,都是用SQL語句來操作數(shù)據(jù)庫,我交你寫一句最簡單的SQL語句,剩下的就靠自學了,哈哈。Select * From table1 where name=“桌子”,這個SQL語句的意思是,查詢出table1這張表中所有名字為“桌子”的記錄。其實一個牛逼的程序員可以用一條非常漂亮的SQL語句來解決許多復雜問題。

數(shù)據(jù)庫的知識概念很多,我挑幾個重要的簡單介紹下:

  1. 索引,數(shù)據(jù)庫經(jīng)常有上億條記錄,查詢會很慢很慢的,數(shù)據(jù)庫會提供一個功能,像字典一樣編制一個”索引“,就是新華字典的前幾頁一樣,靠拼音或偏旁來查詢的功能,這個就是索引,這個經(jīng)常能大幅度提高查詢速度。
  2. 事務,數(shù)據(jù)庫提供了一種機制,就是一件事,必須做完,如果中間出了差錯,他會清理掉一切痕跡,回到最初狀態(tài),這對于保持數(shù)據(jù)的一致性和完整性有功不可沒的作用。
  3. 聯(lián)合查詢,經(jīng)常一張表格解決不了你的問題,比如有兩張表,一張表是員工基本信息,另一張表是工資表,這個時候,要查詢某某員工的工資,就要兩張表一起來“聯(lián)合查詢”

最后簡單介紹下,一個應用程序怎么使用數(shù)據(jù)庫呢?第一步,首先建立和數(shù)據(jù)庫的連接,第二步,利用這個連接,來進行數(shù)據(jù)庫的建表,刪表,以及對表的增刪改查操作,第三部,關(guān)閉數(shù)據(jù)庫連接。最后一步是最容易犯錯誤的,不關(guān)閉數(shù)據(jù)庫連接,經(jīng)常會產(chǎn)生內(nèi)存泄漏,以及各種異常。

說了很多廢話,其實數(shù)據(jù)庫的直觀表現(xiàn)就可以看成一個excel表格。

PS:如果你想跟我交流,對公眾號像跟朋友那樣聊微信回復就可以了,親,不能保證每一條都回,但是每一條肯定都會認真看。如果覺得我每天的分享有價值,你能幫我分享給你周圍的同事和朋友,想必那是極好的~~~

#專欄作家#

給產(chǎn)品經(jīng)理講技術(shù),微信公眾號(pm_teacher),人人都是產(chǎn)品經(jīng)理專欄作家。資深程序猿,專注客戶端開發(fā)若干年,對前端、后臺技術(shù)略懂,熱衷于對新的科技領(lǐng)域的探索。

本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,不得轉(zhuǎn)載。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 想問問產(chǎn)品經(jīng)理需要對數(shù)據(jù)庫掌握到什么程度?

    回復
  2. 感謝,終于知道什么是數(shù)據(jù)庫了??????

    回復
  3. 稀爛,都寫的撒。。

    來自湖北 回復
  4. 關(guān)注你的公眾號啦~正是我需要的那種 ??

    來自河北 回復