四、產(chǎn)品經(jīng)理學(xué)數(shù)據(jù)庫(kù)
1抽高,為什么要學(xué)數(shù)據(jù)庫(kù)?
數(shù)據(jù)模型是產(chǎn)品在計(jì)算機(jī)中存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)透绩,在功能層面是一個(gè)個(gè)用戶(hù)場(chǎng)景設(shè)計(jì)翘骂,在數(shù)據(jù)層是一個(gè)個(gè)數(shù)據(jù)模型。以數(shù)據(jù)視角表現(xiàn)產(chǎn)品帚豪。如果對(duì)產(chǎn)品功能改進(jìn)碳竟,那么先從數(shù)據(jù)的角度出發(fā)如何調(diào)整數(shù)據(jù)模型。
2狸臣,什么是數(shù)據(jù)庫(kù)莹桅?
數(shù)據(jù)庫(kù)運(yùn)行在服務(wù)器中,類(lèi)似于一個(gè)進(jìn)行數(shù)據(jù)存儲(chǔ)的倉(cāng)庫(kù)烛亦,數(shù)據(jù)按照一定的規(guī)則存儲(chǔ)诈泼,可以對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查的操作懂拾。
數(shù)據(jù)庫(kù)類(lèi)型有關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)為主流铐达,很多同時(shí)使用非關(guān)系型數(shù)據(jù)庫(kù)岖赋,相互彌補(bǔ)。
3瓮孙,關(guān)系型數(shù)據(jù)庫(kù)
是什么:能夠折射現(xiàn)實(shí)世界的實(shí)體關(guān)系唐断。主流關(guān)系型數(shù)據(jù)路:MySQL,SQLServer杭抠,Orical脸甘,智能手機(jī)輕量級(jí)數(shù)據(jù)庫(kù)SQLite。
舉例:
電商的商品和訂單兩個(gè)實(shí)體偏灿,又存在關(guān)聯(lián)關(guān)系斤程。可以一對(duì)一菩混,一對(duì)多忿墅,多對(duì)多。每個(gè)實(shí)體有很多屬性沮峡。數(shù)據(jù)庫(kù)和表的關(guān)系
在關(guān)系型數(shù)據(jù)庫(kù)中可以通過(guò)數(shù)據(jù)庫(kù)表和表之間的關(guān)系具象表示這種模型疚脐,表就是我們常用的二維表格,有表的名字邢疙,表的各項(xiàng)標(biāo)題名棍弄。
舉例:people——profession兩個(gè)表。People具有peopleID,name等屬性疟游,profession具有professonID呼畸、professionNAME等屬性。ID是唯一標(biāo)識(shí)颁虐,稱(chēng)作主鍵蛮原,具有唯一性。兩個(gè)表通過(guò)People表中的profession來(lái)關(guān)聯(lián)另绩。數(shù)據(jù)庫(kù)字段和字段類(lèi)型
數(shù)據(jù)庫(kù)二維表中的屬性儒陨,也稱(chēng)為字段。定義表時(shí)定義表名笋籽、字段名和字段的數(shù)據(jù)類(lèi)型蹦漠。
產(chǎn)品經(jīng)理,在設(shè)計(jì)產(chǎn)品時(shí)要知道產(chǎn)品背后使用的數(shù)據(jù)庫(kù)是哪一種類(lèi)型的數(shù)據(jù)庫(kù)车海,了解數(shù)據(jù)庫(kù)的基本結(jié)構(gòu)笛园,知道每一個(gè)實(shí)體關(guān)系之間是如何設(shè)計(jì)的;這樣的好處是在設(shè)計(jì)產(chǎn)品時(shí)能從數(shù)據(jù)的角度考慮產(chǎn)品的設(shè)計(jì)邏輯,設(shè)計(jì)出更符合數(shù)據(jù)模型的產(chǎn)品研铆。數(shù)據(jù)庫(kù)操作語(yǔ)言(SQL)
SQL即結(jié)構(gòu)化查詢(xún)語(yǔ)言埋同,是一種來(lái)操作關(guān)系型數(shù)據(jù)庫(kù)的編程語(yǔ)言,可以理解為對(duì)數(shù)據(jù)庫(kù)的操作命令蚜印。Creat創(chuàng)建表莺禁,Insert插入數(shù)據(jù),update更新,select查詢(xún)等窄赋。要理解產(chǎn)品背后的數(shù)據(jù)邏輯和實(shí)現(xiàn)方式哟冬。數(shù)據(jù)路索引
數(shù)據(jù)庫(kù)索引就是數(shù)據(jù)庫(kù)的目錄,像書(shū)的目錄一樣可以快速查找數(shù)據(jù)而不用遍歷整本書(shū)忆绰。索引就是數(shù)據(jù)的位置浩峡。
4,非關(guān)系型數(shù)據(jù)庫(kù)
非關(guān)系型數(shù)據(jù)庫(kù)是一種相對(duì)松散而可以不按照嚴(yán)格的結(jié)構(gòu)規(guī)范進(jìn)行存儲(chǔ)的數(shù)據(jù)庫(kù)错敢,一般叫做NOSQL(NOT ONLY SQL)翰灾,它沒(méi)有關(guān)系型數(shù)據(jù)庫(kù)那樣嚴(yán)格的數(shù)據(jù)結(jié)構(gòu)約束,在存儲(chǔ)形式和使用上有別于關(guān)系型數(shù)據(jù)庫(kù)稚茅。
主流的有MongoDB 和 VouchDB纸淮。以Key-Value形式存儲(chǔ),使用JSON格式進(jìn)行數(shù)據(jù)表示和存儲(chǔ)亚享。
非關(guān)系型數(shù)據(jù)庫(kù)適用于一些對(duì)存儲(chǔ)要求比較高且并發(fā)處理比較高的場(chǎng)合咽块,比如網(wǎng)站訪問(wèn)數(shù)據(jù)的統(tǒng)計(jì)。
格式舉例:
{
“peopleId”:”001”,
“name”:”張三”
}
5,數(shù)據(jù)的存儲(chǔ)與恢復(fù)
數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中欺税,而數(shù)據(jù)庫(kù)在物理上是位于服務(wù)器的數(shù)據(jù)磁盤(pán)中的侈沪。在數(shù)據(jù)磁盤(pán)里通常劃分為兩個(gè)區(qū)域,一個(gè)是索引區(qū)晚凿,一個(gè)是數(shù)據(jù)區(qū)亭罪。
關(guān)于刪除數(shù)據(jù):
當(dāng)刪除數(shù)據(jù)時(shí),通常是取消索引和數(shù)據(jù)的關(guān)系歼秽,或者說(shuō)把索引刪除应役,并不會(huì)立刻把數(shù)據(jù)區(qū)的數(shù)據(jù)進(jìn)行刪除操作。優(yōu)先從邏輯上刪除哲银,不會(huì)立刻完成物理刪除的操作扛吞。
如果對(duì)索引進(jìn)行了數(shù)據(jù)覆蓋,那么之前的數(shù)據(jù)就沒(méi)法恢復(fù)了荆责。
一種保險(xiǎn)做法,對(duì)已經(jīng)刪除的數(shù)據(jù)做特殊標(biāo)記亚脆,將這些已經(jīng)刪除的數(shù)據(jù)存在意外一個(gè)數(shù)據(jù)表中或者對(duì)數(shù)據(jù)做已刪除標(biāo)記做院;當(dāng)需要恢復(fù)時(shí),修改數(shù)據(jù)標(biāo)記即可。
互聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中键耕,一般都是“假刪除”寺滚,就是對(duì)刪除數(shù)據(jù)做標(biāo)記。通常是存儲(chǔ)某一個(gè)時(shí)間范圍內(nèi)的已刪除數(shù)據(jù)屈雄,超出時(shí)間數(shù)據(jù)就進(jìn)行物理刪除村视。
6,從數(shù)據(jù)角度看產(chǎn)品
從數(shù)據(jù)角度看產(chǎn)品設(shè)計(jì)要回歸到產(chǎn)品中各個(gè)實(shí)體對(duì)象上酒奶。所謂實(shí)體對(duì)象就是產(chǎn)品中的各種角色蚁孔,每個(gè)實(shí)體對(duì)象都有自己的基本屬性。數(shù)據(jù)視角往往獨(dú)立于產(chǎn)品功能惋嚎,產(chǎn)品功能描述的是一系列流程和邏輯的組合杠氢,二數(shù)據(jù)更多是站在原子角度描述產(chǎn)品中的每個(gè)數(shù)據(jù)對(duì)象。一個(gè)完整流程另伍,一般設(shè)計(jì)多個(gè)數(shù)據(jù)實(shí)體對(duì)象鼻百。
產(chǎn)品基尼設(shè)計(jì)產(chǎn)品時(shí),需要首先明確整個(gè)產(chǎn)品業(yè)務(wù)流程有哪些實(shí)體對(duì)象摆尝,產(chǎn)品涉及數(shù)據(jù)如何流轉(zhuǎn)的温艇。
舉例電商: