SQL語言基礎(chǔ)第一章第二章 基本概念_第1頁
SQL語言基礎(chǔ)第一章第二章 基本概念_第2頁
SQL語言基礎(chǔ)第一章第二章 基本概念_第3頁
SQL語言基礎(chǔ)第一章第二章 基本概念_第4頁
SQL語言基礎(chǔ)第一章第二章 基本概念_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章關(guān)系數(shù)據(jù)庫基礎(chǔ)教學提示:數(shù)據(jù)庫技術(shù)產(chǎn)生于20世紀60年代中期,是計算機科學發(fā)展的重要分支之一。隨著數(shù)據(jù)庫技術(shù)的發(fā)展,先后出現(xiàn)了層次數(shù)據(jù)模型、網(wǎng)狀數(shù)據(jù)模型和關(guān)系數(shù)據(jù)模型這三種不同的數(shù)據(jù)模型。由這三種數(shù)據(jù)模型作為理論基礎(chǔ)發(fā)展了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫三種類型的數(shù)據(jù)庫,而且關(guān)系型數(shù)據(jù)庫已經(jīng)成為當今數(shù)據(jù)庫的主流模型,因此掌握關(guān)系型數(shù)據(jù)庫的基礎(chǔ)知識對學習SQLServer2005具有很大的幫助作用。教學目標:MicrosoftSQLServer是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。用戶學習SQLServer2005的目的是為了掌握使用SQLServer2005來進行實際的數(shù)據(jù)庫應(yīng)用設(shè)計和管理數(shù)據(jù)庫系統(tǒng)。一般說來,數(shù)據(jù)庫設(shè)計是一個復(fù)雜的問題。本章并不打算詳細介紹如何設(shè)計出一個性能優(yōu)良的數(shù)據(jù)庫,而是旨在幫助缺少數(shù)據(jù)庫基礎(chǔ)知識的用戶快速了解關(guān)系數(shù)據(jù)庫的基礎(chǔ)概念,為進一步學習SQLServer2005作好作備。通過學習本章,讀者可以掌握關(guān)系型數(shù)據(jù)庫的基礎(chǔ)知識,并對關(guān)系型數(shù)據(jù)庫語言SQL有所了解。第2章關(guān)系數(shù)據(jù)庫基礎(chǔ)2.1關(guān)系數(shù)據(jù)庫基本概念2.2SQLServer的數(shù)據(jù)庫對象2.3關(guān)系數(shù)據(jù)庫的標準語言SQL2.4數(shù)據(jù)定義語言(DDL)

2.5數(shù)據(jù)操縱語言(DML)

2.6數(shù)據(jù)控制語言(DCL)

2.7Transact-SQL語言介紹2.1關(guān)系數(shù)據(jù)庫基本概念1.關(guān)系2.表3.記錄4.字段5.鍵6.視圖7.事務(wù)2.2SQLServer的數(shù)據(jù)庫對象1.表(table)

表是具體組織和存儲數(shù)據(jù)的對象,表由列和行組成,如表2.1所示。行的順序可以是任意的,列的順序也可以是任意的。在同一個表里,列的名字必須是惟一的。在同一個數(shù)據(jù)庫里,表的名字也必須是惟一的。注意:為了便于管理,一般說來表的名字或列的名字都應(yīng)該按照與存儲內(nèi)容相關(guān)的原則進行命名,例如記錄商品銷售信息的表可以命名為ProSold,表中表示商品銷售價格的列可以命名為ProPrice。2.主鍵(primarykey)

主鍵是表格中的一列或多列的組合。它的值惟一地標識了表中的一行記錄。在表中,任意兩行的主鍵不能有具有相同的值。3.外鍵(foreignkey)

外鍵是這樣一列或多列的組合。4.視圖(view)

視圖是從一個或幾個基本表中導(dǎo)出的表。在數(shù)據(jù)庫中只存儲視圖的定義,而沒有存儲對應(yīng)的數(shù)據(jù)。視圖是查看表中數(shù)據(jù)的一種邏輯方法,用戶可以利用視圖作表的安全性措施,可以利用SQL來簡化查詢等。5.約束(constraint)

約束是SQLServer實施數(shù)據(jù)一致性和數(shù)據(jù)完整性的方法。約束對表中各列的取值范圍進行限制,以確保表格中的數(shù)據(jù)都是合理、有效的。6.缺省值(default)

缺省值(或者稱“默認值”)的功能是在向表中插入新的數(shù)據(jù)時,為沒有指定數(shù)據(jù)的列提供一個缺省的數(shù)據(jù)。7.規(guī)則(rule)

規(guī)則也是SQLServer提供的確保數(shù)據(jù)一致性和完整性的方法。規(guī)則提供了一種對特定列或用戶自定義數(shù)據(jù)類型列進行約束的機制。8.索引(index)

索引的主要用途是提供一種無需掃描整張表就能實現(xiàn)對數(shù)據(jù)快速訪問的途徑,使用索引可以優(yōu)化查詢。 9.存儲過程(storedprocedure)

存儲過程是一組經(jīng)過編譯的可以重復(fù)使用的Transact-SQL語句的組合。10.觸發(fā)器(trigger)

觸發(fā)器是一種特殊的存儲過程,能夠在表被修改時自動地由數(shù)據(jù)庫服務(wù)器執(zhí)行。11.數(shù)據(jù)庫關(guān)系圖(databasediagrams)

數(shù)據(jù)庫關(guān)系圖是用戶組織和管理數(shù)據(jù)庫的一種圖形化方式,數(shù)據(jù)庫關(guān)系圖允許用戶以可視化的方式創(chuàng)建、編輯、刪除數(shù)據(jù)庫對象。12.數(shù)據(jù)類型(datatype)SQLServer提供的數(shù)據(jù)類型分為系統(tǒng)數(shù)據(jù)類型和用戶自定義數(shù)據(jù)類型兩種。13.日志(log)SQLServer使用日志來記載用戶對數(shù)據(jù)庫采取的所有操作。日志文件是維護數(shù)據(jù)庫完整性的重要工具。SQLServer是遵循先寫日志再修改數(shù)據(jù)庫數(shù)據(jù)文件原則的數(shù)據(jù)庫系統(tǒng)。2.3關(guān)系數(shù)據(jù)庫的標準語言SQL2.3.1SQL語言的特征

SQL語言是一種非過程化語言,它允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上操作,而不對單個記錄進行操作。在使用SQL語言的過程中,用戶完全不用考慮諸如數(shù)據(jù)的存儲格式、數(shù)據(jù)的存儲路徑等復(fù)雜的問題。用戶所需要做的只是使用SQL語言提出自己的要求,至于如何實現(xiàn)這些要求,則是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的任務(wù)。2.3.2SQL語言支持的數(shù)據(jù)類型1.int、bigint、smallint和tinyint類型,整形數(shù)據(jù)類型。2.decimal類型和numeric類型精確數(shù)值型數(shù)據(jù)。3.float類型和real類型近似數(shù)值型數(shù)據(jù)。4.bit類型位數(shù)據(jù)。5.char(N)、varchar(N)和text類型字符型數(shù)據(jù)。6.nchar(N)、nvarchar(N)和ntext類型寬字符類型。7.datetime和smalldate類型日期時間數(shù)據(jù)類型。8.money和smallmoney類型貨幣數(shù)據(jù)類型。9.binary(N)和varbinary(N)類型二進制數(shù)據(jù)類型。10.

null類型空數(shù)據(jù)類型。2.3.3SQL語言的表達式1.算術(shù)運算符2.比較運算符3.邏輯運算符4.位運算符2.4數(shù)據(jù)定義語言(DDL)2.4.1建立數(shù)據(jù)庫建立數(shù)據(jù)庫即創(chuàng)建一個新的數(shù)據(jù)庫。CREATEDATABASE語句用于建立數(shù)據(jù)庫,它的簡單語法格式為:CREATEDATABASE<數(shù)據(jù)庫名>[其他參數(shù)]其中,<數(shù)據(jù)庫名>在系統(tǒng)中必須是惟一的,不能重復(fù),否則無法建立數(shù)據(jù)庫。[其他參數(shù)]因具體數(shù)據(jù)庫管理系統(tǒng)不同而異。方括號[]表示其他參數(shù)不是必須的。2.4.2刪除數(shù)據(jù)庫刪除數(shù)據(jù)庫即將數(shù)據(jù)庫及其全部內(nèi)容從系統(tǒng)中刪除。DROPDATABASE語句用于刪除數(shù)據(jù)庫,它的簡單語法格式為:DROPDATABASE<數(shù)據(jù)庫名>

2.4.4刪除基本表刪除基本表即從數(shù)據(jù)庫中刪除一個基本表及其全部內(nèi)容。DROPTABLE語句用于刪除基本表,它的語法格式為:

DROPTABLE[<數(shù)據(jù)庫名>.]表名2.4.5修改基本表在基本表建立并使用一段時間后,可能需要根據(jù)實際要求對基本表的結(jié)構(gòu)進行修改,即通過更改、添加、刪除列和約束,或者通過啟用或禁止約束和觸發(fā)器來對當前數(shù)據(jù)庫中的數(shù)據(jù)表進行修改。ALTERTABLE語句用于修改基本表,它的簡單語法格式為:ALTERTABLE[<數(shù)據(jù)庫名>.]表名{[AddField]|[DropField]|[AlterField]}2.4.6建立視圖在SQL中,視圖是外模式一級數(shù)據(jù)結(jié)構(gòu)的基本單位。它是從一個或幾個基本表中導(dǎo)出的表,是從現(xiàn)有基本表中抽取若干子集組成用戶的“專用表”。這種構(gòu)造方式必須使用SQL中的SELECT語句來實現(xiàn)。在定義一個視圖時,只是把其定義存放在系統(tǒng)中,而并不直接存儲視圖對應(yīng)的數(shù)據(jù)——直到用戶使用視圖時才從基本表中取出對應(yīng)的數(shù)據(jù)。CREATEVIEW語句用于建立視圖,它的語法格式為:CREATEVIEW視圖名ASSELECT語句2.4.7刪除視圖刪除視圖將刪除已不再使用的視圖,刪除視圖并不會影響視圖所引用的基本表。DROPVIEW語句用于刪除視圖,它的語法格式為:DROPVIEW視圖名2.5數(shù)據(jù)操縱語言(DML)2.5.1數(shù)據(jù)查詢數(shù)據(jù)查詢是指查詢數(shù)據(jù)庫中的若干表的數(shù)據(jù),它主要用來完成各種數(shù)據(jù)的查詢、統(tǒng)計分析等數(shù)據(jù)處理功能。SELECT語句用于查詢數(shù)據(jù),它是數(shù)據(jù)操縱語句里使用最頻繁的一個語句之一。2.5.2數(shù)據(jù)插入數(shù)據(jù)插入是指向數(shù)據(jù)庫的表中插入新的記錄。INSERT語句用于插入數(shù)據(jù),它的語法格式為:INSERTINTO<表名>[列名1,列名2,…列名n]VALUES([值1,值2,…,值n])VALUES子句中數(shù)據(jù)的順序要與數(shù)據(jù)表中的字段完全對應(yīng)。2.5.3數(shù)據(jù)刪除數(shù)據(jù)刪除是指從數(shù)據(jù)庫中的表刪除指定的記錄。DELETE語句用于刪除數(shù)據(jù),它的語法格式為:DELETEFROM<表名>[WHERE條件表達式]當省略WHERE子句時,表示把指定的表清空,但表的結(jié)構(gòu)并沒有被刪除。2.5.4數(shù)據(jù)更新數(shù)據(jù)更新是指對數(shù)據(jù)庫中的表的某些記錄的進行修改。UPDATE語句用于更新數(shù)據(jù),它的語法格式為:UPDATE<表名>SET字段1=新值1[,字段2=新值2,…,字段n=新值n][WHERE條件表達式]2.6數(shù)據(jù)控制語言(DCL)2.6.1分配權(quán)限分配權(quán)限是指為用戶分配對于某個數(shù)據(jù)庫對象所擁有的某種權(quán)限。GRANT語句用于為用戶分配權(quán)限,它的語法格式為:GRANT<權(quán)限>[ON<數(shù)據(jù)庫對象>]TO<用戶名>如果權(quán)限為ALL,則表示把全部權(quán)限分配給了指定用戶。2.6.2回收權(quán)限回收權(quán)限是指收回指定用戶對某個數(shù)據(jù)庫對象的某種權(quán)限。REVOKE語句用于回收權(quán)限,它的語法格式為:REVOKE<權(quán)限>[ON<數(shù)據(jù)庫對象>]FROM<用戶名>2.6.3拒絕權(quán)限拒絕權(quán)限是指拒絕指定用戶對于某個數(shù)據(jù)庫對象使用某種權(quán)限。DENY語句用于拒絕權(quán)限,它的語法格式為:DENY<權(quán)限>[ON<數(shù)據(jù)庫對象>]TO<用戶名>拒絕權(quán)限與回收權(quán)限的區(qū)別在于,回收用戶權(quán)限后,用戶仍然可以通過繼承方式獲得相應(yīng)權(quán)限,而拒絕用戶權(quán)限后,用戶就不能再通

溫馨提示

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

最新文檔

評論

0/150

提交評論