一、資料庫如何工作
1、什麼是資料庫
資料庫是用來進行資料儲存和管理的容器。
產品在使用過程中發生的行為和業務資料都儲存在資料庫中。資料庫執行在伺服器上,屬於後端的一部分
服務端處理業務邏輯,然後呼叫資料庫進行資料操作
2、資料庫分類關係型資料庫:mysql、sql server、oracle等
非關係型資料庫:mongodb、couchdb等
不同資料廠商提供的資料庫基礎能力是類似的,但是使用場景和處理能力有差別,比如銀行會用oracle,支援大規模系統的資料庫,安全性高。類似不同空調廠商,空調都可以製冷制熱,但是能耗**有差別。
3、資料庫如何工作的
資料庫工作原理:被服務端呼叫,進行資料增刪改查
服務端通過sql語句運算元據庫,sql語句需要工程師寫**實現
資料庫執行在伺服器上,資料儲存在伺服器硬碟中
二、資料庫表和關係結構
1、實體關係結構
反映現實世界中實體本身和實體之間的關係結構,實體之間的關係可以是1對1、1對多、多對多。
例如:實體a是父親,有姓名、年齡、職業等屬性。
實體b是孩子,有姓名、年齡、學歷等屬性。
乙個父親實體a可以對應多個孩子實體b,即1對多。
2、資料庫表
資料庫中的表對應客觀世界中的乙個實體,表的名字就是實體名,表的字段就是實體屬性。
3、資料庫關係結構
反映現實世界中實體本身和實體之間的關係結構,實體之間的關係可以是1對1、1對多、多對多。
表與表之間可以建立關聯關係,對應不同實體之間的關係。
訂單與商品表的關係:1對多(乙個訂單可以有多個商品)
商品表與店鋪表的關係:多對多(乙個店鋪可以賣多個商品,乙個商品可以在多個店鋪賣)
使用者表與戶口表的關係:1對1(乙個人只有乙個戶口)
4、表與表之間通過主鍵相互關聯
主鍵:每個表中唯一標識一條資料的字段
例如:商品表的主鍵是productid,訂單表的主鍵是orderid
三、資料庫欄位和字段型別
1、資料表字段
字段對應實體物件中的屬性,在資料庫表結構中,欄位是基本組成要素。
例如user表字段:user、username、***、age等
字段可以有無限多個,資料庫表字段命名通常用英文,可以用下劃線區分。例如user_id,user_name
2、資料表的字段型別
每乙個欄位都對應一種字段型別,用來表示字段儲存的值屬於哪種型別。
常用字段型別有整數型、字元型、日期型。
例如user表字段型別:userid是字元型,username是字元型,***是字元型,age是整數型。
例如order表字段型別:time是日期型。
工程師寫**儲存資料時要根據表的字段的資料型別約束來做相應改變。
3、欄位和字段型別的使用
字段對映的是客觀世界的實體屬性,每個屬性都需要對應的資料型別。
欄位和字段型別是資料結構的基礎,介面裡的引數和值對應的都是資料庫裡的字段和字段型別。
工程師都是基於欄位和字段型別來定義介面(api)。
產品經理對資料庫表、字段、字段型別有了了解後,可以更好的理解介面的設計和功能的邏輯。
四、資料庫操作語言sql
1、資料庫操作語言——sql
sql全稱是結構化查詢語言,是一種用來操作關係型資料庫的程式語言,可以理解為對資料庫的操作指令。
sql語句被嵌入在服務端程式中,後端工程師除了編寫業務邏輯**外,還需要對資料庫進行操作。
2、資料庫如何呈現
客戶端發起請求,服務端處理,呼叫資料庫進行查詢,通過介面將資料返回客戶端並展示。當資料出現異常時,產品經理要知道問題出在**,是資料取的時候出現問題還是資料返回的時候出現問題。在定位產品資料問題時更有針對性。
3、常用sql語句
表的建立、新增、查詢、修改、刪除。
建表:create table
新增:insert into
查詢:select
修改:update
刪除:delete from
五、資料庫表索引
1、什麼是資料庫索引
索引是基於資料庫表某一列或幾列建立的目錄結構,通過索引能極大提高資料的查詢效率。
例如基於user表建立userid的索引結構,能快速定位查詢到某一具體資料。
傳統方法使用select * from user where userid = '10000' 查詢第10000條資料,按行遍歷。
通過userid的索引可以快速定位到userid=10000的資料項,提高查詢效率。
2、資料庫索引的缺點索引單獨維護,需要耗費空間
每次更新資料表時需要同步更新索引表
建立和維護索引時耗時較多,資料量增加時,耗時也會增加
產品經理要知道此技術背景,該如何提高查詢效率,提公升使用者體驗。
產品經理應該說NO
在今期的程式設計師雜誌上,看到有篇講產品經理的文章說的不錯,主題是 產品經理可以說no。下面小結其核心內容 1 產品經理的雙重職能 具備戰略制定和戰略執行的雙重職能的管理職位 2 產品經理一定要根據企業的戰略去制定產品,工作內容包括 1 戰略活動 知道做什麼方向 包括 問題,培育機會,創新產品 2 ...
iteye的產品經理技術經理應該好好反思下
2012年以前還是很喜歡進iteye的,一有空就進來狂狂,自從iteye首頁改版後就很少來的,身邊的同事朋友也很少來了,大家都反映改版後的首頁很失敗,漸漸的就不來iteye了,一般都 是上 技術 上infoq 其實不止是我身邊的很多同事不來iteye了,隨便翻下各個論壇的精華帖就可以看出來,2013...
產品經理應該掌握的技能(一)
1 會寫 在書寫文字當中能夠更好的對自己的思路做乙個梳理和總結。當我們想把一件事或想法用文字表述出來的時候,我們就需要重新思考 梳理再用文字呈現,在這個過程中能夠讓我們更加清晰的明白自己的思路與想法。如果你準備在一堆人中挑出乙個人來做某份工作,那就挑文章寫得最好的那個。至於他有沒有做過市場 銷售 設...