數(shù)據(jù)庫第4次課-數(shù)據(jù)庫和表-

上傳人:沈*** 文檔編號:253368167 上傳時間:2024-12-12 格式:PPT 頁數(shù):84 大?。?.11MB
收藏 版權申訴 舉報 下載
數(shù)據(jù)庫第4次課-數(shù)據(jù)庫和表-_第1頁
第1頁 / 共84頁
數(shù)據(jù)庫第4次課-數(shù)據(jù)庫和表-_第2頁
第2頁 / 共84頁
數(shù)據(jù)庫第4次課-數(shù)據(jù)庫和表-_第3頁
第3頁 / 共84頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)庫第4次課-數(shù)據(jù)庫和表-》由會員分享,可在線閱讀,更多相關《數(shù)據(jù)庫第4次課-數(shù)據(jù)庫和表-(84頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、,,,,,,,,單擊此處編輯母版文本樣式,,第二級,,第三級,,第四級,,第五級,,,單擊此處編輯母版標題樣式,,An Introduction to Database Systems,第,3,章,SQL Server,數(shù)據(jù)庫基礎,本章內(nèi)容,3.1 SQL Server,簡介,,3.2 SQL Server 2000,的安裝,,3.3 SQL Server 2000,的常用管理工具,,3.4 SQL,和,Transact-SQL,概述,,,3.1 SQL Server,簡介,SQL,Server,是一個關系數(shù)據(jù)庫管理系統(tǒng)。,,SQL Server 2000,由,兩個部分,組成:服務器

2、組件和客戶端工具。它們負責數(shù)據(jù)的存儲及檢索。,,SQL Server,的客戶,/,服務器工作模式,,客戶端,:完成數(shù)據(jù)處理、數(shù)據(jù)表示和用戶接口功能,它由,Transact-SQL,查詢界面、可視化數(shù)據(jù)庫開發(fā)工具(如,VB,、,PB,或,Java,等)等組成,是,SQL Server2000,提供的在客戶端上運行的組件。,3.1 SQL Server,簡介,SQL Server,的客戶,/,服務器工作模式,,2,.,服務器端,:為客戶端的請求提供服務,具有查詢處理與優(yōu)化、訪問控制、并發(fā)控制、事物處理和故障恢復等功能,是,SQL Server2000,提供的一組在服務器上運行的組件。,,3,.,

3、通信網(wǎng)絡,:,C,與,S,通過計算機通信網(wǎng)絡連接而形成一個整體,,C,根據(jù)用戶的需要向,S,請求服務(例如發(fā)出,SQL,查詢等請求),,S,響應客戶端的合法請求,進行必要的查詢、更新、插入、刪除等數(shù)據(jù)庫操作,然后將處理結果返回給客戶端。,3.1 SQL Server,簡介,SQL Server2000,的分層體系結構,,,客戶應用程序,數(shù)據(jù)庫接口,API,網(wǎng)絡通信組件庫,,(客戶端),硬件,客戶端,,MS SQL Server,數(shù)據(jù)庫引擎,開放數(shù)據(jù)服務,ODS,網(wǎng)絡通信組件庫(服務器端),硬件,服務器端,(表數(shù)據(jù)流),物理通信信道,,發(fā)出,SQL,請求,將,SQL,請求組裝成表數(shù)據(jù)包,接收來

4、自客戶端的表數(shù)據(jù)流,處理后把客戶的,Transact-SQL,提交給,SQL Server,數(shù)據(jù)庫引擎,接收來自,ODS,的客戶,Transact-SQL,請求,經(jīng)處理后把處理結果從磁盤中取出,合并成最終的查詢結果,作為對,Transact-SQL,的應答信息提交給,ODS,3.1 SQL Server,簡介,SQL Server 2000,的特性,,支持多個,SQL Server,實例,:,,實例:就是一個,SQL Server,數(shù)據(jù)庫引擎。,,SQL Server 2000,支持在同一臺計算機上同時運行多個,SQL Server,數(shù)據(jù)庫引擎實例。每個,SQL Server,數(shù)據(jù)庫引擎實例

5、各有一套不為其它實例共享的系統(tǒng)及用戶數(shù)據(jù)庫。所以各實例的運行是相互獨立的。,,在一臺計算機上安裝多個,SQL Server,實例就相當于把這臺計算機模擬成多個數(shù)據(jù)庫服務器,而且這些模擬的數(shù)據(jù)庫服務器是獨立且同時運行的。,,3.2 SQL Server 2000,的安裝,安裝要求,,硬件需求,,,,,3.2 SQL Server 2000,的安裝,安裝要求,,選擇合適的操作系統(tǒng),,3.2 SQL Server 2000,的安裝,啟動,SQL Server 2000,的有關組件,,啟動,SQL Server 2000,的組件,,通信組件,,服務器端組件,,,客戶端組件,3.3 SQL Se

6、rver 2000,常用管理工具,SQL Server,服務管理器,,在此選擇,SQaL Server 2000,的一個實例,每個實例有,4,種服務程序(服務器端組件),,,SQL Server,服務,:當客戶端程序中的,T-SQL,語句向服務器端程序提出對數(shù)據(jù)庫的訪問請求后,服務器端程序調(diào)用系統(tǒng)提供的數(shù)據(jù)庫引擎,完成對數(shù)機庫的訪問操作,并將結果返回給客戶端,從而完成一次請求,/,服務過程。,,服務有,3,種狀態(tài):停止、暫停、運行。,3.3 SQL Server 2000,常用管理工具,SQL Server,企業(yè)管理器,,,,1,.,SQL Server,服務器的注冊,,2,.,SQL Se

7、rver,服務器的配置,,3,.服務器組的創(chuàng)建,3.3 SQL Server 2000,常用管理工具,SQL,查詢分析器:交互式工作方式,運行,SQL,命令的步驟,打開工具欄中的數(shù)據(jù)庫下拉列表框, 選擇欲運行的數(shù)據(jù)庫,,在空白窗口中輸入,Transact-SQL,命令,,單擊工具欄上的執(zhí)行按鈕 運行命令,,3.3 SQL Server 2000,常用管理工具,,其他工具,,1,.導入和導出數(shù)據(jù),,導入數(shù)據(jù)是從,SQL Server,的外部數(shù)據(jù)源,(,例如,ASCII,文本文件,),中查找數(shù)據(jù),并將數(shù)據(jù)插入到,SQL Server,表的過

8、程;,,導出數(shù)據(jù)是將,SQL Server,數(shù)據(jù)庫中的數(shù)據(jù)以用戶指定的格式存儲的過程,例如,SQL Server,表的內(nèi)容復制到,Microsoft Access,數(shù)據(jù)庫中。,,2,.聯(lián)機從書,,聯(lián)機叢書是一本關于,SQL Server,的使用手冊,它以樹型目錄的方式,將一些基本概念、基本使用方法進行了詳細的介紹。,,3.4 SQL,和,Transact-SQL,概述,SQL,語言的發(fā)展與特點,,SQL,是結構化查詢語言,(Structured Query Language),的英文縮寫,是一種使用關系模型的數(shù)據(jù)庫應用語言。,,按照其實現(xiàn)的功能可以將,SQL,劃分為如下幾類:,,(1),數(shù)據(jù)

9、查詢語言,(Data Query Language,,,DQL),:按一定的查詢條件從數(shù)據(jù)庫對象中檢索符合條件的數(shù)據(jù)。,,(2),數(shù)據(jù)定義語言,(Data Definition Language,,,DDL),:用于定義數(shù)據(jù)的邏輯結構以及數(shù)據(jù)項之間的關系。,,(3),數(shù)據(jù)操縱語言,(Data Manipulation Language,,,DML),:用于更改數(shù)據(jù)庫,包括增加新數(shù)據(jù)、刪除舊數(shù)據(jù)、修改已有數(shù)據(jù)等。,,(4),數(shù)據(jù)控制語言,(Data Control Language,,,DCL),:用于控制對數(shù)據(jù)庫中數(shù)據(jù)的操作,包括基本表和視圖等對象的授權、完整性規(guī)則的描述、事務開始和結束控制語

10、句等。,3.4 SQL,和,Transact-SQL,概述,Transact-SQL,概述,,Transact-SQL,就是,SQL Server,中使用的,SQL,版本。,,Transact-SQL,對,SQL,的擴展主要包含如下,3,個方面:,,(1),增加了流程控制語句。,,(2),加入了局部變量、全局變量等許多新概念,可以寫出更復雜的查詢語句。,,(3),增加了新的數(shù)據(jù)類型,處理能力更強。,,本章小結,(1)SQL Server,是一個關系數(shù)據(jù)庫管理系統(tǒng),能直接處理,XML,數(shù)據(jù),與,Internet,可以緊密結合,其最新版本是,2005,年,11,月份發(fā)布的,2005,版。,,(2

11、),使用,SQL Server 2000,的首要工作是系統(tǒng)安裝。,SQL Server 2000,有企業(yè)版、標準版、個人版和開發(fā)版等,4,種版本,不同版本所包含的組件不盡相同。企業(yè)版所包含的組件最全,功能最強,對安裝環(huán)境的要求也最高。,,(3) SQL Server 2000,有許多圖形化管理工具,操作靈活、方便。,,(4)Transact -SQL,語言是用戶使用,SQL Server 2000,的另一種方式 。,An Introduction to Database Systems,第,4,章,SQL Server,數(shù)據(jù)庫的管理,本章內(nèi)容,4.1 SQL Server,數(shù)據(jù)庫概述,,4.

12、2,數(shù)據(jù)庫的創(chuàng)建,,4.3,數(shù)據(jù)庫的修改,,4.4,數(shù)據(jù)庫的刪除,,,,數(shù)據(jù)庫的邏輯組件,(,數(shù)據(jù)庫對象,),,,…,4.1 SQL Server,數(shù)據(jù)庫概述,SQL Server,中的數(shù)據(jù)庫,,,,,,,,,,,,,,,,,,,,,,,,,,Sales,數(shù)據(jù)庫,,SQL Server,,,,,,,,,,,表,,,,,,,,,,,視圖,數(shù)據(jù)庫的物理實現(xiàn),(,數(shù)據(jù)庫文件,),,,…,SalesDat1.mdf,SalesDat2.ndf,SalesLog1.ldf,主數(shù)據(jù)文件,次數(shù)據(jù)文件,日志文件,,,,,,,,,,,索引,,存儲過程,用戶視圖,物理視圖,,,,,,,,,,,,,,,,,,,,

13、,,,,,,圖,4-1,數(shù)據(jù)庫的用戶視圖和物理視圖,,,,,,,,,,,,,,,視圖,4.1 SQL Server,數(shù)據(jù)庫概述,1. SQL Server,中的數(shù)據(jù)庫對象,,SQL Server,提供了很多邏輯組件,這些邏輯組件通常被稱為數(shù)據(jù)庫對象。,對象,作用,表,數(shù)據(jù)庫中數(shù)據(jù)的實際存放處所。,視圖,定制復雜或常用的查詢,以便用戶使用;限定用戶只能查看表中的特定行或列;為用戶提供統(tǒng)計數(shù)據(jù)而不展示細節(jié)。,索引,加快從表或視圖中檢索數(shù)據(jù)的效率。,存儲過程,提高性能;封裝數(shù)據(jù)庫的部分或全部細節(jié);幫助在不同的數(shù)據(jù)庫應用程序之間實現(xiàn)一致的邏輯。,約束、規(guī)則、默認值和觸發(fā)器,確保數(shù)據(jù)庫的數(shù)據(jù)完整性;,

14、強制執(zhí)行業(yè)務規(guī)則。,登錄、用戶、角色和組,保障數(shù)據(jù)安全的基礎。,4.1 SQL Server,數(shù)據(jù)庫概述,2. SQL Server,中的數(shù)據(jù)庫文件,,,主數(shù)據(jù)文件,,*,.mdf,,僅有一個,,事務日志文件,,*,.ldf,,一到多個,,,,,次數(shù)據(jù)文件,*,.ndf,零到多個,,次數(shù)據(jù)文件,*,.ndf,零到多個,(,僅有一個,),,主文件組,(,零到多個,),,次文件組,,事務日志,一個數(shù)據(jù)庫的文件集,圖,4-2,數(shù)據(jù)庫的文件組成,4.1 SQL Server,數(shù)據(jù)庫概述,(1),數(shù)據(jù)文件,,數(shù)據(jù)文件是存放數(shù)據(jù)和數(shù)據(jù)庫對象的文件。一個數(shù)據(jù)庫可以有一個或多個數(shù)據(jù)文件,每個數(shù)據(jù)文件只屬于

15、一個數(shù)據(jù)庫。,,主數(shù)據(jù)文件(,primary file,):用來存儲數(shù)據(jù)庫的數(shù)據(jù)和數(shù)據(jù)庫的啟動信息。每個數(shù)據(jù)庫必須有并且只有一個主數(shù)據(jù)文件,它的擴展名為,.mdf,。,,輔助數(shù)據(jù)文件(,secondary file,):用來存儲數(shù)據(jù)庫的數(shù)據(jù),使用輔助數(shù)據(jù)庫文件可以擴展存儲空間。如果數(shù)據(jù)庫用一個主數(shù)據(jù)文件和多個輔助數(shù)據(jù)文件來存放數(shù)據(jù),并將它們放在不同的物理磁盤上,數(shù)據(jù)庫的總?cè)萘烤褪沁@幾個磁盤容量的和。輔助數(shù)據(jù)文件的擴展名為.,ndf,。,4.1 SQL Server,數(shù)據(jù)庫概述,(2),事務日志,,事務日志文件是用來記錄數(shù)據(jù)庫更新信息,(,例如使用,INSERT,、,UPDATE,、,DELE

16、TE,等語句對數(shù)據(jù)進行更改的操作,),的文件。,,這些更新信息,(,日志,),可用來恢復數(shù)據(jù)庫。,,事務日志文件最小為,512 KB,,擴展名為,LDF,。,,每個數(shù)據(jù)庫可以有一個或多個事務日志文件。,4.1 SQL Server,數(shù)據(jù)庫概述,(3),文件組,,SQL Server,允許對文件進行分組,以便于管理和數(shù)據(jù)的分配/放置。,,所有數(shù)據(jù)庫都,至少包含一個主文件組,,所有系統(tǒng)表都分配在主文件組中。用戶可以定義額外的文件組。,,數(shù)據(jù)庫首次創(chuàng)建時,主文件組是默認文件組;可以使用,ALTER DATABASE,語句將用戶定義的文件組指定為默認文件組。,4.1 SQL Server,數(shù)據(jù)庫概

17、述,在使用文件組時,應當注意以下幾個準則:,,文件或文件組不能由一個以上的數(shù)據(jù)庫使用。,,文件只能是一個文件組的成員。,,數(shù)據(jù)和事務日志信息不能屬于同一文件或文件組。,,事務日志文件不能屬于任何文件組。,4.1 SQL Server,數(shù)據(jù)庫概述,SQL Server,的系統(tǒng)數(shù)據(jù)庫,,數(shù)據(jù)庫服務器上自動建立了,6,個數(shù)據(jù)庫,其中有,4,個系統(tǒng)數(shù)據(jù)庫、兩個示例數(shù)據(jù)庫。,,系統(tǒng)數(shù)據(jù)庫,:,,master,數(shù)據(jù)庫:記錄所有系統(tǒng)信息,,tempdb,數(shù)據(jù)庫:保存所有臨時表和臨時存儲過程。,,model,數(shù)據(jù)庫:用作在系統(tǒng)上創(chuàng)建的所有數(shù)據(jù)庫的模板。新建,DB,時,,model,數(shù)據(jù)庫的所有對象都被復制。

18、,,msdb,數(shù)據(jù)庫:供,SQL Server,企業(yè)管理器使用,,示例數(shù)據(jù)庫,:,,northwind,數(shù)據(jù)庫:客戶訂單管理,,pubs,數(shù)據(jù)庫:圖書出版發(fā)行管理,4.2,數(shù)據(jù)庫的創(chuàng)建,使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫,,使用,Transact-SQL,語句創(chuàng)建數(shù)據(jù)庫,,命令格式:,CREATE DATABASE,,數(shù)據(jù)庫名,,[ON Primary,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,LOG ON,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,FILEGROUP,

19、文件組名,],,4.2,數(shù)據(jù)庫的創(chuàng)建,例,4-1,最簡形式的創(chuàng)建數(shù)據(jù)庫,(,不指定文件,),語句。,,CREATE DATABASE Sales,,,例,4-2,定義一個名為,CollegeMIS,的數(shù)據(jù)庫,該數(shù)據(jù)庫的相關文件均存放到,D:\DataApp\DataB,文件夾下。該數(shù)據(jù)庫的主數(shù)據(jù)文件為,CollegeMISB_Data,,文件初始大小為,4MB,,最多可以增長到,30MB,,每次增長,5%,;事務日志文件為,CollegeMISB_Log,,文件初始大小為,2MB,,最多可以增長到,30MB,,每次增長,1MB,。,該數(shù)據(jù)庫大小與,Model,數(shù)據(jù)庫大小相等,4.2,數(shù)據(jù)庫的創(chuàng)

20、建,CREATE DATABASE CollegeMIS,,ON,--,主數(shù)據(jù)文件定義,,(NAME=CollegeMISB_Data,,/*,主數(shù)據(jù)文件邏輯文件名*,/,,FILENAME='D:\DataApp\DataB\CollegeMISB_Data.mdf',,/*,主數(shù)據(jù)文件操作系統(tǒng)文件名*,/,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,LOG ON,--,事務日志文件定義,,( NAME=CollegeMISB_Log,,,FILENAME='D:\DataApp\DataB\CollegeMISB_Log.ldf',,,SIZE=2

21、,,,MAXSIZE=30,,,FILEGROWTH=1),4.2,數(shù)據(jù)庫的創(chuàng)建,例,4-3,定義一個名為,CollegeMIS2,的數(shù)據(jù)庫,該數(shù)據(jù)庫的數(shù)據(jù)文件包含在兩個文件組中,主文件組中包含主數(shù)據(jù)文件為,CollegeMISD_Data1,和輔助數(shù)據(jù)文件為,CollegeMISD_Data2,,均存放到“,D:\DataApp\DataD”,文件夾下。,DFGroup,文件組包含輔助數(shù)據(jù)文件為,CollegeMISD_Data3,和輔助數(shù)據(jù)文件為,CollegeMISD_Data4,,均存放到“,E:\DataApp\DataD”,文件夾下。主輔數(shù)據(jù)文件的初始大小為,4MB,,最多可以增長

22、到,30MB,,每次增長,5%,。事務日志文件為,CollegeMISD_Log,,存放到,D:\DataApp\DataD,文件夾下,文件初始大小為,2MB,,最多可以增長到,30MB,,每次增長,1MB,。,CREATE DATABASE CollegeMIS2,,ON,,PRIMARY,,/*,默認的主文件組,存放到,D,盤*,/,,(,NAME=,CollegeMISD_Data1,,FILENAME=,'D:\DataApp\DataD\CollegeMISD_Data1.,mdf,',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,,(NAM

23、E=CollegeMISD_Data2, FILENAME='D:\DataApp\DataD\CollegeMISD_Data2.ndf',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,,FILEGROUP,DFGROUP,/*DFGroup,文件組,,,保存到,E,盤*,/,,(NAME=CollegeMISD_Data3, FILENAME='E:\DataApp\DataD\CollegeMISD_Data3.ndf',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,,(NAME=CollegeMISD_

24、Data4, FILENAME='E:\DataApp\DataD\CollegeMISD_Data4.ndf',,,SIZE=4MB,,,MAXSIZE=30MB,,,FILEGROWTH=5%),,LOG ON,,( NAME=CollegeMISD_Log, FILENAME='D:\DataApp\DataD\CollegeMISD_Log.ldf',,,SIZE=2,,,MAXSIZE=30,,,FILEGROWTH=1),4.3,數(shù)據(jù)庫的修改,ALTER DATABASE,,數(shù)據(jù)庫名,增加或刪除數(shù)據(jù)文件和日志文件,,,ALTER DATABASE,,數(shù)據(jù)庫名,ADD FILE,(

25、,文件參數(shù),),,ALTER DATABASE,,數(shù)據(jù)庫名,ADD LOG FILE,,(,文件參數(shù),),,,ALTER DATABASE,,數(shù)據(jù)庫名,REMOVE FILE (,文件參數(shù),),,修改分配給數(shù)據(jù)文件或日志文件的空間,,,ALTER DATABASE,,數(shù)據(jù)庫名,MODIFY FILE,,(,文件參數(shù),),,創(chuàng)建文件組,,ALTER DATABASE,,數(shù)據(jù)庫名,ADD FILEGROUP,,文件組名,,ALTER DATABASE,,數(shù)據(jù)庫名,REMOVE FILEGROUP,,文件組名,,改變數(shù)據(jù)庫名,,,ALTER DATABASE,,數(shù)據(jù)庫名,MODIFY NAME,=,

26、新名,4.3,數(shù)據(jù)庫的修改,例,4-4,向,CollegeMIS2,數(shù)據(jù)庫中的文件組,DFGroup,添加一個文件名為,CollegeMISD_Data5,的輔助數(shù)據(jù)文件,并添加一個文件名為,CollegeMISD_Log1,的日志文件。然后修改主數(shù)據(jù)文件,CollegeMISD_Data1,的最大可達到的大小為,35MB,。,ALTER DATABASE CollegeMIS2,,,ADD FILE,,(NAME=CollegeMISD_Data5,,,FILENAME='D:\DataApp\DataD\CollegeMISD_Data5.ndf',,,SIZE=4MB,,,MAXSIZE

27、=30MB,,,FILEGROWTH=5%,,) TO FILEGROUP DFGroup,,,,ALTER DATABASE CollegeMIS2,,,ADD LOG FILE,,( NAME=CollegeMISD_Log1,,,FILENAME='D:\DataApp\DataD\CollegeMISD_Log1.ldf',,,SIZE=2,,,MAXSIZE=30,,,FILEGROWTH=1,,),,,,ALTER DATABASE CollegeMIS2,,,MODIFY FILE,,( NAME=CollegeMISD_Data1,,,MAXSIZE=35,,),4.3,數(shù)據(jù)

28、庫的修改,例,4-5,把,CollegeMIS2,數(shù)據(jù)庫添加的文件刪除,并把數(shù)據(jù)庫名改為,CMIS2,。,ALTER DATABASE CollegeMIS2,,,REMOVE FILE,CollegeMISD_Data5,,ALTER DATABASE CollegeMIS2,,,REMOVE FILE,CollegeMISD_Log1,,GO,,ALTER DATABASE CollegeMIS2,,,MODIFY NAME,=CMIS2,,GO,注意:,更改數(shù)據(jù)庫的名稱還可以使用系統(tǒng)存儲過程,sp_renamedb,,如本例更改數(shù)據(jù)庫的名稱,也可以用以下,語句:,,EXEC sp_

29、renamedb 'CollegeMIS2’ 'CMIS2’,,其中,EXEC,命令用來執(zhí)行存儲過程。,4.4,使用和,刪除數(shù)據(jù)庫,,打開已創(chuàng)建的數(shù)據(jù)庫命令格式為,,USE,,數(shù)據(jù)庫名,,,刪除數(shù)據(jù)庫的指令格式為:,,DROP DATABASE,,數(shù)據(jù)庫名,,4.4,數(shù)據(jù)庫的刪除,使用企業(yè)管理器刪除數(shù)據(jù)庫,,使用,Transact-SQL,語句刪除數(shù)據(jù)庫,,,例,4-6,刪除單個數(shù)據(jù)庫。,,DROP DATABASE CollegeMIS,,,例,4-7,刪除多個數(shù)據(jù)庫。,,DROP DATABASE CollegeMIS, CollegeMIS2,本章小結,(1),數(shù)據(jù)庫的用戶視圖和

30、物理視圖:用戶視圖是用戶看到和操作的數(shù)據(jù)庫,而物理視圖是數(shù)據(jù)庫在磁盤上的文件存儲。,SQL Server,的用戶視圖由表、視圖、索引、存儲過程等數(shù)據(jù)庫對象組成,物理視圖由數(shù)據(jù)庫文件組成。,,(2)SQL Server,的系統(tǒng)數(shù)據(jù)庫:,master,數(shù)據(jù)庫記錄,SQL Server,系統(tǒng)的所有系統(tǒng)信息和所有其他數(shù)據(jù)庫的結構和定義,,tempdb,數(shù)據(jù)庫保存所有的臨時表和臨時存儲過程,,model,數(shù)據(jù)庫用作在系統(tǒng)上創(chuàng)建的所有數(shù)據(jù)庫的模板,,msdb,數(shù)據(jù)庫供,SQL Server,代理程序調(diào)度警報和作業(yè)以及記錄操作員時使用。,,(3),創(chuàng)建、修改和刪除數(shù)據(jù)庫有兩種常用方法,一是使用企業(yè)管理器,二

31、是使用,Transact-SQL,語句。,An Introduction to Database Systems,第,5,章,SQL Server,表的管理,本章內(nèi)容,5.1 SQL Server,表概述,,5.2,表的創(chuàng)建與維護,,5.3,表中數(shù)據(jù)的維護,,,,5.1 SQL Server,表概述,,數(shù)據(jù)類型,,SQL Server,支持,4,種基本數(shù)據(jù)類型:字符和二進制數(shù)據(jù)類型、日期時間數(shù)據(jù)類型、邏輯數(shù)據(jù)類型、數(shù)字數(shù)據(jù)類型,用于各類數(shù)據(jù)值的存儲、檢索和解釋。,,1,.字符和二進制數(shù)據(jù)類型,,(1),字符數(shù)據(jù)類型,,字符數(shù)據(jù)類型用于存儲漢字、英文字母、數(shù)字符號和其他各種符號。,,char

32、,數(shù)據(jù)類型:,char[(n)],,,n,的取值為,1,~,8000,,varchar,數(shù)據(jù)類型 :,varchar[(n)],,,n,的取值為,1,~,8000,,text,數(shù)據(jù)類型:,用于存儲數(shù)據(jù)量龐大且變長的字符文本數(shù)據(jù),如簡歷信息等。,,5.1 SQL Server,表概述,(2),二進制數(shù)據(jù)類型,,SQL Server,二進制數(shù)據(jù)類型用于存儲二進制數(shù)或字符串。,,SQL Server,的,3,種有效二進制數(shù)據(jù)類型:,,binary,數(shù)據(jù)類型,,varbinary[(n)],數(shù)據(jù)類型,,image,數(shù)據(jù)類型,5.1 SQL Server,表概述,2,.日期時間數(shù)據(jù)類型,,日期時間數(shù)

33、據(jù)類型用于存儲日期和時間數(shù)據(jù)。,SQL Server,支持兩種日期時間數(shù)據(jù)類型:,datetime,和,smalldatetime,。,,3,.邏輯數(shù)據(jù)類型,,SQL Server,的邏輯數(shù)據(jù)類型為,bit,,適用于判斷真,/,假的場合,長度為一個字節(jié)。,,5.1 SQL Server,表概述,4,.數(shù)字數(shù)據(jù)類型,,SQL Server,提供了多種方法存儲數(shù)值,,SQL Server,的數(shù)字類型大致可分為,4,種基本類型。,,(1),整數(shù)數(shù)據(jù)類型,,有,4,種整數(shù)數(shù)據(jù)類型:,int,、,smallint,、,tinyint,和,bigint,,用于存儲不同范圍的值。,,(2),浮點數(shù)據(jù)類型,

34、,浮點數(shù)據(jù)用來存儲系統(tǒng)所能提供的最大精度保留的實數(shù)數(shù)據(jù)。,5.1 SQL Server,表概述,(3),精確數(shù)值數(shù)據(jù)類型,,精確數(shù)值數(shù)據(jù)類型用于存儲有小數(shù)點且小數(shù)點后位數(shù)確定的實數(shù) 。,,格式:,,decimal[(p[, s])],,numeric[(p[, s])],,(4),貨幣數(shù)據(jù)類型,,除了,decimal,和,numeric,類型適用于貨幣數(shù)據(jù)的處理外,,SQL Server,還專門提供了兩種貨幣數(shù)據(jù)類型:,money,和,smallmoney,。,5.1 SQL Server,表概述,5,.其他數(shù)據(jù)類型,,除了以上,4,種基本數(shù)據(jù)類型,,SQL Server,還支持其他一些數(shù)

35、據(jù)類型。,,(1)Timestamp,:時間戳數(shù)據(jù)類型,用于自動記錄插入或刪除操作的時間。,,注意:服務器不允許用戶指定時間戳值。,,(2)sql_variant,:可變數(shù)據(jù)類型。該類型的變量可用來存放大部分,SQL Server,數(shù)據(jù)類型的值,最大長度為,8016,字節(jié),不支持,text,、,ntext,、,timestamp,和,sql_variant,類型。,,(3)table,:表類型。這是一種特殊的數(shù)據(jù)類型,存儲供以后處理的結果集。,CREATE TABLE,,表名,,(,<,列名,1> <,數(shù)據(jù)類型,>,{ identity |NOT NULL| NULL },[<,列級完整性約束

36、,>],,,<,列名,2> <,數(shù)據(jù)類型,>,{ identity |NOT NULL| NULL },[<,列級完整性約束,>],,,……,,,[<,表級完整性約束,>] ),5.2,創(chuàng)建表,?,,,<,表名,>,給出要創(chuàng)建的基本表的名稱;,,?,,<,列名,>,給出列名或字段名;,,?,,,<,數(shù)據(jù)類型,>,,?,,identity |NOT NULL| NULL,,?,<,列級完整性約束,>,,?,<,表級完整性約束,>,,為列指定數(shù)據(jù)類型及其數(shù)據(jù)寬度;,,,關系數(shù)據(jù)庫支持非常豐富的數(shù)據(jù)類型,不同的數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)類型基本是一樣的,右表列出了常用的數(shù)據(jù)類型。,,,數(shù)據(jù)類型,NU

37、LL,:,可以無值,默認值??罩挡煌诳瞻?(,空字符串,),或數(shù)值零,通常表示未填寫、未知,(Unknown),、不可用或?qū)⒃谝院筇砑拥臄?shù)據(jù)。,,NOT NULL,:必須輸入值,,identity,:計數(shù)器,,每個表只能有一個,identity,列,,不允許為空,,使用整型或精確數(shù)型,,用戶不能修改,identity,的值,,初始值默認為,1,,增長步長默認為,1,,列級完整性約束,用于定義列或字段一級的完整性約束,名稱,作用,實現(xiàn)的完整性,Primary key,定義主鍵,,,保證主鍵列無重復值,實體完整性,Unique,保證該列無重復值,實體完整性,Foreign key,定義外鍵,,

38、,保證數(shù)據(jù)表間數(shù)據(jù)的一致性,參照完整性,Check,定義表中某些列的數(shù)據(jù)范圍,自定義完整性,Default,為列的數(shù)據(jù)提供默認值,自定義完整性,用于定義表一級的完整性約束,一般包括:,,PRIMARY KEY,約束(復合屬性構成的主關鍵字說明),,FOREIGN KEY,約束(外部關鍵字及參照關系說明),,CHECK,約束(同時涉及到多個屬性的域完整性約束),,表級完整性約束,PRIMARY KEY,定義主鍵約束的基本格式為:,,,[Constraint,約束名,],,,primary key,(,列名,1[,,列名,2,,,…]),,,例:,在數(shù)據(jù)庫,CollegeMIS,中建立數(shù)據(jù)表,st

39、udent,,并定義主鍵約束,,列級約束,例,:,在數(shù)據(jù)庫,CollegeMIS,中建立數(shù)據(jù)表,grade,,表中包括學號,StuNo,(,char,)、課程號,CourseNo,(,char,)、成績,Score,(,numeric,)屬性,,,主鍵由學號和課程號構成,,表級約束,UNIQUE,定義數(shù)據(jù)表中非主鍵的列在各行記錄中不能出現(xiàn)相同的值,,,定義格式:,,,[,Constraint,,約束名,],,,UNIQUE,,(,列名,1[,,列名,2,,,…]),,FOREIGN KEY,定義外鍵的命令基本格式,,,[Constraint,約束名,],,,foreign key,(,列名,1

40、[,,列名,2,,,…]),references,,表名,(,列名,1[,,列名,2,,,…]),,,(注意:定義外間時要保證被定義為外健的屬性在參照表中已經(jīng)被定義為主健 ),例:建立數(shù)據(jù)表,student,,同時定義主鍵和外鍵,,CHECK,定義約束,check,的命令基本格式,,,,[Constraint,約束名,],check,(邏輯表達式),,DEFAULT,定義約束,default,的命令基本格式為,,,[Constraint,約束名,],,,default,常量表達式,,for,字段名,,添加或刪除列,——,ALTER TABLE,命令,,修改列的屬性,——,ALTER TABLE

41、,命令,,添加或刪除約束,——,ALTER TABLE,命令,,更改列名和表名,——,sp_rename,5.2.2,表的維護,使用,Transact-SQL,語句修改表語法格式:,,ALTER TABLE table_name,,{,[ALTER COLUMN column_name,,{ new_data_type [(precision [, scale])] [NULL|NOT NULL],,| {ADD|DROP} ROWGUIDCOL } ],,|,ADD { [ ] | column_name AS computed_column_expression }[ , ... n ],

42、,|,[ WITH CHECK | WITH NOCHECK] ADD { } [ , ... n],,,|,DROP { [CONSTRAINT] constraint_name | COLUMN column_name} [ , ... n],,,|{CHECK | NOCHECK} CONSTRAINT {ALL | constraint_name [ , ... n]},,|{ ENABLE | DISABLE } TRIGGER { ALL | trigger_name [ , ... n]},,},修改列的屬性,添加列,添加約束,刪除列,刪除約束,,(1),添加或刪除列,,增加列

43、的語句格式,,,Alter table,,表名,,,add,列名 數(shù)據(jù)類型,,,{ identity |NOT NULL| NULL },,,…,,刪除列的語句格式,,,,Alter table,,表名,,,drop column,,列名,,,ALTER TABLE student,,ADD email varchar(20) NULL,,,sp_help student,,ALTER TABLE student,,DROP COLUMN email,,,sp_help student,修改數(shù)據(jù)庫表,-,,例題,例 更改表以添加新列,然后再刪除該列。,(2),修改列的屬性,,命令格式,,,a

44、lter table,,表名,,,alter column,列名 數(shù)據(jù)類型,,,{ identity |NOT NULL| NULL },,ALTER TABLE,student,,ALTER COLUMN address varchar(150) NOT NULL,例,5-7,將表,student,的列,address,改為,varchar(150),數(shù)據(jù)類型,并且不允許為空。,,添加約束的基本格式,Alter table,,表名,,Add [Constraint,約束名,],,約束定義,,刪除約束的語句格式,,Alter table,,表名,,,Drop Constraint,,約束名,,

45、(3),添加或刪除約束,例,:,向數(shù)據(jù)表,department,中添加主鍵約束,,alter table,deptartment,add primary key,(DepartNo),修改數(shù)據(jù)庫表,--,,例題,例:向數(shù)據(jù)表,department,屬性,DepartDean,增加,UNIQUE,約束,,alter table,department,add unique,(DepartDean),例:向數(shù)據(jù)表,student,屬性,DepartNo,添加外鍵約束,,,alter table,student,add foreign key,(DepartNo),references,departm

46、ent(DepartNo),修改數(shù)據(jù)庫表,--,,例題,例:將數(shù)據(jù)表,student,的屬性,Sage,取值范圍限定在,1-100,之間(含,1,和,100,),并將此約束命名為,ck_age,,然后再刪除。,,alter table,student,add constraint,ck_age,check,(Sage between 1 and 100),修改數(shù)據(jù)庫表,--,,例題,alter table,student,drop constraint,ck_age,修改數(shù)據(jù)庫表,,添加或刪除列,,Alter table,,表名,,,add,列名 數(shù)據(jù)類型,{ identity |NOT NU

47、LL| NULL },,,…,,Alter table,,表名,drop column,,列名,,修改列的屬性,,alter table,,表名,,,alter column,列名 數(shù)據(jù)類型,{ identity |NOT NULL| NULL },,添加或刪除約束,,Alter table,,表名,add [Constraint,約束名,],,約束定義,,Alter table,,表名,drop Constraint,,約束名,,(,4,),更改列名和表名,,更改,列名,,,sp_rename,‘,表名,.,原,列名,’,,,,新列名,,,更改,表名,,sp_rename,原表名,,新表名

48、,,5.2.3,表的維護:刪除表,使用,Transact-SQL,語句刪除表,,,DROP TABLE,,表名,,作用:刪除數(shù)據(jù)表及其數(shù)據(jù)和索引,,注意:,,(1),定義有外鍵約束的表必須先刪除外鍵約束,才能刪除。,,(2),系統(tǒng)表不能使用,DROP TABLE,語句刪除。,,5.3,表中數(shù)據(jù)的維護,對表中數(shù)據(jù)進行維護有兩種方法:,,使用企業(yè)管理器,,使用,Transact-SQL,語句,,插入數(shù)據(jù),,添加所有字段的數(shù)據(jù),,Insert,[into],表名,,,Values,(數(shù)據(jù)值,1,,數(shù)據(jù)值,2,,,…,),,,添加部分字段的數(shù)據(jù),,,Insert,[into],表名(字段,1,,字段,

49、2,,,…,),,,,Values,(數(shù)據(jù)值,1,,數(shù)據(jù)值,2,,,…,),,,5.3,表中數(shù)據(jù)的維護,Supplier(supplier_id,supplier_name, linkman_name, address, teleno),,,例,1,使用簡單的,INSERT,語句。,,INSERT Supplier,,VALUES ('S001',',華科電子有限公司,',',施賓彬,',',朝陽路,56,號,','2636565'),,例,2,插入部分字段數(shù)據(jù),,INSERT,Supplier,,(supplier_id,supplier_name, linkman_name),,VALUE

50、S,('S001 ',',華科電子有限公司,',',施賓彬,'),,,5.3,表中數(shù)據(jù)的維護,修改數(shù)據(jù),,語法格式:,,Update,,表名,set,,列名,=,值,[,,列名,=,值,,…],,[Where,條件表達式,],,5.3,表中數(shù)據(jù)的維護,,例 將,Supplier,表中長度為,8,位的電話號碼前加上,010,。,,UPDATE,,Supplier,,,SET,telephone='010-'+teleno,,,WHERE,LEN(teleno)=8,Supplier(supplier_id,supplier_name, linkman_name, address, teleno

51、),5.3,表中數(shù)據(jù)的維護,刪除數(shù)據(jù),,1,.,DELETE,語句,,DELETE,語句可刪除表或視圖中的,一行或多行,,每一行的刪除都將被記入日志。,DELETE,語句的語法格式如下:,,DELETE,[FROM],表名,,,[WHERE {,條件子句,}],5.3,表中數(shù)據(jù)的維護,例,1,不帶參數(shù)使用,DELETE,命令刪除所有行。,,,DELETE,,Supplier,,注意:,,將,DELETE,語句與,DROP TABLE,語句的功能區(qū)分開來。,Supplier(supplier_id,supplier_name, linkman_name, address, teleno),刪除所

52、有行,例,2,有條件地刪除行,,DELETE FROM,,Supplier,,,WHERE,,supplier_id,=‘S0001',5.3,表中數(shù)據(jù)的維護,2,.,TRUNCATE TABLE,語句,,作用:一次刪除表中所有行,,,語法格式:,,TRUNCATE TABLE,,表名,,,例,1,使用,TRUNCATE TABLE,語句清空表。,,TRUNCATE TABLE,Supplier,數(shù)據(jù)操作,,插入數(shù)據(jù),,,Insert,[into],表名,[,字段,1,,,字段,2,,,…,],,Values,(數(shù)據(jù)值,1,,,數(shù)據(jù)值,2,,,…,),,,修改數(shù)據(jù),,,Update,,表名,s

53、et,,列名,=,值,[,,列名,=,值,,…],,[Where,條件表達式,],,,刪除數(shù)據(jù),,,Delete,[from],表名,,,[Where,子句,],,本章小結,(1),表的相關概念:表是數(shù)據(jù)庫中數(shù)據(jù)的實際存儲處所,每個表代表一個實體。表由行和列組成,每行標識實體的一個個體,每列代表實體的一個屬性。,,(2),數(shù)據(jù)類型:數(shù)據(jù)類型描述并約束了列中所能包含的數(shù)據(jù)的種類、所存儲值的長度或大小、數(shù)字精度和小數(shù)位數(shù),(,對數(shù)值數(shù)據(jù)類型,),。,,(3),空值:未對列指定值時,該列將出現(xiàn)空值??罩挡煌诳兆址驍?shù)值零,通常表示未知??罩禃Σ樵兠罨蚪y(tǒng)計函數(shù)產(chǎn)生影響,應盡量少使用空值。,,(

54、4),約束:約束是數(shù)據(jù)庫自動保持數(shù)據(jù)完整性的機制,它是通過限制列中數(shù)據(jù)、行中數(shù)據(jù)和表之間數(shù)據(jù)來保持數(shù)據(jù)完整性。,SQL Server 2000,支持,Not Null,、,Default,、,Check,、,Primary Key,、,Foreign Key,、,Unique,等,6,種約束。關于約束的操作將在第,8,章詳細介紹。,,(5),可以使用企業(yè)管理器和,Transact-SQL,語句創(chuàng)建表并對表進行維護,包括修改和刪除等操作。,,(6),可以使用企業(yè)管理器和,Transact-SQL,語句對表中數(shù)據(jù)進行編輯,包括插入、更新和刪除等操作。,,,知識回顧:創(chuàng)建和打開數(shù)據(jù)庫,數(shù)據(jù)庫文件,數(shù)

55、據(jù)文件,,(保存數(shù)據(jù)庫中各種對象),日志文件(,.ldf,),,記錄對數(shù)據(jù)庫的操作,主數(shù)據(jù)文件(,.mdf,),次數(shù)據(jù)文件(,.ndf,),——,一個,——,多個,所有文件都具有,邏輯文件名,與,物理文件名,數(shù)據(jù)庫名稱在服務器中必須,惟一,使用,CREATE DATABASE,命令建立數(shù)據(jù)庫,,CREATE DATABASE,,數(shù)據(jù)庫名,,[ON PRIMARY,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,LOG ON,,(NAME=…,FILENAME=…,SIZE=…,MAXSIZE=…,FILEGROWTH=…),,…,,

56、FILEGROUP,文件組名,],修改數(shù)據(jù)庫,,增加或刪除數(shù)據(jù)文件和日志文件,,,ALTER DATABASE,,數(shù)據(jù)庫名,ADD FILE,(,文件參數(shù),),,ALTER DATABASE,,數(shù)據(jù)庫名,ADD LOG FILE,,(,文件參數(shù),),,,ALTER DATABASE,,數(shù)據(jù)庫名,REMOVE FILE (,文件參數(shù),),,修改分配給數(shù)據(jù)文件或日志文件的空間,,,ALTER DATABASE,,數(shù)據(jù)庫名,MODIFY FILE,,(,文件參數(shù),),,創(chuàng)建文件組,,ALTER DATABASE,,數(shù)據(jù)庫名,ADD FILEGROUP,,文件組名,,ALTER DATABASE,,數(shù)

57、據(jù)庫名,REMOVE FILEGROUP,,文件組名,,改變數(shù)據(jù)庫名,,,ALTER DATABASE,,數(shù)據(jù)庫名,MODIFY NAME,=,新名,CREATE TABLE,,表名,,(,<,列名,1> <,數(shù)據(jù)類型,>,{ identity |NOT NULL| NULL },[<,列級完整性約束,>],,,<,列名,2> <,數(shù)據(jù)類型,>,{ identity |NOT NULL| NULL },[<,列級完整性約束,>],,,……,,,[<,表級完整性約束,>] ),創(chuàng)建表,?,,,<,表名,>,給出要創(chuàng)建的基本表的名稱;,,?,,<,列名,>,給出列名或字段名;,,?,,,<,數(shù)據(jù)

58、類型,>,,?,,identity |NOT NULL| NULL,,?,<,列級完整性約束,>,,?,<,表級完整性約束,>,,修改數(shù)據(jù)庫表,,添加或刪除列,,Alter table,,表名,,,add,列名 數(shù)據(jù)類型,{ identity |NOT NULL| NULL },,,…,,Alter table,,表名,drop column,,列名,,修改列的屬性,,alter table,,表名,,,alter column,列名 數(shù)據(jù)類型,{ identity |NOT NULL| NULL },,添加或刪除約束,,Alter table,,表名,add [Constraint,約束名,],,約束定義,,Alter table,,表名,drop Constraint,,約束名,,

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

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲