第3章-表的建立與維護(hù)_第1頁(yè)
第3章-表的建立與維護(hù)_第2頁(yè)
第3章-表的建立與維護(hù)_第3頁(yè)
第3章-表的建立與維護(hù)_第4頁(yè)
第3章-表的建立與維護(hù)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(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)介

第3章表的建立與維護(hù)第3章表的建立與維護(hù)ppt課件(全) 本章的學(xué)習(xí)目標(biāo): 掌握用SSMS和T-SQL創(chuàng)建表 熟悉各種列數(shù)據(jù)類型 掌握列的各種屬性 掌握用SSMS和T-SQL修改、刪除表 熟悉保持?jǐn)?shù)據(jù)完整性的各種約束 掌握根據(jù)完整性規(guī)則的要求使用SSMS和

T-SQL設(shè)置表的主鍵、外鍵和約束等第3章表的建立與維護(hù)ppt課件(全)3.1表概述在使用數(shù)據(jù)庫(kù)的過程中,接觸最多的莫過于表。表是存儲(chǔ)數(shù)據(jù)的地方,是一種結(jié)構(gòu)化的文件,可用來(lái)存儲(chǔ)一些特定數(shù)據(jù)類型的數(shù)據(jù),是數(shù)據(jù)庫(kù)中最重要的部分。第3章表的建立與維護(hù)ppt課件(全)3.1.1什么是表在關(guān)系數(shù)據(jù)庫(kù)中,每一個(gè)關(guān)系都表現(xiàn)為一張表。表是用來(lái)存儲(chǔ)數(shù)據(jù)和操作數(shù)據(jù)的邏輯結(jié)構(gòu),關(guān)系數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)都表現(xiàn)為表的形式,由列和行組成,如圖3-1所示。關(guān)系數(shù)據(jù)庫(kù)由表、具體查詢等對(duì)象組成,而查詢等對(duì)象又是通過表來(lái)呈現(xiàn)的。第3章表的建立與維護(hù)ppt課件(全)表的數(shù)據(jù)類型種類數(shù)據(jù)類型數(shù)字整數(shù)int,bigint,smallint,tinyint精確數(shù)值decimal,numeric近似數(shù)值float,real貨幣money,smallmoney日期和時(shí)間

datetime,smalldatetime字符Non-Unicodechar,varchar,varchar(max),textUnicodenchar,nvarchar,nvarchar(max),ntext二進(jìn)制binary,varbinary,varbinary(max)圖像image全局標(biāo)識(shí)符uniqueidentifierXMLxml特殊bit,cursor,timestamp,sysname,table,sql_variant第3章表的建立與維護(hù)ppt課件(全)使用SQLServerManagementStudio創(chuàng)建表第3章表的建立與維護(hù)ppt課件(全)使用T-SQL語(yǔ)句創(chuàng)建表CREATETABLE[database_name.[owner].|owner.]table_name

({<column_definition>|column_nameAScomputed_column_expression|<table_constraint>}[,…n])

[ON{filegroup|DEFAULT}][TEXTIMAGE_ON{filegroup|DEFAULT}]

<column_definition>::={column_namedata_type}

[[DEFAULTconstant_expression]

|[IDENTITY[(seed,increment)]]]

[<column_constraint>][...n]第3章表的建立與維護(hù)ppt課件(全)3.2列數(shù)據(jù)類型在計(jì)算機(jī)中,按照數(shù)據(jù)描述信息的含義,將數(shù)據(jù)分為不同的種類,稱之為數(shù)據(jù)類型。第3章表的建立與維護(hù)ppt課件(全)3.2.1數(shù)據(jù)類型的分類SQLServer提供兩類數(shù)據(jù)類型:一類是用戶定義數(shù)據(jù)類型,用戶可以根據(jù)需要?jiǎng)?chuàng)建自己的數(shù)據(jù)類型,會(huì)對(duì)數(shù)據(jù)組織帶來(lái)一定的好處。一類是基本數(shù)據(jù)類型,是SQLServer系統(tǒng)提供的數(shù)據(jù)類型。本書只介紹基本數(shù)據(jù)類型。第3章表的建立與維護(hù)ppt課件(全)種類數(shù)據(jù)類型數(shù)字?jǐn)?shù)據(jù)類型int,bigint,smallint,tinyint,decimal,numeric,float,real,money,smallmoney,bit字符數(shù)據(jù)類型char,varchar,nchar,nvarchar,ntexttext日期和時(shí)間datetime,smalldatetime,date,time,datetime2,datetimeoffset二進(jìn)制數(shù)據(jù)類型binary,varbinary,image其他數(shù)據(jù)類型uniqueidentifier,xml,timestamp,sql_variantSQLServer中常用的數(shù)據(jù)類型第3章表的建立與維護(hù)ppt課件(全)3.2.2數(shù)字?jǐn)?shù)據(jù)類型數(shù)字?jǐn)?shù)據(jù)類型表示符號(hào)用途精確數(shù)字類型整數(shù)數(shù)據(jù)類型int、bigint、smallint、tinyint存儲(chǔ)數(shù)字?jǐn)?shù)據(jù),直接進(jìn)行數(shù)據(jù)運(yùn)算位數(shù)據(jù)類型bit用于一些條件邏輯判斷貨幣數(shù)據(jù)類型money、smallmoney存儲(chǔ)貨幣數(shù)據(jù)近似數(shù)字類型十進(jìn)制小數(shù)型decimal、numeric存儲(chǔ)帶固定精度和位數(shù)的小數(shù)浮點(diǎn)數(shù)據(jù)類型float、real存儲(chǔ)范圍非常大的數(shù)字,用于表示指定數(shù)的大致數(shù)據(jù)值第3章表的建立與維護(hù)ppt課件(全)3.2.3字符數(shù)據(jù)類型字符類型表示符號(hào)用法ANSI字符char存儲(chǔ)指定長(zhǎng)度的字符串varchar存儲(chǔ)可變長(zhǎng)度字符text存儲(chǔ)大量非Unicode字符Unicode字符nchar用于存儲(chǔ)Unicode字符nvarchar與varchar類似,存儲(chǔ)可變長(zhǎng)度Unicode字符ntext與text類似,存儲(chǔ)大量Unicode字符數(shù)據(jù)第3章表的建立與維護(hù)ppt課件(全)3.2.4日期時(shí)間數(shù)據(jù)類型日期時(shí)間數(shù)據(jù)類型用于存儲(chǔ)日期和時(shí)間信息。在SQLServer2008之前的版本中,日期時(shí)間類型只包括datetime和smalldatetime兩種類型。它們的差別在于其表示的日期和時(shí)間范圍不同、時(shí)間精確度也不同。其中最常用的是datetime型數(shù)據(jù)。第3章表的建立與維護(hù)ppt課件(全)3.2.5二進(jìn)制數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)類型用于表示位數(shù)據(jù)流,包括binary(固定長(zhǎng)度)、varbinary(可變長(zhǎng)度)和image三種。binary用于存儲(chǔ)固定長(zhǎng)度的二進(jìn)制數(shù)據(jù);varbinary用于存儲(chǔ)可變長(zhǎng)度的二進(jìn)制數(shù)據(jù),若存儲(chǔ)的二進(jìn)制大于8000字節(jié),就必須使用varbinary(max)數(shù)據(jù)類型;image數(shù)據(jù)類型用于存儲(chǔ)圖像信息,在SQLServer2008中,只有在數(shù)據(jù)的字節(jié)數(shù)超過了8KB的情況下,才使用image數(shù)據(jù)類型,其他情況應(yīng)使用varbinary(max)代替,其中max最大可以達(dá)到231-1字節(jié);第3章表的建立與維護(hù)ppt課件(全)3.2.6其他數(shù)據(jù)類型除了上述數(shù)據(jù)類型外,SQLServer還提供了其他幾類常用數(shù)據(jù)類型,使用這些數(shù)據(jù)類型可以完成特殊數(shù)據(jù)對(duì)象的定義、存儲(chǔ)和使用:timestampsql_variant類型uniqueidentifier唯一標(biāo)識(shí)符類型第3章表的建立與維護(hù)ppt課件(全)3.2.7數(shù)據(jù)類型的選擇數(shù)據(jù)的使用情況:數(shù)據(jù)是用于數(shù)學(xué)運(yùn)算?表示日期或者時(shí)間?存儲(chǔ)文本信息?不同的使用情況決定了不同數(shù)據(jù)類型的選擇;數(shù)據(jù)的大?。哼x擇的數(shù)據(jù)類型能否存放期望存儲(chǔ)的最大值。例如,選擇整型數(shù)據(jù),要根據(jù)數(shù)據(jù)的取值決定使用INT型數(shù)據(jù)還是BIGINT型數(shù)據(jù);選擇字符型數(shù)據(jù),需要考慮實(shí)際需要的最大字符長(zhǎng)度;正確的存儲(chǔ)信息:例如使用integer數(shù)據(jù)類型存儲(chǔ)貨幣值,將造成小數(shù)部分丟失,這將導(dǎo)致不正確的值;非英語(yǔ)字符:在SQLServer2008系統(tǒng)中,如果某些列需要存儲(chǔ)非英語(yǔ)字符(如中文字符),建議最好使用NCHAR、NVARCHAR數(shù)據(jù)類型。第3章表的建立與維護(hù)ppt課件(全)3.3列的其他屬性3.3.1默認(rèn)約束默認(rèn)約束指用戶在進(jìn)行插入操作時(shí),沒有顯示地為列提供數(shù)據(jù),那么系統(tǒng)將把默認(rèn)值賦給該列。默認(rèn)值約束所提供的默認(rèn)值可以為常量、函數(shù)、系統(tǒng)函數(shù)、空值等,表中的每一列只能定義一個(gè)默認(rèn)約束,對(duì)于具有IDENTITY屬性和timestamp數(shù)據(jù)類型的字段,不能使用默認(rèn)約束,同時(shí),定義的默認(rèn)值長(zhǎng)度不允許大于對(duì)應(yīng)字段所允許的最大長(zhǎng)度。第3章表的建立與維護(hù)ppt課件(全)DEFAULT約束使用SSMS圖形化界面創(chuàng)建默認(rèn)約束用Transact-SQL語(yǔ)句創(chuàng)建默認(rèn)約束。其語(yǔ)法形式如下:

CONSTRAINTconstraint_nameDEFAULTconstraint_expression[FORcolumn_name]第3章表的建立與維護(hù)ppt課件(全)3.3.2空值約束空值約束即是否允許該字段的值為NULL,即空值。主鍵列不允許為空值,否則就失去了唯一標(biāo)識(shí)的意義。第3章表的建立與維護(hù)ppt課件(全)NULL約束使用SSMS圖形化界面設(shè)置空值約束。用Transact-SQL語(yǔ)句創(chuàng)建空值約束。其語(yǔ)法形式如下:直接在相應(yīng)的語(yǔ)句后書寫[NULL|NOTNULL]第3章表的建立與維護(hù)ppt課件(全)3.3.3IDENTITY的應(yīng)用identity表示的是最近一次向具有identity屬性(即自增列)的表插入數(shù)據(jù)時(shí)對(duì)應(yīng)的自增列的值,是系統(tǒng)定義的全局變量。比如有個(gè)表A,它的自增列是id,當(dāng)向A表插入一行數(shù)據(jù)后,如果插入數(shù)據(jù)后自增列的值自動(dòng)增加至101,則通過select@@identity得到的值就是101。第3章表的建立與維護(hù)ppt課件(全)3.4向表中添加數(shù)據(jù)首先在需要添加數(shù)據(jù)的表上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“打開表”命令,出現(xiàn)如圖3-8所示的“表”對(duì)話框,在其中可向打開的表添加數(shù)據(jù)。本節(jié)向各個(gè)表中添加的數(shù)據(jù)如表3-5~3-7所示。第3章表的建立與維護(hù)ppt課件(全)3.5查看表3.5.1查看表中的有關(guān)信息打開指定的數(shù)據(jù)庫(kù),在需要查看的表上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“屬性”命令,將打開“表屬性”對(duì)話框,如圖3-10所示?!俺R?guī)”選項(xiàng)頁(yè)中顯示了該表格的定義,包括存儲(chǔ)結(jié)構(gòu)、當(dāng)前的連接及名稱等屬性,該選項(xiàng)頁(yè)中顯示的屬性不能修改。第3章表的建立與維護(hù)ppt課件(全)3.5.2查看表中存儲(chǔ)的數(shù)據(jù)在表“課程表”上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“打開表”命令,顯示“課程表”中的數(shù)據(jù),如圖3-11所示。第3章表的建立與維護(hù)ppt課件(全)3.5.3查看表與其他數(shù)據(jù)對(duì)象的依賴關(guān)系在要查看的表上單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“查看依賴關(guān)系”命令,打開“對(duì)象依賴關(guān)系”對(duì)話框,該對(duì)話框顯示了該表依賴的其他數(shù)據(jù)對(duì)象和依賴于此表的依賴對(duì)象。例如,查看“選課表”的依賴對(duì)象,如圖3-12所示的對(duì)話框顯示了選課表依賴于課程表與學(xué)生表。第3章表的建立與維護(hù)ppt課件(全)3.6修改表3.6.1使用SSMS圖形化界面修改表在“對(duì)象資源管理器”窗口中,展開“數(shù)據(jù)庫(kù)”節(jié)點(diǎn),再展開具體選擇的數(shù)據(jù)庫(kù),然后展開“表”節(jié)點(diǎn),用右鍵單擊要修改的表,從彈出的快捷菜單中選擇“設(shè)計(jì)”命令,打開“表設(shè)計(jì)器”,即可對(duì)表的定義進(jìn)行修改,方法同創(chuàng)建表。第3章表的建立與維護(hù)ppt課件(全)3.6.2使用T-SQL語(yǔ)句修改表 ALTERTABLE表名 (ALTERCOLUMN列名列定義, ADD列名數(shù)據(jù)類型約束, …… DROP列名, …… ADDCONSTRAINT約束名約束, ……)第3章表的建立與維護(hù)ppt課件(全)例【3-2】:在AdventureWorks數(shù)據(jù)庫(kù)中,在Sales下創(chuàng)建名為CustomerOrders的表;創(chuàng)建OrderID、OrderDate、CustomerID、Notes列,并定義其數(shù)據(jù)類型為int、datetime、int、nvarchar(200))和可空性(Notes列為空),指定OrderID列為標(biāo)志列。T-SQL語(yǔ)句如下: CREATETABLESales.CustomerOrders (OrderIDintidentity(1,1), OrderDatedatetime, CustomerIDint, Notesnvarchar(200)NULL);第3章表的建立與維護(hù)ppt課件(全)例【3-3】:基于例3-2定義的Sales.CustomerOrders表,添加列和更改列的可空性。 --修改Sales.CustomerOrders表的定義 --在表中添加名為SalesPersonID的列,并定義其數(shù)據(jù)類型為int,指其不可空 ALTERTABLESales.CustomerOrders ADDSalesPersonIDintNOTNULL GO --修改Sales.CustomerOrders表的定義 --修改Notes列,并定義其數(shù)據(jù)類型為nvarchar(200),指定其不可空 ALTERTABLESales.CustomerOrders ALTERCOLUMNNotesnvarchar(200)NOTNULL GO第3章表的建立與維護(hù)ppt課件(全)3.6.3使用INSERTSELECT語(yǔ)句INSERTSELECT語(yǔ)句可以將其他數(shù)據(jù)源中的行添加到數(shù)據(jù)庫(kù)中現(xiàn)有的表當(dāng)中。這種方法用于插入的數(shù)據(jù)是不確定(一般都多于一條)。具體方法是:通過SELECT語(yǔ)句生成的結(jié)果集,再結(jié)合INSERT語(yǔ)句,就可以把結(jié)果集插入到指定的表中。第3章表的建立與維護(hù)ppt課件(全)例【3-4】:求每個(gè)學(xué)生的平均成績(jī),并按學(xué)號(hào)、姓名、平均成績(jī)存入學(xué)生信息數(shù)據(jù)庫(kù)。首先創(chuàng)建一個(gè)表: CREATETABLEAG( 學(xué)號(hào)CHAR(8)PRIMARYKEY, 姓名CHAR(8), 平均成績(jī)SMALLINT) GO;第3章表的建立與維護(hù)ppt課件(全)3.6.4使用SELECTINT

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論