版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
9/2/2023數(shù)據庫原理與應用第三章
結構化查詢語言SQL3.1SQL概述3.2學生-課程數(shù)據庫3.3數(shù)據定義3.4數(shù)據查詢3.5數(shù)據更新(數(shù)據操縱語言)3.6視圖3.7小結9/2/2023數(shù)據庫原理與應用3.5數(shù)據更新3.5.1插入數(shù)據3.5.2修改數(shù)據3.5.3刪除數(shù)據
9/2/2023數(shù)據庫原理與應用3.5.1插入數(shù)據兩種插入數(shù)據方式1.插入元組2.插入子查詢結果可以一次插入多個元組9/2/2023數(shù)據庫原理與應用一、插入元組語句格式
INSERT INTO<表名>[(<屬性列1>[,<屬性列2>…])] VALUES(<常量1>[,<常量2>]…)功能將新元組插入指定表中9/2/2023數(shù)據庫原理與應用插入元組(續(xù))
INTO子句屬性列的順序可與表定義中的順序不一致沒有指定屬性列指定部分屬性列
VALUES子句
提供的值必須與INTO子句匹配值的個數(shù)值的類型9/2/2023數(shù)據庫原理與應用插入元組(續(xù))[例1]將一個新學生元組(學號:200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。
INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('200215128','陳冬','男','IS',18);9/2/2023數(shù)據庫原理與應用插入元組(續(xù))[例2]將學生張成民的信息插入到Student表中。
INSERT INTOStudent VALUES(‘200215126’,‘張成民’,‘男’,‘CS’,18);9/2/2023數(shù)據庫原理與應用插入元組(續(xù))[例3]插入一條選課記錄('200215128','1')。
INSERTINTOSC(Sno,Cno)VALUES(‘200215128’,‘1’);
RDBMS將在新插入記錄的Grade列上自動地賦空值?;蛘撸?/p>
INSERTINTOSCVALUES('200215128','1',NULL);9/2/2023數(shù)據庫原理與應用二、插入子查詢結果語句格式
INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]
子查詢;功能將子查詢結果插入指定表中9/2/2023數(shù)據庫原理與應用插入子查詢結果(續(xù))INTO子句(與插入元組類似)
子查詢SELECT子句目標列必須與INTO子句匹配值的個數(shù)值的類型9/2/2023數(shù)據庫原理與應用插入子查詢結果(續(xù))[例4]對每一個系,求學生的平均年齡,并把結果存入數(shù)據庫。第一步:建表
CREATETABLEDept_age(SdeptCHAR(15) /*系名*/Avg_ageSMALLINT); /*學生平均年齡*/
9/2/2023數(shù)據庫原理與應用插入子查詢結果(續(xù))第二步:插入數(shù)據
INSERTINTODept_age(Sdept,Avg_age)SELECTSdept,AVG(Sage)FROMStudentGROUPBYSdept;9/2/2023數(shù)據庫原理與應用插入子查詢結果(續(xù))RDBMS在執(zhí)行插入語句時會檢查所插元組是否破壞表上已定義的完整性規(guī)則實體完整性參照完整性用戶定義的完整性NOTNULL約束UNIQUE約束值域約束9/2/2023數(shù)據庫原理與應用3.5數(shù)據更新3.5.1插入數(shù)據3.5.2修改數(shù)據3.5.3刪除數(shù)據
9/2/2023數(shù)據庫原理與應用3.4.2修改數(shù)據語句格式
UPDATE<表名>SET<列名>=<表達式>[,<列名>=<表達式>]…[WHERE<條件>];功能修改指定表中滿足WHERE子句條件的元組9/2/2023數(shù)據庫原理與應用修改數(shù)據(續(xù))SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元組缺省表示要修改表中的所有元組9/2/2023數(shù)據庫原理與應用修改數(shù)據(續(xù))三種修改方式1.修改某一個元組的值2.修改多個元組的值3.帶子查詢的修改語句9/2/2023數(shù)據庫原理與應用1.修改某一個元組的值[例5]將學生200215121的年齡改為22歲
UPDATEStudentSETSage=22WHERESno='200215121';
9/2/2023數(shù)據庫原理與應用2.修改多個元組的值[例6]將所有學生的年齡增加1歲
UPDATEStudentSETSage=Sage+1;9/2/2023數(shù)據庫原理與應用3.帶子查詢的修改語句[例7]將計算機科學系全體學生的成績置零。
UPDATESCSETGrade=0WHERE'CS‘=(SELECTSdeptFROMStudentWHEREStudent.Sno=SC.Sno);9/2/2023數(shù)據庫原理與應用修改數(shù)據(續(xù))RDBMS在執(zhí)行修改語句時會檢查修改操作是否破壞表上已定義的完整性規(guī)則實體完整性參照完整性用戶定義的完整性
NOTNULL約束
UNIQUE約束值域約束9/2/2023數(shù)據庫原理與應用3.5數(shù)據更新3.5.1插入數(shù)據3.5.2修改數(shù)據3.5.3刪除數(shù)據9/2/2023數(shù)據庫原理與應用3.5.3刪除數(shù)據語句格式
DELETEFROM<表名>[WHERE<條件>];功能刪除指定表中滿足WHERE子句條件的元組WHERE子句指定要刪除的元組缺省表示要刪除表中的全部元組,表的定義仍在字典中9/2/2023數(shù)據庫原理與應用刪除數(shù)據(續(xù))三種刪除方式1.刪除某一個元組的值2.刪除多個元組的值3.帶子查詢的刪除語句9/2/2023數(shù)據庫原理與應用1.刪除某一個元組的值[例8]刪除學號為200215128的學生記錄。
DELETEFROMStudentWHERESno='200215128';9/2/2023數(shù)據庫原理與應用2.刪除多個元組的值[例9]刪除所有的學生選課記錄。
DELETEFROMSC;9/2/2023數(shù)據庫原理與應用3.帶子查詢的刪除語句[例10]刪除計算機科學系所有學生的選課記錄。
DELETEFROMSCWHERE'CS'=(SELECTSdeptFROMStudentWHEREStudent.Sno=SC.Sno);9/2/2023數(shù)據庫原理與應用第三章
關系數(shù)據庫標準語言SQL3.1SQL概述3.2學生-課程數(shù)據庫3.3數(shù)據定義3.4數(shù)據查詢3.5數(shù)據更新3.6視圖3.7小結9/2/2023數(shù)據庫原理與應用3.6視圖視圖的特點虛表,是從一個或幾個基本表(或視圖)導出的表只存放視圖的定義,不存放視圖對應的數(shù)據基表中的數(shù)據發(fā)生變化,從視圖中查詢出的數(shù)據也隨之改變9/2/2023數(shù)據庫原理與應用3.6視圖基于視圖的操作
查詢刪除受限更新定義基于該視圖的新視圖9/2/2023數(shù)據庫原理與應用3.6視圖3.6.1定義視圖3.6.2查詢視圖3.6.3更新視圖3.6.4視圖的作用9/2/2023數(shù)據庫原理與應用3.6.1定義視圖建立視圖刪除視圖9/2/2023數(shù)據庫原理與應用一、建立視圖語句格式
CREATEVIEW
<視圖名>[(<列名>[,<列名>]…)]AS<子查詢>[WITHCHECKOPTION];組成視圖的屬性列名:全部省略或全部指定子查詢不允許含有ORDERBY子句和DISTINCT短語9/2/2023數(shù)據庫原理與應用
建立視圖(續(xù))RDBMS執(zhí)行CREATEVIEW語句時只是把視圖定義存入數(shù)據字典,并不執(zhí)行其中的SELECT語句。在對視圖查詢時,按視圖的定義從基本表中將數(shù)據查出。9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))[例1]建立信息系學生的視圖。
CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='IS';9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))[例2]建立信息系學生的視圖,并要求進行修改和插入操作時仍需保證該視圖只有信息系的學生。
CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='IS'WITHCHECKOPTION;9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))對IS_Student視圖的更新操作:修改操作:自動加上Sdept='IS'的條件刪除操作:自動加上Sdept='IS'的條件插入操作:自動檢查Sdept屬性值是否為'IS'如果不是,則拒絕該插入操作如果沒有提供Sdept屬性值,則自動定義Sdept為'IS'9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))基于多個基表的視圖[例3]建立信息系選修了1號課程的學生視圖。
CREATEVIEWIS_S1(Sno,Sname,Grade)ASSELECTStudent.Sno,Sname,GradeFROMStudent,SCWHERESdept='IS'ANDStudent.Sno=SC.SnoANDSC.Cno='1';9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))基于視圖的視圖
[例4]建立信息系選修了1號課程且成績在90分以上的學生的視圖。
CREATEVIEWIS_S2ASSELECTSno,Sname,GradeFROMIS_S1WHEREGrade>=90;9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))帶表達式的視圖[例5]定義一個反映學生出生年份的視圖。
CREATEVIEWBT_S(Sno,Sname,Sbirth)ASSELECTSno,Sname,2011-SageFROMStudent;9/2/2023數(shù)據庫原理與應用建立視圖(續(xù))分組視圖[例6]將學生的學號及他的平均成績定義為一個視圖
CREATVIEWS_G(Sno,Gavg)ASSELECTSno,AVG(Grade)FROMSCGROUPBYSno;9/2/2023數(shù)據庫原理與應用二、刪除視圖語句的格式:
DROPVIEW<視圖名>;該語句從數(shù)據字典中刪除指定的視圖定義如果該視圖上還導出了其他視圖,使用CASCADE刪除語句,把該視圖和由它導出的所有視圖一起刪除刪除基表時,由該基表導出的所有視圖定義都必須顯式地使用DROPVIEW語句刪除9/2/2023數(shù)據庫原理與應用刪除視圖(續(xù))[例8]刪除視圖BT_S:DROPVIEWBT_S;
刪除視圖IS_S1:DROPVIEWIS_S1;拒絕執(zhí)行級聯(lián)刪除:
DROPVIEWIS_S1CASCADE;9/2/2023數(shù)據庫原理與應用3.6視圖3.6.1定義視圖3.6.2查詢視圖3.6.3更新視圖3.6.4視圖的作用9/2/2023數(shù)據庫原理與應用3.6.2查詢視圖用戶角度:查詢視圖與查詢基本表相同RDBMS實現(xiàn)視圖查詢的方法視圖消解法(ViewResolution)進行有效性檢查轉換成等價的對基本表的查詢執(zhí)行修正后的查詢9/2/2023數(shù)據庫原理與應用查詢視圖(續(xù))[例9]在信息系學生的視圖中找出年齡小于20歲的學生。
SELECTSno,SageFROMIS_StudentWHERESage<20;IS_Student視圖的定義(參見視圖定義例1)
CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept='IS';9/2/2023數(shù)據庫原理與應用查詢視圖(續(xù))視圖消解轉換后的查詢語句為:
SELECTSno,SageFROMStudentWHERESdept='IS'ANDSage<20;9/2/2023數(shù)據庫原理與應用查詢視圖(續(xù))[例10]查詢選修了1號課程的信息系學生SELECTIS_Student.Sno,SnameFROMIS_Student,SCWHEREIS_Student.Sno=SC.SnoANDSC.Cno='1';9/2/2023數(shù)據庫原理與應用3.6視圖3.6.1定義視圖3.6.2查詢視圖3.6.3更新視圖3.6.4視圖的作用9/2/2023數(shù)據庫原理與應用更新視圖(續(xù))[例12]將信息系學生視圖IS_Student中學號200215122的學生姓名改為“劉辰”。UPDATEIS_StudentSETSname='劉辰'WHERESno='200215122';轉換后的語句:UPDATEStudentSETSname='劉辰'WHERESno='200215122'ANDSdept='IS';9/2/2023數(shù)據庫原理與應用更新視圖(續(xù))[例13]向信息系學生視圖IS_S1中插入一個新的學生記錄:200215129,趙新,20歲INSERTINTOIS_StudentVALUES(‘95029’,‘趙新’,20);轉換為對基本表的更新:INSERTINTOStudent(Sno,Sname,Sage,Sdept)VALUES(‘200215129','趙新',20,'IS');9/2/2023數(shù)據庫原理與應用更新視圖(續(xù))[例14]刪除信息系學生視圖IS_S1中學號為200215129的記錄DELETEFROMIS_StudentWHERESno='200215129';轉換為對基本表的更新:DELETEFROMStudentWHERESno='200215129'ANDSdept='IS';9/2/2023數(shù)據庫原理與應用3.6視圖3.6.1定義視圖3.6.2查詢視圖3.6.3更新視圖3.6.4視圖的作用9/2/2023數(shù)據庫原理與應用3.6.4視圖的作用1.視圖能夠簡化用戶的操作2.視圖能夠對機密數(shù)據提供安全保護3.視圖使用戶能以多種角度看待同一數(shù)據9/2/2023數(shù)據庫原理與應用3.7數(shù)據字典
數(shù)據字典的用途進行詳細的數(shù)據收集和數(shù)據分析所獲得的主要結果,存放數(shù)據庫系統(tǒng)中有關數(shù)據的數(shù)據數(shù)據字典的內容數(shù)據項數(shù)據結構數(shù)據流數(shù)據存儲處理過程9/2/2023數(shù)據庫原理與應用⒈數(shù)據項
數(shù)據項是不可再分的數(shù)據單位對數(shù)據項的描述
數(shù)據項描述={數(shù)據項名,數(shù)據項含義說明,別名,數(shù)據類型,長度,取值范圍,取值含義等}9/2/2023數(shù)據庫原理與應用⒉數(shù)據結構數(shù)據結構反映了數(shù)據之間的組合關系。一個數(shù)據結構可以由若干個數(shù)據項組成,也可以由若干個數(shù)據結構組成,或由若干個數(shù)據項和數(shù)據結構混合組成。對數(shù)據結構的描述
數(shù)據結構描述={數(shù)據結構名,含義說明,組成:{數(shù)據項或數(shù)據結構}}9/2/2023數(shù)據庫原理與應用⒊數(shù)據流
數(shù)據流是數(shù)據結構在系統(tǒng)內傳輸?shù)穆窂?。對?shù)據流的描述
數(shù)據流描述={數(shù)據流名,說明,數(shù)據流來源,數(shù)據流去向,組成:{數(shù)據結構},平均流量,高峰期流量}9/2/2023數(shù)據庫原理與應用⒋數(shù)據存儲數(shù)據存儲是數(shù)據結構停留或保存的地方,也是數(shù)據流的來源和去向之一。對數(shù)據存儲的描述
數(shù)據存儲描述={數(shù)據存儲名,說明,編號, 輸入的數(shù)據流,輸出的數(shù)據流, 組成:{數(shù)據結構},數(shù)據量,存取頻度, 存取方式}9/2/2023數(shù)據庫原理與應用數(shù)據字典舉例例:學生學籍管理子系統(tǒng)的數(shù)據字典。數(shù)據項,以“學號”為例:數(shù)據項:學號含義說明:唯一標識每個學生別名:學生編號類型:字符型長度:8
取值范圍:00000000至99999999取值含義:前兩位標別該學生所在年級,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度高端美食連鎖店股權合作協(xié)議3篇
- 專業(yè)二手裝載機買賣協(xié)議:2024年版范例版B版
- 傳染病知識技能培訓課件
- 2025年度廠房設備租賃及配套服務合同樣本4篇
- 2025年城市排水管道清淤及廢棄物處理承包合同4篇
- 個人房產交易協(xié)議模板2024版A版
- 2025年度綠色節(jié)能廠房鋼結構供貨與施工一體化合同4篇
- 專用消防施工協(xié)議條款(2024版)
- 2024物聯(lián)網農業(yè)智能監(jiān)控系統(tǒng)開發(fā)合同
- 兩人合伙入股合同協(xié)議書2篇
- 二零二五年度無人駕駛車輛測試合同免責協(xié)議書
- 北京市海淀區(qū)2024-2025學年高一上學期期末考試歷史試題(含答案)
- 常用口服藥品的正確使用方法
- 2025年湖北華中科技大學招聘實驗技術人員52名歷年高頻重點提升(共500題)附帶答案詳解
- 2024年鉆探工程勞務協(xié)作協(xié)議樣式版B版
- 《心肺復蘇機救治院內心搏驟停患者護理專家共識》解讀
- 2023中華護理學會團體標準-注射相關感染預防與控制
- 19XR開機運行維護說明書
- 全國非煤礦山分布
- 臨床研究技術路線圖模板
- GB∕T 2099.1-2021 家用和類似用途插頭插座 第1部分:通用要求
評論
0/150
提交評論