數據庫SQL ServeSQLite教程 課件 第10、11章 數據庫管理維護與新技術、SQLite數據庫操作_第1頁
數據庫SQL ServeSQLite教程 課件 第10、11章 數據庫管理維護與新技術、SQLite數據庫操作_第2頁
數據庫SQL ServeSQLite教程 課件 第10、11章 數據庫管理維護與新技術、SQLite數據庫操作_第3頁
數據庫SQL ServeSQLite教程 課件 第10、11章 數據庫管理維護與新技術、SQLite數據庫操作_第4頁
數據庫SQL ServeSQLite教程 課件 第10、11章 數據庫管理維護與新技術、SQLite數據庫操作_第5頁
已閱讀5頁,還剩101頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據庫SQLServer/SQlite教程授課教師:第10章數據庫管理維護與新技術對數據庫的管理維護至關重要。數據庫的備份與還原、分離與附加、導入與導出是數據庫維護的常用方法,當然對數據庫的管理維護也離不開新的技術和方法。第10章

數據庫管理維護與新技術10.1事務管理目錄10.2數據庫安全管理10.3數據庫日常維護10.4數據庫新技術10.1事務管理10.1事務管理事務處理是所有大中型數據庫產品的一個關鍵問題,不同的事務處理方式會導致數據庫性能和功能上的巨大差異。事務處理是數據庫管理員與開發人員必須深刻理解的一個問題。10.1.1事務的概念事務(Transaction)是并發控制的單位,是用戶定義的一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作單元。通過事務,SQLServer能將邏輯相關的一組操作綁定在一起,以便服務器保持數據的完整性。最典型的一個例子就是銀行的轉賬操作,在A、B兩個賬戶之間只有完成全部操作才行,否則對銀行和儲戶都將帶來嚴重后果。10.1.1事務的概念事務通常是以BeginTransaction開始,以Commit或Rollback結束。其中Commit表示提交,即將事務中所有對數據庫的更新寫回到磁盤上的物理數據庫中,事務正常結束。Rollback表示回滾,即在事務運行過程中發生了某種故障,事務不能繼續進行,系統將事務中對數據庫的所有已完成的操作全部撤銷,回滾到事務開始的狀態。如果要在事務中存取多個數據庫服務器中的數據(包含執行存儲過程),就必須使用分布式事務(DistributedTransaction)。分布式事務是指事務的參與者、支持事務的服務器、資源服務器及事務管理器分別位于不同的分布式系統的不同節點上。執行事務通常有以下3種模式。2.顯式事務1.自動提交事務3.隱式事務10.1.2執行事務的3種模式10.1.2執行事務的3種模式1.自動提交事務自動提交是系統默認的事務方式。對于用戶發出的每一條SQL語句,SQLServer都會自動開始一個事務,并且在執行后自動進行提交操作來完成這個事務。在這種事務模式下,一個SQL語句就是一個事務。10.1.2執行事務的3種模式2.顯式事務顯式事務是指在自動提交模式下以BeginTransaction開始,以Commit或Rollback結束的一個事務。BeginTransaction標記一個顯式本地事務起始點。BeginTransaction語句使@@TRANCOUNT自動加1,CommitTransaction語句使@@TRANCOUNT遞減1,RollbackTransaction語句使@@TRANCOUNT遞減至0。@@TRANCOUNT是一個全局變量,可返回當前連接中處于激活狀態的事務數。10.1.2執行事務的3種模式2.顯式事務顯式事務的語法格式如下:begintran[saction][transaction_name|@tran_name_variable[withmark['description']]]參數說明:(1)transaction_name是給事務分配的名稱,其命名要符合標識符命名規則,最大長度是32個字符。(2)@tran_name_variable是用char、varchar、nchar或nvarchar數據類型聲明有效事務的變量的名稱。(3)withmark['description']指定在日志中標記事務。description是描述該標記的字符串。如果使用了withmark,則必須指定事務名。withmark允許將事務日志還原到命名標記。顯式事務語句如表10-1所示(表10-1見教材197頁)。10.1.2執行事務的3種模式2.顯式事務例10-1

假設銀行賬戶表為account(cardid,userid,accesstype,moneycount,balance),用戶表為users(-userid,name,address,telephone)。轉賬事務處理代碼語句如下:createproceduretrans_money(@fromaccountvarchar(50),--轉出賬號@toaccountvarchar(50),--轉入賬號@moneycountmoney--轉賬金額)asifexists(select*fromaccountwherecardid=@fromaccount)10.1.2執行事務的3種模式2.顯式事務beginifexists(select*fromaccountwherecardid=@toaccount)beginif(selectbalancefromaccountwherecardid=@fromaccount)>=@money_countbegin--開始轉賬begintransactioninsertintoaccount(cardid,accesstype,moneycount)values(@fromaccount,-,@moneycount)if@@error<>0beginrollbacktransaction--發生錯誤則回滾事務,無條件退出endelseraiserror('轉入賬號不存在!',16,1)endelseriserror('轉出賬號不存在!',16,1)12returnendinsertintoaccount(cardid,accesstype,moneycount)values(@toaccount,+,@moneycount)committransaction--兩條語句都完成,提交事務endelseraiserror('轉賬金額不能大于該賬號的余額',16,1)--16表示嚴重程度10.1.2執行事務的3種模式2.顯式事務10.1.2執行事務的3種模式3.隱式事務當連接以隱性事務模式進行操作時,SQLServer將在提交或回滾當前事務后自動啟動新事務。無須描述事務的開始,只需用Commit提交或Rollback回滾每個事務。隱式事務模式可生成連續的事務鏈。10.2數據庫安全管理10.2數據庫安全管理SQLServer的安全性管理分為3個等級:操作系統級、SQLServer級和數據庫級。操作系統級的安全性是指用戶通過網絡使用客戶計算機實現SQLServer服務器訪問時,首先要獲得計算機操作系統的使用權。SQLServer級的安全性是指SQLServer的服務器級安全性建立在控制服務器登錄賬號和口令的基礎上。SQLServer采用標準SQLServer登錄和集成WindowsNT登錄兩種方式,無論使用哪種登錄方式,用戶在登錄時提供的登錄賬號和口令都必須正確。數據庫級的安全性是指在用戶通過SQLServer服務器的安全性檢驗以后,將直接面對不同的數據庫入口。10.2數據庫安全管理MicrosoftSQLServer對用戶的訪問要經過驗證和授權兩個階段。驗證是檢驗用戶的身份標識,授權是允許用戶做些什么。在驗證階段,MicrosoftSQLServer2008R2可以通過SQLServer賬戶或者Windows賬戶對用戶進行驗證。如果通過驗證,則用戶就可以連接到SQLServer服務器,否則連接失敗。在授權階段,系統檢查用戶是否有訪問服務器上數據的權限。10.2.1服務器安全管理SQLServer服務器有兩種驗證模式:Windows驗證模式和混合驗證模式。SQLServer數據庫系統通常運行在NT服務器平臺或基于NT架構的Windows上。NT作為網絡操作系統,本身就具備管理登錄及驗證用戶合法性的能力,因此Windows驗證模式就是利用用戶安全性和賬號管理的機制,允許SQLServer使用NT的用戶名和口令。當用戶試圖登錄到SQLServer時,從NT或Windows的網絡安全屬性中獲取登錄用戶的賬號和密碼,并驗證其合法性。10.2.1服務器安全管理在混合驗證模式下,Windows驗證和SQLServer驗證都是可用的。NT的用戶既可以使用NT驗證,也可以使用SQLServer驗證。如果在安裝過程中選擇混合驗證模式,則必須為名為SA的內置SQLServer系統管理員賬戶提供一個強密碼并確認該密碼。SA賬戶使用SQLServer身份驗證進行連接。10.2.1服務器安全管理在SSMS中設置驗證模式的步驟如下:(1)在“對象資源管理器”中,選擇相應的服務器,右擊鼠標彈出快捷菜單,選擇“屬性”命令,打開“服務器屬性”對話框,選擇“安全性”選項,進入設置頁面,如圖10-1所示。圖10-1“服務器屬性”對話框10.2.1服務器安全管理(2)在“服務器身份驗證”中設置需要的模式,最后單擊“確定”按鈕,完成設置。在SQLServer中有兩種賬號,其一是登錄服務器的登錄賬號(LoginName),其二是使用數據庫的用戶賬號(UserName)。在SSMS的“對象資源管理器”中展開“安全性”節點,再展開“登錄名”節點,即可看到系統的登錄賬號,其中SA是超級管理員賬號,允許SQLServer的系統管理員登錄,如圖10-2所示。10.2.1服務器安全管理在圖10-2中,右擊“登錄名”,彈出快捷菜單,選擇“新建登錄名”,可以創建使用Windows身份驗證的SQLServer登錄名,或使用SQLServer身份驗證的SQLServer登錄名。圖10-2服務器登錄賬號10.2.1服務器安全管理在登錄名(如LAPTOP-03Q4URED\40375)上右擊,彈出快捷菜單,選擇“屬性”命令,彈出“登錄屬性”對話框。在“常規”選項卡的“默認數據庫”中可選擇需要經常使用的數據庫(如studscore_wl2);在“用戶映射”選項卡的“映射到此登錄名的用戶”下勾選相應的數據庫,表示該登錄賬號可以訪問勾選的數據庫。設置完成后,單擊“確定”按鈕,如圖10-3所示。圖10-3“登錄屬性”對話框10.2.2數據庫安全管理在SQLServer服務器配置了身份驗證模式并創建了登錄賬戶以后,還需要授予它們合適的數據庫訪問權限,也就是將每個需要訪問數據庫的登錄賬戶映射到一個數據庫的用戶。數據庫用戶是數據庫級的主體,是登錄賬戶在數據庫中的映射,是在數據庫中執行操作和活動的行動者。一個登錄名可對應多個用戶,一個用戶也可以被多個登錄名使用。10.2.2數據庫安全管理每個數據庫都有一個dbo用戶(databaseowner),而且不能刪除,dbo可以在數據庫范圍內執行一切操作。每個SQLServer服務器登錄賬戶在其創建的數據庫中都映射為dbo用戶,sa是所有系統數據庫的擁有者,因此sa映射為所有系統數據庫的dbo用戶。如果沒有為一個登錄名指定數據庫用戶,則登錄時系統將該登錄名映射成guest用戶。每個數據庫都有一個guest用戶,默認情況下該用戶沒有任何權限,而且需要啟用該用戶然后才能使用。1.特殊的數據庫用戶10.2.2數據庫安全管理使用菜單方式創建數據庫用戶,步驟如下:(1)在“對象資源管理器”中,展開“數據庫”節點,展開某一數據庫,展開“安全性”節點,展開“用戶”節點。在用戶名上右擊,彈出快捷菜單,選擇“新建用戶”命令,彈出“數據庫用戶-新建”對話框,如圖10-4所示。2.創建數據庫用戶圖10-4“數據庫用戶新建”快捷菜單10.2.2數據庫安全管理(2)在“用戶名”處輸入數據庫用戶名(如stud),在“登錄名”框內選擇已經創建的登錄賬號,在“默認架構”處選擇dbo架構,在“數據庫角色成員身份”處勾選“db_owner”,然后單擊“確定”按鈕,完成數據庫用戶的創建,如圖10-5所示。(3)查看、刪除數據庫用戶。在“對象資源管理器”中,展開“數據庫”節點,展開“安全性”文件夾,展開“用戶”節點,選擇相應的用戶,右擊彈出快捷菜單,選擇“刪除”命令,刪除用戶。2.創建數據庫用戶10.2.2數據庫安全管理2.創建數據庫用戶圖10-5“數據庫用戶-新建”對話框10.3數據庫日常維護10.3.1數據庫備份與還原數據庫備份與還原是維護數據庫安全性和完整性的重要手段。備份是對SQLServer數據庫及其他相關信息進行拷貝保存的過程。還原即恢復,是將數據庫備份進行裝載,并應用事務日志重建數據庫操作的過程。10.3.1數據庫備份與還原(1)備份的內容。備份的內容包括數據庫、事務日志和文件3種。其中:數據庫又分為系統數據庫和用戶數據庫。系統數據庫主要是記錄系統信息和用戶數據庫信息的master、msdb和model等數據庫。用戶數據庫存放用戶的業務數據,對用戶而言,用戶數據庫的備份是非常重要的。1.數據庫備份1)備份的內容和類型10.3.1數據庫備份與還原(2)備份的類型。備份的類型包括完全備份、差異備份、事務日志備份、文件和文件組備份4種。1.數據庫備份1)備份的內容和類型①完全備份是備份整個數據庫,包含用戶表、系統表、索引、視圖和存儲過程等所有數據庫對象,是最安全最保險的備份類型。一般說,完全備份應定期進行。②差異備份也稱增量備份,只備份上一次數據庫備份以后發生更改的數據。其優點是存儲和恢復速度快,一般是每天做一次差異備份。10.3.1數據庫備份與還原③事務日志備份就是對數據庫發生的事務進行備份。只有完整恢復模式和大容量日志恢復模式下才會有事務日志備份。1.數據庫備份1)備份的內容和類型④文件和文件組備份是一種文件拷貝,如果數據庫發生故障,將備份文件直接覆蓋原文件和文件組就可以了。10.3.1數據庫備份與還原(1)使用菜單方式進行數據庫備份。操作步驟如下:①在“對象資源管理器”中,展開“數據庫”節點,選擇數據庫,右擊彈出快捷菜單,選擇“任務”命令,彈出下一級菜單,選擇“備份”命令,如圖10-6所示。1.數據庫備份2)備份操作圖10-6數據庫“備份”快捷菜單10.3.1數據庫備份與還原②在數據庫備份對話框中,在“源”“備份集”和“目標”欄處進行選擇或添加的操作,如備份數據庫“studscore_wl2”。在“源”欄,在“數據庫(T)”處選擇“studscore_wl2”,“備份類型”處選擇“完整”,“備份組件”處點選“數據庫(B)”。在“備份集”欄,在“名稱(N)”處選擇“studscore_wl2-完整數據庫備份”,點選“晚于(E)”。在“目標”欄,在“備份到”處點選“磁盤”,單擊“添加”按鈕,輸入備份文件名字和地址,如圖10-7所示。③單擊“確定”按鈕,提示“備份成功!”。1.數據庫備份2)備份操作10.3.1數據庫備份與還原1.數據庫備份2)備份操作圖10-7“數據庫備份”對話框10.3.1數據庫備份與還原(2)使用代碼方式進行數據庫備份。在SQLServer2008R2中可以使用backup命令完成數據庫完整備份。語法格式如下:backupdatabasedatabase_nameto<backup_device>[,...n]參數說明:database_name是備份文件名;backup_device是備份設備,不要加引號。1.數據庫備份2)備份操作10.3.1數據庫備份與還原例10-2

直接完整備份到磁盤。如studscore_wl2備份為stud19wl.bak。(1)創建備份設備。代碼如下:sp_addumpdevice'disk','bookstoreback','D:\sq\stud19wl.bak'(2)完整備份。代碼如下:backupdatabasestudscore_wl2tobookstoreback或者backupdatabasestudscore_wl2todisk='D:\sq\stud19wl.bak'1.數據庫備份2)備份操作10.3.1數據庫備份與還原1.數據庫備份2)備份操作(3)事務日志備份。代碼格式如下:backlog數據庫名to備份設備(邏輯名|物理名)說明:當恢復模式為simple時,不允許使用backlog語句。在數據庫的屬性中修改“選項”頁的恢復模式,選擇“完整”即可使用backlog語句。在完成數據庫備份的情況下,才能進行事務日志備份。例10-3

在完成數據庫備份的情況下,完成studscore_wl2的事務日志備份。代碼如下:backupdatabasestudscore_wl2todisk='D:\sq\stud19wl.bak'backuplogstudscore_wl2todisk='D:\sq\stud19wl.bak'10.3.1數據庫備份與還原1.數據庫備份2)備份操作10.3.1數據庫備份與還原數據庫還原操作步驟如下:(1)右擊數據庫,彈出菜單,選擇“還原...”,選擇還原“數據庫”,進入還原數據庫對話框。(2)在還原數據庫對話框中輸入目標數據庫的名稱,即沒有使用過的數據庫名稱,在“源設備”處選擇用于還原的備份文件。在“還原”處勾選,然后單擊“確定”按鈕,還原成功,如圖10-8所示。2.數據庫還原10.3.1數據庫備份與還原2.數據庫還原圖10-8“數據庫還原”對話框10.3.2數據庫分離與附加用戶可以分離數據庫的數據文件和日志文件,并將其附加于同一或其他數據庫服務器上。數據庫的分離和附加過程是一對反向操作,經常使用這一方法實現數據庫在不同數據庫服務器之間的移動。在“對象資源管理器”中,展開“數據庫”節點,右擊某一數據庫彈出快捷菜單,選擇“任務”命令,彈出下一級菜單,選擇“分離”命令。在“分離數據庫”對話框中單擊“確定”按鈕,此時在SSMS中就看不到該數據庫了。1.分離10.3.2數據庫分離與附加在“對象資源管理器”中,右擊“數據庫”節點,彈出快捷菜單,選擇“附加”命令。在“附加數據庫”對話框中選擇數據庫的主文件,單擊“確定”按鈕,返回對話框,如圖10-9所示。然后單擊“確定”按鈕,完成數據庫附加操作。2.附加10.3.2數據庫分離與附加圖10-9“數據庫附加”對話框數據導入和導出是SQLServer與外部系統之間進行數據交換的手段。通過導入和導出操作,可以實現SQLServer和其他異類數據源(如電子表格Excel、Access、Oracle數據庫等)之間的數據傳輸。導入是將數據從數據文件加載到SQLServer表,導出是將數據從SQLServer表復制到數據文件。10.3.3數據導入和導出在SQLServer2008R2的SSMS中,使用“導入向導”工具可以完成從其他數據源向SQLServer數據庫導入數據的操作。操作步驟如下:(1)在“對象資源管理器”中展開“數據庫”節點,右擊某一個數據庫,然后從快捷菜單中選擇“任務”下的“導入數據”選項,彈出“導入數據”對話框,單擊“下一步”按鈕。10.3.3數據導入和導出1.導入10.3.3數據導入和導出1.導入(2)在“選擇數據源”對話框中,選擇要導入數據源的類型。如在數據源選擇“MicrosoftExcel”,單擊“瀏覽”按鈕選擇要導入數據文件的路徑和文件名,勾選“首行包含列名稱”復選框,單擊“下一步”按鈕,如圖10-10所示。圖10-10“選擇數據源”對話框10.3.3數據導入和導出1.導入(3)在“選擇目標”對話框中,指定將數據復制到何處。在“目標”處選擇“SQLServerNativeClient10.0”;在“服務器名稱”處選擇具體的服務器名稱及身份驗證方法,如XWQ123\SQLEXPRESS;在“數據庫”列表中選擇某一數據庫。然后單擊“下一步”按鈕,如圖10-11所示。圖10-11“選擇目標”對話框10.3.3數據導入和導出1.導入(4)在“指定表復制或查詢”對話框中,選擇“復制一個或多個表或視圖的數據”。單擊“下一步”按鈕,在“選擇源表或源視圖”對話框中選擇一個或多個要復制的源表,然后單擊“下一步”按鈕,進入“完成該向導”對話框,如圖10-12所示。圖10-12“完成該向導”對話框10.3.3數據導入和導出1.導入(5)顯示執行成功,如圖10-13所示。圖10-13數據導入執行成功數據導出是將數據庫中的數據表或視圖中的數據導出為其他數據格式。數據導出的過程與數據導入的過程類似。例如,將orderitems表的數據導出。經過“選擇數據源”→“選擇目標”→“指定表復制或查詢”→“選擇源表和源視圖”→“查看數據類型映射”→運行包等過程的操作,最后顯示執行成功,如圖10-14所示。10.3.3數據導入和導出2.導出10.3.3數據導入和導出2.導出圖10-14數據導出執行成功10.4數據庫新技術10.4.1分布式數據庫隨著數據庫技術的日趨成熟、計算機網絡技術的飛速發展和應用范圍的擴充,數據庫應用已經非常普遍。20世紀90年代以來,以分布式為主要特征的數據庫系統進入商品化應用階段。分布式數據庫系統(DistributedDataBaseSystem,DDBS)包含分式數據庫管理系統(DDBMS)和分布式數據庫(DDB)。在分布式數據庫系統中,一個應用程序可以對數據庫進行透明操作,數據庫中的數據分別在不同的局部數據庫中存儲、由不同的DBMS進行管理、在不同的機器上運行、由不同的操作系統支持、被不同的通信網絡連接在一起。10.4.1分布式數據庫分布式數據庫系統就是物理上分散而邏輯上集中的數據庫系統。隨著計算機網絡技術的飛速發展,DDBS日趨成為數據庫領域的主流方向。“分布計算”概念突破了集中式DBS的框架,數據分布使系統走上分布式數據庫的道路,功能分布使系統走上C/S道路。這是DBS的兩個發展方向,如圖10-15所示。1.DDBS的基本概念10.4.1分布式數據庫1.DDBS的基本概念圖10-15分布式數據庫系統10.4.1分布式數據庫分布式數據庫系統適合于單位分散的部門,允許各個部門將其常用的數據存儲在本地,實施就地存放本地使用,從而提高響應速度,降低通信費用。DDBS的優點如下:(1)每個站點(Site)自身具有完全的本地DBS,經濟性能優越,且響應速度快。(2)所有站點協同工作,組成了一個邏輯上的統一數據庫。(3)站點數據由分布式DBMS(DDBMS)管理,靈活且可擴展性好。(4)本地應用和本地用戶只訪問其所注冊的那個站點上的數據,可靠性高,可用性好。(5)全局應用和全局用戶訪問涉及多個站點上的數據。2.DDBS的優缺點10.4.1分布式數據庫DDBS的缺點如下:(1)系統開銷大。系統開銷主要花在通信部分。(2)存取結構復雜。原來在集中式系統中有效存取數據的技術,在分布式系統中都不再適用。(3)數據的安全性和保密性較難處理。2.DDBS的優缺點10.4.2NoSQL數據庫為彌補關系數據庫的不足,出現了NoSQL數據庫。NoSQL是NotOnlySQL(非關系型數據庫)的縮寫,即不使用傳統的關系數據模型,而是使用如key-value存儲、文檔型、列存儲、圖形數據庫等方式存儲數據的數據庫技術。新需求與關系數據庫的局限性如下:(1)對數據庫高并發讀寫的需求。(2)對海量數據的高效率存儲和訪問的需求。(3)對數據庫的高可擴展性和高可用性的需求。(4)數據庫事務一致性需求。(5)數據庫的寫實時性和讀實時性需求。(6)對復雜的SQL查詢,特別是多表關聯查詢的需求。1.新需求與關系數據庫的局限性10.4.2NoSQL數據庫NoSQL數據庫的特點如下:(1)可以處理超大量的數據。(2)通常運行在便宜的PC服務器集群上。(3)高性能。(4)沒有過多的操作。(5)Bootstrap支持。2.NoSQL數據庫的特點10.4.2NoSQL數據庫NoSQL是非關系型數據存儲的廣義定義。NoSQL數據庫種類繁多,但是它們都有一個共同的特點,即都可以去掉關系數據庫的關系型特性。NoSQL數據庫系統的實現方式有以下幾種:(1)基于key-value存儲的NoSQL數據庫,如Memcached、TokyoTyrant、Flare、ROMA、Redis等。(2)基于文檔存儲的NoSQL數據庫,如MongoDB、CouchDB等。(3)基于列存儲的NoSQL數據庫,如Cassandra、Hbase、HyperTable等。3.NoSQL數據庫系統實現技術10.4.2NoSQL數據庫習題1.執行事務時,開始事務使用

語句,提交事務使用

語句,回滾事務使用

語句。2.每個數據庫都有一個

用戶(DatabaseOwner),而且不能刪除,可以在數據庫范圍內執行一切操作。3.數據庫的

過程是一對反向操作,經常使用這一方法實現數據庫在不同數據庫服務器之間的移動。4.SQLServer中的raiserror('轉入賬號不存在!',16,1)的功能是顯示錯誤信息,第二個參數表示

,第三個參數表示

,默認為

。一、填空題1.通過事務,SQLServer能將邏輯相關的一組操作綁定在一起,以便服務器保持數據的完整性。2.分布式事務是指事務有參考者、支持事務的服務器、資源服務器及事務管理器分別位于不同的分布式系統的不同節點上。3.SQLServer驗證就是當用戶試圖登錄到SQLServer時,從NT或Windows的網絡安全屬性中獲取登錄用戶的賬號和密碼,并驗證其合法性。4.SA賬戶使用Windows身份驗證進行連接。5.在混合驗證模式下,Windows驗證和SQLServer驗證都是可用的。習題二、判斷題(

)(

)(

)(

)(

)習題1.最安全、最保險的備份類型是(

)。A.完全備份

B.事務日志備份

C.差異備份D.文件和文件組備份2.SQLServer的安全性管理等級分為(

)。A.操作系統級B.SQLServer級C.數據庫級D.用戶級三、選擇題習題1.為數據庫studscore_wl2創建一個數據庫用戶stud。要求:寫出操作步驟。2.對數據庫studscore_wl2使用代碼方式進行數據庫備份。要求:寫出代碼。3.對數據庫studscore_wl2使用代碼方式進行事務日志備份。要求:寫出代碼。四、操作題習題1.對數據庫studscore_db使用菜單方式進行數據庫備份和恢復操作。要求:寫出操作的步驟。2.將電子表格Excel文件導入SQLServer的數據庫studscore_wl1中。同時,將studscore_ds1中的studentinfo、studscoreinfo、course等表中的數據導出到一個Excel表格中。要求:查看導入和導出的結果,檢查是否正確。五、實踐題【謝謝觀看】謝謝觀看數據庫SQLServer/SQlite教程授課教師:第11章SQLite數據庫操作SQLite是世界上部署最廣泛的SQL數據庫引擎。它是由D.RichardHipp在2000年5月發布,實現了自給自足的、無服務器的、零配置的、事務性的SQL數據庫引擎。SQLite是一款輕量級的開源的嵌入式數據庫,已經在很多嵌入式產品中使用,能夠支持Windows/Linux/UNIX等主流操作系統,同時能夠和很多程序語言相結合,如Python、Java、C#、PHP等。它具有ODBC接口,比起MySQL、PostgreSQL這兩款開源的世界著名的數據庫管理系統,它的處理速度比它們都快,已經廣泛應用于消費電子、醫療、工業控制、軍事等各種領域。第11章

SQLite數據庫操作11.1SQLite概述目錄11.2SQLite基本操作11.1SQLite概述11.1SQLite概述SQLite是一款輕量級的開源的嵌入式數據庫,由D.RichardHipp在2000年5月發布。如果要開發小型的應用,或者想做嵌入式開發,沒有合適的數據庫系統,那么就可以考慮使用SQLite。由于使用方便,性能出眾,因此SQLite廣泛應用于消費電子、醫療、工業控制、軍事等領域。與其他數據庫管理系統不同,SQLite不是一個C/S結構的數據庫引擎,而是被集成在用戶程序中的。SQLite是由C和C++實現的,可以從C/C++程序中使用sqlite3.h庫,還有一個Python模塊叫做PySQLite。PHP從HP5.0開始包含了SQLite,但是自5.1版之后開始成為一個延伸函式庫。Rails2.0.3將缺省的數的數據庫系統就是SQLite。11.1SQLite概述SQLite的主要特點如下:(1)體積?。涸谇度胧皆O備中,最低只需要幾百千字節的內存就可以運行SQLite。(2)性能高:SQLite對數據庫的訪問性能很高,其運行速度比MySQL等開源數據庫要快很多。(3)可移植性強:SQLite能支持各種32位和64位體系的硬件Windows、Linux、BSD、MacOS、Solaries等軟件平臺中運行。1.SQLite的特點11.1SQLite概述SQLite的主要特點如下:1.SQLite的特點(4)SQL支持:SQLite支持ANSISQL92中的大多數標準,提供了對子查詢、視圖、觸發器等機制的支持。(5)接口:SQLite為C、Java、PHP、Python等多種語言提供了API接口,所有的應用程都必須通過接口訪問SQLite數據庫。11.1SQLite概述SQLite由SQL編譯器、內核、后端以及附件等部分組成。SQLite通過利用虛擬機和虛擬數據庫引擎(VDBE),使調試、修改和擴展SQLite的內核變得更加方便。SQLite組件的詳細介紹如下:(1)數據庫引擎。數據庫引擎是SQLite的核心,負責運行中間代碼,指揮數據庫的具體操作。2.SQLite的組件11.1SQLite概述(2)編譯器。編譯器由詞法分析、語法分析和中間代碼生成3個模塊組成。其中,詞法分析模塊和語法分析模塊負責檢查SQL語句的語法,然后把生成的語法樹傳遞給中間代碼生成模塊。中間代碼生成模塊負責生成SQLite引擎可以識別的中間代碼。2.SQLite的組件(3)后臺。后臺由B樹、頁緩存和系統調用3個模塊組成。其中,B樹負責維護索引,頁緩存負責頁面數據的傳送,系統調用負責和操作系統交互,最終實現數據庫的訪問。11.2SQLite基本操作11.2.1SQLite3的下載與數據類型SQLite3是目前最新的SQLite版本,可以從網站上下載SQLite3的源代碼。下載完成后,解壓到某一盤符下,雙擊“sqlite3.exe”,啟動SQLite,如圖11-1所示。1.下載并啟動圖11-1啟動SQLite11.2.1SQLite3的下載與數據類型大多數的數據庫引擎(除了SQLite的每個SQL數據庫引擎)都使用靜態的和剛性的類型。使用靜態類型,數據的類型就由它的容器決定。SQLite使用一個更一般的動態類型系統。在SQLite中,值的數據類型與值本身相關,而不是與它的容器相關,是一種弱數據類型。2.SQLite3支持的基本數據類型11.2.1SQLite3的下載與數據類型(1).NULL——blob(數據塊),值是Null。SQLite沒有單獨的布爾存儲類型,它使用INTEGER作為存儲類型,0為“false”,1為“true”。SQLite沒有另外為存儲日期和時間設定一個存儲類集,內置的SQLite日期和時間函數能夠將日期和時間以TEXT、REAL或INTEGER形式存放。(2).INTEGER——int,值是有符號整型。(3).REAL——float、double,值是浮點型。(4).TEXT——char、varchar,值是文本字符串。(5).NUMERIC——其余的情形。2.SQLite3支持的基本數據類型11.2.1SQLite3的下載與數據類型SQLite3數據庫中的任何列,除了整型主鍵列,可以用于存儲任何一個存儲列的值。SQL語句中的所有值,不管它們是嵌入在SQL文本中或者是作為參數綁定到一個預編譯的SQL語句,它們的存儲類型都是未定的。2.SQLite3支持的基本數據類型11.2.2SQLite3的使用在Windows平臺下,打開DOS窗口,切換到含有剛解壓的sqlite3.exe的目錄下,如d:\sqlite>sqlite3-version后回車,將出現對應的版本號信息。1.版本假設需要使用一個test.db數據庫,只需在命令行下輸入“sqlite3test.db”即可。如果數據庫test.db已經存在,則命令“sqlite3test.db”會在當前目錄下打開test.db;如果數據庫test.db不存在,則命令在當前目錄下新建數據庫test.db。為了提高效率,SQLite3并不會馬上創建test.db,而是等到第一個表創建完成后才會在物理上創建數據庫。11.2.2SQLite3的使用2.數據庫的創建與查詢1)命令創建使用“.database”命令可以查詢所使用的數據庫,如圖11-2所示。11.2.2SQLite3的使用2.數據庫的創建與查詢2)數據庫的查詢圖11-2版本和數據庫打開SQLiteStudio,單擊“添加數據庫”按鈕。單擊綠色的“+”表示新建一個數據庫,單擊文件夾符號表示打開一個現有的數據庫。在“文件”處輸入完整的路徑和文件名,然后單擊“OK”按鈕,如圖11-3所示。11.2.2SQLite3的使用2.數據庫的創建與查詢3)菜單創建圖11-3啟動SQLiteStudio創建數據庫由于SQLite3是弱類型的數據庫,因此在create語句中并不要求給出列的類型。另外注意,所有的SQL指令都是以分號(;)結尾的。如果遇到兩個減號(--)則代表注解,SQLite3會略過去。表的創建過程如下:(1)在數據庫ddwq1中新建表tb1,數據庫ddwq2中新建表tb2。(2)設置表的結構。在“Tablename:”處輸入表名“tb1”“tb2”。單擊“Structure”選項,再單擊“添加字段”按鈕,依次添加字段及其類型、長度等。然后,單擊“√”按鈕,如圖11-4、圖11-5所示。11.2.2SQLite3的使用3.表的創建11.2.2SQLite3的使用3.表的創建圖11-4啟動SQLitetudio創建數據庫圖11-5表的結構在tb2中,單擊“Data”選項,再單擊“+”按鈕,依次添加3條記錄。1)菜單命令在SQLiteStudio中添加數據,如圖11-6所示。單擊“+”添加一行,數據輸入結束,單擊“√”保存。2)插入命令插入如下命令:sqlite>insertintotb1values('12','kkk');sqlite>insertintotb1values('13','mjjj');單擊“

”(刷新)按鈕,如圖11-7所示。11.2.2SQLite3的使用4.添加數據11.2.2SQLite3的使用4.添加數據圖11-6添加表的數據11.2.2SQLite3的使用4.添加數據圖11-7“刷新”按鈕1)中文界面選擇“tools”選項,選擇并單擊“Openconfigurationdialog”,選擇“Look&feel”,在“Language”處選擇“簡體中文”,選擇“Apply”,最后單擊“OK”按鈕,將界面外觀設置為中文。2)UTF-8編碼在CMD窗口中輸入“chcp65001”后回車確定。注意65001是Unicode(UTF-8)65001的編碼設置。11.2.2SQLite3的使用5.修改設置(1)%:表示任意0個或多個字符,可匹配任意類型和長度的字符,有些情況下若是中文,可使用兩個百分號(%%)表示。(2)_:表示任意單個字符,可匹配單

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論