SQL Server表管理_第1頁(yè)
SQL Server表管理_第2頁(yè)
SQL Server表管理_第3頁(yè)
SQL Server表管理_第4頁(yè)
SQL Server表管理_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Version 3.0SQL Server表管理表管理第四章 SQL Server的功能、特點(diǎn)、版本和安裝要求;的功能、特點(diǎn)、版本和安裝要求; 企業(yè)管理器、查詢分析器和幫助系統(tǒng)的使用;企業(yè)管理器、查詢分析器和幫助系統(tǒng)的使用; SQL Server的數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象;的數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象; SQL Server的數(shù)據(jù)庫(kù)文件組織方式:的數(shù)據(jù)庫(kù)文件組織方式: 文件和文件組文件和文件組 數(shù)據(jù)日志文件和日志文件數(shù)據(jù)日志文件和日志文件 在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫(kù)和使用在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫(kù)和使用T-SQL創(chuàng)建數(shù)據(jù)創(chuàng)建數(shù)據(jù)庫(kù);庫(kù); 使用系統(tǒng)存儲(chǔ)過(guò)程數(shù)據(jù)庫(kù)特征的配置;使用系統(tǒng)存儲(chǔ)過(guò)程數(shù)據(jù)庫(kù)特征的配置; 使用

2、使用DBCC進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)操作;進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)操作; 理解理解SQL Server數(shù)據(jù)庫(kù)表的數(shù)據(jù)組織方式;數(shù)據(jù)庫(kù)表的數(shù)據(jù)組織方式; 理解理解SQL Server 中的各種數(shù)據(jù)類型;中的各種數(shù)據(jù)類型; 在在SQL Server實(shí)現(xiàn)實(shí)體完整性約束、引用實(shí)現(xiàn)實(shí)體完整性約束、引用完整性約束和域完整性約束;完整性約束和域完整性約束; 定義和使用主鍵、外鍵、檢查約束;定義和使用主鍵、外鍵、檢查約束; 使用使用 T-SQL 和企業(yè)管理器創(chuàng)建、更新和刪和企業(yè)管理器創(chuàng)建、更新和刪除表;除表; 理解與約束和約束對(duì)象有關(guān)的概念;理解與約束和約束對(duì)象有關(guān)的概念; 航班管理航班管理數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) CREATE DAT

3、ABASESP_DBOption 規(guī)范化規(guī)范化: 在設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)時(shí),組織數(shù)據(jù)使最在設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)時(shí),組織數(shù)據(jù)使最 小化的過(guò)程稱為規(guī)范化小化的過(guò)程稱為規(guī)范化規(guī)范化的特征規(guī)范化的特征:通常將數(shù)據(jù)分成兩個(gè)或多個(gè)表,以及定:通常將數(shù)據(jù)分成兩個(gè)或多個(gè)表,以及定 義表之間的關(guān)系,其目的是將數(shù)據(jù)分離義表之間的關(guān)系,其目的是將數(shù)據(jù)分離規(guī)范化的好處規(guī)范化的好處:對(duì)字段的添加、刪除和修改僅在一個(gè)表:對(duì)字段的添加、刪除和修改僅在一個(gè)表 中進(jìn)行中進(jìn)行 SQL Server的數(shù)據(jù)類型包括兩類:的數(shù)據(jù)類型包括兩類: 系統(tǒng)定義的數(shù)據(jù)類型:系統(tǒng)定義的數(shù)據(jù)類型: 用戶定義的數(shù)據(jù)類型用戶定義的數(shù)據(jù)類型 系統(tǒng)定義數(shù)據(jù)類型系統(tǒng)

4、定義數(shù)據(jù)類型charvarcharncharnvarchartextntextimagemoneysmallmoneybinaryvarbinaryUniqueidentifier (GUID)timestampsql_variantbitintsmallinttinyintbigintnumericdecimalfloatrealSQL Server SQL Server 2000 2000 數(shù)據(jù)類數(shù)據(jù)類型型Table char、varchar、text char: 可以是一個(gè)單個(gè)的字符,也可以是長(zhǎng)可以是一個(gè)單個(gè)的字符,也可以是長(zhǎng) 達(dá)達(dá)8000個(gè)字符的字符串個(gè)字符的字符串 varchar:可

5、變長(zhǎng)度的數(shù)據(jù)類型可變長(zhǎng)度的數(shù)據(jù)類型 text: 需要存儲(chǔ)的字符串?dāng)?shù)據(jù)的長(zhǎng)需要存儲(chǔ)的字符串?dāng)?shù)據(jù)的長(zhǎng) 度大于度大于 8000個(gè)字符時(shí)個(gè)字符時(shí) 數(shù)值型數(shù)據(jù)類型包括:數(shù)值型數(shù)據(jù)類型包括:整數(shù):用來(lái)存儲(chǔ)精確的數(shù)字值,以該類型存整數(shù):用來(lái)存儲(chǔ)精確的數(shù)字值,以該類型存 儲(chǔ)的數(shù)值將占用相同比例的存儲(chǔ)空間儲(chǔ)的數(shù)值將占用相同比例的存儲(chǔ)空間數(shù)字:存儲(chǔ)范圍取決于一個(gè)確定的數(shù)字表達(dá)數(shù)字:存儲(chǔ)范圍取決于一個(gè)確定的數(shù)字表達(dá) 法法浮點(diǎn)型:近似數(shù)據(jù)類型。存儲(chǔ)數(shù)據(jù)的最近似浮點(diǎn)型:近似數(shù)據(jù)類型。存儲(chǔ)數(shù)據(jù)的最近似 值值 bigint:長(zhǎng)度為長(zhǎng)度為8個(gè)字節(jié),個(gè)字節(jié),2 63 到到 2 63 1之間的數(shù)據(jù)之間的數(shù)據(jù) int: 長(zhǎng)度為長(zhǎng)度

6、為4個(gè)字節(jié),個(gè)字節(jié), 2 31 到到 2 31 1之間的數(shù)據(jù)之間的數(shù)據(jù) smallint:長(zhǎng)度為長(zhǎng)度為2個(gè)字節(jié),存儲(chǔ)從個(gè)字節(jié),存儲(chǔ)從-32768 到到 32767之之 間的數(shù)據(jù)間的數(shù)據(jù) tinyint:長(zhǎng)度為長(zhǎng)度為1個(gè)字節(jié),用來(lái)存儲(chǔ)從個(gè)字節(jié),用來(lái)存儲(chǔ)從 0 到到 255之間之間 所有的數(shù)據(jù)所有的數(shù)據(jù) decimal、numeric:最多存儲(chǔ)最多存儲(chǔ)38位數(shù)字,所有數(shù)位數(shù)字,所有數(shù) 字都能夠放到小數(shù)點(diǎn)的右邊字都能夠放到小數(shù)點(diǎn)的右邊存儲(chǔ)范圍取決于一個(gè)確定的數(shù)字表達(dá)法,而存儲(chǔ)范圍取決于一個(gè)確定的數(shù)字表達(dá)法,而不是一個(gè)固定的數(shù)值不是一個(gè)固定的數(shù)值 decimal(p,s) p:精度或?qū)ο竽軌蚩刂频臄?shù)字

7、個(gè)數(shù)精度或?qū)ο竽軌蚩刂频臄?shù)字個(gè)數(shù) s:小數(shù)點(diǎn)右邊的小數(shù)位數(shù)或數(shù)字個(gè)數(shù)小數(shù)點(diǎn)右邊的小數(shù)位數(shù)或數(shù)字個(gè)數(shù) money:8個(gè)字節(jié),前個(gè)字節(jié),前4個(gè)表示整數(shù)部分,后個(gè)表示整數(shù)部分,后4個(gè)個(gè) 表示小數(shù)部分表示小數(shù)部分 smallmoney:4個(gè)字節(jié),前個(gè)字節(jié),前2個(gè)表示貨幣的整數(shù)個(gè)表示貨幣的整數(shù)部分,后部分,后2個(gè)字節(jié)表示貨幣值的小數(shù)部分個(gè)字節(jié)表示貨幣值的小數(shù)部分 datetime:1753年年1月月1日到日到9999年年12月月31日。占日。占8個(gè)字節(jié)的存儲(chǔ)空間個(gè)字節(jié)的存儲(chǔ)空間 smalldatetime:1900年年1月月1日到日到2079年年12月月31日。日。占占4個(gè)字節(jié)的存儲(chǔ)空間個(gè)字節(jié)的存儲(chǔ)空間

8、 主要用于存儲(chǔ)需要使用兩個(gè)字節(jié)才能存儲(chǔ)的主要用于存儲(chǔ)需要使用兩個(gè)字節(jié)才能存儲(chǔ)的雙字節(jié)字符。雙字節(jié)字符。nchar、nvarchar、ntext區(qū)別區(qū)別: unicode 數(shù)據(jù)類型支持的字符范圍更大數(shù)據(jù)類型支持的字符范圍更大 存儲(chǔ)存儲(chǔ)unicode字符所需要的空間更大字符所需要的空間更大 nchar 和和nvarchar最多存儲(chǔ)最多存儲(chǔ)4000個(gè)字符,個(gè)字符,char和和varchar最多可以存儲(chǔ)最多可以存儲(chǔ)8000個(gè)字符個(gè)字符 二進(jìn)制數(shù)據(jù)類型:包括十六進(jìn)制數(shù)二進(jìn)制數(shù)據(jù)類型:包括十六進(jìn)制數(shù) 有三種二進(jìn)制數(shù)據(jù)類型有三種二進(jìn)制數(shù)據(jù)類型Binary(n)Varbinary(n)Image 自定義數(shù)據(jù)類

9、型自定義數(shù)據(jù)類型刪除刪除創(chuàng)建創(chuàng)建EXEC sp_addtype City, nvarchar(15), NULLEXEC sp_addtype PostCode, nvarchar(6), NULLEXEC sp_addtype NCode, nvarchar(18), NULL EXEC sp_droptype city CREATE TABLE Categories(CategoryID CategoryName Description Pictureint IDENTITY(1,1)nvarchar(15)ntextimage,NOT NULL,NULL,NULL) Create Tab

10、leCREATE TABLE Categories (CategoryID int IDENTITY(1,1), CategoryName nvarchar(15) NOT NULL, Description ntext NULL, Picture image NULL) 數(shù)據(jù)完整性數(shù)據(jù)完整性可靠性可靠性準(zhǔn)確性準(zhǔn)確性 域完整性域完整性實(shí)體完整性實(shí)體完整性引用完整性引用完整性 完整性類型完整性類型SQL Server SQL Server 工具工具實(shí)體完整性實(shí)體完整性1.主鍵約束主鍵約束2.唯一約束唯一約束3.標(biāo)識(shí)列標(biāo)識(shí)列域完整性域完整性1.默認(rèn)值定義默認(rèn)值定義2.外鍵約束外鍵約束3.檢查約束檢

11、查約束4.非空屬性非空屬性引用完整性引用完整性1.外鍵約束外鍵約束2.檢查約束檢查約束用戶定義的完整性用戶定義的完整性1.規(guī)則規(guī)則2.存儲(chǔ)過(guò)程存儲(chǔ)過(guò)程3.觸發(fā)器觸發(fā)器 CREATE TABLE 表名表名 CONSTRAINT PRIMARY KEY (列名列表列名列表)create TABLE Reservation( id int PRIMARY KEY)或或 create table txf(卡號(hào)卡號(hào) char(10),書(shū)號(hào)書(shū)號(hào) char(10), constraint pk_ttt primary key(卡號(hào)卡號(hào),書(shū)號(hào)書(shū)號(hào)) 唯一約束唯一約束主鍵約束主鍵約束CREATE TABLE j

12、obs(Job_id smallint PRIMARY KEY,job_desc varchar(50) NOT NULL) CREATE TABLE jobs(Job_id smallint UNIQUE)標(biāo)識(shí)列標(biāo)識(shí)列 CREATE TABLE jobs(Job_id smallint IDENTIRY(2,1) PRIMARY KEY) 唯一約束唯一約束 是一列或幾列的組合,而且不是主鍵;是一列或幾列的組合,而且不是主鍵; 可以為表定義多個(gè)唯一約束,而只能為表定義一個(gè)可以為表定義多個(gè)唯一約束,而只能為表定義一個(gè)主鍵約束;主鍵約束; 該列允許為空值;該列允許為空值; 唯一約束可以定義在允許空

13、值的列上,而主鍵約束唯一約束可以定義在允許空值的列上,而主鍵約束只能定義在不允許為空值的列上;只能定義在不允許為空值的列上; 外鍵約束:外鍵約束:constraint 約束名約束名FOREIGN KEYREFERENCES 外鍵約束所引用的表名稱外鍵約束所引用的表名稱(所引用的字段名)(所引用的字段名)ON DELETE CASCADE | NO ACTION ON UPDATE CASCADE| NO ACTION CREATE TABLE ABC(ABC NCHAR(5) FOREIGN KEY REFERENCES Customers(CustomerID),ABCD CHAR(6) N

14、OT NULL)使用約束方式實(shí)施引用使用約束方式實(shí)施引用在創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)設(shè)置外鍵在創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)設(shè)置外鍵ALTER TABLE dbo.Orders ADD CONSTRAINT FK_Orders_Customers FOREIGN KEY (CustomerID) REFERENCES dbo.Customers(CustomerID) 子表子表記錄記錄如果數(shù)據(jù)項(xiàng)不在如果數(shù)據(jù)項(xiàng)不在父表中父表中添加添加父表父表如果導(dǎo)致子表產(chǎn)生如果導(dǎo)致子表產(chǎn)生孤立記錄孤立記錄刪除刪除 自定義數(shù)據(jù)類型自定義數(shù)據(jù)類型數(shù)據(jù)類型約束數(shù)據(jù)類型約束外鍵約束外鍵約束非空約束非空約束默認(rèn)和檢查約束默認(rèn)和檢查約束 創(chuàng)建默認(rèn)約束

15、:創(chuàng)建默認(rèn)約束:constraint 約束名約束名 DEFAULT 默認(rèn)值默認(rèn)值 USE NorthwindCREATE TABLE ABC (ASD int Default 8, ASDE varchar(20) Default UNKNOWN) DEFAULT約束約束USE NorthwindALTER TABLE dbo.Customers ADD CONSTRAINT DF_contactname DEFAULT UNKNOWN FOR ContactName 創(chuàng)建檢查約束:創(chuàng)建檢查約束: constraint 約束名約束名 CHECK(邏輯表達(dá)式邏輯表達(dá)式) CREATE TABLE

16、 ABCD (ASD int CHECK(ASD 01-01-1900 AND BirthDate 1) 刪除約束:刪除約束: 使用使用ALTER TABLE命令中的命令中的DROP CONSTRAINT 子子句,可以從表中刪除一個(gè)或多個(gè)約束句,可以從表中刪除一個(gè)或多個(gè)約束. ALTER TABLE DROP CONSTRAINT 約束名稱,約束名稱,.n DROP TABLE 表名表名DROP TABLE Airlines_Master演示在企業(yè)管理器內(nèi)更改和刪除表演示在企業(yè)管理器內(nèi)更改和刪除表 USE NorthwindCREATE TABLE ABC (ASD int Default 8

17、, ASDE varchar(20) Default UNKNOWN) DEFAULT約束約束USE NorthwindALTER TABLE dbo.Customers ADD CONSTRAINT DF_contactname DEFAULT UNKNOWN FOR ContactName CREATE TABLE ABCD (ASD int CHECK(ASD 01-01-1900 AND BirthDate 01-01-2010) CREATE TABLE AWC (ASD int CHECK(ASD 100) PRIMARY KEY, ASDE varchar(80) Default

18、 UNKNOWN) PRIMARY KEY約束約束USE Northwind ALTER TABLE Customers ADD CONSTRAINT PK_Customers PRIMARY KEY (CustomerID) CREATE TABLE AAC (ASD int CHECK(ASD 100) PRIMARY KEY, ASDE int UNIQUE) UNIQUE約束約束USE NorthwindALTER TABLE Suppliers ADD CONSTRAINT U_CompanyName UNIQUE (CompanyName) CREATE TABLE ACC (ASD int CHECK(ASD 100) PRIMARY KEY, ASDE int FOREIGN KEY REFERENCES AAC(ASD) FOREIGN KEY約束約束USE NorthwindALTER TABLE Orders WITH NOCHECK ADD CONST

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論