軟體測試--資料庫基礎知識

測試人生路發表於2021-01-11

一、為什麼要學習資料庫

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

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

二、常見資料庫

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

enter image description here enter image description here

相關文章