版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第3章表的建立與維護第3章表的建立與維護ppt課件(全) 本章的學習目標: 掌握用SSMS和T-SQL創(chuàng)建表 熟悉各種列數(shù)據(jù)類型 掌握列的各種屬性 掌握用SSMS和T-SQL修改、刪除表 熟悉保持數(shù)據(jù)完整性的各種約束 掌握根據(jù)完整性規(guī)則的要求使用SSMS和
T-SQL設置表的主鍵、外鍵和約束等第3章表的建立與維護ppt課件(全)3.1表概述在使用數(shù)據(jù)庫的過程中,接觸最多的莫過于表。表是存儲數(shù)據(jù)的地方,是一種結構化的文件,可用來存儲一些特定數(shù)據(jù)類型的數(shù)據(jù),是數(shù)據(jù)庫中最重要的部分。第3章表的建立與維護ppt課件(全)3.1.1什么是表在關系數(shù)據(jù)庫中,每一個關系都表現(xiàn)為一張表。表是用來存儲數(shù)據(jù)和操作數(shù)據(jù)的邏輯結構,關系數(shù)據(jù)庫中的所有數(shù)據(jù)都表現(xiàn)為表的形式,由列和行組成,如圖3-1所示。關系數(shù)據(jù)庫由表、具體查詢等對象組成,而查詢等對象又是通過表來呈現(xiàn)的。第3章表的建立與維護ppt課件(全)表的數(shù)據(jù)類型種類數(shù)據(jù)類型數(shù)字整數(shù)int,bigint,smallint,tinyint精確數(shù)值decimal,numeric近似數(shù)值float,real貨幣money,smallmoney日期和時間
datetime,smalldatetime字符Non-Unicodechar,varchar,varchar(max),textUnicodenchar,nvarchar,nvarchar(max),ntext二進制binary,varbinary,varbinary(max)圖像image全局標識符uniqueidentifierXMLxml特殊bit,cursor,timestamp,sysname,table,sql_variant第3章表的建立與維護ppt課件(全)使用SQLServerManagementStudio創(chuàng)建表第3章表的建立與維護ppt課件(全)使用T-SQL語句創(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章表的建立與維護ppt課件(全)3.2列數(shù)據(jù)類型在計算機中,按照數(shù)據(jù)描述信息的含義,將數(shù)據(jù)分為不同的種類,稱之為數(shù)據(jù)類型。第3章表的建立與維護ppt課件(全)3.2.1數(shù)據(jù)類型的分類SQLServer提供兩類數(shù)據(jù)類型:一類是用戶定義數(shù)據(jù)類型,用戶可以根據(jù)需要創(chuàng)建自己的數(shù)據(jù)類型,會對數(shù)據(jù)組織帶來一定的好處。一類是基本數(shù)據(jù)類型,是SQLServer系統(tǒng)提供的數(shù)據(jù)類型。本書只介紹基本數(shù)據(jù)類型。第3章表的建立與維護ppt課件(全)種類數(shù)據(jù)類型數(shù)字數(shù)據(jù)類型int,bigint,smallint,tinyint,decimal,numeric,float,real,money,smallmoney,bit字符數(shù)據(jù)類型char,varchar,nchar,nvarchar,ntexttext日期和時間datetime,smalldatetime,date,time,datetime2,datetimeoffset二進制數(shù)據(jù)類型binary,varbinary,image其他數(shù)據(jù)類型uniqueidentifier,xml,timestamp,sql_variantSQLServer中常用的數(shù)據(jù)類型第3章表的建立與維護ppt課件(全)3.2.2數(shù)字數(shù)據(jù)類型數(shù)字數(shù)據(jù)類型表示符號用途精確數(shù)字類型整數(shù)數(shù)據(jù)類型int、bigint、smallint、tinyint存儲數(shù)字數(shù)據(jù),直接進行數(shù)據(jù)運算位數(shù)據(jù)類型bit用于一些條件邏輯判斷貨幣數(shù)據(jù)類型money、smallmoney存儲貨幣數(shù)據(jù)近似數(shù)字類型十進制小數(shù)型decimal、numeric存儲帶固定精度和位數(shù)的小數(shù)浮點數(shù)據(jù)類型float、real存儲范圍非常大的數(shù)字,用于表示指定數(shù)的大致數(shù)據(jù)值第3章表的建立與維護ppt課件(全)3.2.3字符數(shù)據(jù)類型字符類型表示符號用法ANSI字符char存儲指定長度的字符串varchar存儲可變長度字符text存儲大量非Unicode字符Unicode字符nchar用于存儲Unicode字符nvarchar與varchar類似,存儲可變長度Unicode字符ntext與text類似,存儲大量Unicode字符數(shù)據(jù)第3章表的建立與維護ppt課件(全)3.2.4日期時間數(shù)據(jù)類型日期時間數(shù)據(jù)類型用于存儲日期和時間信息。在SQLServer2008之前的版本中,日期時間類型只包括datetime和smalldatetime兩種類型。它們的差別在于其表示的日期和時間范圍不同、時間精確度也不同。其中最常用的是datetime型數(shù)據(jù)。第3章表的建立與維護ppt課件(全)3.2.5二進制數(shù)據(jù)類型二進制數(shù)據(jù)類型用于表示位數(shù)據(jù)流,包括binary(固定長度)、varbinary(可變長度)和image三種。binary用于存儲固定長度的二進制數(shù)據(jù);varbinary用于存儲可變長度的二進制數(shù)據(jù),若存儲的二進制大于8000字節(jié),就必須使用varbinary(max)數(shù)據(jù)類型;image數(shù)據(jù)類型用于存儲圖像信息,在SQLServer2008中,只有在數(shù)據(jù)的字節(jié)數(shù)超過了8KB的情況下,才使用image數(shù)據(jù)類型,其他情況應使用varbinary(max)代替,其中max最大可以達到231-1字節(jié);第3章表的建立與維護ppt課件(全)3.2.6其他數(shù)據(jù)類型除了上述數(shù)據(jù)類型外,SQLServer還提供了其他幾類常用數(shù)據(jù)類型,使用這些數(shù)據(jù)類型可以完成特殊數(shù)據(jù)對象的定義、存儲和使用:timestampsql_variant類型uniqueidentifier唯一標識符類型第3章表的建立與維護ppt課件(全)3.2.7數(shù)據(jù)類型的選擇數(shù)據(jù)的使用情況:數(shù)據(jù)是用于數(shù)學運算?表示日期或者時間?存儲文本信息?不同的使用情況決定了不同數(shù)據(jù)類型的選擇;數(shù)據(jù)的大?。哼x擇的數(shù)據(jù)類型能否存放期望存儲的最大值。例如,選擇整型數(shù)據(jù),要根據(jù)數(shù)據(jù)的取值決定使用INT型數(shù)據(jù)還是BIGINT型數(shù)據(jù);選擇字符型數(shù)據(jù),需要考慮實際需要的最大字符長度;正確的存儲信息:例如使用integer數(shù)據(jù)類型存儲貨幣值,將造成小數(shù)部分丟失,這將導致不正確的值;非英語字符:在SQLServer2008系統(tǒng)中,如果某些列需要存儲非英語字符(如中文字符),建議最好使用NCHAR、NVARCHAR數(shù)據(jù)類型。第3章表的建立與維護ppt課件(全)3.3列的其他屬性3.3.1默認約束默認約束指用戶在進行插入操作時,沒有顯示地為列提供數(shù)據(jù),那么系統(tǒng)將把默認值賦給該列。默認值約束所提供的默認值可以為常量、函數(shù)、系統(tǒng)函數(shù)、空值等,表中的每一列只能定義一個默認約束,對于具有IDENTITY屬性和timestamp數(shù)據(jù)類型的字段,不能使用默認約束,同時,定義的默認值長度不允許大于對應字段所允許的最大長度。第3章表的建立與維護ppt課件(全)DEFAULT約束使用SSMS圖形化界面創(chuàng)建默認約束用Transact-SQL語句創(chuàng)建默認約束。其語法形式如下:
CONSTRAINTconstraint_nameDEFAULTconstraint_expression[FORcolumn_name]第3章表的建立與維護ppt課件(全)3.3.2空值約束空值約束即是否允許該字段的值為NULL,即空值。主鍵列不允許為空值,否則就失去了唯一標識的意義。第3章表的建立與維護ppt課件(全)NULL約束使用SSMS圖形化界面設置空值約束。用Transact-SQL語句創(chuàng)建空值約束。其語法形式如下:直接在相應的語句后書寫[NULL|NOTNULL]第3章表的建立與維護ppt課件(全)3.3.3IDENTITY的應用identity表示的是最近一次向具有identity屬性(即自增列)的表插入數(shù)據(jù)時對應的自增列的值,是系統(tǒng)定義的全局變量。比如有個表A,它的自增列是id,當向A表插入一行數(shù)據(jù)后,如果插入數(shù)據(jù)后自增列的值自動增加至101,則通過select@@identity得到的值就是101。第3章表的建立與維護ppt課件(全)3.4向表中添加數(shù)據(jù)首先在需要添加數(shù)據(jù)的表上單擊鼠標右鍵,從彈出的快捷菜單中選擇“打開表”命令,出現(xiàn)如圖3-8所示的“表”對話框,在其中可向打開的表添加數(shù)據(jù)。本節(jié)向各個表中添加的數(shù)據(jù)如表3-5~3-7所示。第3章表的建立與維護ppt課件(全)3.5查看表3.5.1查看表中的有關信息打開指定的數(shù)據(jù)庫,在需要查看的表上單擊鼠標右鍵,從彈出的快捷菜單中選擇“屬性”命令,將打開“表屬性”對話框,如圖3-10所示。“常規(guī)”選項頁中顯示了該表格的定義,包括存儲結構、當前的連接及名稱等屬性,該選項頁中顯示的屬性不能修改。第3章表的建立與維護ppt課件(全)3.5.2查看表中存儲的數(shù)據(jù)在表“課程表”上單擊鼠標右鍵,在彈出的快捷菜單中選擇“打開表”命令,顯示“課程表”中的數(shù)據(jù),如圖3-11所示。第3章表的建立與維護ppt課件(全)3.5.3查看表與其他數(shù)據(jù)對象的依賴關系在要查看的表上單擊鼠標右鍵,從彈出的快捷菜單中選擇“查看依賴關系”命令,打開“對象依賴關系”對話框,該對話框顯示了該表依賴的其他數(shù)據(jù)對象和依賴于此表的依賴對象。例如,查看“選課表”的依賴對象,如圖3-12所示的對話框顯示了選課表依賴于課程表與學生表。第3章表的建立與維護ppt課件(全)3.6修改表3.6.1使用SSMS圖形化界面修改表在“對象資源管理器”窗口中,展開“數(shù)據(jù)庫”節(jié)點,再展開具體選擇的數(shù)據(jù)庫,然后展開“表”節(jié)點,用右鍵單擊要修改的表,從彈出的快捷菜單中選擇“設計”命令,打開“表設計器”,即可對表的定義進行修改,方法同創(chuàng)建表。第3章表的建立與維護ppt課件(全)3.6.2使用T-SQL語句修改表 ALTERTABLE表名 (ALTERCOLUMN列名列定義, ADD列名數(shù)據(jù)類型約束, …… DROP列名, …… ADDCONSTRAINT約束名約束, ……)第3章表的建立與維護ppt課件(全)例【3-2】:在AdventureWorks數(shù)據(jù)庫中,在Sales下創(chuàng)建名為CustomerOrders的表;創(chuàng)建OrderID、OrderDate、CustomerID、Notes列,并定義其數(shù)據(jù)類型為int、datetime、int、nvarchar(200))和可空性(Notes列為空),指定OrderID列為標志列。T-SQL語句如下: CREATETABLESales.CustomerOrders (OrderIDintidentity(1,1), OrderDatedatetime, CustomerIDint, Notesnvarchar(200)NULL);第3章表的建立與維護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章表的建立與維護ppt課件(全)3.6.3使用INSERTSELECT語句INSERTSELECT語句可以將其他數(shù)據(jù)源中的行添加到數(shù)據(jù)庫中現(xiàn)有的表當中。這種方法用于插入的數(shù)據(jù)是不確定(一般都多于一條)。具體方法是:通過SELECT語句生成的結果集,再結合INSERT語句,就可以把結果集插入到指定的表中。第3章表的建立與維護ppt課件(全)例【3-4】:求每個學生的平均成績,并按學號、姓名、平均成績存入學生信息數(shù)據(jù)庫。首先創(chuàng)建一個表: CREATETABLEAG( 學號CHAR(8)PRIMARYKEY, 姓名CHAR(8), 平均成績SMALLINT) GO;第3章表的建立與維護ppt課件(全)3.6.4使用SELECTINT
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【優(yōu)化方案】2021高考英語(外研版)總復習階段綜合檢測(一)
- 2024廢棄電器電子產(chǎn)品線上線下耦合回收集成技術規(guī)范
- 【名師一號】2020-2021學年高中英語(人教版)必修一雙基限時練14
- 人教版2022年高三第二輪復習-專題六-第1講-第1講-種群和群落
- 2022年學校教學工作總結范文
- 陜西省渭南市尚德中學2024-2025學年高一上學期第一次階段性生物試卷(含答案)
- 【全程復習方略】2020年北師版數(shù)學文(陜西用)課時作業(yè):第六章-第五節(jié)合情推理與演繹推理
- 【全程復習方略】2022屆高考化學(人教版)一輪總復習單元評估檢測(8)電化學基礎
- IT工作半年總結:組織好工作流程-提升工作效率
- 2022高考(新課標)數(shù)學(理)大一輪復習試題:第十章-概率10-9a
- 8位半萬用表大比拼
- 品牌管理部績效考核指標
- 《數(shù)學廣角——數(shù)與形》評課稿
- 瀝青路面施工監(jiān)理工作細則
- 物業(yè)設備設施系統(tǒng)介紹(詳細).ppt
- 公司走賬合同范本
- 獲獎一等獎QC課題PPT課件
- 人教版小學三年級數(shù)學上冊判斷題(共3頁)
- 國際項目管理手冊The Project Manager’s Manual
- 小學五年級思政課教案三篇
- 華為內(nèi)部虛擬股管理暫行條例
評論
0/150
提交評論