技術(shù)知識(shí)入門讀書筆記!(2):數(shù)據(jù)庫篇

本系列適合沒有技術(shù)背景的菜鳥看密似,是我閱讀唐韌老師的《產(chǎn)品經(jīng)理必懂的技術(shù)那些事兒》的筆記焙矛,歡迎產(chǎn)品菜鳥們一起交流~

第二篇是數(shù)據(jù)庫,包含數(shù)據(jù)庫概述残腌、關(guān)系型與非關(guān)系型數(shù)據(jù)庫介紹



1. 數(shù)據(jù)庫基礎(chǔ)


1.1 定義

數(shù)據(jù)庫類似于一個(gè)數(shù)據(jù)存儲(chǔ)的倉庫村斟,按照一定的規(guī)則存儲(chǔ),可以進(jìn)行增刪改查操作抛猫。


1.2 分類

分為關(guān)系型數(shù)據(jù)庫(MySQL為代表)與非關(guān)系型數(shù)據(jù)庫(MongoDB和CouchDB為代表)邓梅。

區(qū)別:關(guān)系型數(shù)據(jù)庫基于關(guān)系模型,折射現(xiàn)實(shí)世界中的實(shí)體關(guān)系邑滨。

非關(guān)系型數(shù)據(jù)庫以相對(duì)松散的方式存儲(chǔ)數(shù)據(jù)日缨,不像關(guān)系型數(shù)據(jù)庫有嚴(yán)格的數(shù)據(jù)結(jié)構(gòu)約束。


1.3 基本操作

對(duì)數(shù)據(jù)庫可進(jìn)行增掖看、刪匣距、改、查的操作哎壳。


2. 關(guān)系型數(shù)據(jù)庫


2.1 定義

關(guān)系型數(shù)據(jù)庫是基于關(guān)系模型的數(shù)據(jù)庫毅待,關(guān)系模型折射現(xiàn)實(shí)生活中的實(shí)體關(guān)系,通過實(shí)體關(guān)系模型的方式表現(xiàn)出來归榕。

《產(chǎn)品經(jīng)理必懂的技術(shù)那些事兒》配圖

實(shí)體關(guān)系模型:現(xiàn)實(shí)生活中尸红,人是一個(gè)實(shí)體、車是一個(gè)實(shí)體刹泄,人跟人之間會(huì)有關(guān)系外里,人跟車也會(huì)有關(guān)系。

實(shí)體:一系列屬性的結(jié)合特石,比如人這個(gè)實(shí)體就有職業(yè)盅蝗、年齡、性別的屬性姆蘸。屬性也可以成為一個(gè)實(shí)體墩莫,比如職業(yè)芙委、性別都可以單獨(dú)成為一個(gè)實(shí)體。

實(shí)體關(guān)系:一對(duì)一(1:1)狂秦、一對(duì)多(1:N)灌侣、多對(duì)多(M:N)。

比如在電商中如果用關(guān)系型數(shù)據(jù)庫裂问,實(shí)體就包括商品顶瞳、訂單,之間有多對(duì)多的關(guān)聯(lián)關(guān)系愕秫。

實(shí)體模型再往下具象,在數(shù)據(jù)庫中實(shí)際表現(xiàn)為數(shù)據(jù)庫表和表之間的關(guān)系焰络。


2.2 數(shù)據(jù)庫表和表的關(guān)系

數(shù)據(jù)庫表與實(shí)體模型的對(duì)應(yīng)關(guān)系:實(shí)體→表戴甩,屬性→字段,實(shí)體關(guān)系→數(shù)據(jù)表關(guān)系

定義規(guī)則:在定義表的時(shí)候需要定義表名闪彼、字段名甜孤、字段類型。表名和屬性名只能用英文命名畏腕。

字段類型:與數(shù)據(jù)類型一致缴川,分為整型、字符型等描馅。

主鍵:表中第一個(gè)屬性的名字叫做 表名+id 把夸,作為表中數(shù)據(jù)的唯一性標(biāo)記。例如“人”的表铭污,主鍵就是peopleid恋日,1號(hào)、2號(hào)……每個(gè)peopleid都唯一對(duì)應(yīng)表中的一個(gè)人嘹狞。

《產(chǎn)品經(jīng)理必懂的技術(shù)那些事兒》配圖

關(guān)聯(lián)方法:通過關(guān)聯(lián)對(duì)應(yīng)的主鍵實(shí)現(xiàn)實(shí)體/表之間的關(guān)聯(lián)岂膳。如圖就是在people中關(guān)聯(lián)了professionId。

《產(chǎn)品經(jīng)理必懂的技術(shù)那些事兒》配圖


2.3 數(shù)據(jù)庫操作語言(SQL)

SQL語句:用來操作關(guān)系型數(shù)據(jù)庫的操作命令

示例:

建表:create table people (peopleId varchar(30) primary key, name varchar (50)) ? ?

建表包含peopleId與name兩個(gè)字段磅网,并通過primary key指定peopleId為主鍵谈截,varchar (30) 表示字符型最大長度30字符

已建表中插入數(shù)據(jù):

insert into people values('001','張三')

往people表中插入了值"001"張三”,按順序?qū)?yīng)到表中字段

對(duì)數(shù)據(jù)進(jìn)行修改:

update people set name=‘李四’ where peopleId= '001'

更新people表中peopleId為001的這條數(shù)據(jù)涧偷,把名字改為李四

查詢數(shù)據(jù):

select * from people 查詢表中所有的數(shù)據(jù)

select peopleId,name from people 查詢表中的peopleId和name兩個(gè)字段的數(shù)據(jù)

select * from people where peopleId='001' 查詢表中peopleId為001的這條數(shù)據(jù)的所有字段

select * from people where age > 20 查詢people表中年齡大于20歲的人


3.非關(guān)系型數(shù)據(jù)庫NoSQL(Not Only SQL)


3.1 定義

松散的不按照嚴(yán)格的結(jié)構(gòu)規(guī)范進(jìn)行存儲(chǔ)的數(shù)據(jù)庫簸喂。

適合場合:對(duì)存取要求比較高且并發(fā)處理比較高的場合,例如對(duì)網(wǎng)站訪問數(shù)據(jù)的統(tǒng)計(jì)燎潮。


3.2 四大分類:

鍵值對(duì)(key-value)存儲(chǔ)數(shù)據(jù)庫(如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB)娘赴、列存儲(chǔ)數(shù)據(jù)庫(如:Cassandra, HBase, Riak)、文檔型數(shù)據(jù)庫(CouchDB, MongoDb)跟啤、圖形數(shù)據(jù)庫(Neo4J, InfoGrid, Infinite Graph)诽表。其中文檔型數(shù)據(jù)庫是比較主流的唉锌。


3.3 以MongoDb為例

數(shù)據(jù)以類似文檔的方式進(jìn)行存儲(chǔ),每個(gè)文檔都有唯一標(biāo)識(shí)和版本號(hào)竿奏。以鍵值對(duì)(key-value)的方式表示和存儲(chǔ)數(shù)據(jù)袄简。據(jù),使用JSON格式的數(shù)據(jù)進(jìn)行表示和存儲(chǔ)泛啸。

{

"peopleId": "001",

"name": "張三",

"sex": "male",

"age": "28",

"profession": "建筑師”

}

這就存儲(chǔ)了5個(gè)“key-value”形式的數(shù)據(jù)绿语,冒號(hào)左邊的是key、右邊的是value候址。

鍵值對(duì)的嵌套:

[

"id": "001"

"name": "張三”

"profession": {"id: "1", "professionName": "建筑師“”}

}

鍵profession的值也是一個(gè)JSON結(jié)構(gòu)吕粹。


4.實(shí)際工作建議


在設(shè)計(jì)功能時(shí),工程師常常會(huì)提出跟數(shù)據(jù)庫相關(guān)的問題岗仑,如新功能影響到現(xiàn)有數(shù)據(jù)庫的設(shè)計(jì)匹耕、有些字段是目前數(shù)據(jù)庫里沒有的、這個(gè)功能導(dǎo)致了數(shù)據(jù)庫結(jié)構(gòu)的變化荠雕。所以要求我們?cè)趯?duì)已有功能修改時(shí)注意兩個(gè)問題:

一是新的設(shè)計(jì)應(yīng)該對(duì)數(shù)據(jù)庫做何種調(diào)整稳其,是新增數(shù)據(jù)庫字段還是要修改或刪除原有字段

二是新設(shè)計(jì)對(duì)原有數(shù)據(jù)的兼容性問題

在溝通時(shí)工程師常常根據(jù)字段的名字來說明問題,產(chǎn)品需要知道字段是代表哪個(gè)產(chǎn)品功能中的哪一個(gè)具體信息炸卑。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末既鞠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子盖文,更是在濱河造成了極大的恐慌嘱蛋,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件五续,死亡現(xiàn)場離奇詭異浑槽,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)返帕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門桐玻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荆萤,你說我怎么就攤上這事镊靴。” “怎么了链韭?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵偏竟,是天一觀的道長。 經(jīng)常有香客問我敞峭,道長踊谋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任旋讹,我火速辦了婚禮殖蚕,結(jié)果婚禮上轿衔,老公的妹妹穿的比我還像新娘。我一直安慰自己睦疫,他們只是感情好害驹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蛤育,像睡著了一般宛官。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓦糕,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天底洗,我揣著相機(jī)與錄音,去河邊找鬼咕娄。 笑死亥揖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的谭胚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼未玻,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼灾而!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扳剿,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤旁趟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后庇绽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锡搜,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年瞧掺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耕餐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辟狈,死狀恐怖肠缔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情哼转,我是刑警寧澤明未,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站壹蔓,受9級(jí)特大地震影響趟妥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜佣蓉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一披摄、第九天 我趴在偏房一處隱蔽的房頂上張望亲雪。 院中可真熱鬧,春花似錦行疏、人聲如沸匆光。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽终息。三九已至,卻和暖如春贞让,著一層夾襖步出監(jiān)牢的瞬間周崭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工喳张, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留续镇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓销部,卻偏偏與公主長得像摸航,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舅桩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容