SQLserver數(shù)據(jù)庫技術(shù)介紹.ppt
《SQLserver數(shù)據(jù)庫技術(shù)介紹.ppt》由會員分享,可在線閱讀,更多相關(guān)《SQLserver數(shù)據(jù)庫技術(shù)介紹.ppt(63頁珍藏版)》請在裝配圖網(wǎng)上搜索。
數(shù)據(jù)庫技術(shù)簡介 1 本章內(nèi)容 應(yīng)用背景數(shù)據(jù)庫應(yīng)用程序設(shè)計方案簡介SQLSERVER簡介SQLSERVE組件SQLSERVER版本SQLSERVER數(shù)據(jù)庫中的對象 應(yīng)用背景 隨著計算機技術(shù)的蓬勃發(fā)展 計算機應(yīng)用已經(jīng)涉及人們?nèi)粘I?工作的各個領(lǐng)域 數(shù)據(jù)處理是計算機四大應(yīng)用 科學(xué)計算 過程控制 數(shù)據(jù)處理和輔助設(shè)計 的一個主要方面 而且已經(jīng)滲透到許多其他應(yīng)用領(lǐng)域 1 1數(shù)據(jù)庫系統(tǒng)應(yīng)用程序設(shè)計方案簡介 數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)的基本概念幾種數(shù)據(jù)庫系統(tǒng)應(yīng)用程序模型常用的數(shù)據(jù)庫訪問接口 數(shù)據(jù)庫及數(shù)據(jù)庫系統(tǒng)概念 數(shù)據(jù)庫 顧名思義 是存放數(shù)據(jù)的倉庫數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng) 一般由數(shù)據(jù)庫 數(shù)據(jù)庫管理系統(tǒng) 應(yīng)用程序系統(tǒng)和數(shù)據(jù)庫用戶幾個部分組成 數(shù)據(jù)庫系統(tǒng)應(yīng)用程序模型 單層模型 基于早期的文件和程序集成的一種開發(fā)模型兩層模型 又稱C S模型 將數(shù)據(jù)和程序代碼分離 采用客戶端請求和服務(wù)端響應(yīng)方式實現(xiàn)數(shù)據(jù)共享三層 N層模型 又稱B S模型 將代碼中的界面表示 表示層 和程序邏輯 商業(yè)規(guī)則 中間層 分離 數(shù)據(jù)訪問更加靈活 常用數(shù)據(jù)庫訪問接口 開放數(shù)據(jù)庫互聯(lián) ODBC 和DB庫內(nèi)嵌SQL數(shù)據(jù)訪問對象 DataAccessObject DAO 遠程數(shù)據(jù)庫對象 RemoteDataObject RDO OLEDBADO ActiveDataObject ADO Net ADO 1 2SQLServer簡介 SQLServer起源SQLServer不是一個數(shù)據(jù)庫 它是一種客戶機 服務(wù)器關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 簡稱RDBMSSQLServer是一個作為服務(wù)運行的Windows應(yīng)用程序SQLServer是一個全面的 集成的 端到端的數(shù)據(jù)解決方案 SQLServer的特點 真正的客戶機 服務(wù)器體系結(jié)構(gòu) 圖形化用戶界面豐富的編程接口工具SQLServer與WindowsNT完全集成具有很好的伸縮性對Web技術(shù)的支持SQLServer提供數(shù)據(jù)倉庫功能 SQLServer2005具有的新特性 實現(xiàn)了與MicrosoftVisualStudio MicrosoftOfficeSystem和新的開發(fā)工具包的緊密集成增強的報表服務(wù)增強的數(shù)據(jù)訪問接口增強的數(shù)據(jù)分析服務(wù)增強的數(shù)據(jù)復(fù)制服務(wù)改進的開發(fā)工具可以為不同規(guī)模的企業(yè)構(gòu)建和部署經(jīng)濟有效的BI解決方案 1 3SQLServer的組件 數(shù)據(jù)庫引擎 DatabaseEngine 分析服務(wù) AnalysisServices 報表服務(wù) ReportingService 集成服務(wù) IntegrationServiceSQLServer2005管理平臺商業(yè)智能開發(fā)平臺配置管理器SQLServer聯(lián)機叢書 1 4SQLServer2005的版本 SQLServer2005企業(yè)版SQLServer2005標(biāo)準(zhǔn)版SQLServer2005工作組版SQLServer2005學(xué)習(xí)版SQLServer2005開發(fā)版SQLServer2005移動版 1 5SQLServer中常用的數(shù)據(jù)對象 表數(shù)據(jù)類型視圖存儲過程觸發(fā)器約束索引 數(shù)據(jù)庫對象 數(shù)據(jù)庫對象的引用方法 全限定名稱 SQLServer對象的完整名稱包括4個標(biāo)識符 服務(wù)器名稱 數(shù)據(jù)庫名稱 對象的所有者名稱和對象名稱 格式如下 Server database owner object Server database objectServer owner objectServer objectdatabase owner objectdatabase objectowner objectobject 部分指定的名稱 管理數(shù)據(jù)庫 介紹數(shù)據(jù)庫管理員最核心的工作 創(chuàng)建和管理SQLServer數(shù)據(jù)庫 介紹如何使用SQLServer管理器和系統(tǒng)存儲過程實現(xiàn)大多數(shù)與數(shù)據(jù)庫相關(guān)的任務(wù) 內(nèi)容提要 創(chuàng)建數(shù)據(jù)庫修改數(shù)據(jù)庫刪除數(shù)據(jù)庫數(shù)據(jù)庫備份數(shù)據(jù)庫還原系統(tǒng)數(shù)據(jù)庫介紹 4 1創(chuàng)建數(shù)據(jù)庫 SQLServer的數(shù)據(jù)庫 一般至少包括兩個文件 數(shù)據(jù)文件 用來存儲數(shù)據(jù)庫的數(shù)據(jù)和對象 如表 索引 存儲過程和視圖等 默認(rèn)的擴展名為 mdf 日志文件 用來存儲日志的文件 包括恢復(fù)數(shù)據(jù)中的所有事務(wù)所需的信息 擴展名為 ldf 創(chuàng)建新數(shù)據(jù)庫的注意事項 默認(rèn)情況下 只有系統(tǒng)管理員可以創(chuàng)建新數(shù)據(jù)庫 給數(shù)據(jù)庫指定的名字必須遵循SQLServer命名規(guī)范 所有的新數(shù)據(jù)庫都是model數(shù)據(jù)庫的備份 這意味著新數(shù)據(jù)庫不可能比model數(shù)據(jù)庫當(dāng)前的容量更小 單個數(shù)據(jù)庫可以存儲在單個文件上 也可以跨越多個文件存儲 數(shù)據(jù)庫的大小可以被擴展或者收縮 當(dāng)新的數(shù)據(jù)庫創(chuàng)建時 SQLServer自動地更新master數(shù)據(jù)庫的sysdatabases系統(tǒng)表 文件與文件組 數(shù)據(jù)庫文件 存放數(shù)據(jù)庫數(shù)據(jù)和數(shù)據(jù)庫對象的文件主數(shù)據(jù)庫文件 MDF文件次數(shù)據(jù)庫文件 NDF文件日志文件 是用來記錄數(shù)據(jù)庫更新情況的文件主日志文件次日志文件文件組 將多個數(shù)據(jù)庫文件集合起來形成的一個整體主文件組次文件組 使用管理器創(chuàng)建數(shù)據(jù)庫 1 首先確保已經(jīng)成功連接到服務(wù)器2 選擇 對象資源管理器 面板中的 數(shù)據(jù)庫 選項并右擊 在彈出的快捷菜單中選擇 新建數(shù)據(jù)庫 選項 在彈出窗口的 數(shù)據(jù)庫名稱 中輸入數(shù)據(jù)庫名 Demo 所有者使用默認(rèn)值 設(shè)置好參數(shù)之后 單擊 確定 按鈕即可創(chuàng)建一個以Demo命名的數(shù)據(jù)庫 使用Transact SQL語句創(chuàng)建數(shù)據(jù)庫 CREATEDATABASE語句的語法 CREATEDATABASEdatabase name ON PRIMARY n n LOGON n FORLOAD FORATTACH 創(chuàng)建50MB數(shù)據(jù)和15MB日志的Demo數(shù)據(jù)庫 CREATEDATABASEDemoONPRIMARY NAME Demo data FILENAME c Demo mdf SIZE 50MB MAXSIZE 70MB FILEGROWTH 1MB LOGON NAME Demo log FILENAME c Demo ldf SIZE 15MB MAXSIZE 20MB FILEGROWTH 1MB 數(shù)據(jù)庫對象屬性設(shè)置 4 2修改數(shù)據(jù)庫 使用SQLServer管理器修改數(shù)據(jù)庫打開數(shù)據(jù)庫屬性對話框修改數(shù)據(jù)文件大小修改日志文件大小按確定保存 使用Transact SQL語句修改數(shù)據(jù)庫 語法 ALTERDATABASEdatabase ADDFILE n TOFILEGROUPfilegroup name ADDLOGFILE n REMOVEFILElogical file name ADDFILEGROUPfilegroup name REMOVEFILEGROUPfilegroup name MODIFYFILE MODIFYFILEGROUPfilegroup namefilegroup property 修改數(shù)據(jù)庫文件和日志文件 例如 USEmasterALTERDATABASEDemoMODIFYFILE NAME Demo log MAXSIZE 25MB GOUSEmasterALTERDATABASEDemoMODIFYFILE NAME Demo log SIZE 20MB GO 4 3刪除數(shù)據(jù)庫 DROPDATABASE語句的語法 例如 表示刪除當(dāng)前的MyDB DROPDATABASEDemo DROPDATABASEdatabase name n 4 4數(shù)據(jù)庫備份和恢復(fù) 備份備份就是指對SQLServer數(shù)據(jù)庫或事務(wù)日志進行復(fù)制 數(shù)據(jù)庫備份記錄了在進行備份這一操作時數(shù)據(jù)庫中所有數(shù)據(jù)的狀態(tài) 如果數(shù)據(jù)庫因意外而損壞 這些備份文件將在數(shù)據(jù)庫恢復(fù)時被用來恢復(fù)數(shù)據(jù)庫 恢復(fù)恢復(fù)就是把遭受破壞 丟失數(shù)據(jù)或出現(xiàn)錯誤的數(shù)據(jù)庫恢復(fù)到原來的正常狀態(tài) 這一狀態(tài)是由備份決定的 但是為了維護數(shù)據(jù)庫的一致性 在備份中未完成的事務(wù)并不進行恢復(fù) 數(shù)據(jù)庫備份類型 數(shù)據(jù)庫備份數(shù)據(jù)庫備份是指對數(shù)據(jù)庫的完整備份 包括所有的數(shù)據(jù)及數(shù)據(jù)庫對象 事務(wù)日志備份事務(wù)日志備份是指對數(shù)據(jù)庫發(fā)生的事務(wù)進行備份 包括從上次進行事務(wù)日志備份 差異備份和數(shù)據(jù)庫完全備份之后 所有已經(jīng)完成的事務(wù) 差異備份差異備份是指將最近一次數(shù)據(jù)庫備份以來發(fā)生的數(shù)據(jù)變化備份起來 因此差異備份實際上是一種增量數(shù)據(jù)庫備份 文件和文件組備份文件或文件組備份是指對數(shù)據(jù)庫文件或文件夾進行備份 但其不像完整的數(shù)據(jù)庫備份那樣同時也進行事務(wù)日志備份 創(chuàng)建和刪除備份設(shè)備 使用SQLServer管理器創(chuàng)建備份設(shè)備使用sp addumpdevice創(chuàng)建備份設(shè)備usemasterexecsp addumpdevice disk pubss c backdev backdevpubs bak 使用SQLServer管理器刪除備份設(shè)備使用sp dropdevice刪除備份設(shè)備sp dropdevice pubss c backdev backdevpubs bak 使用管理器備份數(shù)據(jù)庫 用SQLServer管理器備份數(shù)據(jù)庫 用Transact SQL語句備份數(shù)據(jù)庫 創(chuàng)建備份設(shè)備 usemasterexecsp addumpdevice disk pubss c mssql7 backup pubss dat 備份數(shù)據(jù)庫 backupdatabasepubstopubss 創(chuàng)建事務(wù)日志備份設(shè)備 usemasterexecsp addumpdevice disk pubsslog c mssql7 backup pubsslog dat 備份事務(wù)日志 backuplogpubstopubsslog 4 5還原數(shù)據(jù)庫 使用管理器還原數(shù)據(jù)庫 使用RESTORE命令還原數(shù)據(jù)庫 例如 還原數(shù)據(jù)庫pubs至2009年4月1日前的狀態(tài) Restoredatabasepubsfrompubss1 pubss2withnorecoveryrestorelogpubsfrompubsslog1withnorecoveryrestorelogpubsfrompubslog2withrecovery stopat Apr1200915 00am 4 6SQLServer系統(tǒng)數(shù)據(jù)庫介紹 數(shù)據(jù)庫目錄系統(tǒng)表每個數(shù)據(jù)庫都使用數(shù)據(jù)庫目錄系統(tǒng)表來記錄它的設(shè)計和使用情況 每一個SQLServer創(chuàng)建的數(shù)據(jù)庫都包含下列19個數(shù)據(jù)庫目錄系統(tǒng)表master數(shù)據(jù)庫master數(shù)據(jù)庫是SQLServer中最重要的數(shù)據(jù)庫 它存儲的信息包括可用的數(shù)據(jù)庫 為每一個數(shù)據(jù)庫分配的空間 使用中的進程 用戶賬戶 活動的鎖 系統(tǒng)錯誤信息和系統(tǒng)存儲過程等 master數(shù)據(jù)存儲在master mdf中 事務(wù)日志存儲在mastlog ldf中 由于這個數(shù)據(jù)庫非常重要 所以不允許用戶直接修改它 msdb數(shù)據(jù)庫msdb數(shù)據(jù)庫由SQLServerAgent服務(wù)使用 用來管理警報和任務(wù) 它還存儲由SQLServer管理的數(shù)據(jù)庫的每一次備份和恢復(fù)的歷史信息 msdb數(shù)據(jù)存儲在msdbdata mdf中 它的事務(wù)日志存儲在msdblog ldf中 model數(shù)據(jù)庫任何一個新創(chuàng)建的數(shù)據(jù)庫都包含前面描述的19個系統(tǒng)表 這19個系統(tǒng)表是在創(chuàng)建新數(shù)據(jù)庫時從model數(shù)據(jù)庫復(fù)制而來的 model數(shù)據(jù)庫的主要作用是為新的數(shù)據(jù)庫充當(dāng)模板 tempdb數(shù)據(jù)庫tempdb數(shù)據(jù)庫是被所有SQLServer數(shù)據(jù)庫和數(shù)據(jù)庫用戶共享的數(shù)據(jù)庫 它用來存儲臨時信息 如對一個未建索引的表查詢時創(chuàng)建的臨時索引的排序信息 管理數(shù)據(jù)庫及其完整性 內(nèi)容提要 表是SQLServer2005中最基本的數(shù)據(jù)庫對象 它包含了數(shù)據(jù)庫中所有的數(shù)據(jù) 表設(shè)計的好壞直接決定著一個數(shù)據(jù)庫中的好壞 從而決定這個整個數(shù)據(jù)庫應(yīng)用系統(tǒng)的成敗 在數(shù)據(jù)庫中 表表現(xiàn)為列的集合 與電子表格相似 數(shù)據(jù)在表中是按行和列的格式組織排列的 每行代表唯一的一條記錄 而每列代表記錄中的一個域 要點 創(chuàng)建表修改表刪除表創(chuàng)建和使用規(guī)則創(chuàng)建和使用默認(rèn) 5 1創(chuàng)建表 表的設(shè)計過程中需要完成的主要任務(wù) 設(shè)計表的各列及每一列的數(shù)據(jù)類型 盡量使表中不出現(xiàn)冗余信息 使其達到三級范式要求 決定哪些列允許空值 某些列必須有值數(shù)據(jù)庫才能正確運行 決定是否要在表中使用以及何時使用約束 默認(rèn)設(shè)置或規(guī)則 所需索引的類型 哪里需要索引 哪些列是主鍵 哪些是外鍵 使用SQLServer管理器創(chuàng)建表 1展開對象資源管理器中的 數(shù)據(jù)庫 Demo 選項 右擊 表 對象 在彈出的菜單中選擇 新建表 選項2進入表設(shè)計界面 切換到 屬性 面板 輸入表名 在 列名 和 數(shù)據(jù)類型 中填入相應(yīng)的數(shù)據(jù)信息 設(shè)置好主鍵 單擊 保存 使用Transact SQL語句創(chuàng)建表 創(chuàng)建表的Transact SQL語句為CREATETABLE CREATETABLE的語法格式 CREATETABLE database name owner owner table name column nameAScomputed column expression CONSTRAINTconstraint name PRIMARYKEY UNIQUE n ON filegroup DEFAULT TEXTIMAGE ON filegroup DEFAULT 創(chuàng)建學(xué)生信息表Student CREATETABLEStudent IDchar 7 notnull Namechar 10 notnull Sexchar 2 notnull Birthdaydatetimenotnull Birth placevarchar 50 notnull Classchar 10 notnull 創(chuàng)建和使用5種基本約束 PRIMARYKEY 主鍵約束 FOREIGNKEY 外鍵約束 UNIQUE 唯一約束 CHECK 檢查約束 DEFAULT 默認(rèn)值約束 數(shù)據(jù)完整性分類 實體完整性域完整性參照完整性 PRIMARYKEY約束 列級PRIMARYKEY約束的定義格式 表級PRIMARYKEY約束的定義格式 CONSTRAINTconstraint name PRIMARYKEY CLUSTERED NONCLUSTERED WITHFILLFACTOR fillfactor ON filegroup DEFAULT CONSTRAINTconstraint name PRIMARYKEY CLUSTERED NONCLUSTERED column n WITHFILLFACTOR fillfactor ON filegroup DEFAULT FOREIGNKEY約束 表級FOREIGNKEY約束的定義格式 列級FOREIGNKEY約束的定義格式 CONSTRAINTconstraint name FOREIGNKEY column n REFERENCESref table ref column NOTFORREPLICATION CONSTRAINTconstraint name FOREIGNKEY REFERENCESref table ref column NOTFORREPLICATION UNIQUE約束 列級UNIQUE約束的定義格式 表級UNIQUE約束的定義格式 CONSTRAINTconstraint name UNIQUE CLUSTERED NONCLUSTERED WITHFILLFACTOR fillfactor ON filegroup DEFAULT CONSTRAINTconstraint name UNIQUE CLUSTERED NONCLUSTERED column n WITHFILLFACTOR fillfactor ON filegroup DEFAULT CHECK約束 表級CHECK約束定義格式 列級CHECK約束定義格式 CONSTRAINTconstraint name CHECK NOTFORREPLICATION 搜索條件 CONSTRAINTconstraint name CHECK NOTFORREPLICATION 邏輯表達式 DEFAULT約束 constraint name 指出所建立的DEFAULT約束的名稱 constant expression表達式為列提供默認(rèn)值 CONSTRAINTconstraint name DEFAULTconstant expression 5 2修改表 ALTERTABLE語句的語法ALTERTABLEtable ALTERCOLUMNcolumn name new data type precision scale COLLATE NULL NOTNULL ADD DROP ROWGUIDCOL ADD column nameAScomputed column expression n WITHCHECK WITHNOCHECK ADD n DROP CONSTRAINT constraint name COLUMNcolumn n CHECK NOCHECK CONSTRAINT ALL constraint name n ENABLE DISABLE TRIGGER ALL trigger name n CREATETABLEdoc exa column aINT GOALTERTABLEdoc exaADDcolumn bVARCHAR 20 NULLALTERTABLEdoc excADDcolumn bVARCHAR 20 NULLCONSTRAINTexb uniqueUNIQUEALTERTABLEdoc exdWITHNOCHECKADDCONSTRAINTexd checkCHECK column a 1 GOEXECsp helpdoc exaGODROPTABLEdoc exaGO 5 3查看表 sp help的語法格式 其中 name參數(shù)說明所檢索表的名稱 sp helpname 5 4刪除表 執(zhí)行DROPTABLE語句刪除數(shù)據(jù)表 DROPTABLE的語法格式 其中 table name為待刪除表的名稱 DROPTABLEtable name 5 5創(chuàng)建和使用規(guī)則 創(chuàng)建規(guī)則在Transact SQL中 執(zhí)行CREATERULE語句創(chuàng)建規(guī)則 CREATERULE的語法格式 CREATERULEruleAScondition expression例如 CREATERULErange ruleAS range 1000AND range 20050 規(guī)則應(yīng)用 sp bindrule的語法格式 sp bindrule rulename rule objname object name futureonly futureonly flag 例如 USEmasterEXECsp bindrulerange rule employees Salary 解除規(guī)則 解除綁定規(guī)則 sp unbindrule sp unbindrule objname object name futureonly futureonly flag 例如 EXECsp unbindrule employees salary 刪除規(guī)則 刪除規(guī)則 DROPRULE rule n 例如 DropRulerange rule 5 6創(chuàng)建和使用默認(rèn) 創(chuàng)建默認(rèn) CREATEDEFAULT語句 語法 CREATEDEFAULTdefaultASconstant expression例如 CREATEDEFAULTphonedfltAS unknown 綁定默認(rèn) 綁定默認(rèn)值 sp bindefault語法 sp bindefault defname default objname object name futureonly futureonly flag 例如 EXECsp bindefault today employees hiredate 解除默認(rèn)綁定 解除綁定 sp unbindefault語法 sp unbindefault objname object name futureonly futureonly flag 例如 EXECsp unbindefault employees hiredate 刪除默認(rèn) 刪除默認(rèn) DropDefault語法 DROPDEFAULT default n 例如 DROPDEFAULTphonedflt- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- SQLserver 數(shù)據(jù)庫技術(shù) 介紹
鏈接地址:http://zhongcaozhi.com.cn/p-7254787.html