第3章關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)_第1頁(yè)
第3章關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)_第2頁(yè)
第3章關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)_第3頁(yè)
第3章關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)_第4頁(yè)
第3章關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第3章 關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù) uSQl Server 2005概述uSQL Server數(shù)據(jù)庫(kù)組成 u數(shù)據(jù)庫(kù)的創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)的創(chuàng)建和維護(hù)數(shù)據(jù)表約數(shù)和數(shù)據(jù)完整性控制索引的創(chuàng)建和維護(hù)3.1Microsoft SQL Server 2005概述概述 Microsoft SQL 是Microsoft公司在Windows平臺(tái)上開(kāi)發(fā)一個(gè)高性能關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它支持關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建和管理??梢詰?yīng)用在網(wǎng)絡(luò)環(huán)境下客戶(hù)機(jī)/服務(wù)器、瀏覽器/服務(wù)器結(jié)構(gòu)的信息系統(tǒng)中,作為支持聯(lián)機(jī)事務(wù)處理系統(tǒng)、聯(lián)機(jī)分析處理系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器。 類(lèi)似地,還有很多商用數(shù)據(jù)庫(kù)管理系統(tǒng),例如Oracle公司的Oracle,IBM公司的D

2、B2等也經(jīng)常用于建設(shè)大規(guī)模的信息系統(tǒng)。還有,桌面型數(shù)據(jù)庫(kù)管理系統(tǒng),例如Microsoft 公司的Foxpro, Access等,可用于構(gòu)建小型信息系統(tǒng)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBase Management System, DBMS)是數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)重要組成部分,是位于應(yīng)用程序與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。數(shù)據(jù)庫(kù)應(yīng)用程序提出數(shù)據(jù)操作要求,通過(guò)DBMS,才能訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理員也是通過(guò)DBMS對(duì)數(shù)據(jù)庫(kù)實(shí)施管理。 DBMS是創(chuàng)建和使用數(shù)據(jù)庫(kù)必不可少的軟件!什么是數(shù)據(jù)庫(kù)管理系統(tǒng)?什么是數(shù)據(jù)庫(kù)管理系統(tǒng)?(1)數(shù)據(jù)定義(2)數(shù)據(jù)操縱(3)數(shù)據(jù)庫(kù)運(yùn)行管理(4)數(shù)據(jù)庫(kù)維護(hù)(5)支持?jǐn)?shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)

3、管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng) 的主要功能的主要功能建立數(shù)據(jù)庫(kù),定義數(shù)據(jù)庫(kù)的模式結(jié)構(gòu)、數(shù)據(jù)庫(kù)的完整性約束規(guī)則和安全性控制方式實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的檢索以及更新(包括插入、刪除和修改)包括并發(fā)控制、安全性檢查、完整性約束條件的檢查和執(zhí)行、數(shù)據(jù)庫(kù)的內(nèi)部管理和維護(hù)數(shù)據(jù)庫(kù)的備份和恢復(fù)、導(dǎo)入和導(dǎo)出功能,數(shù)據(jù)庫(kù)的重組功能和性能監(jiān)視、分析功能等支持使用數(shù)據(jù)庫(kù)語(yǔ)言來(lái)使用和管理數(shù)據(jù)庫(kù),關(guān)系型DBMS支持SQL語(yǔ)言(1)圖形化的操作環(huán)境 Windows風(fēng)格的可視化操作環(huán)境,易于學(xué)習(xí)和使用。(2) 高性能的數(shù)據(jù)庫(kù)管理和使用功能 支持高性能應(yīng)用,支持分布式查詢(xún)?cè)L問(wèn)多數(shù)據(jù)源、充分的數(shù)據(jù)庫(kù)完整性保護(hù)等。 (3) 可伸縮性和高度可用

4、性 根據(jù)訪(fǎng)問(wèn)量動(dòng)態(tài)使用軟、硬件資源;支持從 KB 到TB 數(shù)量級(jí)的數(shù)據(jù)庫(kù);7*24可用性。(4)與Internet應(yīng)用的集成 提供了豐富的XML支持,可以輕松地存儲(chǔ)和檢索數(shù)據(jù),并將查詢(xún)結(jié)果直接用于各種網(wǎng)頁(yè)程序。 (5) 對(duì)數(shù)據(jù)倉(cāng)庫(kù)的支持 提供數(shù)據(jù)倉(cāng)庫(kù)組建和數(shù)據(jù)分析工具,有效支持決策分析處理。 SQL Server的主要特性的主要特性 SQL Server主要管理工具主要管理工具 SQL Server提供了一整套數(shù)據(jù)庫(kù)系統(tǒng)管理工具和實(shí)用程序,打開(kāi)“開(kāi)始/程序/Microsoft SQL Server2005 ”菜單即可看到如下所示的SQL Server程序組 : 1SQL Server Mana

5、gement Studio SQL Server Management Studio 是一個(gè)管理平臺(tái),集成了多個(gè)圖形工具和豐富的腳本支持。用于建立、訪(fǎng)問(wèn)、配置、控制、管理和開(kāi)發(fā)數(shù)據(jù)庫(kù)。啟動(dòng)SQL Server Management Studio 選擇“開(kāi)始/程序/Microsoft SQL Server2005/ SQL Server Management Studio”菜單出現(xiàn)“連接到服務(wù)器”窗口。服務(wù)器類(lèi)型:指明要連接的服務(wù)。如服務(wù)器類(lèi)型:指明要連接的服務(wù)。如果是管理和訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,選擇果是管理和訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,選擇“數(shù)據(jù)庫(kù)引擎數(shù)據(jù)庫(kù)引擎”。服務(wù)器名稱(chēng):選擇或輸入該服務(wù)器的服務(wù)器名稱(chēng)

6、:選擇或輸入該服務(wù)器的計(jì)算機(jī)名稱(chēng)或計(jì)算機(jī)名稱(chēng)或IPIP地址,也可輸入地址,也可輸入“. .”或或“(locallocal)”,表示本機(jī)服務(wù)器。,表示本機(jī)服務(wù)器。身份驗(yàn)證:指明驗(yàn)證方身份驗(yàn)證:指明驗(yàn)證方式。注意式。注意SQL ServerSQL Server身身份驗(yàn)證需用戶(hù)名和密碼,份驗(yàn)證需用戶(hù)名和密碼,默認(rèn)用戶(hù)為默認(rèn)用戶(hù)為“sasa” 。SQL Server Management Studio已在本SQL Server Management Studio下注冊(cè)的服務(wù)器,可啟動(dòng)或停止服務(wù)器,更改連接選項(xiàng)所有數(shù)據(jù)庫(kù)對(duì)象的樹(shù)型視圖??梢詾g覽、管理、維護(hù)所有數(shù)據(jù)庫(kù)對(duì)象。當(dāng)選擇某一數(shù)據(jù)庫(kù)對(duì)象后,中間的“

7、摘要”窗口自動(dòng)顯示該對(duì)象所包含的下一級(jí)對(duì)象或該對(duì)象的詳細(xì)內(nèi)容。創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象所需要使用的基本SQL語(yǔ)句段的文件,對(duì)復(fù)雜腳本定義提供一種快捷支持,可方便地利用模板創(chuàng)建各種數(shù)據(jù)庫(kù)對(duì)象 方便對(duì)腳本的集中編輯、保存和管理??山⒁粋€(gè)項(xiàng)目對(duì)多個(gè)腳本進(jìn)行管理,多個(gè)項(xiàng)目又可作為一個(gè)解決方案。SQL Server Management Studio“新建查詢(xún)”可打開(kāi)查詢(xún)編輯器窗口,用于編輯SQL語(yǔ)句,執(zhí)行和查看結(jié)果。例如,查詢(xún)學(xué)生表的信息:2SQL Server Configuration Manager 管理與SQL Server相關(guān)聯(lián)的服務(wù)。啟動(dòng): “開(kāi)始/程序/Microsoft SQL Server2

8、005/配置工具/SQL Server Configuration Manager” 。點(diǎn)擊左邊的“SQL Server 2005服務(wù)”,右邊窗格顯示所有SQL Server服務(wù),包括已注冊(cè)的不同數(shù)據(jù)庫(kù)服務(wù)器實(shí)例的服務(wù)。這些服務(wù)是SQL Server提供各項(xiàng)管理和服務(wù)功能的基礎(chǔ),如果服務(wù)停止,相關(guān)功能就無(wú)法使用。服務(wù)有3種狀態(tài):停止(紅色)、啟動(dòng)(綠色)、暫停(藍(lán)色)。SQL Server的核心服務(wù)組件,是實(shí)際的數(shù)據(jù)庫(kù)服務(wù)器,該服務(wù)啟動(dòng)后,客戶(hù)端才可以連接到服務(wù)器。一般的數(shù)據(jù)庫(kù)功能都由它提供。作業(yè)調(diào)度和管理,支持?jǐn)?shù)據(jù)庫(kù)定時(shí)、自動(dòng)備份、維護(hù),監(jiān)視數(shù)據(jù)庫(kù)、異常告警等功能,必需和SQL Server

9、服務(wù)一起使用。対數(shù)據(jù)倉(cāng)庫(kù)、商務(wù)智能和line-of-business解決方案提供分析支持偵聽(tīng)對(duì)SQL Server 資源的傳入請(qǐng)求,提供計(jì)算機(jī)上安裝的 SQL Server 實(shí)例的有關(guān)信息支持基于全文索引的數(shù)據(jù)庫(kù)表的全文搜索服務(wù)可用于數(shù)據(jù)質(zhì)量管理和數(shù)據(jù)清洗。通過(guò)數(shù)據(jù)分析和數(shù)據(jù)挖掘,實(shí)現(xiàn)數(shù)據(jù)提取、轉(zhuǎn)換和加載。 SQL Server2005網(wǎng)絡(luò)配置,支持完成本計(jì)算機(jī)上的 SQL Server服務(wù)器的網(wǎng)絡(luò)協(xié)議管理,如Shared Memory、TCP/IP、Named Pipes等,主要任務(wù)包括:?jiǎn)?dòng)或停止某個(gè)網(wǎng)絡(luò)協(xié)議,配置網(wǎng)絡(luò)協(xié)議,例如修改協(xié)議所用端口、加密方法等。SQL Native Clien

10、t 配置,支持配置本服務(wù)器上運(yùn)行的客戶(hù)機(jī)程序的網(wǎng)絡(luò)協(xié)議。其他客戶(hù)機(jī)上需要安裝并配置SQL Native Client來(lái)支持客戶(hù)機(jī)程序與SQL Server連接。主要功能:指定連接到 SQL Server 時(shí)的協(xié)議順序,配置客戶(hù)端連接協(xié)議,創(chuàng)建 SQL Server 的別名,使客戶(hù)端能用自定義連接字符串進(jìn)行連接。 數(shù)據(jù)庫(kù)在信息系統(tǒng)中用于實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和管理,它是SQL Server的主要管理對(duì)象。3.2 SQL Server數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)基礎(chǔ) 數(shù)據(jù)庫(kù)不僅存儲(chǔ)數(shù)據(jù),所有與數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)處理操作有關(guān)的信息也都存儲(chǔ)其中。 因此,數(shù)據(jù)庫(kù)并不是簡(jiǎn)單的數(shù)據(jù)集合!SQL Server數(shù)據(jù)庫(kù)管理的數(shù)據(jù)庫(kù)對(duì)象有

11、兩類(lèi):系統(tǒng)數(shù)據(jù)庫(kù)和用戶(hù)自定義數(shù)據(jù)庫(kù)。 SQL Server數(shù)據(jù)庫(kù)分類(lèi)數(shù)據(jù)庫(kù)分類(lèi) (1)系統(tǒng)數(shù)據(jù)庫(kù):存放SQL Server工作時(shí)所需要的系統(tǒng)級(jí)信息,系統(tǒng)自動(dòng)維護(hù)和管理。數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)主要作用主要作用master從整體上控制SQL Server系統(tǒng)和用戶(hù)數(shù)據(jù)庫(kù)的運(yùn)行。保存登錄標(biāo)識(shí)、系統(tǒng)配置、用戶(hù)數(shù)據(jù)庫(kù)基本信息等。該庫(kù)非常重要,應(yīng)設(shè)置權(quán)限禁止一般用戶(hù)訪(fǎng)問(wèn),另外要及時(shí)備份model是新建數(shù)據(jù)庫(kù)的模板,包含了每個(gè)用戶(hù)數(shù)據(jù)庫(kù)都需要的一些系統(tǒng)表,SQL Server以它為基礎(chǔ)創(chuàng)建新的數(shù)據(jù)庫(kù)msdb支持SQL Server Agent服務(wù),它記錄有關(guān)作業(yè)、警報(bào)、操作員等信息tempdb是一個(gè)臨時(shí)數(shù)據(jù)庫(kù),它為S

12、QL Server的查詢(xún)、存儲(chǔ)過(guò)程等的執(zhí)行提供臨時(shí)存儲(chǔ)SQL Server數(shù)據(jù)庫(kù)分類(lèi)數(shù)據(jù)庫(kù)分類(lèi) (2)用戶(hù)自定義數(shù)據(jù)庫(kù):用戶(hù)根據(jù)數(shù)據(jù)管理的需要建立的數(shù)據(jù)庫(kù),由用戶(hù)創(chuàng)建和維護(hù)。 例如,為了管理教務(wù)信息,可建立教務(wù)系統(tǒng)數(shù)據(jù)庫(kù),為了實(shí)現(xiàn)網(wǎng)上書(shū)店,建立圖書(shū)銷(xiāo)售數(shù)據(jù)庫(kù)等。 SQL Server自帶了3個(gè)樣本數(shù)據(jù)庫(kù),供用戶(hù)學(xué)習(xí)使用:AdventureWorks是個(gè)OLTP數(shù)據(jù)庫(kù)示例AdventureWorksDW是個(gè)OLAP數(shù)據(jù)庫(kù)倉(cāng)庫(kù)示例AdventureWorksAS是個(gè)分析服務(wù)數(shù)據(jù)庫(kù)示例表:存儲(chǔ)數(shù)據(jù)的二維關(guān)系表表:存儲(chǔ)數(shù)據(jù)的二維關(guān)系表視圖:通過(guò)查詢(xún)從一個(gè)或多個(gè)數(shù)據(jù)視圖:通過(guò)查詢(xún)從一個(gè)或多個(gè)數(shù)據(jù)表獲得的

13、虛擬表,可簡(jiǎn)化用戶(hù)數(shù)據(jù)表獲得的虛擬表,可簡(jiǎn)化用戶(hù)數(shù)據(jù)顯示、增強(qiáng)數(shù)據(jù)庫(kù)安全性顯示、增強(qiáng)數(shù)據(jù)庫(kù)安全性可編程性:包括存儲(chǔ)過(guò)程、觸發(fā)器、規(guī)可編程性:包括存儲(chǔ)過(guò)程、觸發(fā)器、規(guī)則、函數(shù)、默認(rèn)值等則、函數(shù)、默認(rèn)值等安全性:包括用戶(hù)、角色、密鑰、證書(shū)等安全性:包括用戶(hù)、角色、密鑰、證書(shū)等 數(shù)據(jù)庫(kù)由一組存儲(chǔ)、管理和使用數(shù)據(jù)的對(duì)象構(gòu)成。這些對(duì)象及相互關(guān)系構(gòu)成了數(shù)據(jù)庫(kù)邏輯存儲(chǔ)結(jié)構(gòu)。觀察master數(shù)據(jù)庫(kù),可看到數(shù)據(jù)庫(kù)所包含的主要對(duì)象:SQL Server數(shù)據(jù)庫(kù)組成數(shù)據(jù)庫(kù)組成數(shù)據(jù)庫(kù)文件在磁盤(pán)上存儲(chǔ)的數(shù)據(jù)庫(kù)文件有三種:數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu) 主數(shù)據(jù)文件主數(shù)據(jù)文件:用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)的系統(tǒng)表和所有對(duì)象啟動(dòng)信

14、息,并且存儲(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)。每個(gè)數(shù)據(jù)庫(kù)都有且只有1個(gè)主數(shù)據(jù)文件。主數(shù)據(jù)文件使用.MDF為擴(kuò)展名。次數(shù)據(jù)文件次數(shù)據(jù)文件:用來(lái)存儲(chǔ)不能置于主數(shù)據(jù)文件中的其他數(shù)據(jù)。每個(gè)數(shù)據(jù)庫(kù)可以包含0個(gè)或多個(gè)次數(shù)據(jù)文件。擴(kuò)展名為.NDF。事務(wù)日志文件事務(wù)日志文件:記錄SQL Server執(zhí)行的所有事務(wù)以及由這些事務(wù)操作引起的數(shù)據(jù)庫(kù)的變化,可用于恢復(fù)數(shù)據(jù)庫(kù)。 每個(gè)數(shù)據(jù)庫(kù)至少包含1個(gè)事務(wù)日志文件,擴(kuò)展名為.LDF。每個(gè)數(shù)據(jù)庫(kù)至少包含2個(gè)文件:主數(shù)據(jù)文件主數(shù)據(jù)文件和事務(wù)日志文件事務(wù)日志文件。(2) 數(shù)據(jù)文件組l用戶(hù)自定義文件組(User_defined):指在創(chuàng)建或更改數(shù)據(jù)庫(kù)時(shí),用戶(hù)明確創(chuàng)建的任何文件組。 l主文件組(Pr

15、imary):包含主數(shù)據(jù)文件和其它文件。所有系統(tǒng)表都包含在主文件組中 例如:將兩個(gè)不同物理磁盤(pán)上的數(shù)據(jù)庫(kù)文件組成一個(gè)文件組,在該組上建立的數(shù)據(jù)表中的數(shù)據(jù)會(huì)存儲(chǔ)在不同的物理設(shè)備上,查詢(xún)操作可能并行。 文件組是用戶(hù)對(duì)數(shù)據(jù)庫(kù)文件(不包括事務(wù)日志文件)進(jìn)行分組而形成的。合理使用文件組對(duì)數(shù)據(jù)進(jìn)行分布存儲(chǔ),可以提高表中數(shù)據(jù)的操作性能。 若不指定用戶(hù)定義文件組,則所有數(shù)據(jù)文件都包含在主文件組中。一個(gè)文件只能是一個(gè)文件組的成員,一個(gè)文件或文件組只能被一個(gè)數(shù)據(jù)庫(kù)使用!3.3數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù) 1. 數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建 數(shù)據(jù)庫(kù)創(chuàng)建就是在磁盤(pán)上建立數(shù)據(jù)庫(kù)文件的過(guò)程。下面通過(guò)一個(gè)實(shí)例介紹使用Man

16、agement Studio創(chuàng)建數(shù)據(jù)庫(kù)的步驟和方法 ?!纠?.2】 創(chuàng) 建 數(shù) 據(jù)庫(kù)School,它包含主數(shù)據(jù)文件SchoolDB.MDF,初始大小為5MB,事務(wù)日志文件SchoolDB_log.LDF,并將這 兩 個(gè) 文 件 建 立 在C:DBExample文件夾下,其他按照默認(rèn)設(shè)置不變?!纠?.2】操作步驟:操作步驟: 在桌面上選擇“我的電腦”,在C:下新建文件夾,命名為“DBExample”。 在對(duì)象資源管理器窗口右擊“數(shù)據(jù)庫(kù)”,從快捷菜單中選擇“新建數(shù)據(jù)庫(kù)”命令,將彈出 “新建數(shù)據(jù)庫(kù)”對(duì)話(huà)框。 提示:提示:SQL Server以model數(shù)據(jù)庫(kù)為模板創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),其數(shù)據(jù)文件的默認(rèn)

17、值為:初始大小3MB,以1MB自動(dòng)增長(zhǎng),不限制增長(zhǎng);事務(wù)日志文件的默認(rèn)值為:初始大小1MB,按10%的比例自動(dòng)增長(zhǎng),不限制增長(zhǎng)。 將數(shù)據(jù)文件的邏輯名稱(chēng)修改為“SchoolDB”,在路徑下的文本框輸入或點(diǎn)擊其后“”按鈕選擇修改數(shù)據(jù)庫(kù)文件的位置為“C:DBExample”。在初始大小后的文本框中把3改為5。 將日志文件的邏輯名稱(chēng)修改為“SchoolDB_log”,“路徑”設(shè)置為“C:DBExample”。 單擊“確定”按鈕,數(shù)據(jù)庫(kù)創(chuàng)建完成。 “選擇頁(yè)”默認(rèn)為“常規(guī)”,在“數(shù)據(jù)庫(kù)名稱(chēng)”文本框中輸入“School”。 使用“我的電腦”查看“C:DBExample”文件夾,可以看到文件SchoolDB和

18、SchoolDB_log。建好的School數(shù)據(jù)庫(kù)在對(duì)象資源管理器展開(kāi)的“數(shù)據(jù)庫(kù)”下可以看到,并且系統(tǒng)在School下自動(dòng)創(chuàng)建了其包含的相關(guān)對(duì)象。 2. 數(shù)據(jù)庫(kù)維護(hù)數(shù)據(jù)庫(kù)維護(hù) 數(shù)據(jù)庫(kù)創(chuàng)建后,磁盤(pán)上的數(shù)據(jù)文件和日志文件名就不能改變了。對(duì)已存在的數(shù)據(jù)庫(kù)可以進(jìn)行如下的修改:增加或刪除數(shù)據(jù)文件改變數(shù)據(jù)文件的大小和增長(zhǎng)方式改變?nèi)罩疚募拇笮『驮鲩L(zhǎng)方式增加或刪除日志文件增加或刪除文件組重命名數(shù)據(jù)文件,書(shū)庫(kù)文件和日志文件邏輯名。(1)修改數(shù)據(jù)庫(kù))修改數(shù)據(jù)庫(kù)右單擊需要修改的數(shù)據(jù)庫(kù),在快捷菜單中選擇“屬性”命令,彈出“數(shù)據(jù)庫(kù)屬性”窗口。其中包含8個(gè)選項(xiàng),每個(gè)選項(xiàng)下可對(duì)數(shù)據(jù)庫(kù)的相關(guān)屬性進(jìn)行修改。(2)刪除數(shù)據(jù)庫(kù))

19、刪除數(shù)據(jù)庫(kù)操作步驟如下:操作步驟如下: 右擊要?jiǎng)h除的數(shù)據(jù)庫(kù),在彈出的快捷菜單中選擇“刪除”命令。 在彈出的“刪除對(duì)象”對(duì)話(huà)框中單擊“確定”按鈕,即可刪除要?jiǎng)h除的數(shù)據(jù)庫(kù)。 提示:提示:注意數(shù)據(jù)庫(kù)一旦被刪除,數(shù)據(jù)庫(kù)文件及其數(shù)據(jù)都被從服務(wù)器上的磁盤(pán)中刪除,該數(shù)據(jù)庫(kù)中所有的對(duì)象均被刪除,即永久性刪除,不能恢復(fù),所以刪除操作要慎重!新建一個(gè)數(shù)據(jù)庫(kù)操作完成后,只是建立了數(shù)據(jù)庫(kù)框架和相關(guān)的系統(tǒng)對(duì)象, 接下來(lái)的任務(wù)是建立具體的數(shù)據(jù)表。例如:建立如下教務(wù)系統(tǒng)的數(shù)據(jù)庫(kù),要建立6個(gè)數(shù)據(jù)表,并建立表之間的關(guān)系。具體定義見(jiàn)教材P37頁(yè)。3.4 數(shù)據(jù)表的創(chuàng)建和維護(hù)數(shù)據(jù)表的創(chuàng)建和維護(hù) 1)設(shè)計(jì)表結(jié)構(gòu))設(shè)計(jì)表結(jié)構(gòu),包括: 定

20、義字段(1)創(chuàng)建列名、數(shù)據(jù)類(lèi)型 (2)設(shè)置列屬性也稱(chēng)列約束。包括:PRIMARY KEY:主關(guān)鍵字約束UNIQUE:唯一性約束CHECK:檢查約束DEFAULT:默認(rèn)值約束NOT NULL:非空約束 保存表3)表創(chuàng)建后,可輸入一些記錄數(shù)據(jù)來(lái)檢驗(yàn)表結(jié)構(gòu)。創(chuàng)建數(shù)據(jù)表的一般過(guò)程:2)建立表之間的關(guān)系:)建立表之間的關(guān)系:依次建立各個(gè)表,再建立關(guān)系。1SQL Server數(shù)據(jù)類(lèi)型數(shù)據(jù)表中每一列都需要定義明確的數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型決定了該字段的數(shù)據(jù)取值類(lèi)型、范圍和存儲(chǔ)格式。數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型主要類(lèi)型符號(hào)標(biāo)識(shí)主要類(lèi)型符號(hào)標(biāo)識(shí)整型bigint、int、smallint 、tinyint浮點(diǎn)型float、real

21、、decimal、numeric字符型char、varchar、nchar、nvarchar日期時(shí)間型datetime、smalldatetime文本型text、ntext圖像型image貨幣型money、smallmoney位型bit二進(jìn)制型binary、varbinary其他uniqueidentifierSQL Server的系統(tǒng)數(shù)據(jù)類(lèi)型(1)整型 整型用于存儲(chǔ)整數(shù),有4種整型分別用于存儲(chǔ)不同范圍的整數(shù)。數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)范圍數(shù)據(jù)范圍占用存儲(chǔ)空間占用存儲(chǔ)空間bigint-263 263-18 個(gè)字節(jié)int-231 231-14 個(gè)字節(jié)smallint-215 215-12 個(gè)字節(jié)tin

22、yint0 2551 個(gè)字節(jié)float和real是近似數(shù)值型,以科學(xué)計(jì)數(shù)法表示數(shù)據(jù);decimal 和numeric是精確數(shù)值類(lèi)型,以明確、完整的精度(固定精度和小數(shù)位數(shù))存儲(chǔ)數(shù)據(jù)。 (2)浮點(diǎn)型 浮點(diǎn)型用于存儲(chǔ)含小數(shù)的十進(jìn)制數(shù)。 數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)范圍數(shù)據(jù)范圍精確度精確度占用存儲(chǔ)空間占用存儲(chǔ)空間float-1.79E+3081.79E+308 可精確到第15位小數(shù)8 個(gè)字節(jié)real-3.40E+383.40E+38 可精確到第7位小數(shù)4 個(gè)字節(jié)decimal-1038+11038-1完整精度217 個(gè)字節(jié)numeric-1038+11038-1完整精度217 個(gè)字節(jié) 例如:指定某字段為精確

23、數(shù)值型,精度為5,小數(shù)位數(shù)為2,即decimal(5,2)或numeric(5,2) , 可表示數(shù)據(jù)范圍為:-999.99-999.99。decimal decimal 和和numericnumeric格式如下:格式如下:decimal |numeric(p,s)其中:p為精度,s為小數(shù)位數(shù),s的默認(rèn)值為0。 decimal 和numeric的區(qū)別在于decimal不能應(yīng)用于帶有Identity的列。(3)字符型和文本型 用于存儲(chǔ)由字母、符號(hào)和數(shù)字組成的字符串。字符串常量要用單引號(hào)作為起止界限 。例如:No1。SQL Server SQL Server 字符數(shù)據(jù)類(lèi)型和文本數(shù)據(jù)類(lèi)型字符數(shù)據(jù)類(lèi)型和

24、文本數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型定義格式定義格式占用存儲(chǔ)空間占用存儲(chǔ)空間charchar(n),存儲(chǔ),存儲(chǔ)ANSI字符,字符,n表示字符串的長(zhǎng)表示字符串的長(zhǎng)度,度,1=n =8000定長(zhǎng),最大定長(zhǎng),最大8KBvarcharvarchar (n) ,存儲(chǔ),存儲(chǔ)ANSI字符,字符,n表示字符串表示字符串可達(dá)到的最大長(zhǎng)度可達(dá)到的最大長(zhǎng)度1=n =8000變長(zhǎng),最大變長(zhǎng),最大8KBncharnchar(n),存儲(chǔ),存儲(chǔ)Unicode字符,字符,n表示字符串表示字符串的長(zhǎng)度,的長(zhǎng)度,1=n =4000定長(zhǎng),最大定長(zhǎng),最大8KBnvarcharnvarchar (n) ,存儲(chǔ),存儲(chǔ)Unicode字符,字符,n

25、表示字符表示字符串可達(dá)到的最大長(zhǎng)度串可達(dá)到的最大長(zhǎng)度1=n ”或“” 鍵可以移向下一個(gè)字段。 當(dāng)一條記錄最后一個(gè)字段輸入完畢按“回車(chē)”鍵后,光標(biāo)將自動(dòng)轉(zhuǎn)到下一行的第一個(gè)字段處,便可插入下一條記錄。 輸入完數(shù)據(jù),單擊“ ”按鈕或“文件/保存”菜單?;蛘邌螕簟氨?dbo.Student”窗口的“關(guān)閉”按鈕,添加的記錄就保存到數(shù)據(jù)表中。插入記錄:插入記錄:5. 數(shù)據(jù)表記錄維護(hù)數(shù)據(jù)表記錄維護(hù) 定位將要?jiǎng)h除的記錄,右擊后在彈出的快捷菜單中選擇“刪除”命令。2)刪除記錄1)修改記錄定位將要修改的記錄字段,對(duì)該字段值進(jìn)行編輯修改。 彈出刪除確認(rèn)對(duì)話(huà)框,單擊“是”按鈕即刪除選擇的記錄。數(shù)據(jù)的完整性控制:指保護(hù)

26、數(shù)據(jù)庫(kù)中的數(shù)據(jù)的正確性、有效性和相容性,防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),防止錯(cuò)誤信息進(jìn)入數(shù)據(jù)庫(kù),并且使數(shù)據(jù)符合所描述的業(yè)務(wù)規(guī)則。SQL Server使提供了定義約束、檢查和保持?jǐn)?shù)據(jù)符合約束的完整性控制機(jī)制。通過(guò)限制表的字段、記錄以及表之間的數(shù)據(jù)一致來(lái)保證數(shù)據(jù)完整性。3.5 數(shù)據(jù)表約束和數(shù)據(jù)完整性控制數(shù)據(jù)表約束和數(shù)據(jù)完整性控制 SQL Server常用完整性約束機(jī)制完整性完整性約束約束作用作用實(shí)體實(shí)體完整性完整性主關(guān)鍵字約束(Primary Key) 保證表中記錄行的唯一性唯一性約束(Unique)保證在非關(guān)鍵字字段不出現(xiàn)重復(fù)值域域完整性完整性 默認(rèn)值約束(Default)對(duì)沒(méi)有插入值的列自動(dòng)

27、添加表定義時(shí)對(duì)該列設(shè)置的默認(rèn)值非空值約束(Not Null)限定某一列必須有值,即不允許空值檢查約束(Check)限定某一列中可接受的值或數(shù)據(jù)格式參照參照完整性完整性外關(guān)鍵字(Foreign Key) 通過(guò)表間關(guān)系約束字段值的有效性【例例3.43.4】在數(shù)據(jù)庫(kù)School中定義學(xué)生表T_Student的主鍵為“StudentCode”?!纠?.53.5】在數(shù)據(jù)庫(kù)School的學(xué)生表Student中不允許出現(xiàn)姓名且生日相同的記錄,并按姓名升序和生日降序排列,即對(duì)“StudentName”和“Birthday”字段組合定義唯一性約束。 實(shí)體完整性 主關(guān)鍵字約束(Primary Key)唯一性約束

28、(Unique) 主關(guān)鍵字是表中能保證表中記錄唯一性的一個(gè)或多個(gè)字段的組合。主鍵的值不能重復(fù),且不能為空。一個(gè)表只能有一個(gè)主鍵。 唯一性約束可保證非主鍵列不輸入重復(fù)值。對(duì)非主鍵字段或字段的組合強(qiáng)制唯一性。 對(duì)允許空值的字段強(qiáng)制唯一性。 1. 實(shí)體完整性主要體現(xiàn)在表中記錄的唯一性?!纠?.43.4】在數(shù)據(jù)庫(kù)School中定義學(xué)生表T_Student的主鍵為“StudentCode”。 打開(kāi)Student表的“表設(shè)計(jì)”窗口,右擊任一字段行,從快捷菜單中選擇“索引/鍵”命令,進(jìn)入“索引/鍵”窗口。 選擇“添加”命令,將名稱(chēng)修改為“IX_StudentNameBirth”。點(diǎn)擊“列”后“”按鈕,打開(kāi)

29、索引列窗口,分別在兩行中選擇“StudentName”、“Birthday”,并選擇排序順序,點(diǎn)擊“確定”返回“索引/鍵”頁(yè)。在 “是唯一的”其后下拉列表框中選擇“是”。【例例3.53.5】在數(shù)據(jù)庫(kù)School的學(xué)生表Student中不允許出現(xiàn)姓名且生日相同的記錄,并按姓名升序和生日降序排列,即對(duì)“StudentName”和“Birthday”字段組合定義唯一性約束。 域完整性 默認(rèn)值約束(Default) 非空值約束(Not Null) 檢查約束(Check) 默認(rèn)值約束使用戶(hù)能夠定義一個(gè)值,每當(dāng)用戶(hù)沒(méi)有在某一列中輸入值時(shí),則系統(tǒng)將所定義的值提供給這一列 非空值約束要求記錄中的每一列必須有值

30、,即使是空(NULL)檢查約束限制某一列中可接受的值或格式 2. 域完整性主要體現(xiàn)在表中字段值的有效性。【例例3.63.6】在數(shù)據(jù)庫(kù)School的學(xué)生表T_Student中,設(shè)置性別Sex字段的默認(rèn)值為“男”。 【例例3.73.7】在數(shù)據(jù)庫(kù)School的學(xué)生表T_Student中,設(shè)置StudentCode、StudentName、ClassCode、Sex字段為非空值,其他字段允許為空。 【例例3.83.8】在數(shù)據(jù)庫(kù)School的學(xué)生表T_Student中,設(shè)置Sex列的值只允許是“男”或“女”。 【例例3.63.6】在數(shù)據(jù)庫(kù)School的學(xué)生表T_Student中,設(shè)置性別Sex字段的默認(rèn)

31、值為“男”。 打開(kāi)Student表的“表設(shè)計(jì)”頁(yè)面,選擇“Sex”字段在 “列屬性”窗格中的“默認(rèn)值或綁定”處填寫(xiě)男。注意因?yàn)镾ex字段是字符類(lèi)型,男采用西文單引號(hào)擴(kuò)起來(lái)。當(dāng)保存表時(shí),該約束設(shè)置即保存在數(shù)據(jù)庫(kù)中?!纠?.73.7】在數(shù)據(jù)庫(kù)School的學(xué)生表T_Student中,設(shè)置StudentCode、StudentName、ClassCode、Sex字段為非空值,其他字段允許為空。 打開(kāi)Student表的“表設(shè)計(jì)”窗口,一個(gè)字段在新建立時(shí)默認(rèn)允許空(),如果要設(shè)置為非空,只需要點(diǎn)擊該字段在允許空位置的單元格將“”去掉即可,再次點(diǎn)擊又可以設(shè)置允許空“”。當(dāng)保存表時(shí),該約束設(shè)置即保存在數(shù)據(jù)

32、庫(kù)中。【例例3.83.8】在數(shù)據(jù)庫(kù)School的學(xué)生表T_Student中,設(shè)置Sex列的值只允許是“男”或“女”。 打開(kāi)Student表的“表設(shè)計(jì)”窗口,右擊任一字段行,從快捷菜單中選擇“CHECK約束”命令,進(jìn)入“CHECK約束” 選擇“添加”命令,將名稱(chēng)修改為 “CK_Student_Sex”。 點(diǎn)擊“表達(dá)式”后的按鈕出現(xiàn) “CHECK約束表達(dá)式”對(duì)話(huà)框,輸入:Sex = 男 or Sex = 女 將“表設(shè)計(jì)器”列表中的“強(qiáng)制用于INSERT 和 UPDATE”、“強(qiáng)制用于復(fù)制”、“在創(chuàng)建或重新啟用時(shí)檢查現(xiàn)存數(shù)據(jù)” 都改為“是”。參照完整性 : 外關(guān)鍵字(Foreign Key) 3.

33、參照完整性主要體現(xiàn)在通過(guò)表間關(guān)系約束字段的值的有效性。 兩個(gè)建立關(guān)聯(lián)關(guān)系的表中,在主表中相關(guān)字段定義了主鍵或唯一性約束,在從表中將相關(guān)字段定義為外外鍵。這樣,外鍵的取值必須是主鍵中存在的值或空值?!纠?.93.9】在數(shù)據(jù)庫(kù)School的學(xué)生表Student和Class表間建立關(guān)系,實(shí)施參照完整性約束。在該關(guān)系中,將Class的ClassCode字段設(shè)置為主鍵,將Student 的ClassCode設(shè)置為外鍵,并實(shí)施參照完整性。 【例例3.93.9】在數(shù)據(jù)庫(kù)School的學(xué)生表Student和Class表間建立關(guān)系,實(shí)施參照完整性約束。 打開(kāi)外表Student表的“表設(shè)計(jì)”窗口,右擊并選擇“關(guān)

34、系”命令,出現(xiàn) “外鍵關(guān)系”對(duì)話(huà)框。 單擊“添加”按鈕,點(diǎn)擊“表和列規(guī)范”后的按鈕,出現(xiàn)“表和列”對(duì)話(huà)框,將主鍵表改為“Class”,關(guān)系的主鍵字段為ClassCode,在“外鍵表”Student下選擇外鍵字段ClassCode。 關(guān)系名自動(dòng)變?yōu)椤癋K_Student_Class,該名可修改。 在“外鍵關(guān)系”窗口的 “表和列規(guī)范”、“INSERT 和 UPDATE 規(guī)范”進(jìn)行設(shè)置,實(shí)施參照完整性。 選擇“關(guān)閉”按鈕完成關(guān)系創(chuàng)建。在數(shù)據(jù)庫(kù)管理系統(tǒng)中,關(guān)系表中的數(shù)據(jù)按記錄存儲(chǔ)。為了提高對(duì)數(shù)據(jù)記錄的查詢(xún)效率,通常采用索引方法來(lái)建立數(shù)據(jù)記錄的存取順序。索引與書(shū)的目錄或字典檢字索引的原理是一樣的。數(shù)據(jù)庫(kù)管理系統(tǒng)一般集成了多種復(fù)雜的快速查找算法,但這些算法基本上都是以數(shù)據(jù)記錄排序?yàn)榍疤岬摹?索引的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論