久久综合色一综合色88欧美|久久er热在这里只有精品66|国产福利一区二区不卡|日本精品动漫二区三区

    1. <address id="l3apk"><var id="l3apk"><source id="l3apk"></source></var></address>

      軟件測試數(shù)據(jù)庫面試題

      時間:2022-11-25 18:27:49 面試技巧 我要投稿
      • 相關(guān)推薦

      軟件測試數(shù)據(jù)庫面試題

        在軟件測試的數(shù)據(jù)庫方面的面試中,提前做好準(zhǔn)備很重要,那么你了解面試題了嗎?下面陽光網(wǎng)小編已經(jīng)為你們整理了軟件測試數(shù)據(jù)庫面試題,希望可以幫到你。

      軟件測試數(shù)據(jù)庫面試題

        軟件測試數(shù)據(jù)庫面試題(一)

        1. 在一個查詢中,使用哪一個關(guān)鍵字能夠除去重復(fù)列值?

        答案:使用distinct關(guān)鍵字

        2. 什么是快照?它的作用是什么?

        答案:快照Snapshot是一個文件系統(tǒng)在特定時間里的鏡像,對于在線實時數(shù)據(jù)備份非常有用?煺諏τ趽碛胁荒芡V沟膽(yīng)用或具有常打開文件的文件系統(tǒng)的備份非常重要。對于只能提供一個非常短的備份時間而言,快照能保證系統(tǒng)的完整性。

        3. 解釋存儲過程和觸發(fā)器

        答案:

        存儲過程是一組Transact-SQL語句,在一次編譯后可以執(zhí)行多次。因為不必重新編譯Transact-SQL語句,所以執(zhí)行存儲過程可以提高性能。

        觸發(fā)器是一種特殊類型的存儲過程,不由用戶直接調(diào)用。創(chuàng)建觸發(fā)器時會對其進(jìn)行定義,以便在對特定表或列作特定類型的數(shù)據(jù)修改時執(zhí)行。

        4. SQL Server是否支持行級鎖,有什么好處?

        答案:支持動態(tài)行級鎖定

        SQL Server 2000動態(tài)地將查詢所引用的每一個表的鎖定粒度調(diào)整到合適的級別。當(dāng)查詢所引用的少數(shù)幾行分散在一個大型表中時,優(yōu)化數(shù)據(jù)并行訪問的最佳辦法是使用粒度鎖,如行鎖。但是,如果查詢引用的是一個表中的大多數(shù)行或所有行,優(yōu)化數(shù)據(jù)并行訪問的最佳辦法可以是鎖定整個表,以盡量減少鎖定開銷并盡快完成查詢。

        SQL Serve 2000通過為每個查詢中的每個表選擇適當(dāng)?shù)逆i定級別,在總體上優(yōu)化了數(shù)據(jù)并發(fā)訪問。對于一個查詢,如果只引用一個大型表中的幾行,則數(shù)據(jù)庫引擎可以使用行級鎖定;如果引用一個大型表的幾頁中的多行,則使用頁級鎖定;如果引用一個小型表中的所有行,則使用表級鎖定。

        5. 數(shù)據(jù)庫日志干什么用,數(shù)據(jù)庫日志滿的`時候再查詢數(shù)據(jù)庫時會出現(xiàn)什么情況。

        答案:每個數(shù)據(jù)庫都有事務(wù)日志,用以記錄所有事務(wù)和每個事務(wù)對數(shù)據(jù)庫所做的修改。

        6. 存儲過程和函數(shù)的區(qū)別?

        答案:存儲過程是用戶定義的一系列SQL語句的集合,涉及特定表或其它對象的任務(wù),用戶可以調(diào)用存儲過程,而函數(shù)通常是數(shù)據(jù)庫已定義的方法,它接收參數(shù)并返回某種類型的值并且不涉及特定用戶表

        軟件測試數(shù)據(jù)庫面試題(二)

        1. 事務(wù)是什么?

        答案:事務(wù)是作為一個邏輯單元執(zhí)行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務(wù):

        (1) 原子性

        事務(wù)必須是原子工作單元;對于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。

        (2) 一致性

        事務(wù)在完成時,必須使所有的數(shù)據(jù)都保持一致狀態(tài)。在相關(guān)數(shù)據(jù)庫中,所有規(guī)則都必須應(yīng)用于事務(wù)的修改,以保持所有數(shù)據(jù)的完整性。事務(wù)結(jié)束時,所有的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如 B 樹索引或雙向鏈表)都必須是正確的。

        (3) 隔離性

        由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離。事務(wù)查看數(shù)據(jù)時數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不會查看中間狀態(tài)的數(shù)據(jù)。這稱為可串行性,因為它能夠重新裝載起始數(shù)據(jù),并且重播一系列事務(wù),以使數(shù)據(jù)結(jié)束時的狀態(tài)與原始事務(wù)執(zhí)行的狀態(tài)相同。

        (4) 持久性

        事務(wù)完成之后,它對于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)系統(tǒng)故障也將一直保持。

        2. 游標(biāo)的`作用?如何知道游標(biāo)已經(jīng)到了最后?

        答案:游標(biāo)用于定位結(jié)果集的行,通過判斷全局變量@@FETCH_STATUS可以判斷是否到了最后,通常此變量不等于0表示出錯或到了最后。

        3. 觸發(fā)器分為事前觸發(fā)和事后觸發(fā),這兩種觸發(fā)有何區(qū)別?語句級觸發(fā)和行級觸發(fā)有何區(qū)別?

        答案:

        事前觸發(fā)器運行于觸發(fā)事件發(fā)生之前,而事后觸發(fā)器運行于觸發(fā)事件發(fā)生之后。通常事前觸發(fā)器可以獲取事件之前和新的字段值。

        語句級觸發(fā)器可以在語句執(zhí)行前或后執(zhí)行,而行級觸發(fā)在觸發(fā)器所影響的每一行觸發(fā)一次。

        4. 解決死鎖的方法有哪些?

        答案:

        解決手段一:SQL Server自動檢測和消除死鎖

        解決手段二:設(shè)置死鎖優(yōu)先級

        解決手段三:設(shè)置鎖定超時

        解決手段四:使用更新鎖避免死鎖

        軟件測試數(shù)據(jù)庫面試題(三)

        1. 提高數(shù)據(jù)庫運行效率的辦法有哪些?

        答案:在給定的系統(tǒng)硬件和系統(tǒng)軟件條件下,提高數(shù)據(jù)庫系統(tǒng)的運行效率的辦法是:

        (1) 在數(shù)據(jù)庫物理設(shè)計時,降低范式,增加冗余, 少用觸發(fā)器, 多用存儲過程。

        (2) 當(dāng)計算非常復(fù)雜、而且記錄條數(shù)非常巨大時(例如一千萬條),復(fù)雜計算要先在數(shù)據(jù)庫外面,以文件系統(tǒng)方式用C++語言計算處理完成之后,最后才入庫追加到表中去。這是電信計費系統(tǒng)設(shè)計的經(jīng)驗。

        (3) 發(fā)現(xiàn)某個表的記錄太多,例如超過一千萬條,則要對該表進(jìn)行水平分割。水平分割的做法是,以該表主鍵PK的某個值為界線,將該表的記錄水平分割為兩個表。若發(fā)現(xiàn)某個表的字段太多,例如超過八十個,則垂直分割該表,將原來的一個表分解為兩個表。

        (4) 對數(shù)據(jù)庫管理系統(tǒng)DBMS進(jìn)行系統(tǒng)優(yōu)化,即優(yōu)化各種系統(tǒng)參數(shù),如緩沖區(qū)個數(shù)。

        (5) 在使用面向數(shù)據(jù)的SQL語言進(jìn)行程序設(shè)計時,盡量采取優(yōu)化算法?傊,要提高數(shù)據(jù)庫的運行效率,必須從數(shù)據(jù)庫系統(tǒng)級優(yōu)化、數(shù)據(jù)庫設(shè)計級優(yōu)化、程序?qū)崿F(xiàn)級優(yōu)化,這三個層次上同時下功夫。

        2. 通俗地理解三個范式

        答案:通俗地理解三個范式,對于數(shù)據(jù)庫設(shè)計大有好處。在數(shù)據(jù)庫設(shè)計中,為了更好地應(yīng)用三個范式,就必須通俗地理解三個范式(通俗地理解是夠用的理解,并不是最科學(xué)最準(zhǔn)確的理解):

        第一范式:1NF是對屬性的原子性約束,要求屬性具有原子性,不可再分解;

        第二范式:2NF是對記錄的惟一性約束,要求記錄有惟一標(biāo)識,即實體的`惟 一性;

        第三范式:3NF是對字段冗余性的約束,即任何字段不能由其他字段派生出來,它要求字段沒有冗余。沒有冗余的數(shù)據(jù)庫設(shè)計可以做到。但是,沒有冗余的數(shù)據(jù)庫未必是最好的數(shù)據(jù)庫,有時為了提高運行效率,就必須降低范式標(biāo)準(zhǔn),適當(dāng)保留冗余數(shù)據(jù)。具體做法是:在概念數(shù)據(jù)模型設(shè)計時遵守第三范式,降低范式標(biāo)準(zhǔn)的工作放到物理數(shù)據(jù)模型設(shè)計時考慮。降低范式就是增加字段,允許冗余。

        3. 簡述存儲過程的優(yōu)缺點

        優(yōu)點:

        01. 更快的執(zhí)行速度:存儲過程只在創(chuàng)造時進(jìn)行編譯,以后每次執(zhí)行存儲過程都不需再重新編譯,而一般SQL語句每執(zhí)行一次就編譯一次,所以使用存儲過程可提高數(shù)據(jù)庫執(zhí)行速度;

        02. 與事務(wù)的結(jié)合,提供更好的解決方案:當(dāng)對數(shù)據(jù)庫進(jìn)行復(fù)雜操作時(如對多個表進(jìn)行Update、Insert、Query和Delete時),可將此復(fù)雜操作用存儲過程封裝起來與數(shù)據(jù)庫提供的事務(wù)處理結(jié)合一起使用;

        03. 支持代碼重用:存儲過程可以重復(fù)使用,可減少數(shù)據(jù)庫開發(fā)人員的工作量;

        04. 安全性高:可設(shè)定只有某此用戶才具有對指定存儲過程的使用權(quán)。

        缺點:

        01. 如果更改范圍大到需要對輸入存儲過程的參數(shù)進(jìn)行更改,或者要更改由其返回的數(shù)據(jù),則您仍需要更新程序集中的代碼以添加參數(shù)、更新 GetValue() 調(diào)用,等等,這時候估計比較繁瑣了。

        02. 可移植性差由于存儲過程將應(yīng)用程序綁定到 SQL Server,因此使用存儲過程封裝業(yè)務(wù)邏輯將限制應(yīng)用程序的可移植性。如果應(yīng)用程序的可移植性在您的環(huán)境中非常重要,則將業(yè)務(wù)邏輯封裝在不特定于 RDBMS 的中間層中可能是一個更佳的選擇。

      【軟件測試數(shù)據(jù)庫面試題】相關(guān)文章:

      軟件測試面試題04-03

      軟件測試面試題12-09

      軟件測試經(jīng)典面試題04-07

      軟件測試的面試題04-07

      android軟件測試面試題04-04

      軟件測試面試題及答案04-03

      常見軟件測試面試題04-03

      軟件測試員面試題04-03

      軟件測試面試題大全04-03