版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 An Introduction to Database System第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQLAn Introduction to Database System第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL3.1 SQL概述3.2學(xué)生課程數(shù)據(jù)庫3.3數(shù)據(jù)定義3.4數(shù)據(jù)査詢3.5數(shù)據(jù)更新3.6視圖3.7小結(jié)3.1 SQL概述 SQL (Structured Query Language)結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言:SQL是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言An Introduction to Database SystemSQL概述(續(xù)) 3.1.1 SQL的產(chǎn)生與發(fā)展 3.1.2 S
2、QL的特點 3.1.3 SQL的基本概念SQL標(biāo)準(zhǔn)的進(jìn)展過程標(biāo)準(zhǔn)大致頁數(shù)發(fā)布日期 SQL/861986.10 SQL/89(FIPS 127-1)120頁1989年 SQL/92622頁1992年 SQL991700頁1999年 SQL20032003年An Introduction to Database System3.1 SQL概述 3.1.1 SQL的產(chǎn)生與發(fā)展 3.1.2 SQL的特點 3.1.3 SQL的基本概念3.1.2 SQL的特點1 綜合統(tǒng)一集數(shù)據(jù)定義語言(DDL),數(shù)據(jù)操縱語言(DML), 數(shù)據(jù)控制語言(DCL)功能于一體。可以獨立完成數(shù)據(jù)庫生命周期中的全部活動:定義關(guān)系模
3、式,插入數(shù)據(jù),建立數(shù)據(jù)庫:對數(shù)據(jù)庫屮的數(shù)據(jù)進(jìn)行查詢和更新;數(shù)據(jù)庫重構(gòu)和維護(hù)數(shù)據(jù)庫安全性、完整性控制等用戶數(shù)據(jù)庫投入運行后,可根據(jù)需要隨時逐步修改 模式,不影響數(shù)據(jù)的運行。數(shù)據(jù)操作符統(tǒng)一An Introduction to Database System2 高度非過程化:非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言“面向過程”,必須制定存取路徑 SQL只要提出“做什么”,無須了解存取路徑。存取路徑的選擇以及SQL的操作過程由系統(tǒng)自動 完成。3 面向集合的操作方式:非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操作對象是一條記錄 SQL采用集合操作方式-操作對象、查找結(jié)果可以是元組的集合-一次插入、刪除、更新操作的對象可
4、以是元組的集合An Introduction to Database System4.以同一種語法結(jié)構(gòu)提供多種使用方式 SQL是獨立的語言能夠獨立地用于聯(lián)機(jī)交互的使用方式 SQL又是嵌入式語言SQL能夠嵌入到高級語言(例如C, C+, Java)程序中,供程序員設(shè)計程序時使用5 語言簡潔,易學(xué)易用 SQL功能極強(qiáng),完成核心功能只用了9個動詞。表31 SQL語言的動詞SQL功能動詞數(shù)據(jù)査詢SELECT數(shù)據(jù)定義CREATE, DROP, ALTER數(shù)據(jù)操縱INSERT, UPDATE DELETE數(shù)據(jù)控制GRANT, REVOKEAn Introduction to Database System
5、 3.1.1 SQL的產(chǎn)生與發(fā)展 3J.2 SQL的特點 3.1.3 SQL的基本概念SQL的基本概念(續(xù))SQL支持關(guān)系數(shù)據(jù)庫三級模式結(jié)構(gòu)An Introduction to Database SystemSQL的基本概念(續(xù))基本表本身獨立存在的表 SQL屮一個關(guān)系就對應(yīng)一個基木表 一個(或多個)基本農(nóng)對應(yīng)個存儲文件一個表町以帶若干索引存儲文件邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫的內(nèi)模式物理結(jié)構(gòu)是任意的,對用戶透明:視圖從一個或兒個基本表導(dǎo)出的表數(shù)據(jù)丿牟中只存放視圖的定義而不心放視圖對應(yīng)的數(shù)據(jù)視圖是一個虛表用戶口 J以在視圖上再定義視圖第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL3.1 SQL概述3.2學(xué)生課程數(shù)
6、據(jù)庫3.3數(shù)據(jù)定義3.4數(shù)據(jù)査詢3.5數(shù)據(jù)更新36視圖3.7小結(jié)An Introduction to Database System3.2學(xué)生課程數(shù)據(jù)庫:學(xué)生課程模式S-T:學(xué)生表:Student(Sno,Sname,Ssex,Sage,Sdept)課程表:Course(Cno,Cname;Cpno,Ccredit)學(xué)生選課表:SC(Sno,Cno,Grade)An Introduction to Database SystemStudent 表學(xué)號Sno姓名Sname性別Ssex年齡Sage所在系Sdept20021512120cs20021512219cs20021512318MA2005
7、1512519ISAn Introduction to Database System課程號Cno課程名Cname先行課Cpno學(xué)分Ccredit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語言64SC表_ 學(xué)號課程號成績SnoCnoGrade200215121192200215121285200215121388200215122290200215122380An Introduction to Database System第三章 關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL3.1 SQL概述3.2學(xué)生課程數(shù)據(jù)庫3.3數(shù)據(jù)定義3.4數(shù)據(jù)査詢3.5數(shù)據(jù)更新3.6視圖3
8、.7小結(jié)3.3數(shù)據(jù)定義SQL的數(shù)據(jù)定義功能:模式定義、表定義.視圖和索引的定義表3.2 SQL的數(shù)據(jù)定義語句操作對象操作方式創(chuàng)建刪除修改模式CREATE SCHEMADROPSCHEMA表CREATE TABLEDROPTABLEALTER TABLE視圖CREATE VIEWDROP VIEW索引CREATE INDEXDROP INDEXAn Introduction to Database System3.3數(shù)據(jù)定義 3.3.1模式的定義與刪除:332基本表的定義、刪除與修改 CASCADE(級聯(lián))刪除模式的同時把該模式中所冇的數(shù)據(jù)庫對象全部刪除RESTRICT(限制)如果該模式中主義了
9、下屬的數(shù)據(jù)庫對象(如表、視圖等),則拒絕 該刪除語句的執(zhí)行。當(dāng)該模式中沒有任何卜屬的對象時力能執(zhí)行。刪除模式(續(xù))例4 DROP SCHEMA ZHANG CASCADE;冊ij除模式ZHANG 同時該模式中定義的表TAB1也被刪除An Introduction to Database System3.3數(shù)據(jù)定義3.3.1模式的定義與刪除 3.3.2基本表的定義、刪除與修改 3.3.3索引的建立與刪除332基本表的定義、刪除與修改一、定義基本表CREATE TABLE v表名(V列名A V數(shù)據(jù)類型A V列級尢整性約朿條件A ,V列名V數(shù)據(jù)類型V列級完整性約束條件. ,V表級完整性約束條件);如
10、果完整性約束條件涉及到該表的多個屬性列, 則必須定義在表級上,否則既可以定義在列級 也可以定義在表級。An Introduction to Database System學(xué)生表Student例5建立“學(xué)生”農(nóng)Student,學(xué)號是主碼,姓名取值唯。CREATE TABLE Student(Sno CHAR(9) PRIMARY KEV 主碼完整性約束條件*/Sname CHAR(20) UNIQUE,/* Sname取唯一-值*/Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)課程表Course例6建立一個“課程”表CourseCREATE TABLE Cou
11、rse(CnoCHAR(4) PRIMARY KEY,Cn ameCpnoCHAR(40),CHAR(4),-先修課Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno)Cpno是外碼 磁參照表是Course 被參照列是CnoAn Introduction to Database System學(xué)生選課表SC例7建立一個“學(xué)生選課”表SCCREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMAL LJNT,PRIMARY KEY (Sno, Cno),/*主碼由兩個屬性構(gòu)成,必須作為農(nóng)級完整性
12、進(jìn)行定義*/FOREIGN KEY (Sno) REFERENCES Student(Sno), 廠表級完整性約束條件,Sno是外碼,被參照表是Student */FOREIGN KEY (Cno) REFERENCES Course(Cno)廣農(nóng)級完整性約束條件,Cno是外碼,被參照衣是Course*/);二、數(shù)據(jù)類型 SQL中域的概念用 +類丿來實現(xiàn):定義表的屬性時需要指明其數(shù)據(jù)類型及長度:選用哪種數(shù)據(jù)類型取值范圍要做哪些運算An Introduction to Database System二、數(shù)據(jù)類型數(shù)據(jù)類型含義CHAR(n)長度為n的定長字符串VARCHAR(n)最大長度為n的變長字
13、符串INT長整數(shù)(也可以寫作INTEGER)SMALLINT短整數(shù)NUMERIC(p, d)定點數(shù),由p位數(shù)字(不包括符號、小數(shù)點)組成,小數(shù)后面有d位數(shù)字REAL取決于機(jī)器精度的浮點數(shù)Double Precision取決于機(jī)器精度的雙精度浮點數(shù)FLOAT(n)浮點數(shù),精度至少為n位數(shù)字DATE日期,包含年.月.日.格式為YYYYMM DDTIME時間,包含一日的時.分、秒,格式為HH:MM:SS三、模式與表每一個基本表都屬于某一個模式 一個模式包含多個基本表定義基本表所屬模式方法一:在表名中明顯地給出模式名Create table “S-T” .Student ();廣模式名為 ST/Cre
14、ate table ST” .Cource ();Create table “ST” .SC ();方法二:在創(chuàng)建模式語旬中同時創(chuàng)建衣方法三:設(shè)這所屬的模式An Introduction to Database System模式與表(續(xù)):創(chuàng)建基本表(其他數(shù)據(jù)庫對象也i樣)時,若沒有指定模 式,系統(tǒng)根據(jù)搜索路徑來確定該對象所屬的模式 RDBMS會使用模式列表中第一個存在的模式作為數(shù)據(jù)庫 對象的模式名若搜索路徑屮的模式名都不存在,系統(tǒng)將給出錯誤顯示當(dāng)前的搜索路徑:SHOW search_path;:搜索路徑的當(dāng)前默認(rèn)值是:$user, PUBLIC模式與表(續(xù))DBA用戶可以設(shè)置搜索路徑,然后定
15、義基本表SET search_path TO “ST”,PUBLIC;Create table Student ();結(jié)果建立了 S-T.Student基本表。RDBMS發(fā)現(xiàn)搜索路徑中第一個模式名ST存在,就把該模式作為基本表Student所屬的模式。An Introduction to Database System四、修改基本表ALTER TABLE v表名ADD v新列名 v數(shù)據(jù)類型完整性約束DROP v完整性約束名ALTER COLUMNv歹U名v數(shù)據(jù)類型;修改基本表(續(xù))例8向Student農(nóng)增加“入學(xué)時間”列,其數(shù)為類型為口期型。ALTER TABLE Student ADD S_
16、entrance DATE:不論基本表中原來是否口有數(shù)據(jù),新增加的列一律為空值。例9將年齡的數(shù)據(jù)類型由了符糧(假設(shè)原來的數(shù)據(jù)類型足了符型)改為 整數(shù)。ALTER TABLE Student ALTER COLUMN Sage INT;例10增加課程名稱必須取唯一值的約束條件。ALTER TABLE Course ADD UNIQUE(Cname);An Introduction to Database System五、刪除基本表DROP TABLE v表名RESTRICT| CASCADE; RESTRICT:刪除表是有限制的。-欲刪除的基本表不能被其他表的約束所引用”如果存在依賴該表的對象,
17、則此表不能被刪除 CASCADE:刪除該表沒有限制。廠在刪除基木表的同時,相關(guān)的依賴對象一起刪除刪除基本表(續(xù))例門刪除Student表DROP TABLE Student CASCADE ;基本表定義被刪除,數(shù)據(jù)被刪除表上建立的索引、視圖、觸發(fā)器等一般也將被刪除An Introduction to Database System刪除基本表(續(xù))例12若表上建冇視圖,選擇RESTRICT時表不能刪除CREATE VIEW IS_StudentASSELECT Sno, Sname, SageFROM StudentWHERE SdeptHS;DROP TABLE Student RESTRIC
18、T;-ERROR: cannot drop table Student because other objects depend on it刪除基本表(續(xù))例12如果選擇CASCADE時叮以刪除農(nóng),視圖也自動被刪除DROP TABLE Student CASCADE;-NOTICE: drop cascades to view IS_StudentSELECT * FROM IS_Student;-ERROR: relation M IS_Student11 does not existAn Introduction to Database System刪除基本表(續(xù))DROPTABLEIH,
19、SQL99與3個RDBMS的處理策略比較序的處理方式SQL99Kingbasc ESORACLE 9iMS SQL SERVER2000號依tft堆本於的對線RCRCC1.索引無規(guī)定VVJ2視圖XXVV 保留d 保留J 保留3DEFAULT PRIMARY KEY, CHECK (只含 該農(nóng)的列NOTNULL爭約束VVVJ4Foreign KeyXVXXVX5TRIGGERXVXV4J6.議數(shù)或存儲過程XV7保附保MVd 保留J 保昭R衣/RESTRICT, C衣樂CASCADEx表示不能刪除卑本表吋表示能刪除基本表,保表不刪除基本表后,還保留依賴對彖3.3數(shù)據(jù)定義3,3.1模式的定義與刪除 3.3.2基本表的定義、刪除與修改 3.3.3索引的建立與刪除An Introduction to Database System3.3.3索引的建立與刪:建立索引的目的:加快查詢速度:誰可以建立索引DBA或表的屈主(即建立表的人)DBMS般會自動建立以下列上的索引PRIMARY KEYUNIQUE:誰維護(hù)索引DBMS自動完成:使用索引DBMSH動選擇是否使用索引以及使用哪些索引 RDBMSP索引一般采用B+樹、
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年蘭州從業(yè)資格證貨運題庫答案
- 智能穿戴設(shè)備合作開發(fā)合同(2篇)
- 2025年寶雞三和職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年四川電力職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025至2031年中國石英管陶瓷加熱管行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國汽車后地毯行業(yè)投資前景及策略咨詢研究報告
- 水土保持與生態(tài)環(huán)境-深度研究
- 2025年度跨境貿(mào)易法律風(fēng)險防控委托代理合同
- 2025年度私立高中教師聘用合同協(xié)議
- 二零二五年度消防報警系統(tǒng)維護(hù)保養(yǎng)與升級合同
- 2024年全國職業(yè)院校技能大賽高職組(研學(xué)旅行賽項)考試題庫(含答案)
- 電器儀表人員培訓(xùn)課件
- 2025年中小學(xué)春節(jié)安全教育主題班會課件
- 計量經(jīng)濟(jì)學(xué)練習(xí)題
- 2025年全國高考體育單招考試模擬政治試卷試題(含答案詳解)
- 傳統(tǒng)春節(jié)習(xí)俗
- 反走私課件完整版本
- 四年級下冊數(shù)學(xué)知識點總結(jié)
- 鐵未來商業(yè)模擬挑戰(zhàn)賽規(guī)則與流程
- 氯諾昔康針劑在圍術(shù)期鎮(zhèn)痛與其它市場應(yīng)用(代表培訓(xùn)完整版)
- 經(jīng)歷是流經(jīng)裙邊的水
評論
0/150
提交評論