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

下載本文檔

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

文檔簡(jiǎn)介

第2章關(guān)系數(shù)據(jù)庫基礎(chǔ)教學(xué)提示:數(shù)據(jù)庫技術(shù)產(chǎn)生于20世紀(jì)60年代中期,是計(jì)算機(jī)科學(xué)發(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)成為當(dāng)今數(shù)據(jù)庫的主流模型,因此掌握關(guān)系型數(shù)據(jù)庫的基礎(chǔ)知識(shí)對(duì)學(xué)習(xí)SQLServer2005具有很大的幫助作用。教學(xué)目標(biāo):MicrosoftSQLServer是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。用戶學(xué)習(xí)SQLServer2005的目的是為了掌握使用SQLServer2005來進(jìn)行實(shí)際的數(shù)據(jù)庫應(yīng)用設(shè)計(jì)和管理數(shù)據(jù)庫系統(tǒng)。一般說來,數(shù)據(jù)庫設(shè)計(jì)是一個(gè)復(fù)雜的問題。本章并不打算詳細(xì)介紹如何設(shè)計(jì)出一個(gè)性能優(yōu)良的數(shù)據(jù)庫,而是旨在幫助缺少數(shù)據(jù)庫基礎(chǔ)知識(shí)的用戶快速了解關(guān)系數(shù)據(jù)庫的基礎(chǔ)概念,為進(jìn)一步學(xué)習(xí)SQLServer2005作好作備。通過學(xué)習(xí)本章,讀者可以掌握關(guān)系型數(shù)據(jù)庫的基礎(chǔ)知識(shí),并對(duì)關(guān)系型數(shù)據(jù)庫語言SQL有所了解。第2章關(guān)系數(shù)據(jù)庫基礎(chǔ)2.1關(guān)系數(shù)據(jù)庫基本概念2.2SQLServer的數(shù)據(jù)庫對(duì)象2.3關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言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ù)庫對(duì)象1.表(table)

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

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

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

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

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

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

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

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

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

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

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

SQL語言是一種非過程化語言,它允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上操作,而不對(duì)單個(gè)記錄進(jìn)行操作。在使用SQL語言的過程中,用戶完全不用考慮諸如數(shù)據(jù)的存儲(chǔ)格式、數(shù)據(jù)的存儲(chǔ)路徑等復(fù)雜的問題。用戶所需要做的只是使用SQL語言提出自己的要求,至于如何實(shí)現(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í)間數(shù)據(jù)類型。8.money和smallmoney類型貨幣數(shù)據(jù)類型。9.binary(N)和varbinary(N)類型二進(jìn)制數(shù)據(jù)類型。10.

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論