<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        數據庫經典問題

        來源:懂視網 責編:小采 時間:2020-11-09 14:47:58
        文檔

        數據庫經典問題

        數據庫經典問題:1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,dele
        推薦度:
        導讀數據庫經典問題:1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,dele

        1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點? 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,delete,update

        1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制

        2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點?

        一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集

        有insert,delete,update觸發器

        它防止了對數據的不正確、未授權的和不一致的改變

        3、常見的幾種約束有哪些?分別代表什么意思?如何使用?

        1)實體完整性:主鍵保證了實體完整性,一個表只有一個主鍵,但一個主鍵可有包含多個字段,主鍵字段不能為空

        2)參照完整性:外鍵保證了引用完整性,一個表可以有多個外鍵

        3)用戶定義完整性:CHECK保證了域完整性, 一個表中可以有多個檢查性約束

        4、事務:是一系列的數據庫操作,是數據庫應用的基本邏輯單位。

        事務性質:ACID特性
        原子性(Atomicity):事務的所有操作在數據庫中要么全部正確的反映出來,要么完全不反映;

        一致性(Consistency):執行前后數據保持一致,比如,轉帳系統執行前后,兩者的總錢數保持一致;

        隔離性(Isolation):盡管多個事務可能并發執行,但執行的結果與某個串行執行相同,因此,每個事務都感覺不到系統中其他事務在并發執行,隔離性是并發控制的主要任務;

        持久性(Durability)一個事務成功執行完成后,它對數據庫的改變必須是永久的,即使出現系統故障,持久性是恢復系統的主要任務

        5、內聯接與外聯接
        內連接是保證兩個表中所有的行都要滿足連接條件,而外連接則不然。在外連接中,某些不滿條件的列也會顯示出來,也就是說,只限制其中一個表的行,而不限制另一個表的行。分左連接、右連接、全連接三種

        6、視圖

        視圖是數據庫數據的特定子集。可以禁止所有用戶訪問數據庫表,而要求用戶只能通過視圖操作數據,這種方法可以保護用戶和應用程序不受某些數據庫修改的影響。2.視圖是抽象的,他在使用時,從表里提取出數據,形成虛的表。 視圖沒有自己的數據,當用戶操作視圖時,數據庫才把相應的操作轉化為對應表的操作,視圖僅僅是預先定義好的一些SQL操作,它是在基本表之上建立的表,它的結構(即所定義的列)和內容(即所有數據行)都來自基本表,它依據基本表存在而存在。一個視圖可以對應一個基本表,也可以對應多個基本表。

        7、索引:參考文獻

        優點:

        第一,可以大大加快 數據的檢索速度,這也是創建索引的最主要的原因。

        第二,通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。

        缺點:

        第一,創建索引和維護索引要耗費時間,這種時間隨著數據 量的增加而增加。
        第二,索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。
        第三,當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。

        索引是建立在數據庫表中的某些列的上面。因此,在創建索引的時候,應該仔細考慮在哪些列上可以創建索引,在哪些列上不能創建索引。一般來說,應該在這些列 上創建索引,例如:

        在經常需要搜索的列上,可以加快搜索的速度;
        在作為主鍵的列上,強制該列的唯一性和組織表中數據的排列結構;
        在經常用在連接的列上,這 些列主要是一些外鍵,可以加快連接的速度;
        在經常需要根據范圍進行搜索的列上創建索引,因為索引已經排序,其指定的范圍是連續的;
        在經常需要排序的列上創 建索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間;
        在經常使用在WHERE子句中的列上面創建索引,加快條件的判斷速度。


        同樣,對于有些列不應該創建索引。一般來說,不應該創建索引的的這些列具有下列特點:

        第一,對于那些在查詢中很少使用或者參考的列不應該創建索引。這是因 為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。相反,由于增加了索引,反而降低了系統的維護速度和增大了空間需求。
        第二,對于那 些只有很少數據值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的數據行占了表中數據行的很大比 例,即需要在表中搜索的數據行的比例很大。增加索引,并不能明顯加快檢索速度。
        第三,對于那些定義為text, image和bit數據類型的列不應該增加索引。這是因為,這些列的數據量要么相當大,要么取值很少。
        第四,當修改性能遠遠大于檢索性能時,不應該創建索 引。這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因 此,當修改性能遠遠大于檢索性能時,不應該創建索引。


        索引的幾種方式

        1、順序索引(基本不用) 2、B+樹索引(最常用,如mysql的InnoDB) 3、hash索引(用的不多)

        8、SQL標準定義的四個隔離級別(都是與事務相關的) 參考

        通過一些現象,可以反映出隔離級別的效果。這些現象有:

        1、更新丟失(lost update):當系統允許兩個事務同時更新同一數據是,發生更新丟失。

        2、臟讀(dirty read):當一個事務讀取另一個事務尚未提交的修改時,產生臟讀。

        3、非重復讀(nonrepeatableread):同一查詢在同一事務中多次進行,由于其他提交事務所做的修改或刪除,每次返回不同的結果集,此時發生非重復讀。

        4、幻像(phantom read):同一查詢在同一事務中多次進行,由于其他提交事務所做的插入操作,每次返回不同的結果集,此時發生幻像讀。

        下面是隔離級別及其對應的可能出現或不可能出現的現象

        Dirty Read

        NonRepeatable Read

        Phantom Read

        Read uncommitted

        Possible

        Possible

        Possible

        Read committed

        Not possible

        Possible

        Possible

        Repeatable read

        Not possible

        Not possible

        Possible

        Serializable

        Not possible

        Not possible

        Not possible

        ORACLE的隔離級別 ORACLE提供了SQL92標準中的readcommitted和serializable

        mysql的InnoDB存儲引擎默認支持的隔離級別是Repeatable read

        在標準SQL規范中,定義了4個事務隔離級別,不同的隔離級別對事務的處理不同:

        ◆未授權讀取(Read Uncommitted):允許臟讀取,但不允許更新丟失。如果一個事務已經開始寫數據,則另外一個事務則不允許同時進行寫操作,但允許其他事務讀此行數據。該隔離級別可以通過“排他寫鎖”實現。

        ◆授權讀取(Read Committed):允許不可重復讀取,但不允許臟讀取。這可以通過“瞬間共享讀鎖”和“排他寫鎖”實現。讀取數據的事務允許其他事務繼續訪問該行數據,但是未提交的寫事務將會禁止其他事務訪問該行。

        ◆可重復讀取(Repeatable Read):禁止不可重復讀取和臟讀取,但是有時可能出現幻影數據。這可以通過“共享讀鎖”和“排他寫鎖”實現。讀取數據的事務將會禁止寫事務(但允許讀事務),寫事務則禁止任何其他事務。

        ◆序列化(Serializable):提供嚴格的事務隔離。它要求事務序列化執行,事務只能一個接著一個地執行,但不能并發執行。如果僅僅通過“行級鎖”是無法實現事務序列化的,必須通過其他機制保證新插入的數據不會被剛執行查詢操作的事務訪問到。

        隔離級別越高,越能保證數據的完整性和一致性,但是對并發性能的影響也越大,通過選用不同的隔離等級就可以在不同程度上避免前面所提及的在事務處理中所面臨的各種問題。所以,數據庫隔離級別的選取就顯得尤為重要,在選取數據庫的隔離級別時,應該注意以下幾個處理的原則:

        首先,必須排除“未授權讀取”,因為在多個事務之間使用它將會是非常危險的。事務的回滾操作或失敗將會影響到其他并發事務。第一個事務的回滾將會完全將其他事務的操作清除,甚至使數據庫處在一個不一致的狀態。很可能一個已回滾為結束的事務對數據的修改最后卻修改提交了,因為“未授權讀取”允許其他事務讀取數據,最后整個錯誤狀態在其他事務之間傳播開來。

        其次,絕大部分應用都無須使用“序列化”隔離(一般來說,讀取幻影數據并不是一個問題),此隔離級別也難以測量。目前使用序列化隔離的應用中,一般都使用悲觀鎖,這樣強行使所有事務都序列化執行。

        剩下的也就是在“授權讀取”和“可重復讀取”之間選擇了。我們先考慮可重復讀取。如果所有的數據訪問都是在統一的原子數據庫事務中,此隔離級別將消除一個事務在另外一個并發事務過程中覆蓋數據的可能性(第二個事務更新丟失問題)。這是一個非常重要的問題,但是使用可重復讀取并不是解決問題的唯一途徑。



        9、聚集索引與非聚集索引

        聚簇索引是一種對磁盤上實際數據重新組織以按指定的一個或多個列的值排序。由于聚簇索引的索引頁面指針指向數據頁面,所以使用聚簇索引查找數據幾乎總是比使用非聚簇索引快。每張表只能建一個聚簇索引,在聚簇索引下,數據在物理上按順序排在數據頁上,重復值也排在一起,因而在那些包含范圍檢查(between、<、<=、& gt;、>=)或使用groupby或order by的查詢時,一旦找到具有范圍中第一個鍵值的行,具有后續索引值的行保證物理上毗連在一起而不必進一步搜索,避免了大范圍掃描,可以大大提高查詢速度。

        \

        \

        \

        \


        <喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+CrnY09pteXNxbLXEy/fS/aOsv8nS1LLOv7zV4sDvoaO52NPaQiYjNDM7yve1xNStwO2/ydLUss6/vNXiwO88L3A+Cgo8cD4xMKGiyNXWvs7EvP4gcmVkbyC6zSB1bmRvtcTX99PDPC9wPgo8cD7U2srCzvFUv6rKvL+qyrzWrsewo6zI1da+1tDQtMjrvMfCvCZsdDtUIHN0YXJ0Jmd0O6Os1rTQ0Ln9s8zW0KOsVNa00NDIzrrOd3JpdGUoWCmy2df3x7DPyNKqz/LI1da+1tDQtMjrysq1sbXE0MK1xLzHwryjrLWxVMzhvbvKsaOsyNXWvtbQ0LTI67zHwrwmbHQ7VCBjb21taXQmZ3Q7o6zX3LXEwLTLtb7NysfPyNC0yNXWvqOsuvO4/NDCvMfCvKGjPC9wPgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20140909/20140909091017242.png" alt="">

        在這里我們先說恢復的一般方法:
        (1)正向掃描日志文件(從頭到尾),找出故障發生前已經提交的事務(存在begin transaction和commit記錄),將其標識記入重做(redo)隊列。同時找出故障發生時未完成的事務(只有begin transaction,沒commit),將其標識記入(undo)隊列
        (2)對undo隊列的各事務進行撤銷處理。進行undo的處理方法是,反向掃描日志文件,對每個undo事務的更新操作執行反操作,即將日志記錄中“更新前的值”寫入數據庫。

        (3)對重做日志中的各事務進行重做操作。進行redo的處理方法是,正向掃描日志,對每個redo事務重新執行日志文件登記操作。即將日志中“更新后的值”寫入數據庫。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        數據庫經典問題

        數據庫經典問題:1、存儲過程的優點是什么? 存儲過程的優點: 1.提高性能 2.減輕網絡擁塞 3.一致性較好 4.改善安全機制 2、什么是觸發器?觸發器有哪幾種?觸發器有什么優點 一個觸發器是由T-SQL語句集組成的代碼塊,在響應某些動作時激活該語句集 有insert,dele
        推薦度:
        標簽: 是什么 過程 問題
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 久久丫精品国产亚洲av| 国产美女亚洲精品久久久综合| 亚洲成年轻人电影网站www| 精精国产www视频在线观看免费| 亚洲午夜精品一区二区公牛电影院 | 亚洲v高清理论电影| 免费国产成人18在线观看| 亚洲AV午夜福利精品一区二区| 成人免费区一区二区三区 | 亚洲乱码中文字幕小综合| 亚洲w码欧洲s码免费| 亚洲人成网国产最新在线| 国内精品免费视频自在线| 老司机免费午夜精品视频| 亚洲国产香蕉人人爽成AV片久久| 亚洲影视自拍揄拍愉拍| 最近中文字幕无免费视频| 鲁啊鲁在线视频免费播放| 亚洲精品午夜无码专区| 99精品视频免费在线观看| 亚洲成_人网站图片| 亚洲Av无码国产情品久久 | 亚洲乱码国产一区网址| 久章草在线精品视频免费观看| 亚洲国产精品免费视频| 女人被男人躁的女爽免费视频| 美女羞羞免费视频网站| 亚洲av午夜成人片精品网站| 4虎永免费最新永久免费地址| 婷婷亚洲综合五月天小说在线| 亚洲尤码不卡AV麻豆| 国产片AV片永久免费观看| 免费人成视频在线播放| 亚洲男人天堂av| 永久免费AV无码网站在线观看| 99re6在线精品免费观看| 亚洲AV无码精品蜜桃| 亚洲综合另类小说色区色噜噜| 最近免费字幕中文大全视频| 最好2018中文免费视频| 亚洲午夜久久久久久尤物|