作為一為 Java 開發工程師,寫數據的查詢 SQL 是必備的技能。在 日常生活中,是否統計過讀數據和寫數據的頻率。以來開發經驗來說,查詢數據的操作語言是多於寫數據的。 有的信息系統,數據只初始化一次,甚至是服務一輩子。 接觸過很多的 web 開發系統,都是為了管理數據而生存的。要產生數據,才能管理 ...
作為一為 Java 開發工程師,寫數據的查詢 SQL 是必備的技能。在 日常生活中,是否統計過讀數據和寫數據的頻率。以來開發經驗來說,查詢數據的操作語言是多於寫數據的。 有的信息系統,數據只初始化一次,甚至是服務一輩子。
接觸過很多的 web 開發系統,都是為了管理數據而生存的。要產生數據,才能管理數據。數據從何而來,人造能行,可以,但是要相信他。在現在,還是未來,採集數據的方式是多種多樣的。伺服器是提供數據服務的,而客戶端是獲取數據服務的。反過來說,客戶端是獲取數據(做數據採集),而服務端是提供數據(做數據存儲)。現代社會,什麼都是數字化的,請小心得手機。
客戶端和服務端相互作用,相互依存,數據在兩者之間流轉。客戶端是服務端,服務端也是客戶端,只因為數據而生存。 只要明白一點,數據分佈多種多樣,能量沒了所有都沒了。
做程式開發,程式員需要對需求進行深入的理解。每次遇到一個新的系統,需要在最短的時間內熟悉系統到底是做什麼的,在有限的原型或者是測試頁面中找到應有的答案。接下要做的就是熟悉源碼,不要重覆造輪子。使用公司現有的配件做相應的生產,是工人, 即使是工程師,也不能心由相生。
做需求,理解需求是重要的第一步。看原型,知道需要完成什麼效果。熟悉需求文檔,確定 後臺介面需要涉及的資料庫,資料庫表,查詢 sql(怎麼查詢產生相應的數據)。
對於一個原生的項目,建表是第一步。怎麼建表,主從表,左右表,主鍵外鍵的確立,各種 表欄位的確立,表之間的關聯關係(一對多,多對多,一對一)。數據量大的話,要考慮是否使用分散式存儲,索引庫的建立。
後臺工程師寫查詢 SQL 是做開發的第一步,寫存儲過程 plsql 那更難。難的東西性能都更好, 因為簡單。電腦科學底層的東西組件相當簡單,但是使用起來卻十分艱難。見過現在科學家使用 CPU 指令進行編程的好像很少,但是能放棄他寫 SQL 查詢一般是需要確立業務邏輯需要管理的業務表,首先熟悉各張表的欄位邏輯,關聯關係。確定那張表是主
表,哪張表是從表。寫代碼的規則是,主表關聯從表,調用基礎 api,where 過濾,group by 分組。難一點是 case when 的使用,因為這是 sql 語句內在的演算法(相當於 Java 的 if)。SQL有數據結構有的是,只不過不提供給調用。子查詢是相當於新建了張表。當基礎 api 不夠的時候,提供了一個新的存儲過程庫 plsql。這就是語言,要熟練地使用他,適用他, 掌握他,可以為提供很多的好處。
資料庫是一本書,也是一座圖書館,很大,蓋起來都難。