標籤:style blog http io os 使用 ar 檔案 資料
資料庫管理和應用
Oltp是小型的管理,OLAP是大型的管理
開發的內容如觸發器
資料庫管理系統(Database Management System,簡稱為DBMS)是位於使用者與作業系統之間的一層資料管理軟體,它為使用者或應用程式提供訪問資料庫的方法,包括資料庫的建立、查詢、更新以及各種資料庫控制等。
DBMS總是基於某種資料模型,這些模型可以分為層次模型、網狀模型、關聯式模式、物件導向模型等。
Microsoft SQL Server 2008系統由4個主要部分組成。這4個部分被稱為4個服務,這些服務分別是資料庫引擎、分析服務、報表格服務和整合服務。這些服務之間相互存在和相互應用,它們的關係1-3所示。
Microsoft SQL Server 2008系統提供了兩種類型的資料庫,即系統資料庫和使用者資料庫。
系統資料庫存放Microsoft SQL Server 2008系統的系統級資訊,例如系統配置、資料庫的屬性、登入賬戶、資料庫檔案、Database Backup、警報、作業等資訊。Microsoft SQL Server 2008使用這些系統級資訊管理和控制整個資料庫伺服器系統。
使用者資料庫是由使用者建立的、用來存放使用者資料和對象的資料庫。
系統資料庫:
master資料庫是最重要的系統資料庫,它記錄了SQL Server系統級的所有資訊,這些系統級的資訊包括伺服器配置資訊、登入賬戶資訊、資料庫檔案資訊、SQL Server初始化資訊等等,這些資訊影響整個SQL Server系統的運行。
model資料庫是一個模板資料庫。該資料庫儲存了可以作為模板的資料庫物件和資料。當建立使用者資料庫時,系統自動把該模板資料庫中的所有資訊複製到使用者建立的資料庫中,使得建立的使用者資料庫初始狀態下具有了與model資料庫一致的對象和相關資料,從而簡化資料庫的初始建立和管理操作。
msdb是與SQLServerAgent服務有關的資料庫。該系統資料庫記錄有關作業、警報、操作員、調度等資訊,這些資訊可以用於自動化系統的操作。
tempdb是一個臨時資料庫,用於儲存查詢過程中所使用的中間資料或結果。實際上,它只是一個系統的臨時工作空間。
在資料庫技術領域,按照OLTP資料存放區模型組織資料的應用環境稱為OLTP環境。OLTP資料存放區模型也稱為OLTP資料庫。
OLAP資料存放區模型與OLTP資料存放區模型截然不同。從結構上來看,OLAP資料存放區模型的常見結構是星型結構或雪崩結構。從使用目的來看,OLAP資料庫的主要作用是提高系統對資料的檢索和分析速度。
樣本資料庫(使用者資料庫)
AdventureWorks不是系統資料庫,而是一個樣本OLTP資料庫。該資料庫儲存了某個假設的單車製造公司的業務資料,示意了製造、銷售、採購、產品管理、合約管理、人力資源管理等情境。使用者可以利用該資料庫來學習SQL Server的操作,也可以模仿該資料庫的結構設計使用者自己的資料庫。
AdventureWorksLT也是一個樣本OLTP資料庫,但是其資料庫物件和資料都少於AdventureWorks資料庫,是一個經過簡化的輕量級的樣本資料庫。對於資料庫技術的初學者來說,可以從AdventureWorksLT資料庫學起。
AdventureWorksDW是一個樣本OLAP資料庫,用於線上事務分析。使用者可以利用該資料庫來學習SQL Server的OLAP操作,也可以模仿該資料庫的內部結構設計使用者自己的OLAP資料庫。
SQL Server組態管理員
在Microsoft SQL Server 2008系統中,可以通過“電腦管理”工具或“SQL Server組態管理員”查看和控制SQL Server的服務。
通過右擊某個服務名稱,可以查看該服務的屬性,以及啟動、停止、暫停、重新啟動相應的服務。
使用攝像機可以記錄一個情境的所有過程,以後可以反覆地觀看。使用SQL Server Profiler工具可以完成這種攝錄操作。
從Microsoft SQL Server Management Studio視窗的“工具”菜單中即可運行SQL Server Profiler。
在Microsoft SQL Server 2008系統中,不僅提供了大量的圖形化工具,還提供了大量的命令列工具 + 生產力。
這些命令列工具 + 生產力包括bcp、dta、dtexec、dtutil、Microsoft.AnalysisServices. Deployment、nscontrol、osql、profiler90、rs、rsconfig、rskeymgmt、sac、sqlagent90、sqlcmd、SQLdiag、sqlmaint、sqlservr、sqlwb、tablediff等。
sqlcmd工具 + 生產力
在Microsoft SQL Server 2008系統中,資料庫管理員(Database Administration,簡稱為DBA)是最重要的角色。
DBA的工作目標就是確保Microsoft SQL Server 2008系統正常高效地運行。
DBA的工作也是最繁忙的工作,無論是效能調整,還是災難恢複,都離不開DBA的支援。
DBA的12項任務
任務一:安裝和配置。
任務二:容量規劃。
任務三:應用架構設計。
任務四:管理資料庫對象。
任務五:儲存空間管理。
任務六:安全管理。
任務七:備份和恢複。
任務八:效能監控和調優。
任務九:調度作業。
任務十:網路管理。
任務十一:高可用性和高延展性管理。
任務十二:故障解決。
應用架構設計包括資料庫設計、應用程式設計和相應的技術架構設計。
資料庫設計應該考慮資料庫的邏輯需求、資料庫的建立方式和數量、資料庫資料檔案和記錄檔的物理位置等。一般情況下,可以在Microsoft SQL Server 2008系統成功安裝之後,根據規劃的目標,手工建立資料庫。
應用設計應該考慮開發工具的選擇、API技術、內部資源和外部資源的結合、應用架構的分布等。需要強調是在應用設計時,DBA應該與開發人員共同工作,確保他們編寫出最佳化的代碼,儘可能地使用伺服器的資源。
技術架構設計主要包括展示層、邏輯層和資料層的分布。
管理資料庫對象是使用資料庫的最基本、最重要的工作。這些對象包括表、索引、視圖、預存程序、函數、觸發器、同義字等。
為了完成管理資料庫對象的工作,DBA應該能夠很好地回答諸如下面的這些問題。
系統應該包括哪些資料?
應該怎樣儲存這些資料?
應該在系統中建立哪些表?
應該在這些表中建立哪些索引,以便加速檢索?
是否應該建立視圖?為什麼要建立這些視圖?
應該建立哪些預存程序、函數、CLR對象?
應該在哪些表上建立觸發器?應該針對哪些操作建立觸發器?
是否應該建立同義字?
9月18日,SQL學習基礎1