




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關系數據庫基礎
第一章
數據庫及SQLServer2005簡介主要內容
數據庫、數據庫三種模型數據庫管理系統相關知識關系數據庫操作及規范。介紹了T-SQL語言。SQLSERVER2005的新特性SQLSERVER2005的安裝及配置1.1數據庫的發展1.1.1數據庫概念1.數據數據:能夠在計算機中存貯的用于描述事物的記錄符號它包括兩個方面:一是描述事物特性的數據內容二是存儲在某種媒體上的數據形式。數據處理是指將數據轉換成信息的過程。第一組概念數據與信息信息與數據信息是現實世界事物的存在方式或運動狀態的反映。數據是將現實世界中的各種信息記錄下的、可以識別的符號,是信息的載體,信息的具體表現形式。信息與數據的關系 數據是承載信息的物理符號或稱之為載體,而信息是數據的內涵。數據與信息數據:可以從中得出結論的原始資料??梢該说贸鲂率聦嵉恼摀P畔ⅲ褐R、才智、有特定意義或作用的一條特殊數據。信息通常是對數據進行結合、比較與計算的結果。數據與信息以測試成績為例:如果一個班級中的每名學生都收到一個數值分數,則通過這些分數可以計算出班級平均分數。然后通過班級平均分數又可以計算出學校的平均分數。數據庫軟件可以將記錄/存儲的數據和統計數據轉換成有用的信息。數據:每名學生的測試分數都是一條數據。信息:班級的平均分數或學校的平均分數。數據處理數據處理實際上就是利用計算機對各種形式的數據進行處理。數據處理的目的是從大量的、原始的數據中抽象和推導出對人們有價值的信息以作為行動和決策的依據。數據處理信息1.1.1數據庫概念
2.數據庫數據庫(DataBase簡稱DB)是按一定組織結構存貯在計算機中相關數據的集合。它不僅包括數據本身,而且還包括相關事物間的聯系。數據庫可以被多個用戶、多個應用程序共享。對數據的增加、刪除、修改和檢索由系統軟件統一進行。數據庫通常由數據庫管理員(DBA)進行管理。數據庫1.1.1數據庫概念3.數據庫管理系統數據庫管理系統(DataBaseManagementSystem,簡稱DBMS)是在操作系統的支持下為用戶提供數據庫建立、數據操縱、數據庫維護的管理軟件。它有以下幾個功能:1)數據定義2)數據操縱功能3)數據庫的運行管理4)數據庫的建立與維護功能1.1.1數據庫概念4.數據庫系統
數據庫用戶應用系統應用開發工具操作系統應用程序員數據庫管理員DBA負責數據庫的規劃、設計、協調、維護和管理等工作DBMS管理數據庫的系統軟件;是數據庫系統的核心。指以數據庫為基礎的應用程序數據庫系統的應用Web服務和脫機/聯機支持設備適應性智能客戶端依賴網絡貧乏的用戶體驗開發復雜瘦客戶端部署困難明顯痕跡DLL地獄胖客戶端豐富的用戶體驗開發效率高快速響應廣泛覆蓋易于變更管理易于部署C/S模式vs.B/S模式數據庫的生命周期設計可用性維護部署分析信息收集試運行生命周期1.1.2數據庫理論發展人工管理無磁盤、操作系統和數據管理軟件數據不能長期保存,無獨立性,不能共享文件系統有磁盤、有專門的數據管理軟件數據可長期保存,有一定獨立性,冗余大數據庫系統
數據結構化,實現數據共享,減少數據冗余數據獨立性高,有統一的數據控制功能1.2數據庫系統模型數據建模是數據庫開發過程中的第一步。概念模型(設計)數據模型(實現)要求真實模擬現實世界容易理解便于在計算機上實現數據和數據模型
為了把現實世界中的具體事物抽象、組織為某一具體DBMS支持的數據模型,通常首先將現實世界抽象為信息世界,然后再將信息世界轉換為機器世界。即:首先把現實世界中的客觀對象抽象為某一種信息結構,然后再把概念級模型轉換為計算機上的DBMS支持的數據模型,也就是組織層數據模型。
現實世界人的認識抽象信息世界:概念模型機器世界:具體的DBMS支持的組織模型1.2數據庫系統模型客觀存在并且可以相互區別的事物稱為實體通常為名詞實體具有實例,實例是實體的單一個體實體可以是:有形的,如人物或商品無形的,如技術級別事件,如音樂會實體與實例1.2數據庫系統模型描述實體的特性稱為屬性一個屬性就是一條特定的信息,它用來:描述一個實體量化一個實體限定一個實體為實體分類指定一個實體一個屬性只有一個值。屬性示例屬性具有值。屬性值可以是數字、字符串、日期、圖像、音頻等。這些被稱為“數據類型”或“格式”。每個屬性都有一種數據類型。屬性是單值的。對于實體的每個實例,每個屬性只有一個值屬性值時常變化,稱為易失屬性。屬性值幾乎不變為非易失屬性。必須具有值的屬性稱為必需屬性??梢杂兄?,也可以為空的屬性是可選屬性1.2數據庫系統模型實體間的對應關系稱為聯系實體間聯系的種類是指一類實體中可能出現的每一個實體與另一類實體中多少個具體實體存在聯系聯系可以歸結為三種類型:一對一聯系、一對多聯系、多對多聯系聯系三種類型的一對一關系(1:1)一對多關系(1:n)多對多關系(m:n)E-R模型E-R圖有三個要素:(1)實體:用矩形表示實體,矩形內標注實體名稱(2)屬性:用橢圓表示屬性,橢圓內標注屬性名稱。并用連線與實體連接起來。(3)實體之間的聯系:用菱形表示,菱形內注明聯系名稱,并用連線將菱形框分別與相關實體相連,并在連線上注明聯系類型。
下面用E-R圖來表示的概念模型示例一對一聯系妻子與丈夫丈夫ID妻子姓名妻子ID丈夫姓名妻子ID11一對多聯系課程教教師教師ID教師姓名課程ID課程名稱課程ID多對多聯系
MN
1M
M1
課程學習學生課程課程名稱課程ID學生學習學生ID學生姓名課程ID學生IDE-R示例選修成績課程號課程名稱學分職工號姓名性別出生日期職稱學號姓名性別班級出生日期班級號班級名稱所屬專業組成時間系別課程學生講授教師組成班級1.2數據庫系統模型數據模型通常由數據結構、數據操作和完整性約束三部分組成。數據結構是研究對象類型的集合。數據操作是指對數據庫中各種對象的實例允許執行的操作的集合,包括操作及有關的操作規則。數據約束條件是一組完整性規則的集合。1.2數據庫系統模型無論系統最終建立在什么類型的數據庫上,一個出色的概念數據模型都會保持不變。即使根本不使用數據庫,數據模型也應保持不變,例如數據最終會存儲在幾張紙上,被放進檔案柜里。網絡模型124356abcdefgⅠⅡ地圖MMⅠⅡabcdefg1234561.2.1網狀模型網狀模型的基本特征是一個父結點允許有多個子結點,一個子結點也允許有多個父結點。有一個以上結點無父結點;至少有一個結點有多于一個的父結點。
用連接指令或指針來確定數據間的顯式連接關系,且具有多對多類型的數據組織方法優點:明確而方便的表示數據間的復雜關系,數據冗余小。缺點:指針數據增加數據量,指針的建立和維護是非常大的任務。層次模型學校學生系老師課程1.2.2層次模型層次模型是以記錄型結點構成的樹型結構。它適合描述現實世界中主次分明的結構關系有且只有一個結點沒有雙親結點,這個結點稱為根結點;根以外的其它結點有且只有一個雙親結點層次型模型數據之間是1:N的關系。優點:存取方便、容易理解等。缺點:結構呆板、要保留大量的索引文件、數據冗余1.2.3關系模型關系模型中數據的邏輯結構是一張二維表,它由行和列組成編號姓名性別出生日期職稱001張三男1970-1-1副教授002李四女1978-10-5助教003王五男1974-9-8講師004趙六男1967-5-21副教授行(元組,記錄)列(字段,屬性)字段名表與表的關系編號姓名性別出生日期職稱部門編號001張三男1970-1-1副教授101002李四女1978-10-5助教101003王五男1974-9-8講師102004趙六男1967-5-21副教授101部門編號部門名稱101計算機系102教務處103辦公室雇員表部門表
主鍵主鍵外鍵父表子表②表和表之間是相互關聯的;Ⅰ.表與表之間通過公共字段(關鍵字)建立關系,分為主鍵和外鍵Ⅱ.主鍵指表中一列或多列的組合,其值唯一標志表中的記錄,值非空。Ⅲ.外鍵指表B中含有與另一表A(父表)的主鍵相對應的列,該列在表B(子表)
中稱為外鍵。1.2.3關系模型關系模型反映屬性間一對一關系,也可反映屬性間一對多的關系和多對多的關系關系的各種操作必須滿足完整性約束條件,關系的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義的完整性在關系數據模型中,實體及實體間的聯系都用表來表示,表以文件形式存儲。1.2.3關系模型優點:關系模型數據結構簡單、清晰,用戶易懂易用;關系模型具有更高的數據獨立性、更好的安全保密性。缺點:許多操作都要求在文件中順序查找滿足特定關系的數據,可能花費很多時間。數據庫設計的任務:對現實系統中的數據進行抽象,得到符合現實系統要求的,能被DBMS支持的數據模型設計的原則:1)一個表描述一個實體或實體間的一種聯系2)避免表之間出現重復字段3)表中的字段應是原始數據和基本數據元素4)表中應有主鍵來唯一地標識表中的記錄5)用外鍵保證表之間的關系關系數據庫的設計可區分的實在之體保證表之間關系的外鍵可重復不是通過計算得到設計的原則一個實體一個表,表有主鍵且唯一表表之間有關系,通過外鍵來連接字段數據要原始,除了外鍵無重復設計的步驟:1)需求分析--關鍵
信息要求:用戶要從數據庫中獲得的信息內容 處理要求:用戶要完成什么處理功能以及處理方式 安全性與完整性要求:用戶要達到的數據安全和數據完整性約束2)數據庫的邏輯設計:實體,屬性,關系3)數據庫的物理設計4)數據庫性能的優化5)重復以上步驟,反復求精,滿意為止關系數據庫的設計識別關鍵對象和實體數據庫的邏輯設計把每一個實體設計為一個表,根據實體的屬性設計表中的字段,對于通過計算得到的信息一般不作為字段出現在表中,比如總價(=單價×數量)把表與表的關系(聯系)體現在表中表A和表B是一對一關系:可以合并,或把表A的主鍵加到表B中當外鍵,反之亦然表A和表B是一對多關系:必須把表A的主鍵加到表B中當外鍵表A和表B是多對多關系:除了生成表A和表B外,還要生成一個關系表:表A主鍵+表B主鍵+關系自己的屬性數據庫設計舉例學生成績關系圖學號姓名性別01101李海男01102王鵬女課程編號課程名稱101計算機基礎102程序設計學號課程編號成績0110110180011011028701102101850110210288學生課程成績表課程表學生表邏輯結構的物理實現根據設計的數據庫的結構和以后的數據量、查詢和更新頻率決定選用的數據庫管理系統根據具體的數據庫管理系統來完成數據庫的物理實現采用數據定義語言(DDL)或圖形化工具來物理實現性能優化改進數據庫的讀寫性能數據庫設計舉例
1.2.4面向對象數據模型面向對象數據模型(OO模型)是用面向對象觀點來描述現實世界實體或對象的邏輯組織、對象間限制、聯系等的模型1.主要的核心概念1)對象對象是由一組數據結構和在這組數據結構上的操作的程序代碼封裝起來的基本單位一個對象包括屬性集合、方法集合和消息集合1.2.4面向對象數據模型2)封裝封裝是對象的外部界面與內部實行隔離的一種抽象,外部與對象的通信只能通過消息封裝隱藏了數據結構與程序代碼等細節,提高程序的可靠性3)類共享同樣屬性和方法集的所有對象的集合稱為對象類,簡稱類一個對象是某一類的一個實例1.2.4面向對象數據模型4)類的層次結構一組類可形成一個類層次子類可以具有父類的所有屬性、消息和方法,還可以有自己獨特的父類沒有的屬性和方法5)繼承子類具有父類特性的機制稱為繼承建模的工具,提供了對現實世界簡明而精確的描述提供信息重用機制,子類可以繼承父類的特性,避免許多重復定義工作1.2.4面向對象數據模型2.面向對象數據庫語言描述面向對象數據庫模式,說明并定義對象實例功能:類的定義與操縱、方法的定義、對象的操縱3.模式演進面向對象數據模式為適應需求的變化而發生變化過程稱為模式演進。模式演進必須保持模式的一致性。它由模式一致性約束來保證。1.2.4面向對象數據模型4.對象-關系數據庫支持面向對象的數據模型支持傳統數據庫系統所有的數據庫特征具有擴充數據類型、支持復雜對象、支持繼承、提供通用的規則系統等功能1.3關系數據庫管理系統1.3.1關系數據庫規范化規范化的數據庫設計可以盡可能地避免系統在應用過程中出現問題。不合理的關系模式可能會造成很多操作上問題:數據冗余更新異常插入異常刪除異常1.3.1關系數據庫規范化1.關系的性質一個關系就是一張二維表。一個關系中要有一個關鍵字,稱為主鍵。關鍵字可以唯一地標識一個元組。每一列上的數據屬于同一種屬性;沒有完全相同的行,兩行之間可以有重復的字段但不能所有字段都重復;行與行間順序可互換;列與列間順序可互換;列的名稱在表中要唯一1.3.1關系數據庫規范化2.數據依賴數據依賴是元組間的相互關系函數依賴如果在關系R中,數據元素Y的取值依賴于數據元素X的取值,那么稱Y函數據依賴于X,或稱為X決定Y,記作X->Y傳遞依賴如果X,Y,Z分別是R中三個屬性,Z函數據依賴于Y,Y函數據依賴于X,那么Z也函數依賴于X,稱為Z傳遞依賴于X1.3.1關系數據庫規范化關系模式要滿足的條件稱為規范化形式,簡稱范式3.第一范式(1NF)元組中的每一個數據項都不可再分不能存在多值屬性,表中屬性都是單值1.3.1關系數據庫規范化4.第二規范化形式(2NF)如果一個關系符合第一范式,并且每一個非關鍵字屬性都完全依賴于主關鍵字,那么這個關系模式符合第二規范化形式簡記為2NF書名讀者姓名讀者部門借書日期無關分解為書名讀者姓名借書日期讀者姓名讀者部門1.3.1關系數據庫規范化5.第三規范化形式(3NF)如果一個關系符合第二范式,并且所有非關鍵字屬性間不存在函數依賴關系,那么稱這個關系符合第三規范化形式,簡記為3NF。3NF的實質是從符合2NF的關系中除去傳遞依賴。1.3.1關系數據庫規范化6.規范化形式間的關系規范化的基本思想是逐步消除數據依賴中不合適的部分,即“一事一地”的模式設計原則。規范化的實質是概念的單一化達到3NF即可滿足一般的應用要求不一定規范化程度越高就一定越好1.3.2關系運算1、傳統的關系運算兩個關系必須具有相同的結構并:關系R與關系S的并由屬于R或屬于S的元組組成。R
SR∪SABC367257723443RABC345723SABC367257723443345R∪S
1.3.2關系運算交:兩個關系R和S的交是由既屬于R又屬于S的元組組成的集合。R
SR
SABC367257723443RABC345723SABC723R∩S1.3.2關系運算差:關系R與關系S的差由屬于R而不屬于S的所有元組組成,即差運算是從R中去掉S中也有的元組。R
SR
SABC367257723443RABC345723SABC367257443R-SABC367S-R1.3.2關系運算2、專門的關系運算投影:用來選擇表中的列選擇:用來選擇表中的行1.3.2關系運算聯接:將兩個關系拼接成一個關系聯接是通過聯接條件來控制的,聯接條件為公共屬性,或者具有相同語義、可比的屬性。1.3.3T-SQL語言簡介SQL語言全稱為結構化查詢語言(StructuredQueryLanguage)綜合統一高度非過程化面向集合的操作方式提供兩種使用方式語言簡潔,易學易用T-SQL概述T-SQL(Transact-SQL)語言是Microsoft公司在SQLServer數據庫管理系統中SQL的實現T-SQL語言由下面4個部分組成數據控制語言(DCL):進行安全性管理數據定義語言(DDL):執行數據庫任務,創建數據庫及其對象數據操縱語言(DML):操縱數據庫中各對象附加的語言元素:包括變量、運算符、函數、流程控制語句和注釋等
T-SQL概述1.標識符數據庫對象的名稱即為其標識符標識符在定義對象時創建,隨后用于引用該對象標識符格式規則:第一個字符必須是下列字符之一:Unicode標準3.2所定義的字母不允許嵌入空格或其他特殊字符:必須用雙引號或括號分隔不符合規則的標識符T-SQL概述2.對象的引用完整的對象名稱由四個標識符組成,其格式如下:[[[server.][database].][schema_name].]object_name指定了所有四個部分的對象名稱稱為完全限定名稱每個對象必須具有唯一的完全限定名稱大多數對象引用使用由三個部分組成的名稱服務器名數據庫名架構名對象名T-SQL概述3.批處理批處理是包含一個或多個Transact-SQL語句的組,SQLServer將批處理的語句編譯為一個可執行單元,稱為執行計劃。執行計劃中的語句每次執行一條編譯錯誤(如語法錯誤)可使執行計劃無法編譯。運行時錯誤(如算術溢出或違反約束)會產生以下影響之一停止執行批處理中當前語句和它之后的語句僅停止執行當前語句,而繼續執行批處理中其他所有語句T-SQL流程控制T-SQL提供了用于編程的代碼語法結構,可以用來進行順序、選擇、循環等程序設計SET順序賦值語句IF…ELSE條件選擇語句BEGIN…END語句塊WHILE,CONTINUE,BREAK條件循環語句,重新開始下次循環,結束循環RETURN無條件退出語句WAITFOR延遲語句GOTO無條件轉移語句TRY…CATCH異常錯誤處理語句GO程序段落標識1.4SQLServer2005簡介1.4.1SQLServer發展SQLServer是微軟公司推出的關系數據庫管理系統用戶可以管理數據庫、設計開發應用程序。C/S(客戶機/服務器)工作模式,它使用TransactSQL語言在服務器與客戶機間傳送請求和答復。B/S(瀏覽器/服務器)工作模式,SQLServer2005與XML結合下支持實現。5個版本,企業版(Enterprise)、開發版(Development)、工作組版(Workgroup)、標準版(Standard)、簡易版(Express)。1.4.2SQLServer2005新增功能企業數據管理數據庫開發商業智能第三方應用程序MicrosoftSQLServer報表功能分析功能集成功能通知功能復制功能關系型數據庫管理工具綜合的、完整的數據平臺1.4.3安裝SQLServer20051.安裝SQLServer2005的系統要求了解SQLServer2005的版本版本描述Enterprise具備高擴展性和性能優異的企業級數據庫服務器Standard部門級應用程序數據庫服務器Workgroup部門或者分公司辦公用的數據庫Express斷開的客戶端或者獨立的應用程序的SQLServer版本Mobile智能設備的壓縮型數據庫Developer只有開發和測試許可的Enterprise版本SQLServer2005的硬件要求硬件要求處理器
IntelPentiumⅢ
相容或更高性能的處理器,運行速度在600MHz或更高水平
1GHz或更高性能的處理器
內存Enterprise,Developer,Workgroup以及StandardEditions:
512MB(1GB或者更高)ExpressEdition:
192MB(512MB或者更高)硬盤數據庫組件:至少150MBAnalysisServices:至少35MBReportingServices:至少40MBSQLServer2005的軟件要求ExpressStandardWorkgroupEnterpriseDeveloperWindowsServer2003SP1(allPCeditions)üüüüüWindowsXPSP2(HomeEdition)üüWindowsXPSP2(Professional,MediaCenterandTabletEditions)üüüüWindows2000ProfessionalSP4üüüüWindows2000ServerSP4(alleditions)üüüüüSQLSetupMSI功能選擇以及安裝系統一致性檢查器安裝類型本地/遠程組件升級2.安裝SQLServer2005系統一致性檢查器檢查安裝要求
軟件要求
硬件要求
安全性要求
系統狀態要求
安裝組件選項組件描述SQLServerDatabaseServices數據庫引擎、復制以及全文本搜索AnalysisServices為在線分析和數據挖掘準備的服務和工具ReportingServices用于生成和分發報告NotificationServices用于開發和部署某種特殊應用程序的平臺IntegrationServices用于傳輸數據的工具和組件工作站組件、聯機叢書和開發工具工具和文檔.安裝SQLServer實例默認實例此實例由運行它的計算機的網絡名稱來標識命名實例命名實例由計算機網絡名稱加實例名來標識SQLServer服務服務使用域用戶賬戶指定一個使用Windows驗證的域用戶賬戶使用LocalService賬戶一種內置的特殊賬戶,類似于授權用戶賬戶使用NetworkService賬戶使用計算機賬戶憑據來訪問網絡資源數據庫身份驗證簡介Windows驗證SQLServer驗證驗證模式排序規則注意事項Windows排序規則基于Windows相關區域設置規則SQL排序規則當指定SQL排序規則時,SQLServer沿用了SQLServer早期版本中指定的代碼頁號和排序次序的常見組合屬性默認排序規則和排序次序如果未指定排序規則或選擇排序次序,則SQLServer將應用此默認值3.升級到SQLServer2005版本SQLServer2000ServicePack3(SP3)或更新版本SQLServer7.0SP4或更新版本升級顧問分析安裝的SQLServer2000或者SQLServer7.0組件
1.4.4服務器的后臺服務
SQLServer2005安裝安畢后,其服務器端組件是以“服務”的形式在計算機系統中運行,“服務”是一種在后臺運行的應用程序??梢栽诓僮飨到y【管理工具】的【服務】中查看。1.SQLServer數據引擎,是SQLServer2005的核心服務。2.SQLServerActiveDirectoryHelper支持與活動目錄ActiveDirectory的集成。3.SQLServerAgent代理服務,按計劃自動執行數據庫管理員安排的作業1.4.4服務器的后臺服務4.SQLServerAnalysisServices提供聯機分析處理(OLAP)和數據挖掘的服務。5.SQLServerBrowser提供連接信息6.SQLServerFullTextSearch快速創建結構化和半結構化數據的全文索引7.SQLServerIntegrationServices執行工作流功能的任務8.SQLServerReportingServices管理、執行、呈現、計劃和傳遞報表。9.SQLServerVSSWriter它是SQLServer編寫服務器1.4.5客戶端上的管理工具1.SQLServerManagementStudio為以下內容提供了管理控制臺:服務器網絡配置客戶端網絡配置SQLServerServicesSQLServerManagementStudio主要的數據庫管理工具:集成的管理和開發平臺集中管理所有的SQLServer組件圖形化和基于代碼的對象管理基于項目的腳本管理1.4.5客戶端上的管理工具2.ReportingServices配置它是用于報表服務配置,管理報表服務器。在【開始】|【所有程序】|【MicrosoftSQLServer2005】|【配置工具】菜單中。3.SQLServerConfigurationManagerSQLServer配置管理器,用于管理與SQLServer有關的連接服務。在【開始】|【所有程序】|【MicrosoftSQLServer2005】|【配置工具】菜單中。4.SQLServer錯誤和使用情況報告在【開始】|【所有程序】|【MicrosoftSQLServer2005】|【配置工具】菜單中。5.外圍應用配置器工具通過最小化活動的功能減少潛在的安全威脅。配置SQLServerServices配置功能組件1.4.5客戶端上的管理工具6.SQLServerProfiler
它是SQLServer事件探查器,用于從服務器上捕獲SQLServer2005事件的工具。可以查找導致SQLServer運行慢的查詢;捕獲導致某個問題的SQL語句;監視SQLServer性能等。它在【開始】|【所有程序】|【MicrosoftSQLServer2005】|【性能工具】菜單中。7.數據庫引擎優化顧問可以完成對數據庫的優化。它在【開始】|【所有程序】|【MicrosoftSQLServer2005】|【性能工具】菜單中。8.VisualStudio2005
利用它可以創建與SQLServer2005相連的AnalysisServices項目、IntegrationServices項目、報表服務器項目和報表模型項目等。它在【開始】|【所有程序】|【MicrosoftVisualStudio2005】中。1.4.6啟動及配置SQLServer2005
1.連接到服務器通過客戶端管理工具SQLServerManagementStudio可以連接到服務器上。2.添加服務器注冊把常用的服務器進行注冊可以方便以后的管理和使用。在SQLServerManagementStudio的【已注冊服務器】窗口里列出的是常用的服務器與實例名。但這里保存的只是服務器連接信息,并不是真正已連接到服務器上了,在連接時還要指定服務器類型、名稱、身份驗證信息。主要內容
熟悉數據庫及其對象學習文件和文件組及事務日志熟練掌握創建和管理數據庫2024/1/1932.1SQLSERVER中數據庫概述
2.1.1數據庫及其對象
1.數據庫在SQLServer2005中數據庫是數據和數據庫對象的集合,以磁盤文件的方式存放在計算機里。2024/1/194數據庫數據庫描述master對用戶數據庫和SQLServer的操作進行總體控制model提供創建新用戶數據庫所需的模板和原型tempdb提供臨時表和其他臨時工作存儲量所需的存儲區msdb提供調度信息和作業歷史記錄所需的存儲區distribution存儲在復制過程中使用的歷史記錄和事務數據AdventureWorks提供用作學習的樣本數據庫2024/1/1952.1.1數據庫及其對象2.常見的數據庫對象
表:是具體組織和存儲數據的對象,由列和行組成。記錄:在表的結構建立完畢之后,表中的每一行數據就是一條記錄。索引:是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單。約束:是SQLServer實施數據一致性和數據完整性的方法或者說是一套機制,它包括主鍵約束、外鍵約束、Unique約束、Check約束、缺省值和允許空等六種機制。2024/1/1962.1.2文件和文件組1.文件
文件是數據庫的操作系統文件,SQLServer2005中的每個數據庫都由多個文件組成,SQLServer2005數據庫有以下三種類型的文件。
1)主要數據文件 2)次要數據文件 3)日志文件2024/1/197存儲數據的方法日志文件:.ldf數據文件:
.mdfor.ndf區:8個連續的8KB頁頁:8KB2024/1/1982.1.2文件和文件組2.文件組
出于方便對數據庫文件的管理的考慮,可以將數據庫文件分成不同的文件組。系統管理員可以為每個磁盤驅動器創建文件組,然后將特定的表、索引、或表中的text、ntext或image數據指派給特定的文件組。SQLServer2005提供了三種文件組類型:1)主要文件組2)用戶自定義文件組3)默認文件組2024/1/199AdventureWorks數據庫
文件組默認文件組OrderHistoryGroupE:\C:\D:\AdventureWorks_
Log.IdfAdventureWorks_
Data.mdfOrdHist2.ndfOrdHist1.ndfsys...
sys...
sysusers
sysobjects
...
SalesOrderHeader
Customer
Product
OrdHistYear2
OrdHistYear1
創建文件組的場合在單個文件組中使用多個文件使用多個文件組控制物理數據布局1012024/1/1
2.1.3事務日志
事務日志是存放恢復數據所需的所有信息,是數據庫中已發生的所有修改和執行每次修改的事務的一連串記錄。當數據庫損壞時,管理員可以使用事務日志還原數據庫。每一個數據庫必須至少擁有一個事務日志文件,允許擁有多個日志文件。事務日志是針對數據庫改變所做的記錄,它可以記錄針對數據庫的任何操作,并將記錄結果保存在獨立的文件中。對于任何事務過程,事務日志都有非常全面的記錄,根據這些記錄可以將數據文件恢復成事務前的狀態。2024/1/1102配置事務日志
數據頁被寫入緩沖區緩存2修改被記錄在磁盤上的事務日志文件中3檢查點將已完成的事務寫入到數據庫中4應用程序發出數據修改操作1提示:為了提高性能,應將日志文件放在單獨的驅動器上磁盤磁盤緩沖區緩存2024/1/11032.1.4數據庫設計過程
數據庫設計是建立數據庫及其應用系統的核心和基礎,它要求對于指定的應用環境,構造出較優的數據庫模式,建立起數據庫應用系統,并使系統能有效地存儲數據,滿足用戶的各種應用需求。階段:1.需求分析階段2.概念設計階段3.邏輯結構設計階段4.物理結構設計階段5.數據庫實施階段6.數據庫運行和維護階段2024/1/11042.2數據庫管理2.2.1數據庫創建創建數據庫的參數數據庫文件包括主文件、次要文件和事務日志文件數據庫大小的選項:數據文件初始大小日志文件初始大小文件增長2024/1/1105model數據庫主文件
事務日志
次要文件
2.2.1數據庫創建1.用SQLServerManagementStudio創建數據庫2024/1/1106數據庫選項通過使用下面的工具設置數據庫選項:SQLServerManagementStudioALTERDATABASE語句選項類別描述自動控制自動行為是否為統計表的,數據庫是關閉的還是收縮的狀態控制數據庫是否是在線的,哪些用戶可以連接到數據庫以及數據庫是否為只讀的游標控制游標行為和作用域恢復控制數據庫的恢復模型雜項控制ANSIcompliance選項,例如ANSI空值和遞歸觸發器2024/1/1107最佳實踐為了避免數據讀寫時對磁盤的爭搶,請不要將數據文件置于包含了操作系統文件的磁盤中。將數據文件和事務日志文件分開放置。由于減少了數據文件和事務日志文件對磁盤的爭搶,這種分隔將給數據庫帶來最佳的性能。如果可能,應將tempdb數據庫放置在一個獨立的磁盤驅動器上,例如RAID10或者RAID5系統中。這樣,在tempdb數據庫被大量使用的時候,通過獨立的磁盤驅動器,數據庫可以并行地處理tempdb的操作,因此能獲得最佳性能。2024/1/1108課堂練習:創建數據庫你需要為公司創建一個名為Sales的數據庫,請使用SSMS按照要求實現該目標。請注意,將數據庫的不同文件放置于和操作系統不同的分區有助于提高數據庫的性能。2024/1/11092.2.1數據庫創建2.用T-SQL命令創建數據庫語法格式如下:2024/1/1110CREATEDATABASEdatabase_name[ON
[<filespec>[,...n]][,<filegroup>[,...n]]][LOGON{<filespec>[,...n]}]<filespec>::=[PRIMARY]([NAME=logical_file_name,]FILENAME='os_file_name‘[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment])[,...n]<filegroup>::=FILEGROUPfilegroup_name<filespec>[,...n]新創建的數據庫的名稱指出用來存儲數據庫中數據部分的磁盤文件(數據文件)指定主文件組中的主文件指定用來存儲數據庫日志的磁盤文件指定數據文件或日志文件的邏輯名指定數據文件或日志文件的操作系統文件名,包括文件名和路徑指定數據文件或日志文件的初始大小,默認單位為MB指定數據文件或日志文件可以增長到的最大容量,默認單位為MB指定數據文件或日志文件的增長幅度,默認單位為MB2024/1/1111使用Transact-SQL查詢工具可以使用SQL查詢分析器以圖表的方式查看查詢語句和結果,也可以使用它編寫、修改和保存T-SQL腳本。SQL查詢分析器還提供了一些工具,用于分析SQLServer如何解釋和執行Transact-SQL語句。2024/1/1112用T-SQL命令創建數據庫SQL代碼:ch2.sql2024/1/1113--例2-1CREATEDATABASE本校教師數據庫--最簡單的創建數據庫的語句,所有設置都使用默認值--例2-2CREATEDATABASE成績數據庫--只指定數據庫的數據文件的地址ON(NAME='成績數據庫',
FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\成績數據庫.mdf')用T-SQL命令創建數據庫2024/1/1114--例2-3CREATEDATABASEstudentON--允許顯式定義用于存儲數據的文件--下面定義數據庫主文件(NAME='studentdata',--主文件邏輯名稱
FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\studentdata.mdf',--操作系統文件名稱,包含路徑
SIZE=10MB,--主文件初始大小
MAXSIZE=50MB,--主文件最大大小
FILEGROWTH=25%--自動增長,0表示未啟用自動增長)--下面定義數據庫日志文件LOGON(NAME='studentlog',--日志文件邏輯名稱
FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\studentlog.ldf',--包含路徑的操作系統文件名稱
SIZE=10MB,--日志文件初始大小
MAXSIZE=50MB,--日志文件最大大小
FILEGROWTH=2MB--自動增長,0表示未啟用自動增長)2.2.2修改數據庫配置1.用SQLServerManagementStudio修改數據庫配置1)啟動SQLServerManagementStudio,連接上數據庫實例,展開樹型目錄,定位到要修改的數據庫上。2)右擊要修改的數據庫,彈出快捷菜單,選擇【屬性】選項3)修改數據庫配置2024/1/1115用T-SQL命令修改數據庫配置ALTERDATABASEdatabase{ADDFILE<filespec>[,...n][TOFILEGROUPfilegroup_name]|ADDLOGFILE<filespec>[,...n]|REMOVEFILElogical_file_name
|ADDFILEGROUPfilegroup_name|REMOVEFILEGROUPfilegroup_name|MODIFYFILE<filespec>|MODIFYNAME=new_dbname|MODIFYFILEGROUPfilegroup_name{filegroup_property|NAME=new_filegroup_name}向指定的文件組添加新的數據文件添加新的事務日志文件刪除某一文件添加一個文件組刪除某一文件組修改某個文件的屬性修改數據庫的名字修改某一文件組的屬性:READONLY(只讀),READWRITE(讀寫),DEFAULT(默認)2024/1/1116用T-SQL命令修改數據庫配置SQL代碼:ch2.sql2024/1/1117--例2-5ALTERDATABASEstudentMODIFYNAME=學生數據庫--修改數據庫名(原數據庫必須存在)--例2-6ALTERDATABASE成績數據庫ADDFILE(NAME='新增的數據文件',
FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\成績數據庫新增的數據文件.ldf')2.2.3分離與附加數據庫
分離數據庫1.用SQLServerManagementStudio分離數據庫展開樹形目錄,定位到要分離的數據庫上單擊鼠標右鍵,在彈出的快捷菜單中,選擇【任務】|【分離】命令。2024/1/11182.用T-SQL命令分離數據庫sp_detach_db[@dbname=]‘dbname’--例2-7sp_detach_db'成績數據庫'2024/1/1119要分離的數據庫名稱
附加數據庫1.用SQLServerManagementStudio附加數據庫1)在數據庫節點上單擊鼠標右鍵,彈出快捷菜單,選擇【附加】命令。2)出現【附加數據庫】對話框,單擊【添加】按鈕,出現【定位數據庫文件】對話框,在這個對話框里,默認只顯示數據庫的數據文件,即“mdf”文件。2024/1/11202.用T-SQL命令附加數據庫CREATEDATABASEdatabase_nameON<filespec>[,...n]FOR{ATTACH[WITH<service_broker_option>]|ATTACH_REBUILD_LOG}2024/1/1121這里必須給出正確的文件路徑表示附加,不能省略--例2-8CREATEDATABASE成績數據庫ON(FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\成績數據庫.mdf')--必須給出正確的文件路徑FORATTACH--附加2.2.4脫機與聯機數據庫
脫機數據庫1.用SQLServerManagementStudio脫機數據庫1)展開樹形目錄,定位到要脫機的數據庫上單擊鼠標右鍵,在彈出的快捷菜單中,選擇【任務】|【脫機】命令。2)彈出【使數據庫脫機】對話框,單擊【關閉】按鈕即可完成操作。2024/1/11222.用T-SQL命令脫機數據庫ALTERDATABASEdatabase_namesetOFFLINE2024/1/1123設置為脫機--例2-9ALTERDATABASE成績數據庫setOFFLINE
聯機數據庫1.用SQLServerManagementStudio聯機數據庫1)展開樹形目錄,定位到要聯機的數據庫上單擊鼠標右鍵,在彈出的快捷菜單中,選擇【任務】|【聯機】命令。2)彈出【使數據庫聯機】對話框,單擊【關閉】按鈕即可完成操作2024/1/11242.用T-SQL命令聯機數據庫ALTERDATABASEdatabase_namesetONLINE2024/1/1125設置為聯機--例2-10ALTERDATABASE成績數據庫setONLINE2.2.5刪除數據庫1.用SQLServerManagementStudio刪除數據庫在【對象資源管理器】中,定位在目標數據庫上單擊鼠標右鍵,在彈出的快捷菜單中選擇【刪除】。2.用T-SQL命令刪除數據庫DROPDATABASEdatabase_name[,...n]2024/1/1126可同時刪除多個數據庫--例2-11DROPDATABASEBJGL2.2.6收縮數據庫1.用ManagementStudio收縮數據庫和文件1)在目標數據庫上單擊鼠標右鍵,在彈出的快捷菜單中選擇【任務】|【收縮】|【數據庫】。2)出現【收縮數據庫】對話框,選中并設置相應的值,點擊【確認】。3)如果想收縮數據庫的指定數據文件或日志文件,可右擊相應的數據庫,彈出快捷菜單,選擇【任務】|【收縮】|【文件】4)出現【收縮文件】對話框,選中并設置相應的值,點擊【確認】。2024/1/11272.用T-SQL命令收縮數據庫和文件1)使用T-SQL收縮數據庫DBCCSHRINKDATABASE(database_name[,target_percent][,{NOTRUNCATE|TRUNCATEONLY}])2024/1/1128要收縮的數據庫名稱收縮數據庫的比例被釋放的文件空間依然保持在數據庫文件的范圍內。如果未指定,則被釋放的文件空間將被操作系統回收利用將數據文件中的任何未使用的空間釋放給操作系統,使用時忽略target_percent2.用T-SQL命令收縮數據庫和文件2)使用T-SQL收縮文件DBCCSHRINKFILE({file_name|file_id}{[,target_size]|[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]})2024/1/1129收縮文件的邏輯文件名稱或者文件ID號將文件縮小到指定的長度,以MB為單位。如果缺省該項,文件將盡最大可能進行縮小將指定文件上的數據全部遷移到本文件組的其它文件上,以后的操作將不會再在該文件上增加數據--例2-12USE成績數據庫goDBCCSHRINKFILE(成績數據庫,1)主要內容了解SQLServer2005的數據類型掌握表的創建和表結構的修改方法掌握表中數據的插入、刪除和修改操作掌握表中數據的檢索方法2024/1/1130三大知識塊創建與管理表創建表修改表刪除表管理表中的數據輸入數據刪除數據修改數據檢索表中的數據基本查詢高級查詢數據匯總2024/1/11313.1表的創建及修改3.1.1數據類型3.1.2創建表3.1.3修改表結構3.1.4刪除表3.1.5臨時表2024/1/11323.1.1數據類型數據類型決定了數據在計算機中的存儲格式,代表不同的信息類型SQLServer2005定義了多種系統數據類型允許用戶自定義數據類型2024/1/1133系統提供的數據類型種類數據類型數字整數int,bigint,smallint,tinyint精確數值decimal,numeric近似數值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_variant2024/1/1134貨幣數據類型貨幣數據類型專門用于貨幣數據處理,包括:money:-263~263-1,精確到貨幣單位的10‰,2個4B整數構成smallmoney:-214748.3648~214748.3647,精確到貨幣單位的10‰,2個2B整數構成28.56第1個4字節.第2個4字節第1個2字節.第2個2字節貨幣值的整數部分貨幣值的小數部分2024/1/11351353.1.2創建表表是數據庫中最重要的對象,表的結構決定了數據在數據庫中的存儲方式兩種創建表的方式:1.在SQLServerManagementStudio中創建表2.用T-SQL語句創建表2024/1/11362024/1/1137學號姓名性別出生年月家庭住址9910100201李婷女1980/1/20吉林省吉林市9910100202趙祝光男1980/12/4江蘇省南京市9910100203張艷波女1981/2/5江蘇省蘇州市9910100204姜建梅女1980/10/12內蒙古包頭9910100205姜德進男1981/5/6江蘇省揚州市9910100206李玉道男1982/4/9北京市東城區學生表SQLServerManagementStudioCREATETABLE學生(學號char(10)PRIMARYKEY,姓名varchar(8)NULL,性別char(2)NULL,出生年月datetimeNULL,家庭住址varchar(50)NULL,)T-SQL語句12取列名定義數據類型定義數據類型創建表用SQLServerManagementStudio創建表1)進入SSMS,選擇表節點,單擊右鍵,在彈出的快捷菜單中選擇“新建表”2)打開表設計器2024/1/1138輸入列名①選擇數據類型②設置是否為NULL③用SQLServerManagementStudio創建表3)設置屬性和約束-保證數據完整性2024/1/11394.3.1數據完整性概念數據完整性是指數據庫中的數據在邏輯上的一致性和準確性。
在關系數據庫系統中,重要的完整性有:實體完整性域完整性參照完整性用戶自定義的完整性4.3SQLSERVER數據完整性2024/1/11404.3.2域完整性域完整性又稱列完整性,是指給定列的輸入有效性。強制域有效性的方法有:限制類型(定義數據類型)取值范圍(通過CHECK約束、定義DEFAULT默認值、定義NOTNULL/NULL來實現)定義數據類型設置是否為NULL2024/1/1141用SQLServerManagementStudio創建表設置默認值:沒有輸入時系統自動填入值2024/1/1142在這里直接輸入需要的值用SQLServerManagementStudio創建表設置檢查約束:定義列的取值范圍右擊列,彈出快捷菜單,選擇“CHECK約束”2024/1/1143點這里打開CHECK約束對話框,選擇“添加”2024/1/1144用SQLServerManagementStudio創建表點這里輸入正確的表達式:2024/1/1145用SQLServerManagementStudio創建表在這里直接輸入或點這個在彈出的對話框中輸入完成后點這里點關閉完成設置4.3.3實體完整性實體完整性又稱行完整性,是指將行定義為特定表的惟一實體。要求每一個表中都有一個主鍵,并且其值不能為空且不允許有重復的值與之對應。實體完整性強制表的標識符列或主鍵的完整性(通過UNIQUE約束、PRIMARYKEY約束或IDENTITY屬性來實現)。2024/1/1146設置IDENTITY屬性-標識規范,只能應用于int型數據,系統自動編號,不能手工輸入2024/1/1147用SQLServerManagementStudio創建表展開+設定標識增量和標識種子2024/1/1148用SQLServerManagementStudio創建表選擇是設定起始編號設定編號步長設定主鍵約束-每個表必須有主鍵約束!2024/1/1149用SQLServerManagementStudio創建表單列主鍵-選中該列點右鍵,在彈出的快捷菜單中選中設置主鍵組合主鍵-選中幾列后點右鍵,在彈出的快捷菜單中選中設置主鍵設置UNIQUE唯一性約束:該列不能輸入重復值右擊列,彈出快捷菜單,選擇“索引/鍵”2024/1/1150用SQLServerManagementStudio創建表點這里打開索引/鍵對話框,選擇“添加”2024/1/1151用SQLServerManagementStudio創建表點這里選擇“唯一鍵”2024/1/1152用SQLServerManagementStudio創建表選擇類型指定使用唯一鍵的列2024/1/1153用SQLServerManagementStudio創建表點這里彈出列選擇對話框選擇家庭地址,然后點確定點關閉完成設置4.3.4參照完整性參照完整性又稱引用完整性,是指主表中的數據與從表中的數據的一致性。在輸入或刪除其中一個表的記錄時,另一個表對應的約束應滿足,即參照完整性保持表之間已定義的關系。在SQLServer中,參照完整性基于外鍵與主鍵之間或外鍵與惟一鍵之間的關系(通過FOREIGNKEY約束)。確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值,如果鍵值更改了,那么在整個數據庫中,對該鍵值的所有引用要進行一致的更改。外鍵約束是保證關系數據庫數據完整性的最重要的約束,建立了表與表之間的聯系。2024/1/1154設置外鍵約束選中列點右鍵,在彈出的快捷菜單中選擇“關系”2024/1/1155用SQLServerManagementStudio創建表點這里打開外鍵關系對話框,選擇“添加”2024/1/1156用SQLServerManagementStudio創建表點這里指定主外鍵關系的列2024/1/1157用SQLServerManagementStudio創建表點這里彈出表和列選擇對話框選擇主鍵表和主鍵列,然后點確定點關閉完成設置使用FOREIGNKEY約束需要注意的問題1.一個表最多可以有可以建立一個或者多個FOREIGNKEY約束,最多可以建253個FOREIGNKEY約束。2.創建FOREIGNKEY約束的主表字段可以是主鍵約束也可以是UNIQUE約束。3.創建FOREIGNKEY約束的表可以和同數據庫中其他表間建立約束,也可以和它本身建立FOREIGNKEY約束。例如:總經理也是公司成員中的一員,則可以將總經理字段(zjl)和成員(cy)字段間建立FOREIGNKEY約束。4.建立FOREIGNKEY約束的主表和子表間兩個字段的數據類型和數據寬度必須相同。5.創建FOREIGNKEY約束前應該確定那個表是主表,那個是子表。假如A表刪了一條記錄,表B也要刪一條對應的記錄,這時候應該在表B上設定關系,A是主表,B是子表(有的稱為從表)。2024/1/1158最后保存表,完成創建2024/1/1159用SQLServerManagementStudio創建表點擊保存輸入表名點擊確定課堂練習:創建表在這個交互式多媒體中,你可以了解如何使用SQLServerManagementStudio創建表,請注意你需要為表指定一個自動增長的列作為ID,同時另外一列將擁有默認值。2024/1/1160語法形式:
CREATETABLEtable_name (column_name1data_type [DEFAULTconstant_expression] [IDENTITY(SEED,INCREMENT)] [NULL|NOTNULL] [,…n] )[ON{filegroup|DEFAULT}]表的名字表中列的名字。列名在表中必須唯一,列的命名必須遵循數據庫對象的命名規則列的數據類型和寬度指定所定義的列的默認值,默認值由常量表達式確定定義該列是一個標識列,必須同時定義起始值和增值標識列的起始值,即插入表的第一行數據的標識列的值標識列的增值,即插入表的最近一行相對于前一行標識列數據值的增量指出該列是否允許為空,默認為NULL指定在哪個文件組上創建表。DEFAULT表示將表存儲在默認文件組中用T-SQL語句創建表2024/1/1161用T-SQL語句創建表2024/1/1162--例3-1創建一個教師表USEEducate--在Educate數據庫中創建表GOCREATETABLE教師表(教師編號INTIDENTITY(1,1)NOTNULL,--設置標識規范教師姓名CHAR(8)NOTNULL,職稱CHAR(6)DEFAULT'講師',--設置默認值約束專業方向CHAR(20),系CHAR(10),聯系方式CHAR(30))
使用T-SQL語句也可以實現數據完整性實體完整性域完整性參照完整性定義數據類型:
定義NOTNULL/NULL:2024/1/1163用T-SQL語句創建表column_namedata_type列名列的數據類型column_namedata_typeNOTNULL定義該列不能為空,可以NULL為默認情況,不需要定義定義DEFAULT默認值約束例:給學生表的性別列添加默認值約束2024/1/1164用T-SQL語句創建表column_namedata_typeDEFAULT常量表達式指定該列的默認值,常量表達式可以是數值,字符串,函數等CREATETABLE學生(學號char(10)PRIMARYKEY,姓名varchar(8)NULL,性別char(2)NULLDEFAULT'男',出生年月datetimeNULL,家庭住址varchar(50)NULL)定義檢查約束方法一:方法二:在定義完所有的列之后,加上2024/1/1165用T-SQL語句創建表column_namedata_typeCHECK(expression)定義要檢查的條件,可以是任何規范的表達式[CONSTRAINTconstraint_name]CHECK(expression)[約束約束名]省略則系統自動為約束提供一個名字例:給學生表的性別列添加檢查約束2024/1/1166用T-SQL語句創建表CREATETABLE學生(學號char(10)PRIMARYKEY,姓名varchar(8)NULL,性別char(2)NULLDEFAULT'男'CHECK(性別='男'or性別='女'),--直接在列后面加檢查約束出生年月datetimeNULL,家庭住址varchar(50)NULL)--或者:CREATETABLE學生(學號char(10)PRIMARYKEY,姓名varchar(8)NULL,性別char(2)NULLDEFAULT'男',出生年月datetimeNULL,家庭住址varchar(50)NULL,
CONSTRAINTck_sexCHECK(性別='男'or性別='女')--在定義完所有列后,再加檢查約束)--約束與約束名可以省略設置IDENTITY屬性例:添加標識列(簡單的例子)2024/1/1167用T-SQL語句創建表column_namedata_typeIDENTITY(SEED,INCREMENT)定義標識列,包括2個參數起始值:插入表中的第一行數據的值增量值:隔多少開始編號只能是整型數據CREATETABLE學生(學號intidentity(1000,1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樂趣初二語文作文
- 滾動軸承加工工藝學考核試卷
- 上海高三語文二模作文青浦
- 彈射玩具企業生產工藝改進與創新考核試卷
- 稀土金屬壓延加工質量控制流程優化實踐考核試卷
- 刨花板行業綠色采購與原材料供應鏈管理考核試卷
- 入院護理宣教 2
- 4-3鐘控電位觸發器
- 山東省滕州市實驗高級中學2024?2025學年高一下學期第一次調研考試 數學試題(含解析)
- 四川省自貢市高新區六校2025屆初三第三次聯考(浙江版)生物試題試卷含解析
- 機器人自主導航與地圖構建考核試卷
- 吉林銀行總行社會招聘筆試真題2023
- 2024年現場綜合化維護工程師三級認證考試試題及答案
- 西藏拉薩市2025屆高三理綜下學期一模試題
- 助貸機構及人員從業禁止
- DL-T+748.8-2021火力發電廠鍋爐機組檢修導則 第8部分:空氣預熱器檢修
- 《無人機測繪技能訓練模塊》課件-無人機航測影像獲取外業
- CJJT135-2009 透水水泥混凝土路面技術規程
- 營造和諧人際交往含內容模板
- SH/T 3224-2024 石油化工雨水監控及事故排水儲存設施設計規范(正式版)
- 小學六年級期中考試家長會
評論
0/150
提交評論