軟件開發(fā)技術(shù)數(shù)據(jù)庫復(fù)習(xí)PPT課件

上傳人:可**** 文檔編號:96862520 上傳時間:2022-05-26 格式:PPTX 頁數(shù):57 大?。?12.15KB
收藏 版權(quán)申訴 舉報 下載
軟件開發(fā)技術(shù)數(shù)據(jù)庫復(fù)習(xí)PPT課件_第1頁
第1頁 / 共57頁
軟件開發(fā)技術(shù)數(shù)據(jù)庫復(fù)習(xí)PPT課件_第2頁
第2頁 / 共57頁
軟件開發(fā)技術(shù)數(shù)據(jù)庫復(fù)習(xí)PPT課件_第3頁
第3頁 / 共57頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《軟件開發(fā)技術(shù)數(shù)據(jù)庫復(fù)習(xí)PPT課件》由會員分享,可在線閱讀,更多相關(guān)《軟件開發(fā)技術(shù)數(shù)據(jù)庫復(fù)習(xí)PPT課件(57頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、數(shù)據(jù)庫設(shè)計過程E/RE/R圖到關(guān)圖到關(guān)系模式的系模式的轉(zhuǎn)換轉(zhuǎn)換關(guān)系模式關(guān)系模式的規(guī)范化的規(guī)范化需求分析需求分析概念模式設(shè)計概念模式設(shè)計邏輯模式設(shè)計邏輯模式設(shè)計數(shù)據(jù)庫實施數(shù)據(jù)庫實施E/RE/R圖圖UMLUMLRDBMSRDBMS模式模式存儲模式存儲模式數(shù)據(jù)庫運行和維護數(shù)據(jù)庫運行和維護第1頁/共57頁概念模式設(shè)計概念模式設(shè)計ER圖圖實體聯(lián)系模型(實體聯(lián)系模型(Entity-Relationship Model,簡稱,簡稱E-R模型)模型)第2頁/共57頁E-R模型的基本概念模型的基本概念 實體實體(entity):客觀存在,可以相互區(qū)別的事物稱為實體。:客觀存在,可以相互區(qū)別的事物稱為實體。 實體

2、集實體集(entity set):性質(zhì)相同的同類實體的集合,稱實體集。:性質(zhì)相同的同類實體的集合,稱實體集。 屬性屬性(attribute):實體有很多特性,每一個特性稱為屬性。每:實體有很多特性,每一個特性稱為屬性。每一個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型一個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型等。等。 實體標識符實體標識符(identifier):能惟一標識實體的屬性或?qū)傩约Q:能惟一標識實體的屬性或?qū)傩约?,稱 為實體標識符。有時也稱為關(guān)鍵碼為實體標識符。有時也稱為關(guān)鍵碼(key),或簡稱為,或簡稱為鍵鍵。 聯(lián)系聯(lián)系(relationship)是實體之間

3、的相互關(guān)系。是實體之間的相互關(guān)系。 數(shù)據(jù)模型數(shù)據(jù)模型: 能表示實體類型及實體間聯(lián)系的模型稱為能表示實體類型及實體間聯(lián)系的模型稱為“數(shù)據(jù)模數(shù)據(jù)模型型”。 第3頁/共57頁E-R圖的基本組成部分圖的基本組成部分 E/RE/R圖有四個主要部分:圖有四個主要部分:(1 1)實體集,用矩形表示。)實體集,用矩形表示。(2 2)屬性,用橢圓形表示。)屬性,用橢圓形表示。(3 3)聯(lián)系,用菱形表示。)聯(lián)系,用菱形表示。(4 4)直線,表示聯(lián)系的類型及實體與實體之間的聯(lián)系;)直線,表示聯(lián)系的類型及實體與實體之間的聯(lián)系;第4頁/共57頁數(shù)據(jù)聯(lián)系數(shù)據(jù)聯(lián)系 聯(lián)系(聯(lián)系(relationshiprelationshi

4、p)是實體之間的相互關(guān)系。)是實體之間的相互關(guān)系。 二元聯(lián)系有以下三種類型:二元聯(lián)系有以下三種類型:一對一聯(lián)系一對一聯(lián)系:實體集:實體集E1E1中每個實體至多和實體集中每個實體至多和實體集E2E2中中的一個實體有聯(lián)系,反之亦然,那么實體集的一個實體有聯(lián)系,反之亦然,那么實體集E1E1和和E2E2的的聯(lián)系稱為聯(lián)系稱為“一對一聯(lián)系一對一聯(lián)系”,記為,記為“1:11:1”。一對多聯(lián)系一對多聯(lián)系:實體集:實體集E1E1中每個實體可以與實體集中每個實體可以與實體集E2E2中中任意個(零個或多個)實體間有聯(lián)系,而任意個(零個或多個)實體間有聯(lián)系,而E2E2中每個實中每個實體至多和體至多和E1E1中一個實體

5、有聯(lián)系,那么稱中一個實體有聯(lián)系,那么稱E1E1對對E2E2的聯(lián)系的聯(lián)系是是“一對多聯(lián)系一對多聯(lián)系”,記為,記為“1:N1:N”。 多對多聯(lián)系多對多聯(lián)系:如果實體集:如果實體集E1E1中每個實體可以與實體集中每個實體可以與實體集E2E2中任意個(零個或多個)實體有聯(lián)系,反之亦然,中任意個(零個或多個)實體有聯(lián)系,反之亦然,那么稱那么稱E1E1和和E2E2的聯(lián)系是的聯(lián)系是“多對多聯(lián)系多對多聯(lián)系”,記為,記為“M:NM:N”。 第5頁/共57頁三種聯(lián)系的三種聯(lián)系的E-R圖圖實體實體1 1實體實體2 2聯(lián)系聯(lián)系實體實體1 1實體實體2 2聯(lián)系聯(lián)系實體實體1 1實體實體2 2聯(lián)系聯(lián)系 1 11 1聯(lián)系聯(lián)

6、系 1 1n n聯(lián)系聯(lián)系 m mn n聯(lián)系聯(lián)系第6頁/共57頁三種聯(lián)系的三種聯(lián)系的E-R圖圖客人客人飛機座位飛機座位號號聯(lián)系聯(lián)系院系院系教師教師聯(lián)系聯(lián)系課程課程學(xué)生學(xué)生聯(lián)系聯(lián)系 1 11 1聯(lián)系聯(lián)系 1 1n n聯(lián)系聯(lián)系 m mn n聯(lián)系聯(lián)系第7頁/共57頁E-R圖實例圖實例例:設(shè)計一個學(xué)生選課數(shù)據(jù)庫。要求包括學(xué)生例:設(shè)計一個學(xué)生選課數(shù)據(jù)庫。要求包括學(xué)生(student)(student)、課程、課程(course)(course)和教師和教師(teacher)(teacher)的信息。的信息。 實體中存在如下聯(lián)系:實體中存在如下聯(lián)系: 一個學(xué)生可以選修多門課,而每門課也能由多個學(xué)生選修;一個

7、學(xué)生可以選修多門課,而每門課也能由多個學(xué)生選修;一位教師可以教多門課,每門課也可以由多個教師講授;用一位教師可以教多門課,每門課也可以由多個教師講授;用E-RE-R圖來描述此數(shù)據(jù)庫。圖來描述此數(shù)據(jù)庫。 學(xué)生信息:學(xué)號(sNo)、學(xué)生姓名(sName)、年齡(age)、地址(sAddress)課程信息:課程號(cNo)、課程名(cName)、課程學(xué)分(credit)教師信息:工號(tNo)、姓名(tName)、教師的地址(tAddress)第8頁/共57頁學(xué)生學(xué)生-課程課程-教師教師E-R圖圖studentcourseteachertaketeachcreditscNamecNumsAddres

8、sagesNamesNotAddresstNametNoscore注意:如果一個聯(lián)系具有屬性,則這些屬性也與該注意:如果一個聯(lián)系具有屬性,則這些屬性也與該聯(lián)系連接起來。聯(lián)系連接起來。TeachCourseNo第9頁/共57頁概念模式設(shè)計概念模式設(shè)計UML從用例圖分析出對象StudentStudentstudentNostudentNostudentNamestudentNamesexsexdepartmentIddepartmentIdmajormajor第10頁/共57頁概念模式設(shè)計概念模式設(shè)計UMLTeacherteacherIdteacherNamesex對象之間的關(guān)系Departmen

9、tDepartmentIddeptNamelocation工作第11頁/共57頁概念模式設(shè)計概念模式設(shè)計UML對象之間的關(guān)系分類一元關(guān)系第12頁/共57頁概念模式設(shè)計概念模式設(shè)計UMLTeacherteacherIdteacherNamesex對象之間的關(guān)系分類DepartmentDepartmentIddeptNamelocation工作二元關(guān)系第13頁/共57頁概念模式設(shè)計概念模式設(shè)計UMLTeacherteacherIdteacherNamesex關(guān)系的重數(shù)DepartmentDepartmentIddeptNamelocation1.n1重數(shù)1.n重數(shù)1第14頁/共57頁概念模式設(shè)計概

10、念模式設(shè)計UML關(guān)聯(lián)2個對象關(guān)聯(lián)產(chǎn)生屬性第15頁/共57頁關(guān)系模型的結(jié)構(gòu)關(guān)系模型的結(jié)構(gòu) - - 數(shù)據(jù)模型三要素之一數(shù)據(jù)模型三要素之一 一個關(guān)系的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。一個關(guān)系的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)關(guān)系系關(guān)系名關(guān)系名第16頁/共57頁l 元組元組:表中的一行即為一個元組或記錄;:表中的一行即為一個元組或記錄;l 字段字段:表中的一列,列值稱為字段值,列名稱為字段名:表中的一列,列值稱為字段值,列名稱為字段名l 值域值域:字段值的取值范圍:字段值的取值范圍元組元組 ( (記錄)記錄)屬性屬性 ( (字段字段) )第17頁/共57頁l主鍵主鍵:能唯一標識一個元組的

11、屬性集合。:能唯一標識一個元組的屬性集合。l外鍵外鍵:若屬性組:若屬性組F F不是關(guān)系不是關(guān)系R1R1的主鍵,但它是關(guān)系的主鍵,但它是關(guān)系R2R2的主的主 鍵,則鍵,則F F稱是關(guān)系稱是關(guān)系R1R1的外鍵。的外鍵。主鍵主鍵主鍵主鍵外鍵外鍵第18頁/共57頁關(guān)系的完整性關(guān)系的完整性域完整性域完整性 實體完整性實體完整性 參照完整性參照完整性 第19頁/共57頁1)第一范式)第一范式(First Normal Form,1NF) 定義:定義: 如果一個關(guān)系模式如果一個關(guān)系模式R的所有屬性都是不可分的基的所有屬性都是不可分的基 本本 數(shù)據(jù)項,則關(guān)系數(shù)據(jù)項,則關(guān)系R屬于第一范式。屬于第一范式。p第20

12、頁/共57頁2)第二范式)第二范式( Second Normal Form,2NF ) 定義:定義:若關(guān)系模式若關(guān)系模式R屬于第一范式,且每個非主屬性都完屬于第一范式,且每個非主屬性都完 全函數(shù)依賴于主鍵,全函數(shù)依賴于主鍵,則則R屬于第二范式屬于第二范式。t第21頁/共57頁3 3)第三范式)第三范式定義:定義:如果一個關(guān)系如果一個關(guān)系R是第二范式的,并且每個非主是第二范式的,并且每個非主屬性屬性 都不傳遞依賴于主鍵,則都不傳遞依賴于主鍵,則R屬于第三范屬于第三范式。式。 第22頁/共57頁4 4、E-R(UML)E-R(UML)模型到關(guān)系模式的轉(zhuǎn)換模型到關(guān)系模式的轉(zhuǎn)換1)實體)實體(對象對象

13、)到關(guān)系模式的轉(zhuǎn)換到關(guān)系模式的轉(zhuǎn)換2)聯(lián)系)聯(lián)系(關(guān)系關(guān)系)到關(guān)系模式的轉(zhuǎn)換到關(guān)系模式的轉(zhuǎn)換第23頁/共57頁1)實體到關(guān)系模式的轉(zhuǎn)換)實體到關(guān)系模式的轉(zhuǎn)換 規(guī)則:規(guī)則:將實體的名稱作為關(guān)將實體的名稱作為關(guān)系的名稱,將實體系的名稱,將實體的屬性作為關(guān)系的的屬性作為關(guān)系的屬性,并用下劃線屬性,并用下劃線標識出主屬性。標識出主屬性。 studentstudentcoursecoursetaketakesNosNosnamesnamesaddresssaddressageage cNocNo cnamecnamecreditscreditsgradegradestudent(sNo,sName,se

14、x,age),表示student關(guān)系,其中sNo為主鍵。course(cNo,cName,credits),表示course關(guān)系,其中cNo為主鍵。第24頁/共57頁2)聯(lián)系到關(guān)系模式的轉(zhuǎn)換)聯(lián)系到關(guān)系模式的轉(zhuǎn)換 1:1 若實體間聯(lián)系是若實體間聯(lián)系是1:11:1,可以在兩個實體轉(zhuǎn)換成的兩個,可以在兩個實體轉(zhuǎn)換成的兩個關(guān)系模式后,然后在其中任意一個關(guān)系模式的屬性集中關(guān)系模式后,然后在其中任意一個關(guān)系模式的屬性集中加入另一個關(guān)系模式的主鍵和聯(lián)系自身的屬性。加入另一個關(guān)系模式的主鍵和聯(lián)系自身的屬性。 也就也就是說是說1:11:1聯(lián)系不單獨轉(zhuǎn)換為一個獨立的關(guān)系。聯(lián)系不單獨轉(zhuǎn)換為一個獨立的關(guān)系。第25頁

15、/共57頁2)聯(lián)系到關(guān)系模式的轉(zhuǎn)換)聯(lián)系到關(guān)系模式的轉(zhuǎn)換 1:N 若實體間聯(lián)系是若實體間聯(lián)系是1:N1:N,則在,則在N N端實體轉(zhuǎn)換成的關(guān)端實體轉(zhuǎn)換成的關(guān)系模式中加入系模式中加入1 1端實體的主鍵和聯(lián)系的屬性。端實體的主鍵和聯(lián)系的屬性。 同樣同樣1:N1:N聯(lián)系也不獨立構(gòu)成一個關(guān)系。聯(lián)系也不獨立構(gòu)成一個關(guān)系。TeacherteacherIdteacherNamesexDepartmentDepartmentIddeptNamelocation工作二元關(guān)系第26頁/共57頁2)聯(lián)系到關(guān)系模式的轉(zhuǎn)換)聯(lián)系到關(guān)系模式的轉(zhuǎn)換 M:N若實體間聯(lián)系是若實體間聯(lián)系是M:NM:N,則將聯(lián)系轉(zhuǎn)換成一個關(guān)系模式

16、,其屬性為兩端實體的主鍵加,則將聯(lián)系轉(zhuǎn)換成一個關(guān)系模式,其屬性為兩端實體的主鍵加上聯(lián)系自身的屬性,而聯(lián)系關(guān)系的主鍵為一復(fù)合鍵,通常是兩端實體主鍵的組合。上聯(lián)系自身的屬性,而聯(lián)系關(guān)系的主鍵為一復(fù)合鍵,通常是兩端實體主鍵的組合。 第27頁/共57頁對于對于“學(xué)生選課學(xué)生選課”E/R圖的課程圖的課程和學(xué)生之間的多對多的聯(lián)系,和學(xué)生之間的多對多的聯(lián)系,可轉(zhuǎn)換成關(guān)系模式:可轉(zhuǎn)換成關(guān)系模式: take(sNo,cNo,grade) 主鍵為復(fù)合鍵主鍵為復(fù)合鍵sNo,cNo。 studentstudentcoursecoursetaketakesNosNosnamesnamesaddresssaddressa

17、geage cNocNo cnamecnamecreditscreditsgradegrade例:例:第28頁/共57頁關(guān)系數(shù)據(jù)庫的組織表1表2表3DBColumn or FieldRecord第29頁/共57頁SQL 2000SQL 2000字段類型Char varchar int dateTime第30頁/共57頁字段的屬性 請與Insertq 字段長度 對于字符類型,例如char和varchar,定義字段的同時可以 指 定 字 段 存 放 的 字 符 的 個 數(shù) , 例 如 定 義 姓 名 字 段 為 n a m e varchar(20),表示該字段最多存放20個字符。數(shù)值型的字段,除

18、了decimal由用戶自己定義長度和小數(shù)位數(shù)外,其他的如int, float等,系統(tǒng)自定義其占用的字節(jié)數(shù)。q 小數(shù)位數(shù) 用于decimal和貨幣類型的字段q 標識種子 用于數(shù)據(jù)庫表的記錄號的自動增加,經(jīng)常用于做表中記錄的主鍵。用于整型數(shù)值.q 默認值 當表中新增加一個記錄時,又不想具體指定某個字段的值??梢越o它一個默認的值。q 非空限制 用于限制字段的值不能為空,例如學(xué)生的姓名字段,每一個記錄都必須有值,因為學(xué)生不能沒有名字。q 索引 對字段進行索引,可以通過設(shè)定該字段為查詢條件來加快數(shù)據(jù)的檢索速度和統(tǒng)計、分組的速度。q 關(guān)鍵字 關(guān)系模式中的主鍵,用于唯一標識數(shù)據(jù)庫表中的記錄。第31頁/共57

19、頁簡單的SQL 查詢語句 Select SELECT 字段1,字段2,| * FROM 表名 WHERE 條件表達式第32頁/共57頁結(jié)構(gòu)化查詢語言SQLSQLSQL語言是一種關(guān)系數(shù)據(jù)庫語言,是結(jié)構(gòu)化查詢語言(Structured Query Language)的縮寫,它包括q 查詢q 定義q 操縱q 控制SQL的使用方法有兩種q 用戶交互的方式聯(lián)機使用,稱為交互式SQL;q 另一種是作為子語言嵌入到其他程序設(shè)計語言中使用,稱為嵌入式SQL。第33頁/共57頁SQL表達式SQL的表達式可分為兩類:1. 值表達式2. 邏輯表達式。值表達式包括幾種:1. 數(shù)值表達式:實現(xiàn)數(shù)值型數(shù)據(jù)的算術(shù)運算;2.

20、 字串值表達式完成了字串的操作;3. 日期時間值表達式處理日期時間數(shù)據(jù)。邏輯運算包括與(AND)、或(OR)、否(NOT)。SQL還提供了比較謂詞(=、!=、=)、范圍謂詞(IN、LIKE、IS)和存在謂詞(EXIST)。第34頁/共57頁函數(shù)SQL內(nèi)置函數(shù)有三類:1. 統(tǒng)計函數(shù):COUNT、SUM、AVG、MAX和MIN2. 字串處理函數(shù) len, substring(studentName,1,2)大小寫轉(zhuǎn)換函數(shù)(Upper,Lower)3. 時間日期處理函數(shù)。 時間日期處理函數(shù)用于返回當前的日期與時間。常用的有三個:getDate (返回當前日期時間)。Year, Month, Day函

21、數(shù)第35頁/共57頁數(shù)據(jù)檢索語句select 語法格式為: SELECT ALL|DISTINCT 目標列FROM 基本表 (或視圖)as 表別名WHERE 條件表達式GROUP BY 列名 HAVING 條件表達式ORDER BY 列名 ASC/DESC說明 DISTINCT為去掉查詢結(jié)果中重復(fù)的行,默認為ALL,既列出所有的記錄;目標列的格式可以寫為:列名1 as 別名1,列名n as 別名n,省略別名,返回的結(jié)果集中以列名標記,否則以別名標記,如果目標列用*表示,則返回表中的所有的列;From子句指明了從那些表或視圖中得到數(shù)據(jù),所有的列名都必須存在于From后的表中,或出現(xiàn)于left j

22、oin, inner join, full outer join之后的表,如果列名存在于From后的多個表中,則必須標明該列來源于哪個表,格式為 表名.列名;目標列可以是SQL中的庫函數(shù)或常數(shù)表達式。如Sum、Count、Avg等函數(shù)。第36頁/共57頁Select 語句Where 子句有雙重作用,一是返回需要的記錄,另一種是建立多表之間的內(nèi)連接聯(lián)合查詢。 GROUP BY 用來對查詢結(jié)果進行分組,把某一列值相同的記錄分成一組,與統(tǒng)計函數(shù)如Sum、Count等聯(lián)合使用;在有Group子句時,可以進一步使用HAVING子句對分組后的記過進行過濾顯示,是分組提取條件;ORDER BY 是查詢結(jié)果的

23、排序方式,后面跟ASC為升序,DESC為降序,默認為升序。第37頁/共57頁關(guān)系實例studentNonamebirthdaysexcourseNocourseNamestudentNocourseNoscore030318古待1986-1-2女S01高數(shù)一020301F0998020301張名1989-1-1男L02數(shù)值算法010101L0278010201張簡1981-2-2女J04操作系統(tǒng)010101J0489030501許昌1987-9-8男F09德語010201J0179030502劉放1988-1-9男F01日語010101J0491010101李燦1981-9-2男J01數(shù)據(jù)庫0

24、10101J0199010503顧爭1988-2-7男020002郭潔1988-1-5女學(xué)生表 tblStudent 課程表tblCourse 學(xué)生修課表 tblSelectCourse第38頁/共57頁SQL例例1 1:查看學(xué)生表中的全部數(shù)據(jù),即列出所有的學(xué)生Select * from tblStudent這里 * 代表表中所有的列,上述的語句等價如下的語句:Select studentNo, studentName, birthday, sex From tblStudent這時,表中有多少條記錄,數(shù)據(jù)庫系統(tǒng)就列出多少條記錄。第39頁/共57頁Where子句子 例2:查詢學(xué)生表tblStu

25、dent中的全部女生的學(xué)號、姓名和年齡Select studentNo, studentName, birthdayfrom tblStudent where sex=女 例3: 查詢學(xué)生修課表中成績大于80分的學(xué)生:Select * from tblSelectCourse where score80在where條件中,可以使用邏輯運算符和比較關(guān)系符,包括:=、!=、=。也可以使用關(guān)鍵字,如:between、like、in等。注意,如果值是字符串或者字符、日期類型的,就要用單引號把它括起來,例如例2中的where條件。 例4 查詢操作系統(tǒng)成績在70到80之間的學(xué)生的學(xué)號select stud

26、entNo from tblSelectCourse where score between 70 and 80 and courseNo=J003第40頁/共57頁日期型數(shù)據(jù)處理 羅列出每個同學(xué)的年齡現(xiàn)在有了生日,當前日期可以用getDate()函數(shù)獲得,日期型字段的年份可以用Year函數(shù)獲得Select year(getDate()- year(birthday)From tblStudent第41頁/共57頁order by 子句 例5:查詢02級學(xué)生的選課信息,按學(xué)號從小到大排列。由于學(xué)號的頭兩位代表學(xué)生的年級,所以可以這么完成SQL語句的編寫:Select studentNo,cou

27、rseNofrom tblSelectCourse where studentNo like 02% order by studentNo這里%代表任意個字符。第42頁/共57頁group by 和Having子句 例6:求每個學(xué)生的課程總分(大于260分的同學(xué)羅列)Select sc.studentNo, studentName, sum(score) as totfrom tblSelectCourse sc, tblStudent s where s.studentNo=sc.studentNo g ro u p b y s c . s t u d e n t N o , s t u d

28、 e n t N a m e h a v i n g sum(score) 260改為 having tot 260 對不對?例7:列出選修課程大于等于三門課程的學(xué)生,并按學(xué)號排序select s.studentName,sc.studentNo, count(*) as courses from tblStudent s, tblSelectCourse sc where sc.studentNo=s.studentNo group by sc.studentNo, s.studentName having count(*)=3 order by sc.studentNo第43頁/共57頁內(nèi)

29、連接查詢 例8 查找軟件開發(fā)課程成績在80分以上的學(xué)生的姓名、學(xué)號、年齡以及具體成績。分析:直接觀察表tblSelectCourse和tblStudent,可以發(fā)現(xiàn),通過tblSelectCourse可以得到學(xué)生的學(xué)號,但無法得到學(xué)生的名字和年齡,但缺少的信息可以通過表tblStudent得到,表tblStudent和tblSelectCourse的studentNo如果統(tǒng)一起來,就可以唯一得到所需要的信息 S e l e c t s . s t u d e n t N o , s t u d e n t N a m e , year(getDate()-year(birthday), sco

30、re from tblStudent s, tblSelectCourse sc where s.studentNo=sc.studentNo and courseNo=J001 and score80第44頁/共57頁例8的另外的寫法Select s.studentNo, studentName, birthday, score from tblStudent sinner join tblSelectCourse sc on s.studentNo=sc.studentNo where courseNo=J001 and score80第45頁/共57頁嵌套查詢 例9:找出成績(不分課程)

31、大于80分的學(xué)生的姓名Select studentName from tblStudent where studentNo in (select studentNo from tblSelectCourse where score80)這 里 , s e l e c t s t u d e n t N o f ro m s c w h e re score80返回一個集合,第二個查詢使用In關(guān)鍵字,判定表S中的studentNo是否在返回結(jié)果集中。第46頁/共57頁左連接查詢問題:班主任查詢班級學(xué)生某門課的成績表,如果一個學(xué)生沒選該課程,用內(nèi)連接查詢能得到什么結(jié)果?studentNonameb

32、irthdaysexcourseNocourseNamestudentNocourseNoscore030318古待1986-1-2女S01高數(shù)一020301F0998020301張名1989-1-1男L02數(shù)值算法010101L0278010201張簡1981-2-2女J04操作系統(tǒng)010101J0489030501許昌1987-9-8男F09德語010201J0179030502劉放1988-1-9男F01日語010101J0491010101李燦1981-9-2男J01數(shù)據(jù)庫010101J0199010503顧爭1988-2-7男020002郭潔1988-1-5女學(xué)生表 tblStude

33、nt 課程表tblCourse 學(xué)生修課表 tblSelectCourse第47頁/共57頁左連接 查詢 Left joinSelect studentName, a.studentNo, b.courseNo, courseNameFrom tblStudent aLeft join tblSelectCourse b on (a.studentNo = b.studentNoAnd b.courseNo=F001)Left join tblCourse c on b.courseNo=c.courseNo第48頁/共57頁什么時候用左連接n 左表在右表中對應(yīng)的記錄可能有,也可能沒有的情況下

34、, 第49頁/共57頁SQL數(shù)據(jù)更新語句 語法數(shù)據(jù)更新語句 Updaten SQL的數(shù)據(jù)更新語句Update修改表中原有的數(shù)據(jù)記錄n 與Select 語句不同,Update語句不存在多表聯(lián)合操作,每個語句一次只能針對一個表。Update語法格式為:update 表 set 字段名 = 表達式, 字段名=表達式,. where條件第50頁/共57頁Update 例子例 1111:將所有學(xué)生的年齡加1歲update tblStudent set age = age+1update tblStudent set age = age+1 例1212:將學(xué)號為011101的學(xué)生的J01課程成績加5分up

35、date tblSelectCourse set score= score+5 update tblSelectCourse set score= score+5 where studentNo=where studentNo=011101011101 and courseNo = and courseNo = J01J01第51頁/共57頁插入新記錄語句 Insert 語法insert intoinsert into 表名(字段名,字段名2) valuesvalues (值1,值2,值n)注:1、不允許為空的字段,并且沒有字段默認值的字段,必須出現(xiàn)在字段列表中.2、如果不寫字段名列表,則必須

36、按表結(jié)構(gòu)定義的字段順序,在values后定義值的序列.第52頁/共57頁Insert 舉例例13 向?qū)W生表中插入一個新同學(xué),數(shù)據(jù)為 0300101, 張三,男,21歲 insert into tblStudent values(030101, 張三, 21, 男)比較下例 insert into tblStudent(studentName, studentNo) values(汪于人, 980145)放棄了性別和年齡的輸入,如果表tblStudent的age和sex字段允許為空,則上面的語句向數(shù)據(jù)庫中插入的記錄中,這兩個字段的值是Null。如果age和sex有默認值,則取默認值. 例14 向

37、修課表中插入一個新的選課記錄,成績暫時不定 insert into tblSelectCourse(studentNo, courseNo) values(030101, J04)第53頁/共57頁刪除記錄 delete 語法 delete from 表名 where 條件第54頁/共57頁Delete 舉例例15 刪除表tblSelectCourse中011101的德語選課記錄delete from tblSelectCourse where studentNo=010101 and courseNo=F09第55頁/共57頁Sql作業(yè) 寫SQL語句1.將數(shù)據(jù)庫恢復(fù) (自己的準備工作)2.羅列出所有可選的課程的課程號,課程名。 3.羅列出所有學(xué)生的姓名、學(xué)號,年齡(庫里是生日)。4.羅列出學(xué)號、姓名,所選課程的總分,按總分從大到小次序排列。5.羅列出學(xué)號、姓名、課程號、課程名、成績,按學(xué)號從小到大排列 第56頁/共57頁感謝您的觀看!第57頁/共57頁

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!