




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