教培參考
教育培訓行業(yè)知識型媒體
發(fā)布時間: 2024年12月27日 12:17
1、 關(guān)系型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫是較常見的數(shù)據(jù)庫類型,這類數(shù)據(jù)庫通過RDBMS數(shù)據(jù)庫程序來進行管理和使用,常見的有SQL Server,MySQL等等。
關(guān)系型數(shù)據(jù)庫中強調(diào)一個事務(wù)(Transaction)的概念。所謂事務(wù)是用戶定義的一個數(shù)據(jù)庫操作系列,這些操作要么全部執(zhí)行,要么全部不執(zhí)行,是一個不可分割的工作單位。例如在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句、一組SQL語句或整個程序。
事務(wù)應(yīng)該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為D特性。
原子性(Atomicity):事務(wù)作為一個整體被執(zhí)行,包含在其中的對數(shù)據(jù)庫的操作要么全部被執(zhí)行,要么都不執(zhí)行。
一致性(Consistency):事務(wù)應(yīng)確保數(shù)據(jù)庫的狀態(tài)從一個一致狀態(tài)轉(zhuǎn)變?yōu)榱硪粋€一致狀態(tài)。一致狀態(tài)的含義是數(shù)據(jù)庫中的數(shù)據(jù)應(yīng)滿足完整性約束。
隔離性(Isolation):多個事務(wù)并發(fā)執(zhí)行時,一個事務(wù)的執(zhí)行不應(yīng)影響其他事務(wù)的執(zhí)行。
持久性(Durability):一個事務(wù)一旦提交,他對數(shù)據(jù)庫的修改應(yīng)該保存在數(shù)據(jù)庫中。對于實際的應(yīng)用來說,SQL語言是必須要掌握的。能夠通過SQL語句在數(shù)據(jù)庫中找到需要的數(shù)據(jù),是測試工程師必備的技能。SQL語句的語法大體上比較類似,在一些細節(jié)上不同的RDBMS會有些許的差別。
對于自動化實現(xiàn)來說,在自動化測試中通過訪問數(shù)據(jù)庫來獲得期望值也是很常見的場景。不同的語言都有訪問數(shù)據(jù)庫的庫,整體來說應(yīng)用也很簡單。
2、 非關(guān)系型數(shù)據(jù)庫
隨著互聯(lián)網(wǎng)中大量的非結(jié)構(gòu)化數(shù)據(jù)的產(chǎn)生,例如社交網(wǎng)絡(luò)等等應(yīng)用,用戶的個人信息,社交網(wǎng)絡(luò),地理位置,用戶生成的數(shù)據(jù)和用戶操作日志已經(jīng)正在以幾何級數(shù)的速率增加,同時還面臨大量的數(shù)據(jù)挖掘工作,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)無法滿足。所以NoSQL漸漸的發(fā)展了起來。
NoSQL較突出的特點就是數(shù)據(jù)的非結(jié)構(gòu)化,通俗的講,就是數(shù)據(jù)不再是以列和行這樣的形式存儲的。
NoSQL存儲數(shù)據(jù)的方式很多:值對存儲,列存儲,文檔存儲。例如比較常見的MongoDB就是將數(shù)據(jù)存儲為一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。