數據庫技術與應用完整版課件最全ppt教程(最新)_第1頁
數據庫技術與應用完整版課件最全ppt教程(最新)_第2頁
數據庫技術與應用完整版課件最全ppt教程(最新)_第3頁
數據庫技術與應用完整版課件最全ppt教程(最新)_第4頁
數據庫技術與應用完整版課件最全ppt教程(最新)_第5頁
已閱讀5頁,還剩414頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫技術與應用第1章 數據庫技術概論數據庫技術的產生與發(fā)展數據庫系統(tǒng)數據模型關系數據庫SQL Server 2008數據庫概述Transact-SQL語言簡介關系模型、關系運算、關系數據庫設計 2問題提出什么是數據庫技術?數據庫的地位如何?什么是大數據?什么是云計算?31.1 數據庫技術的產生與發(fā)展人工管理階段 文件管理階段 數據庫管理階段 新型數據庫系統(tǒng) 41.1 數據庫技術的產生與發(fā)展人工管理階段(40年代中50年代中) 程序與數據是一個整體,一個程序中的數據無法被其他程序使用,因此程序與程序之間存在大量的重復數據。硬件方面:沒有磁盤等直接存取的外存儲器。軟件方面:沒有對數據進行管理的系

2、統(tǒng)軟件。特點不能共享數據;程序復雜;數據無法長期保存。561.1 數據庫技術的產生與發(fā)展文件管理階段(50年代末60年代中) 計算機開始用于大量數據管理。硬件方面:有了直接存取的大容量外存儲器軟件方面:出現了操作系統(tǒng)(包含文件系統(tǒng))特點程序共享數據;可長期保存數據;數據冗余度較大;程序對數據依賴性較強;缺乏對數據的統(tǒng)一控制管理。1.1 數據庫技術的產生與發(fā)展數據庫管理階段(60年代末現在) 數據庫是在數據庫管理系統(tǒng)的集中控制之下,按一定的組織方式存儲起來的、相互關聯的數據集合。特點 數據的共享性高,冗余度低,易擴充數據獨立性高 數據由DBMS統(tǒng)一管理和控制781.1數據庫技術的產生與發(fā)展新型數

3、據庫系統(tǒng)分布式數據庫(Distributed Database System,DDBS)是地理上分布在計算機網絡的不同結點,邏輯上屬于同一系統(tǒng)的數據庫系統(tǒng);支持局部應用,存取本地結點或另一結點的數據,也支持全局應用,同時存取兩個或兩個以上結點的數據。特點數據是分布的數據是邏輯相關的結點的自治性分布式數據庫系統(tǒng)主要應用于航空、鐵路、旅游訂票系統(tǒng)、銀行通存通兌系統(tǒng)、水陸空聯運系統(tǒng)、跨國公司管理系統(tǒng)、連鎖配送管理系統(tǒng)等等。91.1 數據庫技術的產生與發(fā)展新型數據庫系統(tǒng)面向對象數據庫系統(tǒng)(Object-Oriented Database System,OODBS)是將面向對象的模型、方法和機制,與先進

4、的數據庫技術有機地結合而形成的新型數據庫系統(tǒng)?;驹O計思想一方面把面向對象語言向數據庫方向擴展,使應用程序能夠存取并處理對象另一方面擴展數據庫系統(tǒng),使其具有面向對象的特征,提供一種綜合的語義數據建模概念集,以便對現實世界中復雜應用的實體和聯系建模。面向對象數據庫系統(tǒng)對一些特定應用領域(如CAD等),能較好地滿足了其應用需求。1.1 數據庫技術的產生與發(fā)展新型數據庫系統(tǒng)多媒體數據庫系統(tǒng)(Multimedia Database System,MDBS)能存儲和管理多種媒體的數據庫系統(tǒng)。特點如果能夠對多媒體數據和傳統(tǒng)的字符型數值數據采用統(tǒng)一的方法進行管理,該系統(tǒng)將成為最理想、最有效的數據管理方法。多

5、媒體數據庫系統(tǒng)主要應用于軍事、醫(yī)學病例管理、航天測控、商標管理、地理信息系統(tǒng)、數字圖書館、期刊出版系統(tǒng)等。101.1 數據庫技術的產生與發(fā)展新型數據庫系統(tǒng)數據倉庫技術 (Data Warehouse,DW)數據倉庫是一個面向主題的、集成的、相對穩(wěn)定的、反映歷史變化的數據集合,用于支持管理決策。數據倉庫是一個環(huán)境 。數據倉庫系統(tǒng)包括:數據倉庫技術;聯機分析處理技術(OLAP);數據挖掘技術(DM);數據倉庫技術應用領域遍及通信、 零售業(yè)、金融以及制造業(yè)。 111.1 數據庫技術的產生與發(fā)展新型數據庫系統(tǒng)12內存數據庫系統(tǒng)(Main Memory DataBase,MMDB)是實時系統(tǒng)和數據庫系統(tǒng)

6、的有機結合。拋棄了磁盤數據管理的傳統(tǒng)方式,基于全部數據都在內存中重新設計了體系結構,并且在數據緩存、快速算法、并行操作方面也進行了相應的改進,所以數據處理速度比傳統(tǒng)數據庫的數據處理速度要快很多,一般都在10倍以上。特點“主拷貝”或“工作版本”常駐內存,即活動事務只與實時內存數據庫的內存拷貝打交道。內存數據庫系統(tǒng)目前廣泛應用于航空、軍事、電信、電力、工業(yè)控制等領域。1.2 數據庫系統(tǒng)1.2.1 數據庫系統(tǒng)的組成1.2.2 數據庫的結構體系1.2.3 數據庫系統(tǒng)的特點131.2.1 數據庫系統(tǒng)組成數據庫系統(tǒng)(DBS)是指基于數據庫的計算機應用系統(tǒng)。它是由計算機硬件、軟件、數據和人員組合起來為用戶提

7、供信息服務的系統(tǒng)。應用程序1應用程序2應用程序n數據庫管理系統(tǒng)(DBMS)數據庫管理員(DBA)數據庫(DB)數據軟件系統(tǒng)DBS141.2.2 數據庫的結構體系數據庫的結構體系數據庫領域公認的標準結構是三級模式結構及二級映射。三級模式外模式概念模式內模式二級映射概念模式/內模式的映射外模式/概念模式的映射把解決某類問題的方法總結歸納到理論高度,即模式。151.2.2 數據庫的結構體系三級模式結構及二級映射用于定義概念模式和內模式之間的對應性。一般在內模式中描述。用于定義外模式和概念模式間的對應性。在外模式中描述。161.2.3 數據庫系統(tǒng)的特點數據結構化 數據共享性高、冗余度低 具有較高的數據

8、獨立性有統(tǒng)一的數據控制功能 171.3 數據模型1.3.1 數據模型的組成要素1.3.2 數據抽象的過程1.3.3 概念模型1.3.4 邏輯模型181.3 數據模型數據(data)是描述事物的符號記錄。模型(Model)是現實世界的抽象。數據模型(Data Model)是數據特征的抽象,是數據庫管理的教學形式框架。數據庫系統(tǒng)中用以提供信息表示和操作手段的形式構架。191.3.1 數據模型的組成要素數據模型的3要素數據結構數據結構是所研究的對象類型的集合。這些對象和對象類型是數據庫的組成成分。一般可分為兩類:一類是與數據類型、內容和其它性質有關的對象;一類是與數據之間的聯系有關的對象。數據操作數

9、據操作是指對各種對象類型的實例(或值)所允許執(zhí)行的操作的集合,包括操作及有關的操作規(guī)則。數據的完整性約束數據的約束條件是完整性規(guī)則的集合。用來確保數據的正確性、有效性和一致性。201.3.2 數據抽象的過程數據模型是對現實世界進行抽象和轉換的結果。21對現實世界的抽象現實世界是存在人們頭腦之外的客觀世界,由客觀事物及其聯系組成。 觀念世界中的概念模型是對現實世界的抽象和描述。用概念模型描述機器世界中的邏輯模型和物理模型是指現實世界在計算機中的體現與反映。1.3.3 概念模型概念模型是面向用戶、面向現實世界的數據模型,它與DBMS無關。它主要用來描述一個單位的概念化結構。采用概念數據模型,數據庫

10、設計人員可以在設計的開始階段,把主要精力用于了解和描述現實世界上,而把涉及DBMS的一些技術性的問題推遲到設計階段去考慮。221.3.3 概念模型與現實世界對應的概念實體:客觀存在并可相互區(qū)別的事物實體集:具有相同屬性的實體的集合屬性:實體所具有的某一特性稱為實體的屬性 類型與值:屬性類型就是屬性名及其取值類型,屬性值就是屬性所取的具體值。實體間的聯系:實體集之間的對應關系。例:負責人與其單位的聯系 一對一聯系 1 :1例:單位與職工的聯系 一對多聯系:n 例:實體(集)課程與實體(集)學生 多對多聯系 m :n 231.3.3 概念模型E-R圖(用E-R圖描述現實世界的概念模型)實體-聯系方

11、法(Entity-Relationship Approach)E-R方法也稱為E-R模型使用圖形方式(4種原素:橢圓,長方形,凌形,無向的線)11負責人管理單位證件號姓名職稱單位代碼單位名稱電話1m單位包含職工241.3.4 邏輯模型邏輯模型,是指數據的邏輯結構。在數據庫中,邏輯模型有層次、關系、網狀模型。在進行數據庫設計時,總是先設計E-R模型,然后再把E-R模型轉換成計算機能實現的邏輯數據模型。層次模型用層次結構(樹形結構)來表示實體及實體之間的聯系,如 IMS(IP多媒體系統(tǒng) )系統(tǒng)。251.3.4 邏輯模型網狀模型沒有惟一的根結點,且每一個結點都可以與其他任意個結點相連 ,這樣便成了網

12、狀結構。用網狀結構來表示實體及實體之間的聯系 ,如:DBTG(數據庫任務組)系統(tǒng)261.3.4 邏輯模型關系模型用二維表格結構來表示實體以及實體之間聯系。操作的對象和結果都是二維表。 采用關系模型的數據庫稱為關系數據庫。 關系模型與層次型、網狀型的本質區(qū)別在于數據描述的一致性,模型概念單一 。學生登記表學號姓名性別出生日期901040101王文清男1986.10建宇男1985. 3.07901040103李超男女1986.8.10901040104覃江燕女1986.12.25271.4 關系數據庫1.4.1 關系數據庫的基本概念1.4.2 關系運算1.4.3 關系的完

13、整性約束1.4.4 關系數據庫設計實例281.4.1 關系數據庫的基本概念關系,表示多個實體之間的相互關聯,是一種規(guī)范化了的二維表格 。 沒有重復行、重復列,并且每個行列的交叉點只有一個基本數據的二維表格看成一個關系。不是二維表29二維表1.4.1 關系數據庫的基本概念30 基本術語關系:一張二維表 元組:表中的一行或記錄屬性:表中的一列或字段 屬性值:表中行和列的交叉位置 域:屬性的取值范圍 表結構:表中的第1行關鍵字:能唯一區(qū)分、確定不同元組的單個屬性或屬性組合外部關鍵字 :也是表中的一個或多個字段,外部關鍵字的值與相關表的主關鍵字相匹配。1.4.2 關系運算關系模式它由一個關系名以及它所

14、有的屬性名構成。是指對關系結構的描述,一般表示為: 關系名(屬性1,屬性2,屬性3,屬性n)例:學生(學號,姓名,性別,出生日期)課程(課程代碼,課程名稱,學分)選課(學號,課程代碼,成績)n選課學生課程學號姓名性別出生日期成績課程代碼課程名稱學分m311.4.2 關系運算關系的基本運算有兩類傳統(tǒng)的集合運算(并、差、交等)專門的關系運算(選擇、投影、連接等)傳統(tǒng)的關系運算交 、并、差 - 、笛卡爾積 。交:它是 R 和 S 共同具有記錄的集合。生成新關系,新關系結構與 R 和 S 相同。記作RS。并:R 中的元素和 S 中的元素共同組成的集合。生成新關系,新關系結構與 R 和 S 相同。記作記

15、作RS。差:它是從 R 中去掉 S 中存在的記錄集合。生成新關系,新關系結構與 R 和 S 相同。記作R-S。 笛卡爾積:記作 RS ,它的關系模式是 R 和 S 的模式的并集,關系的值是 R 中的每條記錄連接 S 中的每個記錄的記錄集合。 321.4.2 關系運算專門的關系運算(3種)選擇(Selection)運算從一個關系中選擇出滿足給定條件的所有記錄,它是原關系的一個子集,結構與原關系相同。選擇運算提供了橫向劃分(或稱分割)關系的手段。 Select * FROM 表名 WHERE 條件投影(Projection)運算從一個關系 R 中按所需順序選取若干屬性組成新關系。投影運算提供縱向劃

16、分(或稱分割)關系的手段。新關系的屬性通常少于原關系。 Select 列1,列2 , FROM 表名連接(Join)運算把兩個關系 R 和 S 按相應屬性值的比較條件聯接起來。它是 R 和 S 笛卡爾積的子集。有6個比較運算符:、= 、= 、= 、 331.4.2 關系運算341.4.3 關系的完整性約束(3種)實體完整性實體完整性就是指關系的主屬性不能取空值,并且不允許兩個元組的關鍵字值相同。即一個二維表中沒有兩個完全相同的行。參照完整性參照完整性規(guī)則就是定義外部關鍵字與主關鍵字之間的引用規(guī)則,即對于R中每個元組在F上的值必須取空值或等于S中某個元組的主關鍵字值。用戶定義完整性針對某一具體關

17、系數據庫的約束條件,它反映某一具體應用所涉及的數據必須滿足的語義要求。例如規(guī)定關系中某一屬性的取值范圍。351.4.4 關系數據庫設計實例1n聯系到關系模型的轉化把每個實體分別轉化為一個關系,實體名作為關系名,實體屬性作為關系的屬性,并在1n聯系的n方增加一個屬性,該屬性存放與該實體相聯系的另一個實體的關鍵字。例如,根據學院與學生兩個實體(1:n)所轉化的關系是:學院(編號,學院名稱)學生(學號,姓名,性別,出生日期,班級,電話,地址,簡歷,編號)編號是指學院的編號361.4.4 關系數據庫設計實例mn聯系到關系模型的轉化表1-3中學生與課程的聯系是多對多的聯系。對這樣的聯系進行關系模型轉化時

18、,把兩個實體獨立地轉化為兩個關系,轉化時,將實體名作為關系名,實體屬性轉化為關系屬性,除此以外單獨設置一個關系描述兩個實體間的聯系,其屬性由兩個實體的關鍵字組成。例如:學生(學號,姓名,性別,出生日期,班級,電話,地址,簡歷)其中學號作為關鍵字課程(課程號,課程名稱,課程類型,學分,備注)其中課程號作為關鍵字選課(學號,課程號,成績)其中學號和課程號的組合作為關鍵字371.4.4 關系數據庫設計實例11聯系到關系模型的轉化將兩個實體按上述實體轉化方法分別轉化為兩個關系,并對每個屬性增加一個外部關鍵字,外部關鍵字由與本實體相聯系的對方實體的關鍵字組成。例如:學生(學號,姓名,性別,出生日期,班級

19、,電話,地址,簡歷,編號)學院(編號,學院名稱)課程(課程號,課程名稱,課程類型,學分,備注)選課(學號,課程號,成績)381.4.4 關系數據庫設計實例學生信息數據庫391.4.4 關系數據庫設計實例學生信息數據庫401.4.4 關系數據庫設計實例學生信息數據庫411.5 SQL Server 2008數據庫概述421.5.1 SQL Server的初步認識1.5.2 SQL Server 2008的服務器組件1.5.3 SQL Server 2008常用管理工具1.5.4 SQL Server數據類型 1.5.1 SQL Server的初步認識43SQL Server 2008 是一個使用

20、客戶機/服務器體系結構的關系型數據庫管理系統(tǒng)。SQL Server的發(fā)展1987年賽貝爾公司發(fā)布了Sybase SQL Server系統(tǒng),2008年微軟公司發(fā)布了Microsoft SQL Server 2008系統(tǒng),其代碼名稱為Katmai(卡特邁)。SQL Server2008的版本SQL Server 2008系統(tǒng)提供了7種不同的版本,這些版本分別是企業(yè)版、標準版、開發(fā)版、工作組版、學習版、移動版和Web版。SQL Server2008的安裝(見P20)1.5.2 SQL Server 2008的服務器組件44主要組件數據庫引擎(Database Engine)Analysis Serv

21、ices(分析服務)Reporting Services(報表服務)Integration Service(集成服務)SQL Server Compact Edition(精簡版)一個適用于嵌入到移動應用的精簡數據庫產品SQL Server 2008的版本不同,提供的服務器組件可能也不相同。1.5.3 SQL Server 2008常用管理工具45表1.9管理工具功 能SQL Server Management Studio用于編輯和執(zhí)行查詢,以及啟動標準向導任務SQL Server配置管理器管理服務器和客戶端網絡配置設置SQL Server Profiler提供用于監(jiān)視SQL Server

22、數據庫引擎實例或Analysis Services實例的圖形用戶界面數據庫引擎優(yōu)化顧問可以協(xié)助創(chuàng)建索引、索引視圖和分區(qū)的最佳組合SQL Server Business Intelligence Development Studio用于包括Analysis Services、Integration Service 和Reporting Services項目在內的商業(yè)解決方案的集成開發(fā)環(huán)境Reporting Services配置管理器提供報表服務器配置的統(tǒng)一的查看、設置和管理方式SQL Server安裝中心安裝、升級到或更改SQL Server 2008 實例中的組件461.5.4 SQL Ser

23、ver數據類型SQL Server支持4種基本數據類型:數值數據類型字符和二進制數據類型日期時間數據類型邏輯數據類型471.5.4 SQL Server數據類型 數值數據類型(大致可分為4種基本類型)整數數據類型int4字節(jié)smallint2字節(jié)tinyint1字節(jié)bigint8字節(jié)浮點數據類型:用于存儲系統(tǒng)所能提供的最大精度保留的實數數據 。FLOAT 數據類型可精確到第15 位小數,占8字節(jié)-1.7910308 +1.7910308 REAL數據類型可精確到第7 位小數 ,占4字節(jié)-3.401038 +3.401038 481.5.4 SQL Server數據類型精確數值數據類型用于存儲有

24、小數點且小數點后位數確定的實數 。格式:decimal(p, s)numeric(p, s) 其中:P精度,S小數位數。兩者功能上等同貨幣數據類型Money:存儲長度是8字節(jié),貨幣數據值介于-263 263-1 Smallmoney:存儲長度是4字節(jié),介于 -231 231-1 decimal和numeric類型適用于貨幣數據的處理。491.5.4 SQL Server數據類型字符和二進制數據類型字符數據類型(要用單引號括起來)存儲漢字、英文字母、數字符號和其他符號。定長 char數據類型 變長varchar數據類型 文本 text數據類型 Unicode,多字節(jié)的字符數據類型nchar(n)

25、、nvarchar(n)和ntext。指不管對哪個地區(qū)、哪種語言均采用雙字節(jié)(16位)編碼,即世界上所有的字符統(tǒng)一進行編碼。501.5.4 SQL Server數據類型二進制數據類型用于存儲二進制數或字符串(3種): binary定義形式為binary(n),n的取值為18000,若不指定則n默認為1。varbinaryvarbinary(n),通過存儲輸入數據的實際長度而節(jié)省存儲空間,存取速度比binary類型慢。存儲大小為所輸入數據的實際長度 加4 個字節(jié)。若輸入的數據超過n+4個字節(jié),則截斷后存儲。image可存儲1231-1個字節(jié)的二進制數據。image數據類型存儲的是二進制數據而不是

26、文本字符,不能用作變量或存儲過程的參數。511.5.4 SQL Server數據類型日期時間數據類型Datetime占用8字節(jié)空間。存儲從1753年1月1日到9999年12月31日的日期和時間數據,精確到百分之三秒(或3.33毫秒)Smalldatetime占用4字節(jié)空間。存儲從1900年1月1日到2079年6月6日的日期和時間數據,精確到分鐘例如:Oct 25 20052005-10-25或2005/10/25200510252005-10-25 3:28:56 PM2005-10-25 15:28:56 英文數字格式(2005年10月25日)數字加分隔符格式12小時格式(PM下午)24小時

27、格式521.5.4 SQL Server數據類型邏輯數據類型為bit,用于判斷真/假的場合,長度為1個字節(jié)。表示方法整型數據 1(真)、0 (假)或 NULL。uniqueidentifier數據類型可存儲16字節(jié)的二進制值,其作用與全局唯一標記符(Globally Unique Identifier,GUID)一樣。GUID是唯一的二進制數:世界上的任何兩臺計算機都不會生成重復的GUID值。例如 6F9619FF-8B86 -D011-B42D-00C04FC964FF531.6 Transact-SQL語言簡介1.6.1 SQL與Transact-SQL1.6.2 運算符與表達式1.6.3

28、 語句塊和注釋1.6.4 流程控制語句541.6.1 SQL與Transact-SQLSQL語言 SQL是結構化查詢語言(Structured Query Language)的英文縮寫,是一種使用關系模型的數據庫應用語言。 功能:(1)數據查詢語言 DQL(2)數據定義語言 DDL(3)數據操縱語言 DML(4)數據控制語言 DCLTransact-SQL (1)增加了流程控制語句。 (2)加入了局部變量、全局變量等許多新概念,可寫出更復雜的查詢語句。(3)增加了新的數據類型,處理能力更強。551.6.2 運算符與表達式標識符(2種)常規(guī)標識符例: SELECT * FROM TableX -

29、標識符為 TableX表WHERE KeyCol = 124 -標識符為 KeyCol列名分隔標識符包含在雙引號(“)或方括號()中。標識符是保留字或包含空格,則使用分隔標識符。例: SELECT * FROM TableX -可選擇的分隔標識符 WHERE KeyCol = 124 -可選擇的分隔標識符數據庫對象的名稱被看成是該對象的標識符。標識符包含的字符數必須在1128之間。首字是字母、下劃線( _ )、at符號()或者數字符號561.6.2 運算符與表達式常量與變量常量程序運行中保持常值的數據,即程序本身不能改變其值的數據,稱為常量,在程序中經常直接使用文字符號表示。變量在程序運行過程

30、中可以改變其值的數據,稱為變量。常量類型字符串和二進制常量字符串常量括在單引號內。例如Cincinnati、OBrien、Process X is 50% complete. 為字符串常量。二進制常量具有前輟0 x是十六進制數字字符串,不使用引號。例如: 0 xAE、0 x12Ef、0 x69048AEFDD010E、0 x(空串)為二進制常量。 571.6.2 運算符與表達式日期/時間常量datetime常量使用特定格式的字符日期值表示,用單引號括起來。使用“/”、“.”、“-”作日期/時間常量的分隔符。例如:SELECT CAST(2000-05-08 12:35:29.998 AS sm

31、alldatetime) 數值常量整型常量:例如,1894、2為整型常量。浮點常量: 主要采用科學記數法表示,如101.5E5、0.5E-2為浮點常量。精確數值常量:如 1894.1204、2.0為精確數值常量。貨幣常量:如 $12.5、$542023.14為貨幣常量。unique identifier常量是表示GUID(全局惟一標識符)值的字符串??梢允褂米址蚨M制字符串格式指定。581.6.2 運算符與表達式邏輯數據常量邏輯數據常量使用數字0或1表示,并且不使用引號。非0的數字當作1處理。空值(NULL)空值意味著用戶在向表中插入數據時可以忽略該列值。空值可以表示整型、實型、字符型數據。

32、591.6.2 運算符與表達式變量用于臨時存放數據,變量中的數據隨程序的運行而變化。變量有名字、類型和值三個要素變量的命名使用常規(guī)標識符即以字母、下劃線(_)、at符號()、數字符號(#)開頭,后續(xù)字母、數字、at符號、美元符號($)、下劃線的字符序列。不允許嵌入空格或其他特殊字符。601.6.2 運算符與表達式變量的使用范圍局部變量(變量名前加)由用戶定義。定義格式DECLARE local_variable data_type ,.n變量名)、小于(=)、小于等于(=)和不等于(!= 或) 、不小于(!)等。邏輯運算符運算符含 義AND如果兩個布爾表達式都為TRUE,那么結果為TRUE。O

33、R一個為TRUE,那么結果就為TRUE。NOT對任何其他布爾運算符的值取反。LIKE如果操作數與一種模式相匹配,那么值為TRUE。IN如果操作數等于表達式列表中的一個,那么值為TRUE。ALL如果一系列的比較都為TRUE,那么值為TRUE。ANY如果一系列的比較中任何一個為TRUE,那么值為TRUE。BETWEEN如果操作數在某個范圍之內,那么值為TRUE。EXISTS如果子查詢包含一些行,那么值為TRUE。661.6.2 運算符與表達式連接運算符連接運算符(+)用于兩個字符串數據的連接,通常也稱為字符串運算符。例如,Dr.+ComputerDr. Computer運算符的優(yōu)先級別() *、/

34、、% +、- NOT AND OR671.6.3 語句塊和注釋語句塊BEGIN.ENDBEGIN sql_statement statement_block END注釋單行注釋“-” 多行注釋“/* */”681.6.4 流程控制語句選擇控制條件執(zhí)行語句IFELSEIF Boolean_expression sql_statement statement_block -條件表達式為真時執(zhí)行 ELSE sql_statement statement_block -條件表達式為假時執(zhí)行691.6.4 流程控制語句CASE函數格式1:簡單CASE函數,將某個表達式與一組簡單表達式進行比較以確定結果。

35、CASE input_expression WHEN when_expression THEN result_expression .n ELSE else_result_expression END格式2:CASE搜索函數,CASE計算一組邏輯表達式以確定結果。CASE WHEN Boolean_expression THEN result_expression . n ELSE else_result_expression END701.6.4 流程控制語句循環(huán)控制WHILE boolean_expression sql_statement statement_block BREAK sq

36、l_statement statement_block CONTINUE BREAK語句使程序完全跳出循環(huán),結束WHILE語句的執(zhí)行。CONTINUE語句使程序跳過CONTINUE語句后面的語句,回到WHILE循環(huán)的第一行命令。本章小結(1)數據庫的幾個基本概念數據管理的發(fā)展過程;數據、數據庫、數據庫管理系統(tǒng)、數據庫系統(tǒng);數據庫系統(tǒng)三級模式結構和體系結構;(2)數據模型數據模型的三要素;概念模型,E-R模型;三種主要數據模型。(3)關系數據庫關系數據庫的幾個基本概念,關系運算,關系的完整性約束,關系數據庫設計。(4)SQL Server 2008數據庫系統(tǒng)(5)Transact-SQL 語言7

37、1 本章思考(1)什么是數據庫、數據庫管理系統(tǒng)、數據庫系統(tǒng)?它們之間有什么聯系? (2)當前,主要有哪幾種新型數據庫系統(tǒng)?它們各有什么特點?用于什么領域,試舉例說明? (3)什么是數據模型?目前數據庫主要有哪幾種數據模型?它們各有什么特點? (4)關系數據庫中選擇、投影、連接運算的含義是什么?(5)關鍵字段的含義是什么?它的作用是什么?(6)什么是E-R圖?E-R 圖是由哪幾種基本要素組成?這些要素如何表示?72本章結束73數據庫技術與應用數據庫技術與應用教材編寫組第2章 數據庫的管理與使用SQL Server數據庫的存儲結構數據庫的創(chuàng)建數據庫的修改數據庫的刪除數據庫的分離和附加數據庫的擴大和

38、收縮數據庫的存儲結構、創(chuàng)建、修改、分離和附加75問題提出數據庫的管理指的是什么?是有關建立、存儲、修改和存取數據庫中信息的技術,是指為保證數據庫系統(tǒng)的正常運行和服務質量,有關人員須進行的技術管理工作。數據庫管理的主要內容是什么?數據庫的建立數據庫的調整數據庫的重組數據庫的重構數據庫的安全控制數據的完整性控制和對用戶提供技術支持如何實現數據庫的管理?762.1 SQL Server數據庫的存儲結構2.1.1 邏輯存儲結構2.1.2 物理存儲結構772.1 SQL Server數據庫的存儲結構782.1.1 邏輯存儲結構邏輯存儲結構 指的是數據庫是由哪些性質的信息所組成。它主要應用于面向用戶的數據

39、組織和管理,如數據庫的表、視圖、存儲等。由于這些對象是存儲在數據庫中,因此也叫數據庫對象。數據庫對象792.1.1 邏輯存儲結構數據庫類型SQL Server 2008數據庫分為系統(tǒng)數據庫和用戶數據庫。系統(tǒng)數據庫是由系統(tǒng)創(chuàng)建和維護的數據庫。在SQL Server 2008中有:master 、model 、msdb 和tempdb 共4個系統(tǒng)數據庫80數據庫名稱數據庫描述mastermaster 數據庫記錄 SQL Server 系統(tǒng)的所有系統(tǒng)級信息。主要包括實例范圍的元數據、端點、鏈接服務器和系統(tǒng)配置設置以及記錄了所有其他數據庫的存在、數據庫文件的位置以及 SQL Server 的初始化信息

40、。model提供了SQL Server 實例上創(chuàng)建的所有數據庫的模板。msdb主要由 SQL Server 代理用于計劃警報和作業(yè)。tempdbtempdb 系統(tǒng)數據庫是一個全局資源,可供連接到 SQL Server 實例的所有用戶使用,并可用于保存顯式創(chuàng)建的臨時用戶對象、SQL Server 數據庫引擎創(chuàng)建的內部對象,和一些版本數據等。2.1.1 邏輯存儲結構數據庫類型用戶數據庫用戶數據庫分為系統(tǒng)提供的示例數據庫和用戶創(chuàng)建的數據庫。示例數據庫(默認的示例數據庫)AdventureWorks:自行車制造公司的業(yè)務數據。AdventureWorksDW:是Analysis Services(分析

41、服務)的示例數據庫用戶創(chuàng)建的數據庫812.1.2 物理存儲結構數據庫的物理存儲結構指的是數據庫文件在磁盤中是如何存儲的。數據庫文件存放數據庫數據和數據庫對象的文件。3種類型:主數據文件(.mdf):一個數據庫只能有一個主數據文件次數據文件 (.ndf):一個數據庫可以有零個或多個次數據文件事務日志文件(.ldf):一個數據庫可以有一個或多個事務日志文件822.1.2 物理存儲結構數據庫文件的存儲形式83數據庫頁的結構 2.1.2 物理存儲結構數據庫文件組出于分配和管理目的,可以將數據庫文件分成不同的文件組(File Group,文件的邏輯集合)。主文件組(Primary FileGroup):

42、系統(tǒng)文件分配到此組,每一個數據庫中的主文件和未被放入其他組的次要文件在此組中。用戶定義文件組(Secondary FileGroup)默認文件組:未指定對象所屬文件組的對象都被放入此組注意:事務日志文件不屬于任何文件組。842.2 數據庫的創(chuàng)建2.2.1 使用對象資源管理器創(chuàng)建數據庫2.2.2 使用T-SQL語言創(chuàng)建數據庫852.2 數據庫的創(chuàng)建在建立用戶邏輯組件之前(如基本表)必須先建立數據庫。Sql server 2008中可以支持最多32767個數據庫命名規(guī)則:名稱長度不能超過128個字符,臨時表名不能超過116個字符名稱第1個字符必須是英文字母、中文、下劃線、和#(不建議用)除第1個字

43、符外的其他字符可以包含數字和$符號名稱中間不允許有空格和其他特殊字符862.2.1 使用對象資源管理器創(chuàng)建數據庫圖形化的方式創(chuàng)建數據庫87演示操作主文件必須至少3MB2.2.1 使用對象資源管理器創(chuàng)建數據庫默認情況下,SQL Server 2008數據庫文件保存在:“.Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA”目錄下。882.2.2 使用T-SQL語言創(chuàng)建數據庫T-SQL語言的語法約定及使用說明89約定使用說明大寫 T-SQL 關鍵字斜體用戶提供的 T-SQL 語法的參數粗體數據庫名、表名、列名、索引名、存儲過程

44、、實用工具、數據類型名以及必須按所顯示的原樣鍵入的文本下劃線指示當語句中省略了包含帶下劃線的值的子句時應使用的默認值|(豎線)分隔括號或大括號中的語法項。只能使用其中一項 (方括號)可選語法項。不要鍵入方括號 (大括號)必選語法項。不要鍵入大括號,.n指示前面的項可以重復n次。各項之間以逗號分隔.n指示前面的項可以重復n次。每一項由空格分隔;可選的 T-SQL 語句終止符。不要鍵入方括號 :=語法塊的名稱。此約定用于對可在語句中的多個位置使用的過長語法段或語法單元進行分組和標記。可使用的語法塊的每個位置由括在尖括號內的標簽指示:2.2.2 使用T-SQL語言創(chuàng)建數據庫語句格式:CREATE D

45、ATABASE database_name ON -指定數據庫文件和文件組屬性 ,.n , ,.n LOG ON ,.n -指定日志文件屬性 COLLATE collation_name -使用默認排序規(guī)則 FOR LOAD | FOR ATTACH -附加已經存在的數據庫902.2.2 使用T-SQL語言創(chuàng)建數據庫在SSMS主窗口中單擊“新建查詢”工具按鈕,打開SQL Server 2008 的查詢設計器進行操作。912.2.2 使用T-SQL語言創(chuàng)建數據庫例2.1:創(chuàng)建一個名稱為Exercise_db1的簡單數據庫,文件的所有屬性均取默認值。 CREATE DATABASE Exercis

46、e_db1例2.2:創(chuàng)建一個指定主數據文件和事務日志文件的簡單數據庫,數據庫名稱為Exercise_db2。要求如下:(1)數據庫的主數據文件邏輯文件名為Exercise_Data,物理文件名為Exercise.MDF,初始大小為5MB,最大文件大小無限制,自動增長量為10%。(2)事務日志文件邏輯文件名為Exercise_LOG,物理文件名為Exercise.LDF,初始大小為1MB,最大文件大小為10MB,自動增長量為2MB。(3)文件存儲的物理位置均為F:mydb(設mydb文件夾已經建立)。922.2.2 使用T-SQL語言創(chuàng)建數據庫創(chuàng)建例2.2要求的數據庫語句為:CREATE DAT

47、ABASE Exercise_db2ONPRIMARY( NAME=Exercise_Data,FILENAME= F:mydbExercise.MDF,SIZE=5,MAXSIZE=Unlimited,FILEGROWTH=10% )LOG ON( NAME=Exercise_LOG,FILENAME= F:mydbExercise.LDF,SIZE=1,MAXSIZE=10,FILEGROWTH=2 )93數據庫文件屬性事務日志文件屬性2.2.2 使用T-SQL語言創(chuàng)建數據庫94 分析2.3 數據庫的修改2.3.1 使用對象資源管理器修改數據庫2.3.2 使用T-SQL語言修改數據庫952

48、.3.1 使用對象資源管理器修改數據庫96演示操作2.3.2 使用T-SQL語言修改數據庫ALTER DATABASE database ADD FILE ,.n TO FILEGROUP filegroup_name | ADD LOG FILE ,.n | REMOVE FILE logical_file_name | ADD FILEGROUP filegroup_name | REMOVE FILEGROUP filegroup_name | MODIFY FILE | MODIFY NAME = new_dbname | MODIFY FILEGROUP filegroup_name

49、 filegroup_property | NAME = new_filegroup_name | SET ,.n WITH | COLLATE 97filespec:file子句REMOVE:從系統(tǒng)中刪除文件描述和物理文件2.3.2 使用T-SQL語言修改數據庫例2.5 向數據庫中添加文件。要求如下:(1)在Exercise_db2數據庫中添加一個新數據文件,數據文件的邏輯文件名、物理位置及文件名分別為Exe1dat1和D:mydbExe1_dat1.NDF。(2)數據文件初始大小為5MB,最大文件大小為30MB,自動增長量為2MB。ALTER DATABASE Exercise_db2 A

50、DD FILE ( NAME=Exe1dat1, FILENAME=f:mydbExe1_dat1.NDF, SIZE=5MB, MAXSIZE=30MB, FILEGROWTH=2MB)982.3.2 使用T-SQL語言修改數據庫例2.9 修改數據庫文件名稱。要求是:將數據庫Exercise_db2名稱修改為Exe_db2。ALTER DATABASE Exercise_db2 MODIFY NAME=Exe_db2也可將數據庫更名為漢字,如ALTER DATABASE Exe_db2MODIFY NAME =學生信息管理系統(tǒng)992.3.2 使用T-SQL語言修改數據庫修改數據庫補例:將“E

51、xercise_db2”數據庫主數據文件最大大小改為20MB。 ALTER DATABASE Exercise_db2MODIFY FILE( NAME = Exercise_Data, MAXSIZE=20MB)1002.4 數據庫的刪除2.4.1 使用圖形界面方式刪除數據庫2.4.2 使用T-SQL語言刪除數據庫1012.4.1使用圖形界面方式刪除數據庫102演示操作勾選要刪除的數據庫2.4.2 使用T-SQL語言刪除數據庫命令語法格式:DROP DATABASE database_name ,.n 例2.10 刪除Test_db1單個數據庫。 DROP DATABASE Test_db1

52、例2.11同時刪除Test_db2和Test_db3多個數據庫。 DROP DATABASE Test_db2,Test_db31032.5 數據庫的分離和附加2.5.1 數據庫的分離2.5.2 數據庫的附加1042.5.1 數據庫的分離數據庫的分離就是將用戶的數據庫從SQL Server中刪除,即從SQL Server服務器中分離出來,但是保持組成該數據的數據文件和事務日志文件中的數據完好無損,即數據庫文件仍保留在磁盤上。使用對象資源管理器分離數據庫105演示操作2.5.1 數據庫的分離使用系統(tǒng)存儲過程sp_detach_db分離數據庫語法格式:sp_detach_db dbname= da

53、tabase_name 例2.12將student_db 數據庫從SQL Server 2008服務器中分離。Use student_db-打開數據庫student_dbGo sp_detach_db student_dbGo106GO 不是 Transact-SQL 語句;它是可由 sqlcmd 和 osql 實用工具以及 SQL Server Management Studio 代碼編輯器識別的命令。表示當前批語句由上一 GO 命令后輸入的所有語句組成2.5.2 數據庫的附加附加數據庫是分離數據庫的逆操作,通過附加數據庫,可以將沒有加入SQL Server服務器的數據庫文件添加到服務器中。

54、使用對象資源管理器附加數據庫注意:(1)在附加數據庫時,當確定主數據文件的名稱和物理位置后,與它相配套的事務日志文件(.LDF)也一并加入。(2)將 SQL Server 2000 或SQL Server 2005 數據庫附加到 SQL Server 2008 后,該數據庫立即變?yōu)榭捎?,然后自動升級?07演示操作2.6 數據庫的擴大和收縮2.6.1 數據庫的擴大2.6.2 數據庫的收縮1082.6 數據庫的擴大和收縮由于SQL Server 2008對數據庫空間分配采取“先分配、后使用”的機制,所以在SQL Server 2008系統(tǒng)中,如果數據庫的數據量不斷膨脹,可以根據需要擴大數據庫的大

55、小。同理,對于數據庫的設計大小過大,或者刪除了數據庫中的大量數據,這時數據庫會白白耗費大量的磁盤資源。則可使用SQL Server 2008提供的收縮數據庫功能,對數據庫進行收縮,還可以對數據庫中的每個文件進行收縮,直至收縮到沒有剩余的可用空間為止。1092.6.1 數據庫的擴大擴大數據庫空間有3種方法(1)設置數據庫為自動增長方式,可以在創(chuàng)建數據庫時設置(2)直接修改數據庫的數據文件或日志文件的大?。?)在數據庫中添加新的次要數據文件或日志文件110演示操作2.6.2 數據庫的收縮可以對數據庫進行設置自動收縮數據庫111演示操作2.6.2 數據庫的收縮手動收縮數據庫1122.6.2 數據庫的

56、收縮手動收縮數據文件113本章小結(1)數據庫的存儲結構邏輯存儲結構,物理存儲結構(2)數據庫的創(chuàng)建、修改、刪除的幾種方法(3)數據庫的分離和附加分離數據庫就是將某個數據庫從SQL Server數據庫列表中刪除,使其不再被SQL Server管理和使用,但該數據庫的文件(.MDF)和對應的日志文件(.LDF)完好無損。附加數據庫就是將一個備份磁盤中的數據庫文件(.MDF)和對應的日志文件(.LDF)拷貝到需要的計算機,并將其添加到某個SQL Server數據庫服務器中,由該服務器來管理和使用這個數據庫。(4)數據庫的擴大和收縮114 本章思考(1)在SQL Server 2008中的數據庫中包

57、含哪些對象?其中什么對象是必不可少的?其作用又是什么?(2)SQL Server提供的系統(tǒng)數據庫master它的作用是什么?用戶可以刪除和修改嗎?為什么?(3)什么文件是數據庫文件?組成數據庫的文件有哪些類型?如何識別?它們的作用是什么?(4)分離數據庫和附加數據庫的區(qū)別是什么?分離數據庫是不是將其從磁盤上真正刪除了?為什么?(5)數據庫的收縮是不是指數據庫的壓縮?為什么?收縮數據庫能起什么作用?115本章結束116數據庫技術與應用數據庫技術與應用教材編寫組第3章 數據表的管理與維護數據表的創(chuàng)建和管理表數據的管理數據庫完整性管理管理數據表的方法、數據庫完整性管理118問題提出數據表與數據庫是什

58、么關系?數據表(或稱表)是數據庫最重要的組成部分之一。數據庫只是一個框架,數據表才是其實質內容。根據信息的分類情況,一個數據庫中可能包含若干個數據表。數據表與表數據的區(qū)別?為什么要進行數據庫完整性設置?1193.1 數據表的創(chuàng)建和管理3.1.1 使用對象資源管理器創(chuàng)建數據表3.1.2 使用T-SQL語言創(chuàng)建數據表3.1.3 使用對象資源管理器對數據表進行管理3.1.4 使用T-SQL語言對數據表進行管理1203.1 數據表的創(chuàng)建和管理一個數據庫可以擁有許多表,每個表都代表一個特定的實體。例如,學生數據庫可能包含學生個人信息、院系信息、課程信息、成績信息等多個表。每個實體使用一個單獨的表可以消除

59、重復數據,使數據存儲更有效并減少數據輸入項錯誤。SQL Server 2008中數據庫的主要對象是數據表,創(chuàng)建好數據庫后,就可以向數據庫中添加數據表。數據表由行和列組成,行有時也稱為記錄,列有時也稱為字段或域。1213.1.1使用對象資源管理器創(chuàng)建數據表122在SQL Serve中,一個漢字占據兩個字符的位置,因此計算一個字段長度時,一個漢字的長度是Byte。3.1.2 使用T-SQL語言創(chuàng)建數據表語法格式:CREATE TABLEdatabase_name.owner.|owner. table_name( | column_name AS computed_column_expressio

60、n| =CONSTRAINT constraint_name | PRIMARY KEY | UNIQUE )ON filegroup | DEFAULTTEXTIMAGE_ON filegroup | DEFAULT =column_name data_typeCOLLATEDEFAULT constant_expression123表名最多可包含 128 個字符表約束,可選的關鍵字PRIMARY KEY、NOT NULL、UNIQUE、FOREIGN KEY 或 CHECK 定義計算列的值的表達式數據庫擁有者3.1.2 使用T-SQL語言創(chuàng)建數據表例3.1:在數據庫Student中創(chuàng)建St

溫馨提示

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

評論

0/150

提交評論