資料庫複習

来源:http://www.cnblogs.com/wuguanglin/archive/2017/08/06/review-database.html
-Advertisement-
Play Games

緒論 1、四個概念 1) 數據是資料庫中存儲的基本對象。 2) 資料庫是長期儲存在電腦內、有組織的、可共用的大量數據集合。 3) 資料庫管理系統是位於用戶與操作系統之間的一層數據管理軟體。 4) 資料庫系統是指在電腦系統中引入資料庫後的系統構成。 2、資料庫管理系統的主要功能 數據定義功能、數據 ...


緒論

1、四個概念

1)   數據是資料庫中存儲的基本對象。

2)   資料庫是長期儲存在電腦內、有組織的、可共用大量數據集合。

3)   資料庫管理系統是位於用戶與操作系統之間的一層數據管理軟體。

4)   資料庫系統是指在電腦系統中引入資料庫後的系統構成。

 

2、資料庫管理系統的主要功能

數據定義功能、數據操縱功能、資料庫的運行與管理、資料庫的建立和維護。

 

3、資料庫管理技術的發展過程

1)   人工管理階段(40年代中-50年代中)

2)   文件系統階段(50年代中-60年代中)

3)   資料庫系統階段(60年代末-現在)

 

4、資料庫系統的特點

1)   數據結構化

2)   數據的高獨享性

3)   數據獨立性

4)   DBMS對數據統一管理和控制

 

5、兩類數據模型

1)   概念模型   也稱信息模型,它是按用戶的觀點來對數據和信息建模。

2)   數據模型   主要包括網狀模型、層次模型、關係模型等,它是按電腦系統的觀點對數據建模

 

6、數據模型的組成基本要素

1)   數據結構

2)   數據操作

3)   數據的約束條件

 

7、關係模型的組成基本要素

1)   關係數據結構

2)   關係操作

        關係代數

        關係演算

3)   關係完整性約束

 

8、常用的數據模型

1)   非關係模型:層次模型、網狀模型、

2)   關係模型

3)   面向對象模型

 

9、資料庫系統的三級模式結構

資料庫的三級模式結構由模式(關係表)、外模式(數據視圖)、內模式(資料庫文件)三級構成

 

 

 

10、資料庫的二級映像

1)   外模式/模式映像 邏輯獨立性

2)   模式/內模式映像 物理獨立性

 

 

 

 

關係資料庫

1、關係的完整性

實體完整性、參照完整性、用戶定義的完整性

 

2、關係代數

 

3、關係演算

 

關係資料庫標準語言SQL

1、SQL語句

 

 

2、重點考察查詢語句

 

 

 

 

資料庫安全性

1、安全分級

分為7個:D,C1,C2,B1,B2,B3,A1

B1:標記安全保護

C2:受控的自主安全保護

 

 

2、存取控制方法

 

 

3、授權

 

 

4、收回許可權

 

 

資料庫完整性

1、觸發器

 

 

關係數據理論

1、數據依賴

是通過一個關係中屬性間值得相等與否體現出來的數據間的相互關係。

是語義的體現

 

2、數據依賴的類型

函數依賴、多值依賴

 

3、好的關係模式

不會發生插入異常、刪除異常、更新異常,數據冗餘應儘可能少。

解決辦法:通過分解關係模式來消除其中不合適的數據依賴。

 

4、函數依賴

 

 

5、平凡函數依賴與非平凡函數依賴

 

 

 

 

 

6、完全函數依賴與部分函數依賴

 

 

7、函數傳遞依賴    重點

 

8、多值依賴

 

 

 

9、範式

1)   第一範式

 

 

 

2)   第二範式

 

 

 

3)   第三範式

 

 

 

4)   修正的第三範式

 

 

5)   第四範式

 

 

6)   第五範式

略,不考

 

10、模式規範化

 

 

11、三種分解模式的等價定義

1)   分解具有無損連結性

2)   分解要保持函數依賴

3)   分解既要保持函數依賴,又要具有無損連接性

 

 

資料庫設計

1、基本步驟

 

 

資料庫恢復技術

1、故障的種類

 

 

2、事務故障的恢復

1)   反向掃描日誌文件(即從最後想前掃描日誌文件),查找該事物的更新操作。

2)   對該事物的更新操作執行逆操作,即將日誌記錄中“更新前的值”寫入資料庫中。

3)   繼續反向掃描日誌文件,查找該事務的其他更新操作,並做同樣處理。

4)   如此處理下去,直至讀到此事物的開始標記,事務故障恢復就完成了。

 

3、系統故障恢復

1)  正向掃描日誌文件,找出在故障發生前已經提交的事務,將其標識記入重做(REDO)隊列。同時找出故障發生時尚未完成的事務,將其事務標識記入撤銷(UNDO)隊列。
(已交重做,未完成撤銷)

2)  對撤銷隊列中的各個事務進行撤銷(UNDO)處理
反向掃描日誌文件,對每個UNDO事務的更新操作執行逆操作,即將日誌記錄中“更新前的值”寫入資料庫。

3)  對重做隊列中的各個重做(REDO)處理
正向掃描日誌文件,對每個REDO事務重新執行日誌文件登記的操作。即將日誌記錄中“更新後的值”寫入資料庫。

 

4、介質故障恢復

1)   裝入最新的後備資料庫副本,使資料庫恢復到最近一次轉儲時的一致性狀態。

對於靜態轉儲的資料庫副本,裝入後資料庫即處於一致性狀態;

對於動態轉儲的資料庫副本,還需同時裝入轉儲時刻的日誌文件副本,利用與恢復系統故障相同的方法(即REDO+UNDO),才能將資料庫恢復到一致性狀態;
(即動態掃描3次,靜態2次)

2)   裝入有關的日誌文件副本,重做已完成的事務。

先掃描日誌文件,找出故障發生時已提交的事務的標識,將其記入重做隊列。然後正向掃描日誌文件,對重做隊列中的所有事務進行重做處理。即將日誌記錄中“更新後的值”寫入資料庫。

a)   介質故障的恢復需要DBA介入,但DBA只需要重裝最近轉儲的資料庫副本和有關的各日誌文件副本,然後執行系統提供的恢覆命令即可,具體的恢復操作仍由DBMS完成。

 

併發控制

1、併發控制機制的任務

對併發操作進行正確調度、保證事務的隔離性、保證資料庫的一致性

 

2、併發控制帶來的三種數據不一致的情況

丟失修改、不可重覆讀、讀“臟”數據

 

3、封鎖的基本類型

排它鎖(X瑣)、共用鎖(S鎖)

 

4、封鎖協議

 

5、可串列化的調度
幾個事務的並行執行是正確的,當且僅當其結果與按某一次序串列地執行它們時的結果相同。可串列性是並行事務正確性的唯一准則。

 

 6、兩段鎖協議的內容

在對任何數據進行讀、寫操作之前,事務首先要獲得對該數據的封鎖;在釋放一個封鎖之後,事務不再獲得任何其他封鎖。

 

7、兩段鎖的含義
第一階段是獲得封鎖,也稱為擴展階段;第二階段是釋放封鎖,也稱為收縮階段。所有遵守兩段鎖協議的事務,其並行執行的結果一定是正確的!

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • --用oracle系統許可權的賬號 登陸 -- 1.創建用戶 --2.賦予許可權 --3.創建目錄 dictionary create directory directory_name as 'D:\oracleEnv\Oracle\product\11.2.0\db\backup'; --路徑可以自己 ...
  • 本文旨在展示CDH基於Kerberos身份認證和基於Sentry的許可權控制功能的測試示例。 1. 準備測試數據 1 2 3 4 5 6 cat /tmp/events.csv 10.1.2.3,US,android,createNote 10.200.88.99,FR,windows,updateN ...
  • 情景進入 情境進入: 今天調試某查詢頁面,偶爾發現一個問題,剛剛插入的數據,沒有正常排序顯示,經過後臺調試sql,發現一個問題??? 經過上面紅色對比,不知道你發現問題沒,Order by 只是多一個欄位,順序居然不一樣,在我看來,是不是今天出門沒看黃曆,見鬼了,哈哈。。。。。 怎麼想也不明白了,後 ...
  • 談起刷LeetCode的心得,想要先扯點別的,說實話我是比較自虐的人,大學時候本專業從來不好好上,一直覬覦著別人的專業,因為自己文科生,總覺得沒有項技術在身出門找工作都沒有底氣,然後看什麼炫學什麼,簡直沒有目的和節操,覺得平面設計美就去狂記色號(當然不是 ,十六進位顏色碼這個名字太長我想簡稱色號), ...
  • 全球領先的企業商業智能(BI)軟體提供商Pyramid Analytics與微軟聯手,憑藉完善的分析平臺BI Office強化Power BI Desktop的個人生產力功能。新的“Publish to Pyramid Server”功能通過基於web的內部或私有雲平臺,允許用戶將報告和可視化內容發 ...
  • SQL Server中授予用戶查看對象定義的許可權 在SQL Server中,有時候需要給一些登錄名(用戶)授予查看所有或部分對象(存儲過程、函數、視圖、表)的定義許可權存。如果是部分存儲過程、函數、視圖授予查看定義的許可權,那麼就像下麵腳本所示,比較繁瑣: GRANT VIEW DEFINITION O... ...
  • SQL Server授予用戶訪問對象的許可權,通常的模式是:Grants permissions on a securable to a principal(user or login),也就是說,授予許可權的命令分為三部分:Permission,Securable 和 Principal,用一句話來解 ...
  • 如果說大數據中分散式收集日誌用的是什麼,你完全可以回答Flume!(面試小心問到哦) 首先說一個複製本伺服器文件到目標伺服器上,需要目標伺服器的ip和密碼: 命令: scp filename ip:目標路徑 一 概述 Flume是Cloudera提供的一個高可用的,高可靠的,分散式的海量日誌採集、聚 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...