




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第5章 關(guān)系數(shù)據(jù)庫語言SQL數(shù)據(jù)庫原理及應(yīng)用教學(xué)內(nèi)容容SQL的功能與與特點表的基本本操作SQL的的數(shù)據(jù)查查詢SQL的的視圖操操作第1講SQL的功能與與特點第5章關(guān)關(guān)系數(shù)據(jù)據(jù)庫語言言SQL主要內(nèi)容容SQL的產(chǎn)生和和發(fā)展SQL的功能SQL的特點一、SQL的產(chǎn)生和和發(fā)展SQL語言的發(fā)發(fā)展ChamberlinSEQUELSQL大型數(shù)據(jù)據(jù)庫SybaseINFORMIXSQLServerOracleDB2INGRES-小型數(shù)據(jù)據(jù)庫FoxProAccess結(jié)構(gòu)化查查詢語言言Structured Query Language一、SQL的產(chǎn)生和和發(fā)展(續(xù))1986年10月,美國國國家標(biāo)標(biāo)準(zhǔn)化協(xié)協(xié)會(ANSI)發(fā)
2、布了ANSI文件X3.135-1986數(shù)據(jù)庫語語言SQL,1987年6月國際標(biāo)標(biāo)準(zhǔn)化組組織(ISO)采納其為為國際標(biāo)標(biāo)準(zhǔn)?!癝QL86”。1989年10月“SQL89”;1992年8月“SQL2(SQL92)”標(biāo)準(zhǔn)。1999年“SQL3(SQL99)”。SQL成為國際際標(biāo)準(zhǔn)后后,由于于各種類類型的計計算機(jī)和和DBS都采用SQL作為其存存取語言言和標(biāo)準(zhǔn)準(zhǔn)接口,從而使數(shù)據(jù)庫庫世界有有可能鏈鏈接為一一個統(tǒng)一一的整體體,這個前前景意義義十分重重大。二、SQL的功能1、數(shù)據(jù)定定義功能能:定義義數(shù)據(jù)庫庫的邏輯輯結(jié)構(gòu),包括基基本表、視圖、索引等等。2、數(shù)據(jù)操操作功能能:數(shù)據(jù)據(jù)查詢和和數(shù)據(jù)更更新。3、數(shù)據(jù)控控
3、制功能能:包括用戶戶授權(quán)、基本表表和視圖圖的授權(quán)權(quán)、事務(wù)務(wù)控制、數(shù)據(jù)完完整性和和安全性性控制等等。三、SQL的特點1、工作方方式交互式命命令方式式:在聯(lián)聯(lián)機(jī)終端端上,通通過直接接輸入SQL命令對數(shù)數(shù)據(jù)庫進(jìn)進(jìn)行操作作;嵌入式工工作方式式:通過過嵌入到到高級語語言程序序中實現(xiàn)現(xiàn)對數(shù)據(jù)據(jù)庫的操操作。SQL用戶用戶SQL用戶SQL用戶3用戶4ViewBase tableStore file視圖V1視圖V2基本表B1基本表B2基本表B3基本表B4存儲文件S1存儲文件S2存儲文件S3存儲文件S42、SQL支持?jǐn)?shù)據(jù)據(jù)庫的三三級模式式結(jié)構(gòu)第2節(jié)表表的基本本操作第5章關(guān)關(guān)系數(shù)據(jù)據(jù)庫語言言SQL主要內(nèi)容容基本表的
4、的定義基本表的的修改表的撤消消數(shù)據(jù)插入入、修改與刪除CREATETABLE( , ,, ,);不能與SQL語言中的的保留字字同名不能與其其它表名名或視圖圖名同名名是以字母母開頭,由字母母、數(shù)字字和下劃劃線“_”組成的字字符串,長度不不超過30個字符。一、基本本表的定定義一個表可可以有若若干列,但至少少要有一一列。每一列必必須有一一個列名名和相應(yīng)應(yīng)的數(shù)據(jù)據(jù)類型。同一表中中的列名名不能重重名。指定基本本表中屬屬性的取取值特性性和范圍圍所謂“完整性約約束”是為保護(hù)護(hù)數(shù)據(jù)庫庫中的數(shù)數(shù)據(jù)所作作的各種種檢查或或數(shù)據(jù)應(yīng)應(yīng)滿足的的約束條條件。當(dāng)不選擇擇該項時時,默認(rèn)認(rèn)值為NULL,表示該該列可以以為空值值。當(dāng)
5、選擇該該項時,由用戶戶根據(jù)各各屬性列列的數(shù)據(jù)據(jù)特點和和要求給給出該列列數(shù)據(jù)的的完整性性約束條條件:NULL|NOTNULL|PRIMARY KEY|DEFAULT|CHECK|UNIQUE|NOTNULL UNIQUE由用戶根根據(jù)表中中各屬性性列數(shù)據(jù)據(jù)的特點點和要求求給出所所在表的的數(shù)據(jù)的的約束條條件。包括:表表的主鍵鍵約束子子句、表表的外鍵鍵約束子子句和表表的檢驗驗約束CHECK子句。一、基本本表的定定義(續(xù)續(xù))數(shù)據(jù)類型型整數(shù)數(shù)據(jù)據(jù)精確數(shù)值值近似浮點點數(shù)值日期時間間數(shù)據(jù)bigint,int,smallint,tinyintnumeric和decimalfloat和realdatetime與s
6、malldatetime字符串?dāng)?shù)數(shù)據(jù)Unicode字符串?dāng)?shù)數(shù)據(jù)二進(jìn)制數(shù)數(shù)據(jù)貨幣數(shù)據(jù)據(jù)char、varchar、textnchar、nvarchar與ntextbinary、varbinary、imagemoney與smallmoney標(biāo)記數(shù)據(jù)據(jù)timestamp和uniqueidentifier列名數(shù)據(jù)類型完整性約束字段名類型寬度小數(shù)位數(shù)主鍵外鍵NULL其它S#char9YYNC#char7YYNGRADEint0-100示例:教學(xué)管管理數(shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)中的學(xué)學(xué)習(xí)關(guān)系系SCCREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT );列名數(shù)數(shù)據(jù)據(jù)類型示例:學(xué)習(xí)關(guān)關(guān)系S
7、C的創(chuàng)建語語句定義數(shù)據(jù)據(jù)表的約約束正確性有效性相容性數(shù)據(jù)的完完整性約束(Constraint)默認(rèn)(Default)規(guī)則(Rule)觸發(fā)器(Trigger)存儲過程程(StoredProcedure)SQLServer的數(shù)據(jù)完完整性機(jī)機(jī)制CONSTRAINT 完整性約約束的基基本語法法格式 NULL/NOTNULLUNIQUEPRIMARY KEYFOREIGN KEYCHECK定義數(shù)據(jù)據(jù)表的約約束定義方式式 如果果表中只只有一個個列是主主鍵時,可在基基本表定定義的處,標(biāo)識識相應(yīng)的的約束關(guān)關(guān)鍵字,說明某某個屬性性是主鍵鍵或候選選鍵。例:教學(xué)學(xué)管理數(shù)數(shù)據(jù)庫系系統(tǒng)中的的專業(yè)關(guān)關(guān)系SSCREATET
8、ABLESS(SCODE#CHAR(5)PRIMARY KEY,SSNAMEVARCHAR(30)NOT NULL);1、主鍵約約束1、主鍵約約束(續(xù)續(xù)) 如果果表的主主鍵由一一列或多多列組成成,在基基本表定定義的處,通過過鍵約束束子句說說明某個個特定的的屬性或或?qū)傩约瘶?gòu)成主主鍵或候候選鍵。PRIMARY KEY(,)1、主鍵約約束(例例)例:教學(xué)學(xué)管理數(shù)數(shù)據(jù)庫系系統(tǒng)中的的學(xué)習(xí)關(guān)關(guān)系SC。CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARY KEY(S#,C#);CONSTRAINTFOREIGN KEYREFERENCES (,)外部鍵從表
9、主鍵 主表 引用 2、FOREIGN KEY約束(外鍵約束束)CREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARY KEY(S#,C#),F(xiàn)OREIGN KEY(S#)REFERENCESS(S#),F(xiàn)OREIGN KEY(C#)REFERENCESC(C#);示例:教學(xué)管管理數(shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)中的學(xué)學(xué)習(xí)關(guān)系系SC2、外鍵約約束(例例)3、CHECK約束CHECK約束是用用來指定定某一個個屬性或或多個屬屬性可以以滿足的的條件,可以在在基本表表定義的的或進(jìn)行說明明CHECK()CREATETABLES(S#CHAR(9)PRIMARYKEY,SNAME
10、CHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEXIN(男,女),SBIRTHINDATENOT NULL,PLACEOFBCHAR(16),SCODECHAR(5)NOTNULL,CLASSCHAR(5)NOT NULL);示例:教學(xué)管管理數(shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)中的學(xué)學(xué)生關(guān)系系S3、CHECK約束(例例)示例:教學(xué)管管理數(shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)中的學(xué)學(xué)習(xí)關(guān)系系SCCREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINT,PRIMARY KEY(S#,C#),F(xiàn)OREIGN KEY(S#)REFERENCES S(S#),F(xiàn)OREIGN KEY(C#)REFE
11、RENCES C(C#),CHECK(GRADEBETWEEN0AND100);3、CHECK約束(例例)4、缺省值值約束用關(guān)鍵字字DEFAULT說明,用用于給所所在的列列設(shè)置一一個缺省省值,即即在插入入一個新新記錄時時,如果果帶有DEFAULT選項的列列沒有數(shù)數(shù)據(jù),就就將缺省省值作為為該列的的數(shù)據(jù)。DEFAULT()示例:教學(xué)管管理數(shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)中的學(xué)學(xué)習(xí)關(guān)系系SCCREATETABLESC(S#CHAR(9),C#CHAR(7),GRADEINTDEFAULT(0),PRIMARY KEY(S#,C#),F(xiàn)OREIGN KEY(S#)REFERENCES S(S#),F(xiàn)OREIGN KEY
12、(C#)REFERENCES C(C#),CHECK(GRADEBETWEEN0AND100));4、缺省值值約束(例)5、非空約約束使用關(guān)鍵鍵字NOTNULL說明,用用于指出出某屬性性列不能能為空值值。每一個表表中至少少應(yīng)有一一個列的的可選項項為NOTNULL主鍵列已已隱含可可選項為為NOTNULL示例:教學(xué)管管理數(shù)據(jù)據(jù)庫系統(tǒng)統(tǒng)中的學(xué)學(xué)生關(guān)系系SCREATETABLES(S#CHAR(9)PRIMARYKEY,SNAMECHAR(10)NOTNULL,SSEXCHAR(2)CHECK(SSEX IN (男,女),SBIRTHINDATENOTNULL,PLACEOFBCHAR(16),SCO
13、DECHAR(5)NOTNULL,CLASSCHAR(5)NOTNULL);5、非空約約束(例例)建立包含含完整性性定義的的學(xué)生表表。CREATETABLES(SNoCHAR(6) CONSTRAINTS_Prim PRIMARYKEY,SNCHAR(8) CONSTRAINTSN_ConsNOTNULL,SexCHAR(2)DEFAULT 男,AgeINT CONSTRAINTAge_ConsNOT NULLCONSTRAINT Age_ChkCHECK(AgeBETWEEN 15 AND50),Dept CHAR(10) CONSTRAINTDept_Cons NOTNULL)表創(chuàng)建實實例
14、二、基本本表的修修改1、改變表表名修改表名名的語句句格式為為:RENAME TO ;例:將SS表改名為為SS1。RENAMESSTOSS1;2、增加列列在表的最最后一列列后面增增加新的的一列:ALTERTABLE ADD ;例:給學(xué)學(xué)生表新新增一個個屬性“民族”,數(shù)據(jù)類類型為CHAR(10)。ALTERTABLES ADDnationalityCHAR(10);3、刪除列列刪除表中中不再需需要的列列,格式式為:ALTERTABLE DROP CASCADE|RESTRICT;CASCADE表示所有有引用到到該列的的視圖或或有關(guān)約約束一并并刪除;RESTRICT表示在沒沒有視圖圖或有關(guān)關(guān)約束引引
15、用時,該列才才能被刪刪除,否否則拒絕絕操作。例:刪除除教師表表T中的出生生年月。ALTERTABLET DROPTBIRTHINRESTRICT;4、修改列列的定義義修改列的的定義,包括列列的類型型、長度度,格式式為:ALTERTABLE MODIFY ;例:將專專業(yè)表SS中的專業(yè)業(yè)名稱列列長度由由30改為40。ALTERTABLESSMODIFYSSNAMEVARCHAR(40);三、表的的撤消將不需要要的表或或定義錯錯誤的表表刪除掉掉,格式式為:DROP TABLE CASCADE|RESTRICT;當(dāng)一個表表被撤消消時,該該表中的的數(shù)據(jù)也也一同被被刪除。指出哪些些列需要要插入數(shù)數(shù)據(jù)指出要插插入的列列的具體體值一一對應(yīng)四、數(shù)據(jù)據(jù)插入、修改與與刪除1、數(shù)據(jù)插插入向表中插插入一行行(單元元組)數(shù)數(shù)據(jù)。INSERTINTO ()VALUES();可省1、數(shù)據(jù)插插入示例給學(xué)習(xí)關(guān)關(guān)系SC中插入王王麗麗同同學(xué)(學(xué)學(xué)號為200401003)學(xué)習(xí)計計算機(jī)網(wǎng)網(wǎng)絡(luò)課(課程號號為C403001)的成績績(89分)。INSERTINTOSC(S#,C#,GRADE)VALUES(200401003,C403001,89);2、數(shù)據(jù)修修改UPDATESET,, WHERE;2、數(shù)據(jù)修修改示例將所有女女同學(xué)的的專業(yè)改改為S04
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 星級酒店集團(tuán)管理辦法
- 血液中心全面質(zhì)量管理體系建設(shè)及程序文件解讀
- 華為后備梯隊管理辦法
- 公廁建設(shè)后續(xù)管理辦法
- 水輪機(jī)增效優(yōu)化技術(shù)-洞察及研究
- 傳播學(xué)領(lǐng)域的爭議、轉(zhuǎn)向及新聞傳播范疇探討
- 公益健康基金管理辦法
- 公文書寫中的字體規(guī)范與設(shè)計原則
- 安全生產(chǎn)八不傷害心得體會
- 世界文化遺產(chǎn)申報
- GB/T 3672.2-2002橡膠制品的公差第2部分:幾何公差
- GB/T 18884.2-2015家用廚房設(shè)備第2部分:通用技術(shù)要求
- GB/T 12239-2008工業(yè)閥門金屬隔膜閥
- 軍標(biāo)類型整理文檔
- 山東中醫(yī)藥大學(xué)2020-2021學(xué)年內(nèi)科護(hù)理學(xué)試題及答案1
- DB32T 4174-2021 城市居住區(qū)和單位綠化標(biāo)準(zhǔn)
- 基本原理與性能特點多自由度電磁軸承課件
- Q∕SY 1836-2015 鍋爐 加熱爐燃油(氣)燃燒器及安全聯(lián)鎖保護(hù)裝置檢測規(guī)范
- 北京輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(圖文并茂)
- 儀器使用記錄表
- 《汽車電工電子技術(shù)》全套教案(完整版)
評論
0/150
提交評論