




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、SQLSQL(Structured Query LanguageStructured Query Language)結(jié)構化查詢語言,是關系數(shù)據(jù)庫的標準語言。結(jié)構化查詢語言,是關系數(shù)據(jù)庫的標準語言。SQLSQL是一個通用的、功能極強的關系數(shù)據(jù)庫語是一個通用的、功能極強的關系數(shù)據(jù)庫語言。言。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL5.1 SQL的功能及特點的功能及特點1.SQL語句分類語句分類數(shù)據(jù)定義語句數(shù)據(jù)定義語句 DDL數(shù)據(jù)操縱語句數(shù)據(jù)操縱語句 DML數(shù)據(jù)控制語句數(shù)據(jù)控制語句 DCL第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL第第5 5章章 關系數(shù)據(jù)
2、庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL2. SQL的特點的特點SQL具有自主式語言和嵌入式語言兩種具有自主式語言和嵌入式語言兩種使用方式。使用方式。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQLSQL具有語言簡潔、易學易用的特點。具有語言簡潔、易學易用的特點。SQL功能功能命令動詞命令動詞數(shù)據(jù)定義數(shù)據(jù)定義CREATE DROP ALTER數(shù)據(jù)操縱數(shù)據(jù)操縱SELECT INSERT UPDATE DELETE數(shù)據(jù)控制數(shù)據(jù)控制GRANT REVOKE 第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQLSQL支持三級數(shù)據(jù)模式結(jié)構。支持三級數(shù)據(jù)模式結(jié)構。SQL視圖視圖
3、2視圖視圖1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存儲文件存儲文件2存儲文件存儲文件1外模式外模式模模 式式內(nèi)模式內(nèi)模式第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL基本表基本表n 本身獨立存在的表本身獨立存在的表n SQL中一個關系就對應一個基本表中一個關系就對應一個基本表n 一個一個(或多個或多個)基本表對應一個存儲文件基本表對應一個存儲文件n 一個表可以帶若干索引一個表可以帶若干索引存儲文件存儲文件n 邏輯結(jié)構組成了關系數(shù)據(jù)庫的內(nèi)模式邏輯結(jié)構組成了關系數(shù)據(jù)庫的內(nèi)模式n 物理結(jié)構是任意的,對用戶透明物理結(jié)構是任意的,對用戶透明視圖視圖n 從一個或幾個基本
4、表導出的表從一個或幾個基本表導出的表n 數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù)數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù)n 視圖是一個虛表視圖是一個虛表n 用戶可以在視圖上再定義視圖用戶可以在視圖上再定義視圖第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL5.2 數(shù)據(jù)定義語句數(shù)據(jù)定義語句 SQL的數(shù)據(jù)定義包括定義基本表、索引、視的數(shù)據(jù)定義包括定義基本表、索引、視圖和數(shù)據(jù)庫。圖和數(shù)據(jù)庫。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL5.2.1 基本表的定義和維護基本表的定義和維護一、定義基本表一、定義基本表CREATE TABLE ( , , );)
5、; 如果完整性約束條件涉及到該表的多個屬性列,則必如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定須定義在表級上,否則既可以定義在列級也可以定義在表級。義在表級。數(shù)據(jù)類型數(shù)據(jù)類型含義含義CHAR(n)長度為長度為n的定長字符串的定長字符串VARCHAR(n)最大長度為最大長度為n的變長字符串的變長字符串INT長整數(shù)(也可以寫作長整數(shù)(也可以寫作INTEGER)SMALLINT短整數(shù)短整數(shù)NUMERIC(p,d)定點數(shù),由定點數(shù),由p位數(shù)字(不包括符號、小數(shù)點)組成,小數(shù)后面位數(shù)字(不包括符號、小數(shù)點)組成,小數(shù)后面有有d位數(shù)字位數(shù)字REAL取決于機器精
6、度的浮點數(shù)取決于機器精度的浮點數(shù)Double Precision取決于機器精度的雙精度浮點數(shù)取決于機器精度的雙精度浮點數(shù)FLOAT(n)浮點數(shù),精度至少為浮點數(shù),精度至少為n位數(shù)字位數(shù)字DATE日期,包含年、月、日,格式為日期,包含年、月、日,格式為YYYY-MM-DDTIME時間,包含一日的時、分、秒,格式為時間,包含一日的時、分、秒,格式為HH:MM:SS第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL列級完整性的約束條件:針對屬性值設置的限制條件。列級完整性的約束條件:針對屬性值設置的限制條件。1) NOT NULL1) NOT NULL或或NULLNULL約束。約束。N
7、OT NULLNOT NULL約束不允許字段值為空,而約束不允許字段值為空,而NULLNULL約束允許字段值為空。約束允許字段值為空。2) UNIQUE2) UNIQUE約束。惟一性約束,即不允許列中出現(xiàn)重復的屬性值。約束。惟一性約束,即不允許列中出現(xiàn)重復的屬性值。3) 3) DEFAULTDEFAULT約束約束。默認值約束。默認值約束。 DEFAULTDEFAULT約束名默認值約束名默認值FORFOR列名列名4) 4) CHECKCHECK約束約束。檢查約束。檢查約束。CONSTRAINTCONSTRAINT約束名約束名CHECK (CHECK (約束條件表達式約束條件表達式) )第第5 5
8、章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL表級完整性約束條件:涉及到關系中多個列的限制條件。表級完整性約束條件:涉及到關系中多個列的限制條件。1) UNIQUE1) UNIQUE約束。惟一性約束。約束。惟一性約束。2) PRIMARY KEY2) PRIMARY KEY約束。定義主碼,保證惟一性和非空性。約束。定義主碼,保證惟一性和非空性。 CONTRAINTCONTRAINT約束名約束名PRIMARY KEY (PRIMARY KEY (列組列組) )3) FOREIGN KEY3) FOREIGN KEY約束。用于定義參照完整性。約束。用于定義參照完整性。 CONTRAINTC
9、ONTRAINT約束名約束名FOREIGN KEY(FOREIGN KEY(外碼外碼) ) REFERENCES REFERENCES被參照表名被參照表名( (與外碼對應的主碼名與外碼對應的主碼名) )第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL【例【例5-15-1】用】用SQLSQL建立學生課程庫中的基本建立學生課程庫中的基本表。其表結(jié)構為:表。其表結(jié)構為:學生(學號,姓名,年齡,性別,所在系)學生(學號,姓名,年齡,性別,所在系)課程(課程號,課程名,先行課)課程(課程號,課程名,先行課)選課(學號,課程號,成績)選課(學號,課程號,成績)CREATE TABLE CR
10、EATE TABLE 學生學生( (學號學號 CHAR(5) NOT NULL UNIQUECHAR(5) NOT NULL UNIQUE, 姓名姓名 CHAR(8) NOT NULLCHAR(8) NOT NULL, 年齡年齡 SMALLINTSMALLINT, 性別性別 CHAR(2)CHAR(2), 所在系所在系 CHAR(20)CHAR(20), DEFAULT DEFAULT C1C1 20 FOR 20 FOR 年齡,年齡, CONSTRAINT CONSTRAINT C2C2 CHECK( CHECK(性別性別 IN (IN (男男,女女); 第第5 5章章 關系數(shù)據(jù)庫標準語言關
11、系數(shù)據(jù)庫標準語言SQLSQLCREATE TABLE CREATE TABLE 課程課程( (課程號課程號 CHAR(5) PRIMARY KEYCHAR(5) PRIMARY KEY, 課程名課程名 CHAR(20)CHAR(20), 先行課先行課 CHAR(5)CHAR(5);第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQLCREATE TABLE CREATE TABLE 選課選課( (學號學號 CHAR(5)CHAR(5), 課程號課程號 CHAR(5)CHAR(5), 成績成績 SMALLINTSMALLINT, CONSTRAINT CONSTRAINT C3C3
12、CHECK( CHECK(成績成績 BETWEEN 0 AND 100)BETWEEN 0 AND 100), CONSTRAINT CONSTRAINT C4C4 PRIMARY KEY( PRIMARY KEY(學號,課程號學號,課程號) ), CONSTRAINT CONSTRAINT C5C5 FOREIGN KEY( FOREIGN KEY(學號學號) REFERENCES ) REFERENCES 學學生生( (學號學號) ), CONSTRAINT CONSTRAINT C6C6 FOREIGN KEY( FOREIGN KEY(課程號課程號) REFERENCES) REFER
13、ENCES 課程課程( (課程號課程號);第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL二、修改基本表二、修改基本表ALTER TABLEALTER TABLE表名表名 ADD(ADD(新列名數(shù)據(jù)類型新列名數(shù)據(jù)類型 完整性約束完整性約束 ,n)n) DROP DROP完整性約束名完整性約束名 MODIFY( MODIFY(列名數(shù)據(jù)類型列名數(shù)據(jù)類型 ,n)n);(1) (1) 使用使用ADDADD子句增加新列子句增加新列【例【例5-25-2】向課程表中增加】向課程表中增加“學時學時”字段。字段。 ALTER TABLE ALTER TABLE 課程課程 ADD ADD 學時學時
14、 SMALLINTSMALLINT;第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL(2) 使用使用MODIFY子句修改列的原定義。子句修改列的原定義。(3) 使用使用DROP子句刪除指定的完整性約束子句刪除指定的完整性約束條件。條件。【例【例5-3】刪除學生表中對年齡的默認值的】刪除學生表中對年齡的默認值的定義。定義。 ALTER TABLE 學生學生 DROP C1;第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL三、刪除基本表三、刪除基本表刪除基本表的一般格式為:刪除基本表的一般格式為: DROP TABLE表名;表名;基本表一旦被刪除,表中的數(shù)據(jù)及在此基
15、本表一旦被刪除,表中的數(shù)據(jù)及在此表基礎上建立的索引、視圖將自動地全表基礎上建立的索引、視圖將自動地全部被刪除掉。部被刪除掉。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL5.2.2 5.2.2 索引的定義和維護索引的定義和維護一、索引的作用一、索引的作用1) 1) 使用索引可以明顯地加快數(shù)據(jù)查詢使用索引可以明顯地加快數(shù)據(jù)查詢的速度。的速度。2) 2) 使用索引可保證數(shù)據(jù)的惟一性。使用索引可保證數(shù)據(jù)的惟一性。3) 3) 使用索引可以加快連接速度。使用索引可以加快連接速度。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL二、建立索引的原則二、建立索引的原則1) 1
16、) 索引的建立和維護由索引的建立和維護由DBADBA和和DBMSDBMS完成。完成。2) 2) 大表應當建索引,小表則不必建索引。大表應當建索引,小表則不必建索引。3) 3) 對于一個基本表,不要建立過多的索引。對于一個基本表,不要建立過多的索引。4) 4) 根據(jù)查詢要求建索引。根據(jù)查詢要求建索引。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL三、建立索引格式為:三、建立索引格式為:CREATE UNIQUE CLUSTER INDEXCREATE UNIQUE CLUSTER INDEX索引名索引名 ONON表名表名( (列名列名 次序次序,列名,列名 次次序序);四、刪除
17、索引格式為:四、刪除索引格式為: DROP INDEX DROP INDEX 索引名;索引名;第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL【例【例5-45-4】為學生】為學生_ _課程數(shù)據(jù)庫中的學生、課程和選課三個表課程數(shù)據(jù)庫中的學生、課程和選課三個表建立索引。其中,學生表按學號升序建立索引;課程表按建立索引。其中,學生表按學號升序建立索引;課程表按課程號升序建惟一索引;選課表按學號升序和課程號降序課程號升序建惟一索引;選課表按學號升序和課程號降序建惟一索引。建惟一索引。CREATE UNIQUE INDEX CREATE UNIQUE INDEX 學號學號 ON ON 學
18、生學生( (學號學號) );CREATE UNIQUE INDEX CREATE UNIQUE INDEX 課程號課程號 ON ON 課程課程( (課程號課程號) );CREATE UNIQUE INDEX CREATE UNIQUE INDEX 選課號選課號 ON ON 選課選課( (學號學號 ASCASC,課程,課程號號 DESC)DESC);第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL5.2.3 視圖的定義和維護視圖的定義和維護一、視圖的優(yōu)點一、視圖的優(yōu)點 1) 1) 視圖能夠簡化用戶的操作。視圖能夠簡化用戶的操作。2) 2) 視圖機制可以使用戶以不同的方式看待同視圖
19、機制可以使用戶以不同的方式看待同 一數(shù)據(jù)。一數(shù)據(jù)。3) 3) 視圖對數(shù)據(jù)庫的重構提供了一定程度的邏視圖對數(shù)據(jù)庫的重構提供了一定程度的邏輯獨立性。輯獨立性。4) 4) 視圖可以對機密的數(shù)據(jù)提供安全保護。視圖可以對機密的數(shù)據(jù)提供安全保護。第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL二、視圖定義的格式二、視圖定義的格式一般格式為:一般格式為: CREATE VIEWCREATE VIEW視圖名視圖名(列名組列名組) AS AS子查詢子查詢 WITH CHECK OPTIONWITH CHECK OPTION;第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL【例【例
20、5-65-6】建立計算機系學生的視圖?!拷⒂嬎銠C系學生的視圖。 CREATE VIEW CREATE VIEW 計算機系學生計算機系學生 AS SELECT AS SELECT 學號,姓名,年齡學號,姓名,年齡 FROM FROM 學生學生 WHERE WHERE 所在系所在系=計算機系計算機系;第第5 5章章 關系數(shù)據(jù)庫標準語言關系數(shù)據(jù)庫標準語言SQLSQL【例【例5-75-7】由學生、課程和選課三個表,定義一個計算機系的學】由學生、課程和選課三個表,定義一個計算機系的學生成績視圖,其屬性包括學號、姓名、課程名和成績。生成績視圖,其屬性包括學號、姓名、課程名和成績。CREATE VIEW CREATE VIEW 學生成績學生成績( (學號,姓名,課程名,成績學號,姓名,課程名,成績) AS ) AS SELECT SELECT 學生學生. .學號,學生學號,學生. .姓名,課程姓名,課程. .課程名,選課課程名,選課. .成績成績FORM FORM 學生,課程,選課學生,課程,選課WHERE WHERE 學生學生. .學號學號= =選課選課. .學號學號 AN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 六進進機關活動方案
- 共享單車籌資活動方案
- 長期護理保險福利效應的深度分析
- 研究生教育思政課程改革的策略及實施路徑
- 推進科技保險產(chǎn)品服務創(chuàng)新實施方案
- 云南省煙草專賣局(公司)考試真題2024
- 深化制造業(yè)計量應用賦能實施方案
- 2024年山西省煙草專賣局(公司)真題試卷及答案
- 中國煙草總公司浙江省公司考試真題2024
- 地方本科院校無機化學全英教學的實踐與探索
- EPC項目全流程咨詢管理的核心要點與優(yōu)化策略
- 鐵路施工高空作業(yè)安全教育
- 2025年管道工(技師)職業(yè)技能鑒定理論考試題庫(含答案)
- 一體化污水處理設備采購安裝及運維 投標方案(技術方案)
- 晉升品質(zhì)主管述職報告
- 雷火灸技術操作流程圖及考核標準
- 北師大版三年級下冊數(shù)學全冊教案(完整版)教學設計含教學反思
- 電力安全生產(chǎn)十大禁令
- 醫(yī)學分子生物學習題集
- 2025年山東水發(fā)集團有限公司總部及權屬一級公司招聘筆試參考題庫附帶答案詳解
- 基于機器學習算法的泰坦尼克生還預測
評論
0/150
提交評論