資源描述:
《關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、華北電力大學(xué)計(jì)算機(jī)系數(shù)據(jù)庫(kù)系統(tǒng)概論AnIntroductiontoDatabaseSystem第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL1第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL3.1SQL概述3.2學(xué)生-課程數(shù)據(jù)庫(kù)3.3數(shù)據(jù)定義3.4數(shù)據(jù)查詢3.5數(shù)據(jù)更新3.6視圖3.7小結(jié)23.1SQL概述SQL(StructuredQueryLanguage)結(jié)構(gòu)化查詢語(yǔ)言,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言SQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言3SQL概述(續(xù))3.1.1SQL的特點(diǎn)3.1.2SQL的基本概念43.1.2SQL的特點(diǎn)1.綜合統(tǒng)一集數(shù)據(jù)定義語(yǔ)言(DDL),數(shù)據(jù)
2、操縱語(yǔ)言(DML),數(shù)據(jù)控制語(yǔ)言(DCL)功能于一體??梢元?dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng):定義關(guān)系模式,插入數(shù)據(jù),建立數(shù)據(jù)庫(kù);對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢和更新;數(shù)據(jù)庫(kù)重構(gòu)和維護(hù)數(shù)據(jù)庫(kù)安全性、完整性控制等用戶數(shù)據(jù)庫(kù)投入運(yùn)行后,可根據(jù)需要隨時(shí)逐步修改模式,不影響數(shù)據(jù)的運(yùn)行。數(shù)據(jù)操作符統(tǒng)一52.高度非過(guò)程化非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語(yǔ)言“面向過(guò)程”,必須制定存取路徑SQL只要提出“做什么”,無(wú)須了解存取路徑。存取路徑的選擇以及SQL的操作過(guò)程由系統(tǒng)自動(dòng)完成。63.面向集合的操作方式非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操作對(duì)象是一條記錄SQL采
3、用集合操作方式操作對(duì)象、查找結(jié)果可以是元組的集合一次插入、刪除、更新操作的對(duì)象可以是元組的集合74.以同一種語(yǔ)法結(jié)構(gòu)提供多種使用方式SQL是獨(dú)立的語(yǔ)言能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式SQL又是嵌入式語(yǔ)言SQL能夠嵌入到高級(jí)語(yǔ)言(例如C,C++,Java)程序中,供程序員設(shè)計(jì)程序時(shí)使用85.語(yǔ)言簡(jiǎn)潔,易學(xué)易用SQL功能極強(qiáng),完成核心功能只用了9個(gè)動(dòng)詞。93.1SQL概述3.1.1SQL的特點(diǎn)3.1.2SQL的基本概念10SQL的基本概念(續(xù))SQL視圖2視圖1基本表2基本表1基本表3基本表4存儲(chǔ)文件2存儲(chǔ)文件1外模式模式內(nèi)模式SQL支持關(guān)系
4、數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)11SQL的基本概念(續(xù))基本表本身獨(dú)立存在的表SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)基本表一個(gè)(或多個(gè))基本表對(duì)應(yīng)一個(gè)或多個(gè)存儲(chǔ)文件一個(gè)表可以帶若干索引存儲(chǔ)文件邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式物理結(jié)構(gòu)是任意的,對(duì)用戶透明視圖從一個(gè)或幾個(gè)基本表導(dǎo)出的表數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù)視圖是一個(gè)虛表用戶可以在視圖上再定義視圖12第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL3.1SQL概述3.2學(xué)生-課程數(shù)據(jù)庫(kù)3.3數(shù)據(jù)定義3.4數(shù)據(jù)查詢3.5數(shù)據(jù)更新3.6視圖3.7小結(jié)133.2學(xué)生-課程數(shù)據(jù)庫(kù)學(xué)生-課程模式S-T:學(xué)生表:Stude
5、nt(Sno,Sname,Ssex,Sage,Sdept)課程表:Course(Cno,Cname,Cpno,Ccredit)學(xué)生選課表:SC(Sno,Cno,Grade)14Student表學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept200215121200215122200215123200515125李勇劉晨王敏張立男女女男20191819CSCSMAIS15Course表課程號(hào)Cno課程名Cname先行課Cpno學(xué)分Ccredit1234567數(shù)據(jù)庫(kù)數(shù)學(xué)信息系統(tǒng)操作系統(tǒng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)處理PASCAL語(yǔ)言51676
6、424342416SC表學(xué)號(hào)Sno課程號(hào)Cno成績(jī)Grade20021512120021512120021512120021512220021512212323928588908017第三章關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL3.1SQL概述3.2學(xué)生-課程數(shù)據(jù)庫(kù)3.3數(shù)據(jù)定義3.4數(shù)據(jù)查詢3.5數(shù)據(jù)更新3.6視圖3.7小結(jié)183.3數(shù)據(jù)定義SQL的數(shù)據(jù)定義功能:模式定義、表定義、視圖和索引的定義193.3數(shù)據(jù)定義3.3.1基本表的定義、刪除與修改3.3.2索引的建立與刪除203.3.1基本表的定義、刪除與修改一、定義基本表CREATETABLE<表
7、名>(<列名><數(shù)據(jù)類型>[<列級(jí)完整性約束條件>][,<列名><數(shù)據(jù)類型>[<列級(jí)完整性約束條件>]]…[,<表級(jí)完整性約束條件>]);如果完整性約束條件涉及到該表的多個(gè)屬性列,則必須定義在表級(jí)上,否則既可以定義在列級(jí)也可以定義在表級(jí)。21學(xué)生表Student[例5]建立“學(xué)生”表Student,學(xué)號(hào)是主碼,姓名取值唯一。CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,/*列級(jí)完整性約束條件*/SnameCHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR(2),SageSMALLIN
8、T,SdeptCHAR(20));主碼22課程表Course[例6]建立一個(gè)“課程”表CourseCREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHA