1. 程式人生 > >Javaweb開發必須掌握的資料庫知識總結

Javaweb開發必須掌握的資料庫知識總結

一般來說,我們將網站分為前端和後端。前端主要負責頁面的展示,後端則是業務邏輯的實現,後端是由一些實現業務邏輯的Java程式碼和資料庫組成。

Javaweb做後端,資料庫方面需要掌握到哪種程度?我把我能想到的技能點給大家簡單羅列了一下,希望能對大家的工作和學習有所幫助(可能不夠完善,歡迎大家隨時補充):

· 需要對Mysql、Oracle、SqlServer這三個常用的資料庫熟悉瞭解。

· 在資料量比較大或者請求數比較高的情況下,需要了解一些特定資料庫針對性優化。

· 熟悉表、欄位、記錄、索引等概念。

· 熟悉SQL的約束,非空、預設值、唯一值等約束。熟悉主鍵、外來鍵、檢查約束等。

· 熟悉資料型別,文字,數字,日期/時間,二進位制等。

· 熟練使用資料操作語言 (DML),SELECT、UPDATE、DELETE、INSERT INTO等語句,這些資料操作語法,在多數功能需求中,是基本組成部分。

· 熟練使用資料定義語言 (DDL),DATABASE的CREATE 、ALTER;DATABASE的CREATE 、ALTER;TABLE的CREATE 、ALTER、DROP;INDEX的CREATE、DROP。是系統的資料庫設計必需的定義語法。也會是系統迭代升級階段常常進行的資料結構變更操作。

· 熟悉SQL連線的使用,INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL JOIN,UNION,UNION ALL。

· 熟悉聚集函式的使用,sum,avg,count,max,min,以及group by和having 的配合。以及DISTINCT去重。

· 熟練使用子查詢。掌握資料庫規範化,熟悉第一正規化(1NF),第二正規化(2NF),第三正規化(3NF)。

· 熟悉資料庫理論中資料模型,及關係模型。

· 完成模組功能需求的資料庫設計。

· 熟練使用index優化查詢效能。

· 瞭解儲存過程、自定義函式、觸發器、檢視的使用。

· 熟悉程式對資料庫事務處理。

· 瞭解各資料庫對數字、字串、時間的處理函式。

· 

熟練使用PowerDesigner進行表結構設計。熟練

· 熟練進行系統資料庫設計。

· 瞭解各資料庫對資料型別處理上的差異。

· 優化表的設計提高效能需求。

· 熟練使用分表分割槽等特性。

· 瞭解索引機制及型別。

· 熟練運用資料控制 (DCL),GRANT、REVOKE。

· 熟練使用explain分析SQL的執行計劃。資料庫系統相關

· 主要針對常用的資料庫,mysql,oracle,SQLServer。當然其它資料庫的要求也類似。入門開發環境的資料庫的安裝配置。

· 熟練使用資料庫對應的客戶端,Mysql常用SQLyog,oracle常用的是PL/SQL Developer,SQLServer自帶的客戶端。另外通用的客戶端navicat和Toad都比較強大。

· 程式連線資料庫。

· 掌握瞭解各資料庫系統的組成部分。

· Mysql瞭解innodb檔案組成,及結構。oracle的檔案,表空間,資料塊,區,段等。

· 瞭解各資料庫的SQL的執行過程。熟練

· 熟悉各資料庫的體系結構。

· 熟悉分表分庫的方案。

· 瞭解叢集的部署。如Oracle的RAC,MySQL叢集的各種方案。

· 瞭解讀寫分離的方案(主備),瞭解binlog。

· 瞭解資料庫系統層級的優化方案。