天天看點

軟體測試詳解14--資料庫知識

能夠反作用于業務和快速分析定位問題

在軟體開發中會遇到很多問題,追根究底它就是一個資料庫裡資料的問題,就比如說我們要去驗證注冊來源對不對,如果我們不去查庫的話,我不知道有這個字段的存在,雖然它需求裡面說了這麼一段話,但實際我從頁面上去做功能測試的時候,我并不能看到這個注冊來源到底存得對不對,是以我們要去看資料庫。

1、關系型資料庫

關系型資料庫:關系型資料庫的官方解釋比較難了解,其實簡單點來講,關系型資料庫就是以行和列的形式儲存資料的組織結構,這裡展現為二維結構的表,而且多個表之間可能會存在一些關系。

1)oracle

oracle是美國oracle公司(甲骨文)提供的以分布式資料庫為核心的一組軟體産品,oracle資料庫的特點是安全、高速、穩定、并發性好,這些特點都使得很多大企業都選擇資料庫的時候毫不猶豫的選擇了oracle。

早些年的時候,世界500強幾乎100%都是oracle的使用者。但是oracle是收費的,而且不便宜,這也使得很多初創公司或者中小型企業是完全沒有能力去負擔這筆開支,而放棄使用oracle,轉而選擇簡便易用,更輕量級且免費開源的mysql。

2)mysql

mysql是一種開發源代碼的關系型資料庫管理系統,并且因為其速度,可靠性和适用性備受中小型企業的青睐。雖然早期版本不支援事物操作、子查詢、外鍵、存儲過程和視圖等功能。

但是從02年釋出的4.0beta版以來,mysql外使用innodb作為預設引擎,對事物處理能力及資料緩存能力又來極大的提高,05年的5.0版本有添加了存儲過程、服務端遊标、觸發器、查詢優化以及分布式事物功能。

3)mariadb

mariadb資料庫是mysql的一個分支,由開源社群在維護,開發mariadb有一部分原因是因為擔心甲骨文收購mysql後,會有将mysql閉源的意圖,是以社群采用分支的方式來避開這個風險。

mariadb完全相容mysql,包括api和指令行,是mysql的完美替代品,儲存引擎方面,mariadb使用的是xtradb替代了mysql的innodb。

4)sqlserver

sqlserver是由microsoft開發和推廣的資料庫,它最初是由microsoft、sybase和ashton-tate三家公司共同開發的,并于1988年推出了第一個os/2版本。

ms sql server主要面向中小型企業。其最大的優勢是在于內建了ms公司的各類産品及資源,提供了強大的可視化界面、高度內建的管理開發工具,在快速建構商業智能(bi)方面頗有的建樹。

2、非關系型資料庫

非關系型資料庫:非關系型資料庫的資料結構跟關系型的完全不同,它主要是以鍵值對的形式去存儲資料。

1)memcached

memcached是以livejournal旗下danga interactive 公司的brad fitzpatric為首開發的一款軟體,它的出現很好的解決一系列資料庫瓶頸問題,因為在web應用中頻繁,集中的通路資料庫,就會帶來高并發帶來的一系列問題。

比如導緻資料庫負擔加重、響應惡化、網站顯示延遲等重大影響這些問題,而有了memcached提供的資料緩存機制,這些問題就都不是問題了。

2)redis

redis是一個key-value存儲系統。和memcached類似,它支援存儲的value類型相對更多,包括string(字元串)、list(連結清單)、set(集合)、和hash(哈希類型)等。redis是一個高性能的key-value資料庫。

redis的出現,很大程度補償了memcached這類key/value儲存的不足,在部分場合可以對關系資料庫起到很好的補充作用。

3)mongodb

mongodb是一個介于關系資料庫和非關系資料庫之間的産品,是非關系資料庫當中功能最豐富,最像關系資料庫的。他支援的資料結構非常松散,是類似json的bson格式,是以課程儲存比較複雜的資料庫類型。

mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似于面向對象的查詢語言,幾乎都可以實作類似關系資料庫表單查詢的絕大部分功能,而且還支援對資料庫建立索引。

1)建立/删除庫、建立/删除表、檢視庫、檢視表

2) 備份、還原資料

3)存儲過程 、視圖

4)導入、導出資料

5)資料庫基礎配置 :修改密碼、添加使用者等

6)資料庫連結工具:如 workbench navicat phpmyadmin 等

7)基本的增删改查 語句

8) 稍微複雜點的sql :多表查詢、子查詢 等等

9) 至少得知道常見的資料庫:mysql mssql oracle memcached redis mongodb

10) 資料庫的安裝、部署:你至少得會自己在伺服器或自己電腦上安裝個資料庫

接口測試和接口文檔生成工具:apipost

軟體測試詳解14--資料庫知識