官术网_书友最值得收藏!

第2章 產品經理必知的數據庫知識

2.1 數據庫是什么

2.1.1 為什么應該了解數據庫

產品經理需要對產品有個全面的認識:所有產品的功能層面最終是要落實在數據層面的。例如,用戶注冊頁面增加新的注冊信息,相應的,就需要在數據庫的用戶信息表中新增幾個字段來存儲新的注冊信息。

數據產品就是各個數據模型的集合,如典型的電商產品。用戶在電商平臺上看到各種商品,每天都有商品更新,這些商品的信息就存儲在數據庫商品信息表中;用戶購買商品前需要進行用戶注冊,注冊用戶的姓名、聯系方式、聯系地址等信息都存儲在數據庫的用戶信息表中;用戶下單購買商品后,這條購買記錄就被存儲起來放在了數據庫訂單信息表中;用戶有時會把有購買意向的商品暫時存放起來,這個存放的地方就是購物車信息表。

所以,我們可以發現,產品經理設計的各種產品功能最后都要在數據層面找到對應的數據模型。另外,產品經理進行產品功能更改時也會導致數據庫中相關數據字段的修改或刪除甚至是數據兼容性問題,這都要求產品經理尤其是數據產品經理要學習數據庫的相關知識。如果產品經理懂得數據庫的相關知識,就可以從數據層面來綜合考慮產品的功能設計問題,更好地同技術人員進行溝通,從而更好地推進產品規劃設計和研發工作。

2.1.2 應知的數據庫基本常識

1.數據庫是如何產生的

數據庫的產生是因為數據讀/寫的需要。應用程序運行過程中會產生大量數據,例如,需要保存用戶的各種基礎信息數據和用戶行為數據,這些數據就需要存儲在某個地方。當然,最原始的存儲地址可能是存在某個Word文件或CSV文件中。

但隨著應用程序的功能越來越復雜,存儲的數據量也越來越大,如何管理這些數據就成了大問題。工作中不僅需要存儲這些數據,還需要不斷地對這些文件進行讀/寫操作。如果讓每個應用程序都編寫代碼各自進行數據的讀/寫操作,一方面會導致效率低下且易出錯;另一方面,各應用程序訪問數據的接口不相同,也會導致數據難以復用。所以,實踐的需求促進了數據庫管理軟件的誕生。

通過將應用程序與數據相互獨立開來,由數據庫提供統一的應用程序接口,應用程序不再直接管理數據,而是通過數據庫軟件提供的接口來讀/寫數據,數據庫作為一種專門管理數據的軟件就出現了。這樣,應用程序改變或數據庫改變時就互不影響了,如圖2-1所示。

圖2-1 數據庫管理系統與應用程序

如此,研發人員編寫應用程序時,數據讀/寫的功能就被大大簡化了,這樣也降低了應用程序研發人員的負擔。

2.目前流行的數據庫

數據庫是信息的集合,是計算機數據存儲的倉庫或容器。數據庫設計的目的是管理大量的信息,給用戶提供數據的抽象視圖,即系統隱藏有關數據存儲和維護的某些細節。理解數據庫最直觀的方法就是把它看成是一個文件柜,數據就是放在這個柜子里面的文件。

數據庫設計就是根據業務實際需求,結合選用的數據庫管理系統,構造出符合業務系統的數據存儲模型,進而建立好數據庫中表結構、表與表之間關聯關系的過程,實現數據的有效存儲和高效訪問。

數據庫是一個邏輯上的概念,它本質上是一些互相關聯的數據的集合。從物理層面來看,數據庫就是一系列存儲在磁盤上的數據表文件。數據庫中的數據組成了“表”,有點類似Excel軟件中的各個工作表,如圖2-2所示。

圖2-2 數據庫示意

目前,應用廣泛的數據庫是MySQL數據庫。MySQL是一種典型的關系型數據庫。除了MySQL這種關系型數據庫,你可能還聽說過非關系型(NoSQL)數據庫,如MongoDB、Cassandra、Dynamo等,常被用來存儲一些文本數據。

綜合來看,各種應用程序的核心數據存儲仍然使用MySQL數據庫進行存儲,而NoSQL數據庫作為MySQL數據庫的補充,經常存儲一些非核心的文本類數據信息。本書將以MySQL為例來講解有關數據庫的知識。

主站蜘蛛池模板: 宜丰县| 揭阳市| 黔江区| 浦县| 神池县| 肥西县| 靖江市| 锦州市| 大宁县| 黑龙江省| 繁昌县| 阿尔山市| 石泉县| 眉山市| 湖州市| 龙海市| 库伦旗| 卓尼县| 南平市| 克拉玛依市| 元朗区| 阆中市| 德清县| 黎平县| 绥化市| 绵阳市| 潞城市| 兴业县| 阿图什市| 东明县| 丽江市| 根河市| 绥芬河市| 新建县| 上高县| 潜山县| 襄樊市| 墨脱县| 九寨沟县| 曲周县| 缙云县|