同濟(jì)大學(xué)大學(xué)計(jì)算機(jī)基礎(chǔ)課件(第八章)_第1頁(yè)
同濟(jì)大學(xué)大學(xué)計(jì)算機(jī)基礎(chǔ)課件(第八章)_第2頁(yè)
同濟(jì)大學(xué)大學(xué)計(jì)算機(jī)基礎(chǔ)課件(第八章)_第3頁(yè)
同濟(jì)大學(xué)大學(xué)計(jì)算機(jī)基礎(chǔ)課件(第八章)_第4頁(yè)
同濟(jì)大學(xué)大學(xué)計(jì)算機(jī)基礎(chǔ)課件(第八章)_第5頁(yè)
已閱讀5頁(yè),還剩99頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

大學(xué)計(jì)算機(jī)基礎(chǔ)第八章數(shù)據(jù)庫(kù)基礎(chǔ)第四版1大學(xué)計(jì)算機(jī)基礎(chǔ)第八章數(shù)據(jù)庫(kù)基礎(chǔ)第四版18.1數(shù)據(jù)庫(kù)系統(tǒng)概述8.2數(shù)據(jù)庫(kù)的建立和維護(hù)8.3數(shù)據(jù)庫(kù)查詢8.4

窗體、報(bào)表數(shù)據(jù)庫(kù)基礎(chǔ)8.1數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)基礎(chǔ)典型案例無(wú)紙化通用考試系統(tǒng)

大學(xué)計(jì)算機(jī)基礎(chǔ)VisualBasic程序設(shè)計(jì)C/C++程序設(shè)計(jì)軟件技術(shù)基礎(chǔ)應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)VBVC++PowerBuilder

Delphi

ACCESSSQLSERVERORACLEFOXPROSQL命令數(shù)據(jù)庫(kù)引摯數(shù)據(jù)庫(kù)信息化社會(huì)離不開(kāi)信息系統(tǒng) 信息系統(tǒng)的核心和基礎(chǔ)是數(shù)據(jù)庫(kù)3典型案例無(wú)紙化通用考試系統(tǒng)應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)VBVC+計(jì)算機(jī)基礎(chǔ)教育網(wǎng)站

IEHTM、ASP客戶機(jī)服務(wù)器SQL命令數(shù)據(jù)庫(kù)發(fā)出請(qǐng)求響應(yīng)請(qǐng)求數(shù)據(jù)4計(jì)算機(jī)基礎(chǔ)教育網(wǎng)站IEHTM、ASP客戶機(jī)服務(wù)器SQL命令數(shù)8.1.1常用術(shù)語(yǔ)8.1.2數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展8.1.3數(shù)據(jù)模型8.1.4

常見(jiàn)的數(shù)據(jù)庫(kù)系統(tǒng)及其開(kāi)發(fā)工具8.1.5典型的新型數(shù)據(jù)庫(kù)系統(tǒng)8.1數(shù)據(jù)庫(kù)系概述8.1.1常用術(shù)語(yǔ)8.1數(shù)據(jù)庫(kù)系概述8.1.1常用術(shù)語(yǔ)1.數(shù)據(jù)庫(kù)(DataBase,DB)長(zhǎng)期保存在計(jì)算機(jī)外存上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。2.數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS)對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的軟件系統(tǒng)。數(shù)據(jù)庫(kù)的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過(guò)DBMS進(jìn)行的。DBMS是位于用戶(或應(yīng)用程序)和操作系統(tǒng)之間的軟件。借助于操作系統(tǒng)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)和管理,使數(shù)據(jù)能被各種不同的用戶所共享,DBMS提供給用戶可使用的數(shù)據(jù)庫(kù)語(yǔ)言。3.數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS)由DB、DBMS、應(yīng)用程序、數(shù)據(jù)庫(kù)管理員、用戶等構(gòu)成的人-機(jī)系統(tǒng)。用戶應(yīng)用程序DBMS操作系統(tǒng)數(shù)據(jù)庫(kù)DB數(shù)據(jù)庫(kù)系統(tǒng)68.1.1常用術(shù)語(yǔ)1.數(shù)據(jù)庫(kù)(DataBase,DB8.1.2數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)發(fā)展階段人工管理階段文件管理階段數(shù)據(jù)庫(kù)系統(tǒng)階段78.1.2數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)發(fā)1.人工管理階段時(shí)間:20世紀(jì)50年代中期以前

硬件:只有卡片、紙帶、磁帶等存儲(chǔ)設(shè)備軟件:沒(méi)有操作系統(tǒng),沒(méi)有進(jìn)行數(shù)據(jù)管理的軟件應(yīng)用:以科學(xué)計(jì)算為目的特點(diǎn):程序和數(shù)據(jù)放在一起數(shù)據(jù)不能共享特征圖程序1數(shù)據(jù)1程序2數(shù)據(jù)2程序n數(shù)據(jù)n……81.人工管理階段時(shí)間:20世紀(jì)50年代中期以前程序1數(shù)據(jù)1人工管理階段數(shù)據(jù)管理示例例:兩個(gè)C語(yǔ)言程序,分別求10個(gè)數(shù)據(jù)之和和最大值。 程序與數(shù)據(jù)放在一起,數(shù)據(jù)沒(méi)有能夠共享9人工管理階段數(shù)據(jù)管理示例例:兩個(gè)C語(yǔ)言程序,分別求10個(gè)數(shù)據(jù)2.文件系統(tǒng)階段時(shí)間:20世紀(jì)60年代中期硬件:磁帶、磁盤等大容量存儲(chǔ)設(shè)備軟件:有了操作系統(tǒng)應(yīng)用:不僅用于科學(xué)計(jì)算,還用于數(shù)據(jù)管理.特點(diǎn):程序與數(shù)據(jù)分離數(shù)據(jù)有一定的獨(dú)立性實(shí)現(xiàn)了以文件為單位的數(shù)據(jù)共享特征圖數(shù)據(jù)文件1…文件管理系統(tǒng)數(shù)據(jù)文件n應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…數(shù)據(jù)文件2102.文件系統(tǒng)階段時(shí)間:20世紀(jì)60年代中期數(shù)據(jù)文件1…文件文件系統(tǒng)階段數(shù)據(jù)管理示例上例用文件實(shí)現(xiàn)11文件系統(tǒng)階段數(shù)據(jù)管理示例上例用文件實(shí)現(xiàn)113.數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代后期硬件:出現(xiàn)了大容量且價(jià)格低廉的磁盤軟件:有了數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS應(yīng)用:各個(gè)方面.特點(diǎn):數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)共享性高,冗余小數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理控制為用戶提供了友好的接口特征圖史料:

數(shù)據(jù)庫(kù)技術(shù)發(fā)展的分水嶺

書(shū)寫(xiě)歷史的甲骨文123.數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代后期史料:12數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理示例上例用數(shù)據(jù)庫(kù)實(shí)現(xiàn) 求和:SELECTMax(Num)FROMData 求最大值:SELECTAvg(Num)FROMData13數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理示例上例用數(shù)據(jù)庫(kù)實(shí)現(xiàn) 求和:4.數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)

(1)

采用一定的數(shù)據(jù)模型,最大限度地減少數(shù)據(jù)的冗余(2)最低的冗余度(3)有較高的數(shù)據(jù)獨(dú)立性用戶面對(duì)的是簡(jiǎn)單的邏輯結(jié)構(gòu)操作而不涉及數(shù)據(jù)具體的物理存儲(chǔ)結(jié)構(gòu)(4)安全性設(shè)置用戶的使用權(quán)限在數(shù)據(jù)庫(kù)被破壞時(shí),系統(tǒng)可把數(shù)據(jù)庫(kù)恢復(fù)到可用狀態(tài)。

(5)

完整性一些完整性檢驗(yàn)以確保數(shù)據(jù)符合某些規(guī)則,保證數(shù)據(jù)庫(kù)中數(shù)據(jù)始終是正確的。144.數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)(1)采用一定的數(shù)據(jù)模型,最大8.1.3數(shù)據(jù)模型

1.數(shù)據(jù)模型的定義

現(xiàn)實(shí)世界數(shù)據(jù)特征的模擬和抽象,數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ)方式

2.數(shù)據(jù)模型的基本要求

較真實(shí)的模擬現(xiàn)實(shí)世界容易被人理解便于在計(jì)算機(jī)上實(shí)現(xiàn)3.數(shù)據(jù)模型的二個(gè)層次

概念模型(信息模型)

基本數(shù)據(jù)模型4.數(shù)據(jù)模型的三個(gè)要素?cái)?shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)操作數(shù)據(jù)的約束條件

5.三種重要的數(shù)據(jù)模型層次模型、網(wǎng)狀模型、關(guān)系模型158.1.3數(shù)據(jù)模型1.數(shù)據(jù)模型的定義15

層次型

以樹(shù)形結(jié)構(gòu)來(lái)表示實(shí)體及其之間的聯(lián)系(1:n)1968年美國(guó)IBM公司推出的層次模型的IMS數(shù)據(jù)庫(kù)管理系統(tǒng)例:學(xué)校組織結(jié)構(gòu)圖

校部學(xué)院A系A(chǔ)學(xué)院B系B系C系D系E16層次型校部學(xué)院A系A(chǔ)學(xué)院B系B系C系D系E16

網(wǎng)狀型

以網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系(m:n)1969年美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言研究會(huì)下屬數(shù)據(jù)庫(kù)任務(wù)組公布了關(guān)于網(wǎng)狀模型的DBTG報(bào)告例:城市交通圖共同存在問(wèn)題:難以實(shí)現(xiàn)系統(tǒng)擴(kuò)充,插入或刪除數(shù)據(jù)時(shí),在于涉及到大量鏈接指針的調(diào)整。

17網(wǎng)狀型共同存在問(wèn)題:17關(guān)系模型

Students表屬性名(字段名)屬性值(字段值)男張智忠學(xué)號(hào)姓名性別黨員專業(yè)出生年月助學(xué)金990001王濤男No物理82-01-21¥160.00990002莊前女Yes物理82-09-21¥200.00990101丁保華男No數(shù)學(xué)81-04-18¥180.00990102姜沛棋女No數(shù)學(xué)81-12-02¥280.00No數(shù)學(xué)80-08-06¥240.00990201程玲女Yes計(jì)算機(jī)82-11-14¥200.00990202黎敏艷女Yes計(jì)算機(jī)83-02-21¥160.00990103記錄

關(guān)鍵字唯一確定一條記錄

關(guān)系(二維表)值域:{男,女}一組二維表表示實(shí)體及其之間的聯(lián)系,建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上.1970年IBM公司研究員E.F.Codd發(fā)表論文提出了關(guān)系模型18關(guān)系模型Students表屬性名屬性值男張智忠學(xué)號(hào)姓名性別術(shù)語(yǔ)關(guān)系:一個(gè)關(guān)系一張二維表記錄:表中的一行屬性(字段):表中的一列關(guān)鍵字:某個(gè)屬性可以惟一地確定記錄值域:屬性的取值范圍19術(shù)語(yǔ)19特點(diǎn):關(guān)系必須規(guī)范化:表中不能再包含表。模型概念單一:數(shù)據(jù)本身自然地反映它們之間的聯(lián)系, 無(wú)需另設(shè)指針。關(guān)系運(yùn)算:集合運(yùn)算(并、差、交等)、關(guān)系運(yùn)算(選擇、投影、聯(lián)接等),結(jié)果還是關(guān)系。常見(jiàn)關(guān)系DBMS:MicrosoftAccess、VisualFoxPro、LotusApproach等;在大型機(jī)上的數(shù)據(jù)庫(kù)軟件有Oracle、SQLServer、Sybase和DB220特點(diǎn):常見(jiàn)關(guān)系DBMS:208.1.4常見(jiàn)的數(shù)據(jù)庫(kù)系統(tǒng)及其開(kāi)發(fā)工具

應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)VBVCPowerBuilder

Delphi

ACCESSSQLSERVERORACLEFOXPROSQL命令數(shù)據(jù)庫(kù)引摯數(shù)據(jù)庫(kù)218.1.4常見(jiàn)的數(shù)據(jù)庫(kù)系統(tǒng)及其開(kāi)發(fā)工具應(yīng)用程序數(shù)據(jù)庫(kù)管8.1.5新型數(shù)據(jù)庫(kù)系統(tǒng)分布式數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)中一個(gè)數(shù)據(jù)在多個(gè)不同的地理位置存儲(chǔ)的和處理面向?qū)ο髷?shù)據(jù)庫(kù)可以像對(duì)待一般對(duì)象一樣存儲(chǔ)復(fù)雜信息與過(guò)程多媒體數(shù)據(jù)庫(kù)涉及圖像、音頻、視頻處理、三維動(dòng)畫(huà)、數(shù)據(jù)存儲(chǔ)與檢索等技術(shù)數(shù)據(jù)倉(cāng)庫(kù)面向主題的、集成的、穩(wěn)定的和隨時(shí)間變化的數(shù)據(jù)集合,用于決策制定工程數(shù)據(jù)庫(kù)存儲(chǔ)和管理各種工程設(shè)計(jì)圖形和工程設(shè)計(jì)文檔,并能為工程設(shè)計(jì)提供各種服務(wù)的數(shù)據(jù)庫(kù)空間數(shù)據(jù)庫(kù)是描述、存儲(chǔ)與處理具有位置、形狀、大小、分布特征及空間關(guān)系等屬性的空間數(shù)據(jù)及其屬性數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng)228.1.5新型數(shù)據(jù)庫(kù)系統(tǒng)分布式數(shù)據(jù)庫(kù)系統(tǒng)228.2數(shù)據(jù)庫(kù)的建立一、Access概述二、Access數(shù)據(jù)庫(kù)的組成三、Access數(shù)據(jù)庫(kù)的建立238.2數(shù)據(jù)庫(kù)的建立一、Access概述23一、Access概述是Office的組件之一具有對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、管理、處理等常規(guī)功能直觀的可視化操作操作工具和向?qū)жS富的函數(shù)功能24一、Access概述是Office的組件之一24實(shí)例創(chuàng)建表Students。Students的結(jié)構(gòu)字段名稱字段類型字段寬度學(xué)號(hào)Text6個(gè)字符姓名Text4個(gè)字符性別Text1個(gè)字符黨員Yes/No1個(gè)二進(jìn)制位專業(yè)Text20個(gè)字符出生年月Date/Time8字節(jié)助學(xué)金Currency8字節(jié)照片OLEObject不確定25實(shí)例創(chuàng)建表Students。Students的結(jié)構(gòu)字段名二、Access數(shù)據(jù)庫(kù)的組成

表:最基本的對(duì)象,表及其表之間的關(guān)系構(gòu)成數(shù)據(jù)庫(kù)的核心查詢:從表(或查詢)中選擇一部分?jǐn)?shù)據(jù),形成一個(gè)全局性的集合窗體:用戶與數(shù)據(jù)庫(kù)交互的界面,窗體的數(shù)據(jù)源是表或查詢報(bào)表:按指定的樣式格式化的數(shù)據(jù)形式宏:若干個(gè)操作的組合模塊:用戶用VB語(yǔ)言編寫(xiě)應(yīng)用程序Web頁(yè):向Internet上發(fā)布數(shù)據(jù)這些不同類型的對(duì)象集合構(gòu)成了一個(gè)數(shù)據(jù)庫(kù)文件,以.mdb存儲(chǔ)在盤上.26二、Access數(shù)據(jù)庫(kù)的組成表:最基本的對(duì)象三、Access數(shù)據(jù)庫(kù)的建立

字段數(shù)據(jù)類型有10種字段屬性大小、小數(shù)位、格式

確定表的結(jié)構(gòu)建立一個(gè)空數(shù)據(jù)庫(kù),輸入文件名使用設(shè)計(jì)器或向?qū)?chuàng)建表,進(jìn)入設(shè)計(jì)視圖,輸入各個(gè)字段的信息建立表的索引定義主鍵輸入表的名稱保存表主要方法:數(shù)據(jù)庫(kù)向?qū)В0澹┗蛟O(shè)計(jì)視圖,一般用后者27三、Access數(shù)據(jù)庫(kù)的建立字段數(shù)據(jù)類型有10種1.Access數(shù)據(jù)庫(kù)的建立

3.定義表的結(jié)構(gòu)

1。建立空數(shù)據(jù)庫(kù)2.使用設(shè)計(jì)器或向?qū)?81.Access數(shù)據(jù)庫(kù)的建立3.定義表的結(jié)構(gòu)1。建立2.數(shù)據(jù)輸入

選定基本表,進(jìn)入數(shù)據(jù)表視圖,輸入編輯數(shù)據(jù)

添加新記錄292.數(shù)據(jù)輸入選定基本表,進(jìn)入數(shù)據(jù)表視圖,輸入編輯數(shù)據(jù)注意:打開(kāi)的表或正在使用的表是不能修改的.修改字段名稱不會(huì)影響到字段中所存放的數(shù)據(jù),但是會(huì)影響到一些相關(guān)的部分。如果查詢、報(bào)表、窗體等對(duì)象使用了這個(gè)更換名稱的字段,那么在這些對(duì)象中也要作相應(yīng)的修改。關(guān)系表中互相關(guān)聯(lián)的字段是無(wú)法修改的,如果需要修改,必須先將關(guān)聯(lián)去掉選定基本表,進(jìn)入設(shè)計(jì)視圖,修改表結(jié)構(gòu)3.表結(jié)構(gòu)的修改30注意:選定基本表,進(jìn)入設(shè)計(jì)視圖,修改表結(jié)構(gòu)3.表結(jié)構(gòu)的修改34.數(shù)據(jù)的導(dǎo)出和導(dǎo)入導(dǎo)出操作可以將表中數(shù)據(jù)以另一種文件格式保存在磁盤上導(dǎo)入操作是導(dǎo)出操作的逆操作5.表的復(fù)制、刪除、恢復(fù)和更名類似于Windows中對(duì)文件或文件夾的操作注意在進(jìn)行這些操作之前,必須關(guān)閉有關(guān)的表操作必須在“數(shù)據(jù)庫(kù)”窗口中完成314.數(shù)據(jù)的導(dǎo)出和導(dǎo)入導(dǎo)出操作可以將表中數(shù)據(jù)以另一種文件格8.3數(shù)據(jù)庫(kù)查詢

一、SQL語(yǔ)言概述二、數(shù)據(jù)更新語(yǔ)句:INSERTINTO,DELETE,UPDATE三、數(shù)據(jù)查詢語(yǔ)句:SELECT四、多表查詢328.3數(shù)據(jù)庫(kù)查詢

一、SQL語(yǔ)言概述32一、SQL語(yǔ)言

什么是SQL語(yǔ)言

StructureQueryLanguage即結(jié)構(gòu)化查詢語(yǔ)言,1974年推出,已成為DBMS的國(guó)際標(biāo)準(zhǔn)語(yǔ)言,在眾多DBMS系統(tǒng)中使用。特點(diǎn)使用方便、功能豐富、語(yǔ)言簡(jiǎn)單易學(xué)。工作方式獨(dú)立語(yǔ)言:直接輸入SQL命令與機(jī)器交互,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)操作.

宿主語(yǔ)言:將SQL命令嵌入某高級(jí)語(yǔ)言中實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)操作.

33一、SQL語(yǔ)言什么是SQL語(yǔ)言特點(diǎn)工作方式33

SQL語(yǔ)言

進(jìn)入SQL視圖在“查詢”對(duì)象中選擇“在設(shè)計(jì)視圖中創(chuàng)建查詢”,建立空查詢表。在“視圖|SQL視圖”就可進(jìn)入其對(duì)話框輸入相應(yīng)的命令。SQL功能動(dòng)詞數(shù)據(jù)查詢SELECT數(shù)據(jù)定義CREATE、DROP、ALTER數(shù)據(jù)更新INSERT、UPDATE、DELETE數(shù)據(jù)控制GRANT、REVOKE主要功能和動(dòng)詞:34SQL語(yǔ)言進(jìn)入SQL視圖SQL功能動(dòng)詞數(shù)據(jù)更新INSE二、數(shù)據(jù)更新-INSERT語(yǔ)句INSERT語(yǔ)句用于數(shù)據(jù)插入其語(yǔ)法格式為:插入一條記錄INSERTINTO表名[(字段1,…,字段n)]VALUES(值1,…,值n)插入查詢的結(jié)果INSERTINTO表名(字段1,…,字段n)VALUES子查詢35二、數(shù)據(jù)更新-INSERT語(yǔ)句INSERT語(yǔ)句用于數(shù)據(jù)插入例8.3向表Students中插入一條記錄INSERTINTOStudents(學(xué)號(hào),姓名,性別,黨員,專業(yè),出生年月,助學(xué)金)VALUES(“990301”,"楊國(guó)強(qiáng)","男",TRUE,"化學(xué)",#12/28/80#,220)注意:字符型常量用單引號(hào)或雙引號(hào)括起來(lái)邏輯型字段的值是True/False、Yes/No或On/Off日期的表示形式為#

MM/DD/YY#

#MM/DD/YYYY#36例8.3向表Students中插入一條記錄36數(shù)據(jù)更新-DELETE語(yǔ)句例8.5刪除表Students中所有學(xué)號(hào)為990301的記錄DELETEFROMStudentsWHERE學(xué)號(hào)=“990301”例8.6刪除表Scores中成績(jī)低于70分的記錄DELETEFROMScoresWHERE成績(jī)<70DELETE語(yǔ)句用于數(shù)據(jù)刪除其語(yǔ)法格式為:DELETEFROM

表[WHERE條件]注意:

WHERE子句缺省,則刪除表中所有的記錄(表還在)37數(shù)據(jù)更新-DELETE語(yǔ)句例8.5刪除表Students中數(shù)據(jù)更新-UPDATE語(yǔ)句例8.7將表Students中學(xué)生王濤的姓名改為王寶球UPDATEStudentsSET姓名=“王寶球”WHERE姓名="王濤"例8.8將表Students中助學(xué)金低于200的學(xué)生加30元UPDATEStudentsSET助學(xué)金=助學(xué)金+30WHERE助學(xué)金<200UPDATE語(yǔ)句用于數(shù)據(jù)修改其語(yǔ)法格式為:UPDATE

SET字段1=表達(dá)式1,…,字段n=表達(dá)式n[WHERE條件]

注意:

WHERE子句缺省,則修改表中所有的記錄UPDATE語(yǔ)句一次只能對(duì)一個(gè)表進(jìn)行修改

38數(shù)據(jù)更新-UPDATE語(yǔ)句例8.7將表Students中學(xué)三、數(shù)據(jù)查詢SELECT語(yǔ)句查詢根據(jù)給定的條件,從一個(gè)或多個(gè)表中獲取所需的數(shù)據(jù),形成一張“虛表”(表中的記錄是與數(shù)據(jù)庫(kù)表鏈接產(chǎn)生的)。39三、數(shù)據(jù)查詢SELECT語(yǔ)句查詢39SELECT語(yǔ)句

語(yǔ)法形式為:SELECT[ALL|DISTINCT]目標(biāo)列FROM表(或查詢)[WHERE條件表達(dá)式][GROUPBY列名1HAVING過(guò)濾表達(dá)式][ORDERBY列名2[ASC|DESC]]不可缺少可缺省功能

根據(jù)WHERE子句中的表達(dá)式,從指定的表或視圖中找出滿足條件的記錄,按目標(biāo)列顯示數(shù)據(jù)GROUPBY子句按列名1的值進(jìn)行分組,每一組產(chǎn)生一條記錄,HAVING 短語(yǔ)對(duì)組進(jìn)行輸出過(guò)濾ORDERBY子句按列名2對(duì)查詢結(jié)果的值進(jìn)行排序不能出現(xiàn)重復(fù)的記錄40SELECT語(yǔ)句語(yǔ)法形式為:不可缺少可缺省功能不能出現(xiàn)重SELECT語(yǔ)句示例例8.9

查詢所用學(xué)生的基本情況SELECT學(xué)號(hào),姓名,性別,黨員,專業(yè),出生年月,助學(xué)金,照片F(xiàn)ROMStudents例8.10查詢學(xué)生人數(shù)、最低、最高助學(xué)金和平均助學(xué)金SELECTCount(*)AS人數(shù),Min(助學(xué)金)AS最低助學(xué)金,Max(助學(xué)金)AS最高助學(xué)金,Avg(助學(xué)金)AS平均助學(xué)金FROMStudents可改為Count(學(xué)號(hào))用別名命名輸出列本例產(chǎn)生一條記錄41SELECT語(yǔ)句示例例8.9查詢所用學(xué)生的基本情況可例8.12查詢學(xué)生的人數(shù)和平均年齡SELECTCount(*)AS人數(shù),Avg(Year(Date())-Year(出生年月))AS平均年齡FROMStudents例8.11查詢所用的專業(yè),查詢結(jié)果中不出現(xiàn)重復(fù)的記錄。SELECTDISTINCT專業(yè)FROMStudents不出現(xiàn)重復(fù)系統(tǒng)日期Year函數(shù)得到年份

42例8.12查詢學(xué)生的人數(shù)和平均年齡例8.11查詢所用的專例8.14顯示所有非計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和年齡SELECT學(xué)號(hào),姓名,Year(Date())-Year(出生年月)AS年齡FROMStudentsWHERE專業(yè)<>"計(jì)算機(jī)"(1)WHERE子句示例例8.13查詢計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和專業(yè)SELECT學(xué)號(hào),姓名,專業(yè)FROMStudentsWHERE專業(yè)="計(jì)算機(jī)"查詢條件例8.15查詢1981年(包括1981年)以前出生的女生姓名和出生年月。SELECT姓名,出生年月ROMStudentsWHERE出生年月<#1/1/1982#AND性別="女"可用#MM/DD/YYYY#的形式表示日期43例8.14顯示所有非計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和年齡(1)例8.17查詢選修了2門(包括2門)以上課程的學(xué)生的學(xué)號(hào)和課程數(shù)SELECT學(xué)號(hào),Count(*)AS課程數(shù)FROMScoresGROUPBY學(xué)號(hào)

HAVINGCount(*)>=2(2)ORDERBY,GROUPBY子句示例例8.16查詢所有黨員學(xué)生的學(xué)號(hào)和姓名,并按助學(xué)金升序排列SELECT學(xué)號(hào),姓名FROMStudentsWHERE黨員=TrueORDERBY助學(xué)金邏輯值按學(xué)號(hào)分組2門以上例8.18查詢所有課程的成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)SELECT學(xué)號(hào)FROMScoresGROUPBY學(xué)號(hào)HAVINGMin(成績(jī))>=7044例8.17查詢選修了2門(包括2門)以上課程的學(xué)生的學(xué)號(hào)和課問(wèn)查詢姓“張”的學(xué)生?Like運(yùn)算符45問(wèn)查詢姓“張”的學(xué)生?Like運(yùn)算符45

Access2002的表達(dá)式

常用運(yùn)算符

型運(yùn)

符算術(shù)運(yùn)算符+-*/^(乘方)\(整除)MOD(取余數(shù))關(guān)系運(yùn)算符<<=<>>>=BetweenLike邏輯運(yùn)算符NotAndOr字符運(yùn)算符&通配符:* ? -任意字符串單個(gè)字符 一定范圍的字符用于LikeBetwwen運(yùn)算符中例姓名Like“?明*”46Access2002的表達(dá)式常用運(yùn)算符類型運(yùn)練習(xí)SELECT學(xué)號(hào),COUNT(課程)AS課程數(shù),AVG(成績(jī))AS平均成績(jī)FROMscores

GROUPBY學(xué)號(hào)

ORDERBY學(xué)號(hào)DESC;問(wèn)查詢選修了2門(包括2門)以上課程、最低成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)、課程數(shù)和最低分?SELECT學(xué)號(hào),Min(成績(jī))AS成績(jī)之Min,Count(課程)AS課程之CountFROMScoresGROUPBYScores.學(xué)號(hào)HAVING(((Min(成績(jī)))>=60)AND((Count(課程))>2));例對(duì)學(xué)生成績(jī)表,統(tǒng)計(jì)每人的平均分和課程數(shù),按學(xué)號(hào)遞減排序47練習(xí)SELECT學(xué)號(hào),COUNT(課程)AS課學(xué)號(hào)姓名性別黨員專業(yè)出生年月990001王濤男No物理82-01-21990002莊前女Yes物理82-09-21990101丁保華男No數(shù)學(xué)81-04-18990102姜沛棋女No數(shù)學(xué)81-12-02990103張智忠男No數(shù)學(xué)80-08-06990201程玲女Yes計(jì)算機(jī)82-11-14990202黎敏艷女Yes計(jì)算機(jī)83-02-21990203鄧倩梅女Yes計(jì)算機(jī)82-04-28990204楊夢(mèng)逸女No計(jì)算機(jī)81-12-15學(xué)號(hào)課程成績(jī)990001大學(xué)計(jì)算機(jī)基礎(chǔ)82990001高等數(shù)學(xué)76990202計(jì)算機(jī)導(dǎo)論53990203英語(yǔ)71990204計(jì)算機(jī)導(dǎo)論66990204高等數(shù)學(xué)75990204英語(yǔ)82學(xué)生成績(jī)表學(xué)生基本情況表學(xué)號(hào)姓名課程成績(jī)990001王濤計(jì)算機(jī)文化基礎(chǔ)82990001王濤高等數(shù)學(xué)76990002莊前計(jì)算機(jī)文化基礎(chǔ)90990101丁保華高等數(shù)學(xué)77990102姜沛棋計(jì)算機(jī)文化基礎(chǔ)68990102姜沛棋C/C++程序設(shè)計(jì)85990102姜沛棋大學(xué)英語(yǔ)56990201程玲計(jì)算機(jī)導(dǎo)論87990201程玲高等數(shù)學(xué)67990202黎敏艷計(jì)算機(jī)導(dǎo)論53990203鄧倩梅英語(yǔ)71990204楊夢(mèng)逸計(jì)算機(jī)導(dǎo)論66990204楊夢(mèng)逸高等數(shù)學(xué)75990204楊夢(mèng)逸英語(yǔ)8248學(xué)號(hào)姓名性黨專業(yè)出生年月990001王濤男No物理82-01(3)SELECT語(yǔ)句-連接查詢例8.20查詢所有學(xué)生的學(xué)號(hào)、姓名、課程和成績(jī)

SELECTStudents.學(xué)號(hào),Students.姓名,Scores.課程,Scores.成績(jī)FROMStudents,ScoresWHEREStudents.學(xué)號(hào)=Scores.學(xué)號(hào)兩個(gè)表

連接條件

使用內(nèi)連接格式SELECTStudents.學(xué)號(hào),Students.姓名,Scores.課程,Scores.成績(jī)FROMStudentsINNERJOINScores

ONStudents.學(xué)號(hào)=Scores.學(xué)號(hào)

連接條件

表1

連接命令

表249(3)SELECT語(yǔ)句-連接查詢例8.20查詢所有學(xué)生(4)嵌套查詢

在SQL中,將一個(gè)SELECT語(yǔ)句查詢塊嵌套在另一個(gè)SELECT語(yǔ)句的WHERE子句或HAVING子句中稱為嵌套查詢例8.25查詢沒(méi)有學(xué)過(guò)大學(xué)計(jì)算機(jī)基礎(chǔ)的學(xué)生的學(xué)號(hào)、姓名和專業(yè)SELECTStudents.學(xué)號(hào),Students.姓名,Students.專業(yè)FROMStudentsWHEREStudents.學(xué)號(hào)

Notin

(SELECTScores.學(xué)號(hào)

FROMScoresWHEREScores.課程="大學(xué)計(jì)算機(jī)基礎(chǔ)")從Students中選擇學(xué)號(hào)不在學(xué)過(guò)該課程名單中的人從Scores中選擇學(xué)過(guò)計(jì)算機(jī)文化的學(xué)生的學(xué)號(hào)50(4)嵌套查詢?cè)赟QL中,將一個(gè)SELECT語(yǔ)句查詢塊嵌套嵌套查詢示例例8.26查詢與“鄧倩梅”在同一個(gè)專業(yè)的學(xué)生的學(xué)號(hào)和姓名

SELECTStudents.學(xué)號(hào),Students.姓名FROMStudentsWHERE專業(yè)

in

(SELECTStudents.專業(yè)FROMStudentsWHEREStudents.姓名="鄧倩梅")與查詢結(jié)果同專業(yè)的學(xué)生查詢鄧倩梅的專業(yè)

51嵌套查詢示例例8.26查詢與“鄧倩梅”在同一個(gè)專業(yè)的學(xué)生的(5)使用向?qū)У牟樵?/p>

例8.27使用向?qū)Р樵兯脤W(xué)生的基本情況

1.進(jìn)入向?qū)нx定字段

2.選擇明細(xì)方式3.輸入查詢的名稱

4.查詢結(jié)果52(5)使用向?qū)У牟樵兝?.27使用向?qū)Р樵兯脤W(xué)生(6)在設(shè)計(jì)視圖中創(chuàng)建查詢

例8.28查詢學(xué)生人數(shù)、最低助學(xué)金、最高助學(xué)金和平均助學(xué)金1.進(jìn)入設(shè)計(jì)視圖2.選擇表Students添加到設(shè)計(jì)視圖3.輸入或選定查詢的字段

53(6)在設(shè)計(jì)視圖中創(chuàng)建查詢例8.28查詢學(xué)生人數(shù)、最低8.4窗體、報(bào)表

8.4.1創(chuàng)建窗體

例8.29創(chuàng)建下圖所示的窗體Scores1創(chuàng)建窗體的方法:使用向?qū)?chuàng)建窗體

使用設(shè)計(jì)視圖創(chuàng)建窗體

打開(kāi)Student.mdb數(shù)據(jù)庫(kù)選擇使用向?qū)?chuàng)建窗體選定表Scores及所有字段選定窗體布局和窗體樣式輸入窗體名稱:Scores1548.4窗體、報(bào)表

8.4.1創(chuàng)建窗體例8.29創(chuàng)建使用設(shè)計(jì)視圖創(chuàng)建窗體

例8.30創(chuàng)建下圖所示的窗體Scores2數(shù)據(jù)分布在兩個(gè)表中,先建立下列查詢SELECTStudents.學(xué)號(hào),First(Students.姓名)AS姓名,Avg(Scores.成績(jī))AS平均成績(jī)FROMStudents,ScoresGROUPBYStudents.學(xué)號(hào)拖所需的字段5.拖放所需的字段1.進(jìn)入新建窗體2.選擇設(shè)計(jì)視圖3.命名查詢名稱4.建立查詢

55使用設(shè)計(jì)視圖創(chuàng)建窗體例8.30創(chuàng)建下圖所示的窗體Sco8.4.2創(chuàng)建報(bào)表

例8.31創(chuàng)建下圖所示的報(bào)表Scores1打開(kāi)Student.mdb數(shù)據(jù)庫(kù)選擇使用向?qū)?chuàng)建報(bào)表選定表Scores及所有字段決定要否分組(本例不分組)選擇排序方式(本例按學(xué)號(hào))

選擇表格布局方式

選擇報(bào)表樣式(本例為組織)

輸入報(bào)表名稱:Scores1

568.4.2創(chuàng)建報(bào)表例8.31創(chuàng)建下圖所示的報(bào)表Sco大學(xué)計(jì)算機(jī)基礎(chǔ)第八章數(shù)據(jù)庫(kù)基礎(chǔ)第四版57大學(xué)計(jì)算機(jī)基礎(chǔ)第八章數(shù)據(jù)庫(kù)基礎(chǔ)第四版18.1數(shù)據(jù)庫(kù)系統(tǒng)概述8.2數(shù)據(jù)庫(kù)的建立和維護(hù)8.3數(shù)據(jù)庫(kù)查詢8.4

窗體、報(bào)表數(shù)據(jù)庫(kù)基礎(chǔ)8.1數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)基礎(chǔ)典型案例無(wú)紙化通用考試系統(tǒng)

大學(xué)計(jì)算機(jī)基礎(chǔ)VisualBasic程序設(shè)計(jì)C/C++程序設(shè)計(jì)軟件技術(shù)基礎(chǔ)應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)VBVC++PowerBuilder

Delphi

ACCESSSQLSERVERORACLEFOXPROSQL命令數(shù)據(jù)庫(kù)引摯數(shù)據(jù)庫(kù)信息化社會(huì)離不開(kāi)信息系統(tǒng) 信息系統(tǒng)的核心和基礎(chǔ)是數(shù)據(jù)庫(kù)59典型案例無(wú)紙化通用考試系統(tǒng)應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)VBVC+計(jì)算機(jī)基礎(chǔ)教育網(wǎng)站

IEHTM、ASP客戶機(jī)服務(wù)器SQL命令數(shù)據(jù)庫(kù)發(fā)出請(qǐng)求響應(yīng)請(qǐng)求數(shù)據(jù)60計(jì)算機(jī)基礎(chǔ)教育網(wǎng)站IEHTM、ASP客戶機(jī)服務(wù)器SQL命令數(shù)8.1.1常用術(shù)語(yǔ)8.1.2數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展8.1.3數(shù)據(jù)模型8.1.4

常見(jiàn)的數(shù)據(jù)庫(kù)系統(tǒng)及其開(kāi)發(fā)工具8.1.5典型的新型數(shù)據(jù)庫(kù)系統(tǒng)8.1數(shù)據(jù)庫(kù)系概述8.1.1常用術(shù)語(yǔ)8.1數(shù)據(jù)庫(kù)系概述8.1.1常用術(shù)語(yǔ)1.數(shù)據(jù)庫(kù)(DataBase,DB)長(zhǎng)期保存在計(jì)算機(jī)外存上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。2.數(shù)據(jù)庫(kù)管理系統(tǒng)(DataBaseManagementSystem,DBMS)對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理的軟件系統(tǒng)。數(shù)據(jù)庫(kù)的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過(guò)DBMS進(jìn)行的。DBMS是位于用戶(或應(yīng)用程序)和操作系統(tǒng)之間的軟件。借助于操作系統(tǒng)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)和管理,使數(shù)據(jù)能被各種不同的用戶所共享,DBMS提供給用戶可使用的數(shù)據(jù)庫(kù)語(yǔ)言。3.數(shù)據(jù)庫(kù)系統(tǒng)(DataBaseSystem,DBS)由DB、DBMS、應(yīng)用程序、數(shù)據(jù)庫(kù)管理員、用戶等構(gòu)成的人-機(jī)系統(tǒng)。用戶應(yīng)用程序DBMS操作系統(tǒng)數(shù)據(jù)庫(kù)DB數(shù)據(jù)庫(kù)系統(tǒng)628.1.1常用術(shù)語(yǔ)1.數(shù)據(jù)庫(kù)(DataBase,DB8.1.2數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)發(fā)展階段人工管理階段文件管理階段數(shù)據(jù)庫(kù)系統(tǒng)階段638.1.2數(shù)據(jù)庫(kù)技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)經(jīng)歷了三個(gè)發(fā)1.人工管理階段時(shí)間:20世紀(jì)50年代中期以前

硬件:只有卡片、紙帶、磁帶等存儲(chǔ)設(shè)備軟件:沒(méi)有操作系統(tǒng),沒(méi)有進(jìn)行數(shù)據(jù)管理的軟件應(yīng)用:以科學(xué)計(jì)算為目的特點(diǎn):程序和數(shù)據(jù)放在一起數(shù)據(jù)不能共享特征圖程序1數(shù)據(jù)1程序2數(shù)據(jù)2程序n數(shù)據(jù)n……641.人工管理階段時(shí)間:20世紀(jì)50年代中期以前程序1數(shù)據(jù)1人工管理階段數(shù)據(jù)管理示例例:兩個(gè)C語(yǔ)言程序,分別求10個(gè)數(shù)據(jù)之和和最大值。 程序與數(shù)據(jù)放在一起,數(shù)據(jù)沒(méi)有能夠共享65人工管理階段數(shù)據(jù)管理示例例:兩個(gè)C語(yǔ)言程序,分別求10個(gè)數(shù)據(jù)2.文件系統(tǒng)階段時(shí)間:20世紀(jì)60年代中期硬件:磁帶、磁盤等大容量存儲(chǔ)設(shè)備軟件:有了操作系統(tǒng)應(yīng)用:不僅用于科學(xué)計(jì)算,還用于數(shù)據(jù)管理.特點(diǎn):程序與數(shù)據(jù)分離數(shù)據(jù)有一定的獨(dú)立性實(shí)現(xiàn)了以文件為單位的數(shù)據(jù)共享特征圖數(shù)據(jù)文件1…文件管理系統(tǒng)數(shù)據(jù)文件n應(yīng)用程序1應(yīng)用程序2應(yīng)用程序n…數(shù)據(jù)文件2662.文件系統(tǒng)階段時(shí)間:20世紀(jì)60年代中期數(shù)據(jù)文件1…文件文件系統(tǒng)階段數(shù)據(jù)管理示例上例用文件實(shí)現(xiàn)67文件系統(tǒng)階段數(shù)據(jù)管理示例上例用文件實(shí)現(xiàn)113.數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代后期硬件:出現(xiàn)了大容量且價(jià)格低廉的磁盤軟件:有了數(shù)據(jù)庫(kù)管理系統(tǒng)DBMS應(yīng)用:各個(gè)方面.特點(diǎn):數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)共享性高,冗余小數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理控制為用戶提供了友好的接口特征圖史料:

數(shù)據(jù)庫(kù)技術(shù)發(fā)展的分水嶺

書(shū)寫(xiě)歷史的甲骨文683.數(shù)據(jù)庫(kù)系統(tǒng)階段時(shí)間:20世紀(jì)60年代后期史料:12數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理示例上例用數(shù)據(jù)庫(kù)實(shí)現(xiàn) 求和:SELECTMax(Num)FROMData 求最大值:SELECTAvg(Num)FROMData69數(shù)據(jù)庫(kù)系統(tǒng)階段數(shù)據(jù)管理示例上例用數(shù)據(jù)庫(kù)實(shí)現(xiàn) 求和:4.數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)

(1)

采用一定的數(shù)據(jù)模型,最大限度地減少數(shù)據(jù)的冗余(2)最低的冗余度(3)有較高的數(shù)據(jù)獨(dú)立性用戶面對(duì)的是簡(jiǎn)單的邏輯結(jié)構(gòu)操作而不涉及數(shù)據(jù)具體的物理存儲(chǔ)結(jié)構(gòu)(4)安全性設(shè)置用戶的使用權(quán)限在數(shù)據(jù)庫(kù)被破壞時(shí),系統(tǒng)可把數(shù)據(jù)庫(kù)恢復(fù)到可用狀態(tài)。

(5)

完整性一些完整性檢驗(yàn)以確保數(shù)據(jù)符合某些規(guī)則,保證數(shù)據(jù)庫(kù)中數(shù)據(jù)始終是正確的。704.數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)(1)采用一定的數(shù)據(jù)模型,最大8.1.3數(shù)據(jù)模型

1.數(shù)據(jù)模型的定義

現(xiàn)實(shí)世界數(shù)據(jù)特征的模擬和抽象,數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ)方式

2.數(shù)據(jù)模型的基本要求

較真實(shí)的模擬現(xiàn)實(shí)世界容易被人理解便于在計(jì)算機(jī)上實(shí)現(xiàn)3.數(shù)據(jù)模型的二個(gè)層次

概念模型(信息模型)

基本數(shù)據(jù)模型4.數(shù)據(jù)模型的三個(gè)要素?cái)?shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)操作數(shù)據(jù)的約束條件

5.三種重要的數(shù)據(jù)模型層次模型、網(wǎng)狀模型、關(guān)系模型718.1.3數(shù)據(jù)模型1.數(shù)據(jù)模型的定義15

層次型

以樹(shù)形結(jié)構(gòu)來(lái)表示實(shí)體及其之間的聯(lián)系(1:n)1968年美國(guó)IBM公司推出的層次模型的IMS數(shù)據(jù)庫(kù)管理系統(tǒng)例:學(xué)校組織結(jié)構(gòu)圖

校部學(xué)院A系A(chǔ)學(xué)院B系B系C系D系E72層次型校部學(xué)院A系A(chǔ)學(xué)院B系B系C系D系E16

網(wǎng)狀型

以網(wǎng)狀結(jié)構(gòu)表示實(shí)體及其之間的聯(lián)系(m:n)1969年美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言研究會(huì)下屬數(shù)據(jù)庫(kù)任務(wù)組公布了關(guān)于網(wǎng)狀模型的DBTG報(bào)告例:城市交通圖共同存在問(wèn)題:難以實(shí)現(xiàn)系統(tǒng)擴(kuò)充,插入或刪除數(shù)據(jù)時(shí),在于涉及到大量鏈接指針的調(diào)整。

73網(wǎng)狀型共同存在問(wèn)題:17關(guān)系模型

Students表屬性名(字段名)屬性值(字段值)男張智忠學(xué)號(hào)姓名性別黨員專業(yè)出生年月助學(xué)金990001王濤男No物理82-01-21¥160.00990002莊前女Yes物理82-09-21¥200.00990101丁保華男No數(shù)學(xué)81-04-18¥180.00990102姜沛棋女No數(shù)學(xué)81-12-02¥280.00No數(shù)學(xué)80-08-06¥240.00990201程玲女Yes計(jì)算機(jī)82-11-14¥200.00990202黎敏艷女Yes計(jì)算機(jī)83-02-21¥160.00990103記錄

關(guān)鍵字唯一確定一條記錄

關(guān)系(二維表)值域:{男,女}一組二維表表示實(shí)體及其之間的聯(lián)系,建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上.1970年IBM公司研究員E.F.Codd發(fā)表論文提出了關(guān)系模型74關(guān)系模型Students表屬性名屬性值男張智忠學(xué)號(hào)姓名性別術(shù)語(yǔ)關(guān)系:一個(gè)關(guān)系一張二維表記錄:表中的一行屬性(字段):表中的一列關(guān)鍵字:某個(gè)屬性可以惟一地確定記錄值域:屬性的取值范圍75術(shù)語(yǔ)19特點(diǎn):關(guān)系必須規(guī)范化:表中不能再包含表。模型概念單一:數(shù)據(jù)本身自然地反映它們之間的聯(lián)系, 無(wú)需另設(shè)指針。關(guān)系運(yùn)算:集合運(yùn)算(并、差、交等)、關(guān)系運(yùn)算(選擇、投影、聯(lián)接等),結(jié)果還是關(guān)系。常見(jiàn)關(guān)系DBMS:MicrosoftAccess、VisualFoxPro、LotusApproach等;在大型機(jī)上的數(shù)據(jù)庫(kù)軟件有Oracle、SQLServer、Sybase和DB276特點(diǎn):常見(jiàn)關(guān)系DBMS:208.1.4常見(jiàn)的數(shù)據(jù)庫(kù)系統(tǒng)及其開(kāi)發(fā)工具

應(yīng)用程序數(shù)據(jù)庫(kù)管理系統(tǒng)VBVCPowerBuilder

Delphi

ACCESSSQLSERVERORACLEFOXPROSQL命令數(shù)據(jù)庫(kù)引摯數(shù)據(jù)庫(kù)778.1.4常見(jiàn)的數(shù)據(jù)庫(kù)系統(tǒng)及其開(kāi)發(fā)工具應(yīng)用程序數(shù)據(jù)庫(kù)管8.1.5新型數(shù)據(jù)庫(kù)系統(tǒng)分布式數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)中一個(gè)數(shù)據(jù)在多個(gè)不同的地理位置存儲(chǔ)的和處理面向?qū)ο髷?shù)據(jù)庫(kù)可以像對(duì)待一般對(duì)象一樣存儲(chǔ)復(fù)雜信息與過(guò)程多媒體數(shù)據(jù)庫(kù)涉及圖像、音頻、視頻處理、三維動(dòng)畫(huà)、數(shù)據(jù)存儲(chǔ)與檢索等技術(shù)數(shù)據(jù)倉(cāng)庫(kù)面向主題的、集成的、穩(wěn)定的和隨時(shí)間變化的數(shù)據(jù)集合,用于決策制定工程數(shù)據(jù)庫(kù)存儲(chǔ)和管理各種工程設(shè)計(jì)圖形和工程設(shè)計(jì)文檔,并能為工程設(shè)計(jì)提供各種服務(wù)的數(shù)據(jù)庫(kù)空間數(shù)據(jù)庫(kù)是描述、存儲(chǔ)與處理具有位置、形狀、大小、分布特征及空間關(guān)系等屬性的空間數(shù)據(jù)及其屬性數(shù)據(jù)的數(shù)據(jù)庫(kù)系統(tǒng)788.1.5新型數(shù)據(jù)庫(kù)系統(tǒng)分布式數(shù)據(jù)庫(kù)系統(tǒng)228.2數(shù)據(jù)庫(kù)的建立一、Access概述二、Access數(shù)據(jù)庫(kù)的組成三、Access數(shù)據(jù)庫(kù)的建立798.2數(shù)據(jù)庫(kù)的建立一、Access概述23一、Access概述是Office的組件之一具有對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、管理、處理等常規(guī)功能直觀的可視化操作操作工具和向?qū)жS富的函數(shù)功能80一、Access概述是Office的組件之一24實(shí)例創(chuàng)建表Students。Students的結(jié)構(gòu)字段名稱字段類型字段寬度學(xué)號(hào)Text6個(gè)字符姓名Text4個(gè)字符性別Text1個(gè)字符黨員Yes/No1個(gè)二進(jìn)制位專業(yè)Text20個(gè)字符出生年月Date/Time8字節(jié)助學(xué)金Currency8字節(jié)照片OLEObject不確定81實(shí)例創(chuàng)建表Students。Students的結(jié)構(gòu)字段名二、Access數(shù)據(jù)庫(kù)的組成

表:最基本的對(duì)象,表及其表之間的關(guān)系構(gòu)成數(shù)據(jù)庫(kù)的核心查詢:從表(或查詢)中選擇一部分?jǐn)?shù)據(jù),形成一個(gè)全局性的集合窗體:用戶與數(shù)據(jù)庫(kù)交互的界面,窗體的數(shù)據(jù)源是表或查詢報(bào)表:按指定的樣式格式化的數(shù)據(jù)形式宏:若干個(gè)操作的組合模塊:用戶用VB語(yǔ)言編寫(xiě)應(yīng)用程序Web頁(yè):向Internet上發(fā)布數(shù)據(jù)這些不同類型的對(duì)象集合構(gòu)成了一個(gè)數(shù)據(jù)庫(kù)文件,以.mdb存儲(chǔ)在盤上.82二、Access數(shù)據(jù)庫(kù)的組成表:最基本的對(duì)象三、Access數(shù)據(jù)庫(kù)的建立

字段數(shù)據(jù)類型有10種字段屬性大小、小數(shù)位、格式

確定表的結(jié)構(gòu)建立一個(gè)空數(shù)據(jù)庫(kù),輸入文件名使用設(shè)計(jì)器或向?qū)?chuàng)建表,進(jìn)入設(shè)計(jì)視圖,輸入各個(gè)字段的信息建立表的索引定義主鍵輸入表的名稱保存表主要方法:數(shù)據(jù)庫(kù)向?qū)В0澹┗蛟O(shè)計(jì)視圖,一般用后者83三、Access數(shù)據(jù)庫(kù)的建立字段數(shù)據(jù)類型有10種1.Access數(shù)據(jù)庫(kù)的建立

3.定義表的結(jié)構(gòu)

1。建立空數(shù)據(jù)庫(kù)2.使用設(shè)計(jì)器或向?qū)?41.Access數(shù)據(jù)庫(kù)的建立3.定義表的結(jié)構(gòu)1。建立2.數(shù)據(jù)輸入

選定基本表,進(jìn)入數(shù)據(jù)表視圖,輸入編輯數(shù)據(jù)

添加新記錄852.數(shù)據(jù)輸入選定基本表,進(jìn)入數(shù)據(jù)表視圖,輸入編輯數(shù)據(jù)注意:打開(kāi)的表或正在使用的表是不能修改的.修改字段名稱不會(huì)影響到字段中所存放的數(shù)據(jù),但是會(huì)影響到一些相關(guān)的部分。如果查詢、報(bào)表、窗體等對(duì)象使用了這個(gè)更換名稱的字段,那么在這些對(duì)象中也要作相應(yīng)的修改。關(guān)系表中互相關(guān)聯(lián)的字段是無(wú)法修改的,如果需要修改,必須先將關(guān)聯(lián)去掉選定基本表,進(jìn)入設(shè)計(jì)視圖,修改表結(jié)構(gòu)3.表結(jié)構(gòu)的修改86注意:選定基本表,進(jìn)入設(shè)計(jì)視圖,修改表結(jié)構(gòu)3.表結(jié)構(gòu)的修改34.數(shù)據(jù)的導(dǎo)出和導(dǎo)入導(dǎo)出操作可以將表中數(shù)據(jù)以另一種文件格式保存在磁盤上導(dǎo)入操作是導(dǎo)出操作的逆操作5.表的復(fù)制、刪除、恢復(fù)和更名類似于Windows中對(duì)文件或文件夾的操作注意在進(jìn)行這些操作之前,必須關(guān)閉有關(guān)的表操作必須在“數(shù)據(jù)庫(kù)”窗口中完成874.數(shù)據(jù)的導(dǎo)出和導(dǎo)入導(dǎo)出操作可以將表中數(shù)據(jù)以另一種文件格8.3數(shù)據(jù)庫(kù)查詢

一、SQL語(yǔ)言概述二、數(shù)據(jù)更新語(yǔ)句:INSERTINTO,DELETE,UPDATE三、數(shù)據(jù)查詢語(yǔ)句:SELECT四、多表查詢888.3數(shù)據(jù)庫(kù)查詢

一、SQL語(yǔ)言概述32一、SQL語(yǔ)言

什么是SQL語(yǔ)言

StructureQueryLanguage即結(jié)構(gòu)化查詢語(yǔ)言,1974年推出,已成為DBMS的國(guó)際標(biāo)準(zhǔn)語(yǔ)言,在眾多DBMS系統(tǒng)中使用。特點(diǎn)使用方便、功能豐富、語(yǔ)言簡(jiǎn)單易學(xué)。工作方式獨(dú)立語(yǔ)言:直接輸入SQL命令與機(jī)器交互,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)操作.

宿主語(yǔ)言:將SQL命令嵌入某高級(jí)語(yǔ)言中實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)操作.

89一、SQL語(yǔ)言什么是SQL語(yǔ)言特點(diǎn)工作方式33

SQL語(yǔ)言

進(jìn)入SQL視圖在“查詢”對(duì)象中選擇“在設(shè)計(jì)視圖中創(chuàng)建查詢”,建立空查詢表。在“視圖|SQL視圖”就可進(jìn)入其對(duì)話框輸入相應(yīng)的命令。SQL功能動(dòng)詞數(shù)據(jù)查詢SELECT數(shù)據(jù)定義CREATE、DROP、ALTER數(shù)據(jù)更新INSERT、UPDATE、DELETE數(shù)據(jù)控制GRANT、REVOKE主要功能和動(dòng)詞:90SQL語(yǔ)言進(jìn)入SQL視圖SQL功能動(dòng)詞數(shù)據(jù)更新INSE二、數(shù)據(jù)更新-INSERT語(yǔ)句INSERT語(yǔ)句用于數(shù)據(jù)插入其語(yǔ)法格式為:插入一條記錄INSERTINTO表名[(字段1,…,字段n)]VALUES(值1,…,值n)插入查詢的結(jié)果INSERTINTO表名(字段1,…,字段n)VALUES子查詢91二、數(shù)據(jù)更新-INSERT語(yǔ)句INSERT語(yǔ)句用于數(shù)據(jù)插入例8.3向表Students中插入一條記錄INSERTINTOStudents(學(xué)號(hào),姓名,性別,黨員,專業(yè),出生年月,助學(xué)金)VALUES(“990301”,"楊國(guó)強(qiáng)","男",TRUE,"化學(xué)",#12/28/80#,220)注意:字符型常量用單引號(hào)或雙引號(hào)括起來(lái)邏輯型字段的值是True/False、Yes/No或On/Off日期的表示形式為#

MM/DD/YY#

#MM/DD/YYYY#92例8.3向表Students中插入一條記錄36數(shù)據(jù)更新-DELETE語(yǔ)句例8.5刪除表Students中所有學(xué)號(hào)為990301的記錄DELETEFROMStudentsWHERE學(xué)號(hào)=“990301”例8.6刪除表Scores中成績(jī)低于70分的記錄DELETEFROMScoresWHERE成績(jī)<70DELETE語(yǔ)句用于數(shù)據(jù)刪除其語(yǔ)法格式為:DELETEFROM

表[WHERE條件]注意:

WHERE子句缺省,則刪除表中所有的記錄(表還在)93數(shù)據(jù)更新-DELETE語(yǔ)句例8.5刪除表Students中數(shù)據(jù)更新-UPDATE語(yǔ)句例8.7將表Students中學(xué)生王濤的姓名改為王寶球UPDATEStudentsSET姓名=“王寶球”WHERE姓名="王濤"例8.8將表Students中助學(xué)金低于200的學(xué)生加30元UPDATEStudentsSET助學(xué)金=助學(xué)金+30WHERE助學(xué)金<200UPDATE語(yǔ)句用于數(shù)據(jù)修改其語(yǔ)法格式為:UPDATE

SET字段1=表達(dá)式1,…,字段n=表達(dá)式n[WHERE條件]

注意:

WHERE子句缺省,則修改表中所有的記錄UPDATE語(yǔ)句一次只能對(duì)一個(gè)表進(jìn)行修改

94數(shù)據(jù)更新-UPDATE語(yǔ)句例8.7將表Students中學(xué)三、數(shù)據(jù)查詢SELECT語(yǔ)句查詢根據(jù)給定的條件,從一個(gè)或多個(gè)表中獲取所需的數(shù)據(jù),形成一張“虛表”(表中的記錄是與數(shù)據(jù)庫(kù)表鏈接產(chǎn)生的)。95三、數(shù)據(jù)查詢SELECT語(yǔ)句查詢39SELECT語(yǔ)句

語(yǔ)法形式為:SELECT[ALL|DISTINCT]目標(biāo)列FROM表(或查詢)[WHERE條件表達(dá)式][GROUPBY列名1HAVING過(guò)濾表達(dá)式][ORDERBY列名2[ASC|DESC]]不可缺少可缺省功能

根據(jù)WHERE子句中的表達(dá)式,從指定的表或視圖中找出滿足條件的記錄,按目標(biāo)列顯示數(shù)據(jù)GROUPBY子句按列名1的值進(jìn)行分組,每一組產(chǎn)生一條記錄,HAVING 短語(yǔ)對(duì)組進(jìn)行輸出過(guò)濾ORDERBY子句按列名2對(duì)查詢結(jié)果的值進(jìn)行排序不能出現(xiàn)重復(fù)的記錄96SELECT語(yǔ)句語(yǔ)法形式為:不可缺少可缺省功能不能出現(xiàn)重SELECT語(yǔ)句示例例8.9

查詢所用學(xué)生的基本情況SELECT學(xué)號(hào),姓名,性別,黨員,專業(yè),出生年月,助學(xué)金,照片F(xiàn)ROMStudents例8.10查詢學(xué)生人數(shù)、最低、最高助學(xué)金和平均助學(xué)金SELECTCount(*)AS人數(shù),Min(助學(xué)金)AS最低助學(xué)金,Max(助學(xué)金)AS最高助學(xué)金,Avg(助學(xué)金)AS平均助學(xué)金FROMStudents可改為Count(學(xué)號(hào))用別名命名輸出列本例產(chǎn)生一條記錄97SELECT語(yǔ)句示例例8.9查詢所用學(xué)生的基本情況可例8.12查詢學(xué)生的人數(shù)和平均年齡SELECTCount(*)AS人數(shù),Avg(Year(Date())-Year(出生年月))AS平均年齡FROMStudents例8.11查詢所用的專業(yè),查詢結(jié)果中不出現(xiàn)重復(fù)的記錄。SELECTDISTINCT專業(yè)FROMStudents不出現(xiàn)重復(fù)系統(tǒng)日期Year函數(shù)得到年份

98例8.12查詢學(xué)生的人數(shù)和平均年齡例8.11查詢所用的專例8.14顯示所有非計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和年齡SELECT學(xué)號(hào),姓名,Year(Date())-Year(出生年月)AS年齡FROMStudentsWHERE專業(yè)<>"計(jì)算機(jī)"(1)WHERE子句示例例8.13查詢計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和專業(yè)SELECT學(xué)號(hào),姓名,專業(yè)FROMStudentsWHERE專業(yè)="計(jì)算機(jī)"查詢條件例8.15查詢1981年(包括1981年)以前出生的女生姓名和出生年月。SELECT姓名,出生年月ROMStudentsWHERE出生年月<#1/1/1982#AND性別="女"可用#MM/DD/YYYY#的形式表示日期99例8.14顯示所有非計(jì)算機(jī)專業(yè)學(xué)生的學(xué)號(hào)、姓名和年齡(1)例8.17查詢選修了2門(包括2門)以上課程的學(xué)生的學(xué)號(hào)和課程數(shù)SELECT學(xué)號(hào),Count(*)AS課程數(shù)FROMScoresGROUPBY學(xué)號(hào)

HAVINGCount(*)>=2(2)ORDERBY,GROUPBY子句示例例8.16查詢所有黨員學(xué)生的學(xué)號(hào)和姓名,并按助學(xué)金升序排列SELECT學(xué)號(hào),姓名FROMStudentsWHERE黨員=TrueORDERBY助學(xué)金邏輯值按學(xué)號(hào)分組2門以上例8.18查詢所有課程的成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)SELECT學(xué)號(hào)FROMScoresGROUPBY學(xué)號(hào)HAVINGMin(成績(jī))>=70100例8.17查詢選修了2門(包括2門)以上課程的學(xué)生的學(xué)號(hào)和課問(wèn)查詢姓“張”的學(xué)生?Like運(yùn)算符101問(wèn)查詢姓“張”的學(xué)生?Like運(yùn)算符45

Access2002的表達(dá)式

常用運(yùn)算符

型運(yùn)

符算術(shù)運(yùn)算符+-*/^(乘方)\(整除)MOD(取余數(shù))關(guān)系運(yùn)算符<<=<>>>=BetweenLike邏輯運(yùn)算符NotAndOr字符運(yùn)算符&通配符:* ? -任意字符串單個(gè)字符 一定范圍的字符用于LikeBetwwen運(yùn)算符中例姓名Like“?明*”102Access2002的表達(dá)式常用運(yùn)算符類型運(yùn)練習(xí)SELECT學(xué)號(hào),COUNT(課程)AS課程數(shù),AVG(成績(jī))AS平均成績(jī)FROMscores

GROUPBY學(xué)號(hào)

ORDERBY學(xué)號(hào)DESC;問(wèn)查詢選修了2門(包括2門)以上課程、最低成績(jī)?cè)?0分以上的學(xué)生的學(xué)號(hào)、課程數(shù)和最低分?SELECT學(xué)號(hào),Min(成績(jī))AS成績(jī)之Min,Count(課程)AS課程之CountFROMScoresGROUPBYScores.學(xué)號(hào)HAVING(((Min(成績(jī)))>=60)AND((Count(課程))>2));例對(duì)學(xué)生成績(jī)表,統(tǒng)計(jì)每人的平均分和課程數(shù),按學(xué)號(hào)遞減排序103練習(xí)SELECT學(xué)號(hào),COUNT(課程)AS課學(xué)號(hào)姓名性別黨員專業(yè)出生年月990001王濤男No物理82-01-21990002莊前女Yes物理82-09-21990101丁保華男No數(shù)學(xué)81-04-18990102姜沛棋女No數(shù)學(xué)81-12-02990103張智忠男No數(shù)學(xué)80-08-06990201程玲女Ye

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論