想成為高級產品經理,這些「數據庫」知識搞清楚了嗎?

分類:實用技巧 時間:2017-09-25

結合自身經驗,做項目的流程和《產品經理必須懂的技術那點事兒》這本書,來梳理梳理在工作過程中遇到的技術名詞和自己的理解。

一、數 據庫 的定義和分類

產品經理梳理好業務流程,在進行產品評審的時候,一般架構師就要考慮數據庫的結構設計類型了。

數據庫定義:數據庫運行在服務器中,類似一個進行數據存儲的倉庫,數據按照一定的規則存儲,可以對數據庫中的數據進行增刪改查的操作。

別那麽多廢話,我們不是開發出身的產品聽不懂, 簡單理解就是一個倉庫 。如果把數據庫比如成一個大型超市倉庫的話,那麽DBA就是倉庫管理員,負責給你配相應的權限,部分(全部)貨品的增、刪、查、改功能。

倉庫的占地,擴建;

什麽商品擺放什麽位置,什麽類的商品擺放在一起;

什麽樣的商品按照什麽樣的規則進行陳列。

另外,超市裏面陳列的供客戶查看的商品也屬於數據庫。

數據庫分類:關系型數據庫和非關系型數據庫。關系型數據庫是一種基於關系模型的數據庫。關系模型折射顯示世界中的實體關系,將現實世界中各種實體及實體之間的關系,通過關系模型表達出來。

接著上面超市倉庫的例子,怎麽來理解這個關系型數據庫呢?比如超市會員卡中心辦理的會員,一個會員是一個實體,會員購買訂單屬於一個實體。

先說會員實體他會有多個屬性(類似人物標簽),如性別、興趣愛好、姓名、年齡、職業等等。然後繼續往下細分,性別也可以單獨叫一個實體,興趣愛好也可以叫一個實體。

其中,會員這個實體與屬性的關系有些是一對多關系,有些是一對一的關系。

是否可以稱得上一個實體,個人理解可以從物理角度進行區分,在物理學上能叫個體的,在這裏就可以稱得上一個實體。聯想:產品經理在畫用況圖的時候可以結合這種思路來進行繪制,一個實體就是一個case。

二、數據庫的呈現

按上面超市倉庫的例子, 數據庫的呈現可以簡單的理解為貨架的陳列 。不同類型的倉庫陳列的方式不一樣。

關系型數據庫,就像傳統的倉庫陳列方式一樣,我命名好這一排放什麽貨品,貨品的包裝規格,有新貨品增加了直接放進去就行,在表上增加數據。

非關系數據庫,就像現代的智能停車場一樣,你來一輛車我記著你的車牌號,車型,外觀顏色,你隨意停車。去取就行或者更高科技發送一條指令車自動送到門口你開著就走。

在關系型數據庫中,可以通過數據庫表和表之間的關系來具象表示這種模型。表就是我們通常用的二維表格。表有名字,表的各項標題名。表名和屬性名只能用英文命名。

一個實體可以對應一張表,每張表都賦予屬性,每張表都通過id來表示唯一性。實體通過每張表的id來進行關聯。

在二維表中,可以使用屬性來表示某一類數據,屬性在數據庫中也成為字段。每一個字段都有自己的數據類型。

在定義數據庫表的時候,我們需要定義表名,字段名及字段的數據類型。這樣一個完整的數據庫表就定義清楚了,我們可以按照定義好的表結構往裏面存儲數據。

數據庫的操作語言(SQL)即結構化查詢語言,是一種用來操作關系型數據庫的編程語言,可以理解為對數據庫的操作命令。我們使用SQL對數據庫進行各種操作,包括創建數據庫表,為某一個數據庫添加數據,或者對數據庫進行修改,刪除及查詢操作等。SQL有固定的語法,通過對應的語句對數據庫進行操作。

非關系型數據庫是一種相對松散,且可以不按照嚴格的結構規範進行存儲的數據庫。非關系型數據庫一般叫做NOSQL(Not Only SQL),沒有關系型數據庫那樣嚴格的數據結構約束,在存儲形式和使用上有別於關系型數據庫。

現在主流的非關系型數據庫有MongoDB和CouchDB。以MongoDB為例,它是一種典型的非關系型數據庫,數據以類似文檔的方式進行存儲,每一個文檔都有對應唯一的標識和版本號。

在非關系型數據庫MongoDB中,我們使用鍵值對的方式表示和存儲數據,鍵值對就是“key-value”的形式,類似在關系型數據庫表中的字段名和該字段名對應的值。在MongoDB中,使用JSON格式的數據進行數據表示和存儲。

非關系型數據庫適合應用在一些對存取要求比較高且並發處理比較高的場合,例如對網站訪問數據的統計。在很多產品後臺,同時使用兩種類型的數據庫。

目前市面上多數使用的是關系型數據庫,方便維護。例如電商類產品有訂單表、商品(suk)表,金融類產品有產品表、銀行卡表、用戶表等。

三、數據類型

表示整數的“整型”:所有不帶小數點的數字都屬於整型,一般用int來表示整型。規範的變量取名一般是字母或者下劃線開頭,中間和結尾也可以是字母數字或者下劃線。

表示文本的“字符型”:字符型的內容沒有限制,可以任意內容。在不同的編程語言中,表示字符型的關鍵字略有不同。Java使用關鍵詞string表示字符型數據。字符型是使用最廣泛的一種數據類型。例如在用戶登錄界面輸入的用戶名和登錄密碼都是以字符型的方式顯示在界面上的。

表示小數的“浮點型”:一般使用float或者double標記浮點型數據。在產品設計中,我們也會使用到浮點型,例如在填寫體重的時候,我們可以輸入5這樣的數值來表示公斤。在一些專業型的工具產品中,我們會輸入一些帶小數點的數來設置參數,這時都會使用到浮點型。當然在界面上獲取的都是文本字符型的,只是我們程序裏面將字符型轉換為了浮點型。

表示是非判斷的“布爾型”:是一種特殊的數據類型,數據只有兩種值“ture”和“false”。“ture”對應序號是1,“false”對應序號是舉例應用場景用戶註冊時候勾選的註冊協議。布爾型在程序設計中使用的比較多,主要用於控制流程或者做一些特殊標記。

數據類型之間的轉換:比如說手機號登錄前臺界面輸入是文本字符型的,需要轉換整數判斷是否是12位數字。

數據拼接:比如金融平臺目前的投資人數、投資金額都是動態獲取的。文本的字符型和整數的整型拼接起來的字符串。產品設計中會經常用到。

四、編程語言的邏輯結構

先說一下定義,簡單理解就是語法,就是小時候學語文主謂賓定狀補。學習英語有英語的語法結構,那當然編程頁有自己的語法結構。

條件判斷“if else”:應用場景比如登錄場景,電商類產品營銷滿額減/滿額贈等;互金類產品投資符合什麽的規則可以使用紅包,加息券;最低投資金額等等。

條件選擇“switch case”:應用場景比如積分兌換場景,你擁有的積分可以兌換什麽類型的物品。電商類產品加入購物車時,選擇對應尺碼顏色在縮略圖顯示對應的顏色物品。金融產品投資時,余額可購買剩余份額。基本上一些多選一的操作都可以使用到。

循環操作“while/do while”:應用場景具體banner的循環播放,文章列表顯示,聊天的列表等等一個事件在某一條件下重復發生,在循環停止前持續讓這個事件發生一段時間。

作為一名不是寫代碼開發出身的產品經理,要比別人更努力提升自己,不斷鍛煉自己的邏輯思維和嚴謹性。不論開發出身還是做什麽出身,做出能為公司創造利潤的產品才是一位比較合格的產品經理。共勉。

文/行李箱向日葵,擅長從0-1搭建系統產品,了解內容類相關產品的運作和系統搭建。對P2P產品有深入的了解。


Tags: 數據庫 實體 關系型 一個 倉庫 關系

文章來源:


ads
ads

相關文章
ads

相關文章

ad