1. 程式人生 > 其它 >5、資料庫學習 - IT軟體人員學習系列文章

5、資料庫學習 - IT軟體人員學習系列文章

  在軟體設計中,除了前端和後端,那就是資料庫的設計了。資料庫的設計是最基礎的底層,很多軟體都是通過資料庫做為中轉,比如一個數據庫,多個系統共享該資料庫的資料。更多的請參考下面這個博文分類:

  https://www.cnblogs.com/lzhdim/category/165631.html

  其它的,請參考筆者收集的關於資料庫的書籍:

  連結:https://pan.baidu.com/s/16t8IAKvzuqxaN7_GL91L2g
  提取碼:7fzo

  1、        資料庫表設計;

  對於資料庫來說,表設計是最基本的。現在的資料庫表,就是二維表,與EXCEL表格類似,所以,通過資料庫工具,能夠讓EXCEL表格與資料表之間進行資料的匯入匯出。資料庫的表,按筆者的理解,根據資料表正規化,基本上以資料正規化3即可。現在使用關係型資料庫比較多,所以關係型資料庫表設計也就比較多。關係型資料庫表設計,基本以表之間的關係為基礎進行的設計,類似與軟體的面向物件設計,先識別出類,然後將類例項化為物件。關係型資料庫表也能夠以物件識別為基礎進行二維表的設計。

  2、        資料庫設計工具;

  資料庫設計工具,筆者這邊接觸過的就是PowerDesign,還有就是UML建模工具裡的類圖設計(這裡有UMLStar或者EnterpriseArchtech等)。這類工具的使用也比較簡單容易上手,具體請自己參考上面的資料庫書籍或者百度這幾個工具的使用。至於設計表的過程,請參考1的說明。

  3、        目前常用的資料庫;

  這裡只描述筆者使用的幾種資料庫軟體。

  1)        SQL SERVER;

  微軟的SQL SERVER資料庫軟體,只要是使用過資料庫的都聽說過吧。SQL SERVER發展到現在,最新版本是SQL SERVER 2019,而且,該資料庫的使用,分為資料庫檔案的安裝,另需要安裝一個數據庫的使用軟體。按筆者自己的經驗,SQL SERVER的使用還是挺簡單的,就是隨著版本的提高,有自己的資料庫的優點,也更加的方便使用。對於SQL SERVER來說,SQL的語法是T-SQL,這個需要區別於ORACLE的語法。

  2)        ORACLE;

  ORACLE在資料庫業界也是有名的存在。而且,ORACLE資料庫的優勢在於其在大的查詢量的情況下仍然保持著查詢時間的優勢。而且,ORACLE資料庫表的容量也更大,對於上千萬級別的資料量優勢也很大。目前ORACLE資料庫的最新版本是12c ,筆者這邊用過的版本是11g ,對於安裝上,ORACLE資料庫有自己的安裝介面,同時安裝的步驟和方法也比較簡單,只需要在安裝的時候選擇好企業相關即可。對於ORACL資料庫的使用上,有其自己的工具PL/SQL Developer和TOAD等,這個軟體的使用參考書籍裡。另,ORACLE資料庫的SQL有自己的語法PL/SQL,同時有自己的特色,比如SQL包等。

  3)        MySQL;

  MySQL是筆者研究過的一個數據庫,在PHP程式語言的後端,該資料庫的使用還是比較多的。同時,MySQL有自己的特點,比如資料庫表的資料型別等等。而且,MySQL支援的資料量也非常大,千萬級的資料量,只要伺服器效能夠好,查詢的速度還是挺快的。對於MySQL資料庫,具體請參考資料庫書籍。MySQL資料庫也有自己的資料庫表設計工具,比如NavieCat等等。

  4)        SQLite;

  這裡筆者對輕量型的資料庫SQLite進行一下介紹。這個資料庫最大的表量據說是2G大小,筆者沒有去嘗試過,因為是輕量型,所以需要大資料量的自己安裝其它資料庫或者將表資料進行按時間或者其它進行劃分儲存。這個資料庫對於一些小型的軟體使用還是挺好的,查詢速度也很快。筆者曾經使用該庫進行過幾個軟體的設計開發。該資料庫也有自己的設計軟體,筆者用過的是SQLiteExpert ,其它的工具請自己百度查詢使用方法。

  4、        資料庫的優化;

  對於資料庫的優化,在筆者的資料庫優化的博文裡有介紹,請自己查詢。對於資料庫的優化,筆者認為有兩個方面:資料表和SQL語句。對於資料庫,根據資料量的大小以及正規化,然後根據表間的關係進行設計,還有就是按日期將資料進行劃分;對於SQL語句,最好是使用相關的SQL語句優化工具,對於重要的查詢頻繁的SQL語句進行自動優化,根據查詢時間將最優化的SQL語句進行使用即可。

  上面對資料庫做了簡單的描述,只在於將資料庫的幾個方面做個介紹,具體資料庫在使用時,需要先熟悉SQL語法,按資料量進行選擇,然後使用工具進行設計表即可。總之,資料庫的使用和調優,有專門的DBA的書籍能夠進行學習,而且有專業的DBA對資料庫的執行進行運維。最後,對於資料庫來說,這個是一個比較大的分類,相信通過閱讀學習相應的資料庫的資料就能夠掌握資料庫這個分類的使用了。