




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
7.1數(shù)據(jù)庫系統(tǒng)概述7.2數(shù)據(jù)庫的建立和維護7.3數(shù)據(jù)庫查詢7.4
窗體、報表第七章數(shù)據(jù)庫基礎典型案例無紙化通用考試系統(tǒng)
大學計算機基礎VisualBasic程序設計
C/C++程序設計軟件技術基礎應用程序數(shù)據(jù)庫管理系統(tǒng)VBVC++PowerBuilder
Delphi
ACCESSSQLSERVERORACLEFOXPROSQL命令數(shù)據(jù)庫引摯數(shù)據(jù)庫信息化社會離不開信息系統(tǒng) 信息系統(tǒng)的核心和基礎是數(shù)據(jù)庫2計算機基礎教育網站
http://IEHTM、ASP客戶機服務器SQL命令數(shù)據(jù)庫發(fā)出請求響應請求數(shù)據(jù)37.1.1常用術語7.1.2數(shù)據(jù)庫技術的產生和發(fā)展7.1.3數(shù)據(jù)模型7.1.4
常見的數(shù)據(jù)庫系統(tǒng)及其開發(fā)工具7.1數(shù)據(jù)庫系概述7.1.1常用術語1.數(shù)據(jù)庫(DataBase,DB)長期保存在計算機外存上的、有結構的、可共享的數(shù)據(jù)集合。2.數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)對數(shù)據(jù)庫進行管理的軟件系統(tǒng)。數(shù)據(jù)庫的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過DBMS進行的。DBMS是位于用戶(或應用程序)和操作系統(tǒng)之間的軟件。借助于操作系統(tǒng)實現(xiàn)對數(shù)據(jù)的存儲和管理,使數(shù)據(jù)能被各種不同的用戶所共享,DBMS提供給用戶可使用的數(shù)據(jù)庫語言。3.應用程序(DataBaseSystem,DBS)利用各種開發(fā)工具開發(fā)的、滿足特定應用環(huán)境的數(shù)據(jù)庫應用程序。用戶應用程序DBMS操作系統(tǒng)數(shù)據(jù)庫DB數(shù)據(jù)庫系統(tǒng)57.1.1常用術語4.數(shù)據(jù)庫系統(tǒng)相關人員數(shù)據(jù)庫管理員應用程序開發(fā)人員最終用戶5.數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)由硬件系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫、數(shù)據(jù)庫應用程序、數(shù)據(jù)庫系統(tǒng)相關人員等構成的人-機系統(tǒng)。數(shù)據(jù)庫產品(一整套數(shù)據(jù)庫應用解決方案
)桌面型數(shù)據(jù)庫網絡數(shù)據(jù)庫MSAccessSQLServerOracleMySql67.1.2數(shù)據(jù)庫技術的產生和發(fā)展數(shù)據(jù)管理技術經歷了三個發(fā)展階段人工管理階段文件管理階段數(shù)據(jù)庫系統(tǒng)階段71.人工管理階段時間:20世紀50年代中期以前
硬件:只有卡片、紙帶、磁帶等存儲設備軟件:沒有操作系統(tǒng),沒有進行數(shù)據(jù)管理的軟件應用:以科學計算為目的特點:程序和數(shù)據(jù)放在一起數(shù)據(jù)不能共享特征圖程序1數(shù)據(jù)1程序2數(shù)據(jù)2程序n數(shù)據(jù)n……8人工管理階段數(shù)據(jù)管理示例例:兩個C語言程序,分別求10個數(shù)據(jù)之和和最大值。 程序與數(shù)據(jù)放在一起,數(shù)據(jù)沒有能夠共享92.文件系統(tǒng)階段時間:20世紀60年代中期硬件:磁帶、磁盤等大容量存儲設備軟件:有了操作系統(tǒng)應用:不僅用于科學計算,還用于數(shù)據(jù)管理.特點:程序與數(shù)據(jù)分離數(shù)據(jù)有一定的獨立性實現(xiàn)了以文件為單位的數(shù)據(jù)共享特征圖數(shù)據(jù)文件1…文件管理系統(tǒng)數(shù)據(jù)文件n應用程序1應用程序2應用程序n…數(shù)據(jù)文件210文件系統(tǒng)階段數(shù)據(jù)管理示例上例用文件實現(xiàn)113.數(shù)據(jù)庫系統(tǒng)階段時間:20世紀60年代后期硬件:出現(xiàn)了大容量且價格低廉的磁盤軟件:有了數(shù)據(jù)庫管理系統(tǒng)DBMS應用:各個方面.特點:數(shù)據(jù)結構化數(shù)據(jù)共享性高,冗余小數(shù)據(jù)獨立性高數(shù)據(jù)由DBMS統(tǒng)一管理控制為用戶提供了友好的接口特征圖12數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)管理示例解決了數(shù)據(jù)的獨立性問題,實現(xiàn)數(shù)據(jù)的統(tǒng)一管理,
達到數(shù)據(jù)共享的目的
求和:SELECTMax(Num)FROMData 求最大值:SELECTAvg(Num)FROMData13數(shù)據(jù)庫系統(tǒng)的特點(1)采用一定的數(shù)據(jù)模型,最大限度地減少數(shù)據(jù)的冗余(2)最低的冗余度(3)有較高的數(shù)據(jù)獨立性用戶面對的是簡單的邏輯結構操作而不涉及數(shù)據(jù)具體的物理存儲結構(4)安全性設置用戶的使用權限在數(shù)據(jù)庫被破壞時,系統(tǒng)可把數(shù)據(jù)庫恢復到可用狀態(tài)。(5)完整性一些完整性檢驗以確保數(shù)據(jù)符合某些規(guī)則,保證數(shù)據(jù)庫中數(shù)據(jù)始終是正確的。14數(shù)據(jù)庫倉庫系統(tǒng)數(shù)據(jù)倉庫技術是目前數(shù)據(jù)處理中發(fā)展十分迅速的一個分支。所謂“數(shù)據(jù)倉庫”,就是一種長期數(shù)據(jù)存儲,這些數(shù)據(jù)來自于多個異種數(shù)據(jù)源。實現(xiàn)多維數(shù)據(jù)分析,以便向管理決策提供支持。數(shù)據(jù)倉庫系統(tǒng)允許將各種應用系統(tǒng)集成在一起,為統(tǒng)一的歷史數(shù)據(jù)分析提供堅實的平臺,對信息處理進行支持。目前數(shù)據(jù)倉庫已經成為數(shù)據(jù)分析和聯(lián)機分析處理日趨重要的平臺。15數(shù)據(jù)庫倉庫系統(tǒng)數(shù)據(jù)倉庫的主要特征如下:(1)面向主題性:圍繞某一主題建模和分析;(2)集成性:將多個異種數(shù)據(jù)源以及事務記錄集成在一起;(3)時變性:數(shù)據(jù)存儲從歷史的角度提供信息;(4)非易失性:總是物理地分離存放數(shù)據(jù)。16數(shù)據(jù)庫倉庫系統(tǒng)和數(shù)據(jù)庫的區(qū)別(1)面向的用戶不同。數(shù)據(jù)庫系統(tǒng)面向使用單位的低層人員,用于日常數(shù)據(jù)的分析和處理;數(shù)據(jù)倉庫系統(tǒng)面向使用單位決策人員,提供決策支持。(2)數(shù)據(jù)內容不同。數(shù)據(jù)庫系統(tǒng)存儲和管理的是當前的數(shù)據(jù);數(shù)據(jù)倉庫系統(tǒng)存儲的是長期積累的歷史數(shù)據(jù)。
17數(shù)據(jù)庫倉庫系統(tǒng)和數(shù)據(jù)庫的區(qū)別(3)數(shù)據(jù)來源不同。數(shù)據(jù)庫的數(shù)據(jù)一般來源于同種數(shù)據(jù)源,而數(shù)據(jù)倉庫的數(shù)據(jù)可以來源于多個異種數(shù)據(jù)源。(4)數(shù)據(jù)的操作不同。數(shù)據(jù)庫系統(tǒng)提供了執(zhí)行聯(lián)機事務和查詢處理(OLTP,On-LineTransactionProcessing)系統(tǒng)。數(shù)據(jù)倉庫系統(tǒng)主要提供了數(shù)據(jù)分析和決策支持(OLAP,On-LineAnalyticalProcessing)系統(tǒng),實現(xiàn)數(shù)據(jù)挖掘和知識發(fā)現(xiàn)。187.1.3數(shù)據(jù)模型
數(shù)據(jù)模型1數(shù)據(jù)庫不僅要反映數(shù)據(jù)本身的內容,而且要反映數(shù)據(jù)之間的聯(lián)系。由于計算機不可能直接處理現(xiàn)實世界中的具體事物,所以人們必須首先把具體事物轉換成計算機能夠處理的數(shù)據(jù)。在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是現(xiàn)實世界的模擬,是現(xiàn)實世界數(shù)據(jù)特征的抽象?,F(xiàn)有的數(shù)據(jù)庫系統(tǒng)均是基于某種數(shù)據(jù)模型的。因此,數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎。各種計算機上實現(xiàn)的DBMS軟件都是基于某種數(shù)據(jù)模型的。197.1.3數(shù)據(jù)模型
數(shù)據(jù)模型應滿足三方面要求:1)一是能比較真實地模擬現(xiàn)實世界;2)二是容易為人所理解;3)三是便于在計算機上實現(xiàn)。一種數(shù)據(jù)模型要很好地滿足這三方面的要求在目前尚很難。在數(shù)據(jù)庫系統(tǒng)中,針對不同的使用對象和應用目的采用不同的數(shù)據(jù)模型。不同的數(shù)據(jù)模型實際上是提供給我們模型化數(shù)據(jù)和信息的不同工具。207.1.3數(shù)據(jù)模型
根據(jù)模型應用的目的不同,可以將這些模型劃分為兩類,它們分屬于兩個不同的層次。1)第一類模型是概念模型(也稱信息模型)它是按用戶的觀點來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設計。2)另一類是數(shù)據(jù)模型主要包括網狀模型、層次模型、關系模型,新興的數(shù)據(jù)庫技術上還使用了面向對象的模型等,它是按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,主要用于DBMS的實現(xiàn)。217.1.3數(shù)據(jù)模型
為了把現(xiàn)實世界中的具體事物抽象、組織為某一DBMS支持的數(shù)據(jù)模型,人們常常首先將現(xiàn)實世界抽象為信息世界,然后將信息世界轉換為機器世界。也就是說,首先把現(xiàn)實世界中的客觀對象抽象為某一種信息結構,這種信息結構并不依賴于具體的計算機系統(tǒng),不是某一個DBMS支持的數(shù)據(jù)模型,而是概念級的模型,然后把概念級的模型轉換為計算機上某一DBMS支持的數(shù)據(jù)模型。227.1.3數(shù)據(jù)模型
三種重要的數(shù)據(jù)模型①層次模型用樹型結構來表示實體及實體間的聯(lián)系
例如:1968年,IBM公司的IMS(InformationManagementSystem)②網狀模型用網狀結構來表示實體及實體間的聯(lián)系
例如:DBTG系統(tǒng)
注:1969年美國CODASYL組織提出了一份“DBTG報告”,
以后根據(jù)DBTG報告實現(xiàn)的系統(tǒng)一般稱為DBTG系統(tǒng)③關系模型用一組二維表表示實體及實體間的關系
例如:MicrosoftAccess
注:理論基礎是1970年IBM公司研究人員E.F.Codd發(fā)表的大量論文。目前應用最廣泛的是關系數(shù)據(jù)模型23關系模型
關系模型把世界看作是由實體(Entity)和聯(lián)系(Relationship)構成的。所謂實體是指現(xiàn)實世界中具有區(qū)別于其他事物的特征或屬性并與其他實體有聯(lián)系的對象。在關系模型中實體通常是以表的形式來表現(xiàn)的。表的每一行描述實體的一個實例,表的每一列描述實體的一個特征或屬性。24關系模型
聯(lián)系:所謂聯(lián)系是指實體之間的關系,即實體之間的對應關系。聯(lián)系可以分為三種:1)一對一的聯(lián)系。如:一個班級只有一個班長,同樣,每個班長屬于一個班級,班長→班級為一對一關系;2)一對多的聯(lián)系。如:每個班的人有許多個,班級→人為一對多關系;3)多對多的聯(lián)系。如:每個人可修多門課程,反之,每門課程可有多人選修,課程→人為多對多聯(lián)系。
25關系模型Students表屬性名(字段名)屬性值(字段值)男張智忠學號姓名性別黨員專業(yè)出生年月助學金990001王濤男No物理82-01-21¥160.00990002莊前女Yes物理82-09-21¥200.00990101丁保華男No數(shù)學81-04-18¥180.00990102姜沛棋女No數(shù)學81-12-02¥280.00No數(shù)學80-08-06¥240.00990201程玲女Yes計算機82-11-14¥200.00990202黎敏艷女Yes計算機83-02-21¥160.00990103記錄
關鍵字唯一確定一條記錄
關系(二維表)值域:{男,女}將數(shù)據(jù)組織成一組二維表格26學號課程成績990001計算機文化基礎82990001高等數(shù)學76990002計算機文化基礎90990101高等數(shù)學77990102計算機文化基礎68990102C/C++程序設計85990102大學英語56990201計算機導論87990201高等數(shù)學67990202計算機導論53990203英語71990204計算機導論66990204高等數(shù)學75990204英語82271.術語
關系:一個關系一張二維表關系模式:
Students(學號,姓名,性別,黨員,專業(yè),出生年月,助學金,照片)
Scores(學號,課程,成績)記錄:表中的一行屬性(字段):表中的一列關鍵字:某個屬性可以惟一地確定記錄主鍵:在實際的應用中只能選擇一個值域:屬性的取值范圍282.關系必須規(guī)范化:表中不能再包含表工資表(不滿足關系模型要求)工號姓名工資應發(fā)工資實發(fā)工資91026王建春1656148897045楊建兵18321764工資表(滿足關系模型要求)工號姓名應發(fā)工資實發(fā)工資91026王建春1656148897045楊建關系的種類①基本表如表Students和Scores②查詢表查詢表是查詢結果表
查詢中生成的臨時表。③視圖視圖是由基本表或其他
視圖導出的表。學號姓名課程成績990001王濤計算機文化基礎82990001王濤高等數(shù)學76990002莊前計算機文化基礎90990101丁保華高等數(shù)學77990102姜沛棋計算機文化基礎68990102姜沛棋C/C++程序設計85990102姜沛棋大學英語56990201程玲計算機導論87990201程玲高等數(shù)學67990202黎敏艷計算機導論53990203鄧倩梅英語71990204楊夢逸計算機導論66990204楊夢逸高等數(shù)學75990204楊夢逸英語82來自表Students和Scores的查詢表
30表間關系2.一對多關系3.多對多關系1.一對一關系如果對于實體集A中的每個實體,實體集B中最多有一個實體(也可以沒有)與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一的關系。311.一對一關系3.多對多關系2.一對多關系如果對于實體集A中的每個實體,實體集B中有多個實體與之聯(lián)系,反之,對于實體集B中的每個實體,實體集A中有最多有一個實體與之聯(lián)系,則稱實體集A與實體集B具有一對多的關系。表間關系322.一對多關系1.一對一關系3.多對多關系如果對于實體集A中的每個實體,實體集B中有多個實體與之聯(lián)系,反之,對于實體集B中的每個實體,實體集A中也有多個實體與之聯(lián)系,則稱實體集A與實體集B具有多對多的關系。表間關系33應用程序VBVCPowerBuilder
Delphi
MicrosoftAccessSQLServerOracleVisualFoxProSQL命令數(shù)據(jù)庫常見數(shù)據(jù)庫系統(tǒng)開發(fā)工具:VisualBasicVisualC++PowerBuiderDelphi常見的數(shù)據(jù)庫管理系統(tǒng):MicrosoftAccessSQLServerOracleVisualFoxPro常見的數(shù)據(jù)庫應用系統(tǒng)及開發(fā)工具34數(shù)據(jù)庫系統(tǒng)運行模式:客戶機/服務器模式(Client/Server,C/S
)瀏覽器/服務器模式(Browser/Server,B/S)1.C/S模式例如:OutlookExpressQQ大智慧股票軟件應用:基于行業(yè)的數(shù)據(jù)庫應用系統(tǒng)7.1.4數(shù)據(jù)庫系統(tǒng)及其開發(fā)技術35應用程序VBVCPowerBuilder
Delphi
MicrosoftAccessSQLServerOracleVisualFoxProSQL命令數(shù)據(jù)庫常見數(shù)據(jù)庫系統(tǒng)開發(fā)工具:VisualBasicVisualC++PowerBuiderDelphi常見的數(shù)據(jù)庫管理系統(tǒng):MicrosoftAccessSQLServerOracleVisualFoxPro常見的數(shù)據(jù)庫應用系統(tǒng)及開發(fā)工具362.瀏覽器/服務器模式例如:IE收到郵件新浪上查看股票信息
Internet上的購物系統(tǒng)、訂票系統(tǒng)應用:特別適合非特定的用戶開發(fā)技術:ASPPHPJSPASP.NET
37兩種模式比較各有其優(yōu)缺點B/S模式可以認為是C/S模式的一種特例
C/S模式缺點:C/S模式維護、升級煩瑣優(yōu)點:響應速度快,功能完善B/S模式
缺點:響應速度慢,功能不是很完善。優(yōu)點:維護、升級簡單
38學號姓名性別黨員專業(yè)出生年月990001王濤男No物理82-01-21990002莊前女Yes物理82-09-21990101丁保華男No數(shù)學81-04-18990102姜沛棋女No數(shù)學81-12-02990103張智忠男No數(shù)學80-08-06990201程玲女Yes計算機82-11-14990202黎敏艷女Yes計算機83-02-21990203鄧倩梅女Yes計算機82-04-28990204楊夢逸女No計算機81-12-15學號課程成績990001大學計算機基礎82990001高等數(shù)學76990202計算機導論53990203英語71990204計算機導論66990204高等數(shù)學75990204英語82學生成績表學生基本情況表學號姓名課程成績990001王濤計算機文化基礎82990001王濤高等數(shù)學76990002莊前計算機文化基礎90990101丁保華高等數(shù)學77990102姜沛棋計算機文化基礎68990102姜沛棋C/C++程序設計85990102姜沛棋大學英語56990201程玲計算機導論87990201程玲高等數(shù)學67990202黎敏艷計算機導論53990203鄧倩梅英語71990204楊夢逸計算機導論66990204楊夢逸高等數(shù)學75990204楊夢逸英語8239數(shù)據(jù)庫設計數(shù)據(jù)庫設計步驟一、設計原則概念單一化“一事一地”的原則避免在表之間出現(xiàn)重復字段表中的字段必須是原始數(shù)據(jù)和基本數(shù)據(jù)元素用外部關鍵字保證有關聯(lián)的表之間的聯(lián)系40
數(shù)據(jù)庫設計概念設計需求分析要做個什么東西信息需求處理需求安全性和完整性需求主要的完成成果是:數(shù)據(jù)流圖和數(shù)據(jù)字典(需求分析報告)物理設計邏輯設計41
數(shù)據(jù)庫設計概念設計需求分析
概念設計是由分析用戶需求到生成概念產品的一系列有序的、可組織的、有目標的設計活動,它表現(xiàn)為一個由粗到精、由模糊到清晰、由具體到抽象的不斷進化的過程。概念設計即是利用設計概念并以其為主線貫穿全部設計過程的設計方法。概念設計是完整而全面的設計過程,它通過設計概念將設計者繁復的感性和瞬間思維上升到統(tǒng)一的理性思維從而完成整個設計。主要有2中方法完成1、自頂向下法和自底向上法主要的完成成果是:E-R圖物理設計邏輯設計42
數(shù)據(jù)庫設計概念設計需求分析數(shù)據(jù)庫物理設計是后半段。將一個給定邏輯結構實施到具體的環(huán)境中時,邏輯數(shù)據(jù)模型要選取一個具體的工作環(huán)境,這個工作環(huán)境提供了數(shù)據(jù)存儲結構與存取方法,這個過程就是數(shù)據(jù)庫的物理設計。物理結構依賴于給定的DBMS和和硬件系統(tǒng),因此設計人員必須充分了解所用DBMS的內部特征、存儲結構、存取方法。數(shù)據(jù)庫的物理設計通常分為兩步,物理設計邏輯設計43
數(shù)據(jù)庫設計概念設計需求分析
確定數(shù)據(jù)庫的物理結構包含下面四方面的內容:1、確定數(shù)據(jù)的存儲結構2、設計數(shù)據(jù)的存取路徑3、確定數(shù)據(jù)的存放位置4、確定系統(tǒng)配置數(shù)據(jù)庫物理設計過程中需要對時間效率、空間效率、維護代價和各種用戶要求進行權衡,選擇一個優(yōu)化方案作為數(shù)據(jù)庫物理結構。
物理設計邏輯設計44數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫管理系統(tǒng)(databasemanagementsystem)是一種操縱和管理數(shù)據(jù)庫的大型軟件,是用于建立、使用和維護數(shù)據(jù)庫,簡稱dbms。它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。用戶通過dbms訪問數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫管理員也通過dbms進行數(shù)據(jù)庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法在同時或不同時刻去建立,修改和詢問數(shù)據(jù)庫。它使用戶能方便地定義和操縱數(shù)據(jù),維護數(shù)據(jù)的安全性和完整性,以及進行多用戶下的并發(fā)控制和恢復數(shù)據(jù)庫。457.2數(shù)據(jù)庫的建立和維護Access的特點是Office的組件之一具有對數(shù)據(jù)進行存儲、管理、處理等常規(guī)功能直觀的可視化操作操作工具和向導豐富的函數(shù)功能46實例創(chuàng)建表Students。Students的結構字段名稱字段類型字段寬度學號Text6個字符姓名Text4個字符性別Text1個字符黨員Yes/No1個二進制位專業(yè)Text20個字符出生年月Date/Time8字節(jié)助學金Currency8字節(jié)照片OLEObject不確定477.2.1Access數(shù)據(jù)庫的組成
表:最基本的對象,表及其表之間的關系構成數(shù)據(jù)庫的核心查詢:從表(或查詢)中選擇一部分數(shù)據(jù),形成一個全局性的集合窗體:用戶與數(shù)據(jù)庫交互的界面,窗體的數(shù)據(jù)源是表或查詢報表:按指定的樣式格式化的數(shù)據(jù)形式宏:若干個操作的組合模塊:用戶用VB語言編寫應用程序Web頁:向Internet上發(fā)布數(shù)據(jù)這些不同類型的對象集合構成了一個數(shù)據(jù)庫文件,以.mdb存儲在盤上.487.2.2Access數(shù)據(jù)庫的建立
字段數(shù)據(jù)類型有10種字段屬性大小、小數(shù)位、格式
確定表的結構
建立一個空數(shù)據(jù)庫,輸入文件名使用設計器或向導創(chuàng)建表,進入設計視圖,輸入各個字段的信息建立表的索引定義主鍵輸入表的名稱保存表主要方法:數(shù)據(jù)庫向導(模板)或設計視圖,一般用后者49Access數(shù)據(jù)庫的建立
3.定義表的結構
1.建立空數(shù)據(jù)庫2.使用設計器或向導507.2.3數(shù)據(jù)庫的管理與維護選定基本表,進入數(shù)據(jù)表視圖,輸入編輯數(shù)據(jù)
添加新記錄1.數(shù)據(jù)輸入
51注意:打開的表或正在使用的表是不能修改的.修改字段名稱不會影響到字段中所存放的數(shù)據(jù),但是會影響到一些相關的部分。如果查詢、報表、窗體等對象使用了這個更換名稱的字段,那么在這些對象中也要作相應的修改。關系表中互相關聯(lián)的字段是無法修改的,如果需要修改,必須先將關聯(lián)去掉選定基本表,進入設計視圖,修改表結構2.表結構的修改523.數(shù)據(jù)的導出和導入導出操作可以將表中數(shù)據(jù)以另一種文件格式保存在磁盤上導入操作是導出操作的逆操作4.表的復制、刪除、恢復和更名類似于Windows中對文件或文件夾的操作注意在進行這些操作之前,必須關閉有關的表操作必須在“數(shù)據(jù)庫”窗口中完成537.2.4Access表達式1.常用運算符
類型運算符算術運算符+-*/^(乘方)\(整除)MOD(取余數(shù))關系運算符<<=<>>>=BetweenLike邏輯運算符NotAndOr字符運算符&說明: (1)字符型數(shù)據(jù)用雙引號"或單引用'括起來。如"abcde123" 日期型數(shù)據(jù)用#括起來。例如#10/12/2000#
(2)MOD是取余數(shù)運算符 例如,5MOD3的結果為2。
54(3)Between運算符 格式:<表達式1>Between<表達式2>And<表達式3> 3Between1And10:True 3Between1And2:False,
(4)可使用通配符:*和? 查找姓“張”的學生:姓名Like"張*" 查找不是姓“張”的學生:姓名NotLike"張*"(5)&用于連接兩個字符串。 "ABC"&"1234"的結果是"ABC1234"552.常用內部函數(shù)函數(shù)名說明實例結果Date()返回系統(tǒng)日期Date()#5/4/2003#Year(D)返回年份Year(#12/1/1982#)19823.表達式和表達式生成器567.2.5SQL中的數(shù)據(jù)更新命令結構化查詢語言SQL是操作關系數(shù)據(jù)庫的工業(yè)標準語言在SQL中,常用的語句有兩類:數(shù)據(jù)查詢命令SELECT數(shù)據(jù)更新命令INSERT、UPDATE、DELETEINSERT命令用于數(shù)據(jù)插入其語法格式為:
插入一條記錄
INSERTINTO
表名[(字段1,…,字段n)]VALUES(值1,…,值n)
插入查詢的結果
INSERTINTO
表名(字段1,…,字段n)VALUES
子查詢57INSERT命令實例例7.3向表Students中插入一條記錄INSERTINTOStudents(學號,姓名,性別,黨員,專業(yè),出生年月,助學金) VALUES("990301","楊國強","男",TRUE,"化學",#12/28/80#,220)注意:字符型常量用單引號或雙引號括起來邏輯型字段的值是True/False、Yes/No或On/Off日期的表示形式為MM/DD/YY或MM/DD/YYYY58例7.4向表Scores插入記錄(990301,大學計算機基礎,98)
INSERTINTOScoresVALUES("990301","大學計算機基礎",98)直接執(zhí)行SQL語句的方法①切換到“查詢”頁。②創(chuàng)建一個空查詢。③切換到SQL視圖。④輸入SQL命令,如右圖所示。⑤執(zhí)行查詢⑥查看結果。
59DELETE語句例7.5刪除表Students中所有學號為990301的記錄DELETEFROMStudentsWHERE學號=“990301”例7.6刪除表Scores中成績低于70分的記錄DELETEFROMScoresWHERE成績<70DELETE語句用于數(shù)據(jù)刪除其語法格式為:DELETEFROM
表[WHERE條件]注意:
WHERE子句缺省,則刪除表中所有的記錄(表還在)60UPDATE語句例7.7將表Students中學生王濤的姓名改為王寶UPDATEStudentsSET姓名=“王寶”WHERE姓名="王濤"例7.8將表Students中助學金低于200的學生加30元UPDATEStudentsSET助學金=助學金+30WHERE助學金<200UPDATE語句用于數(shù)據(jù)修改其語法格式為:UPDATE
表
SET字段1=表達式1,…,字段n=表達式n[WHERE條件]
注意:
WHERE子句缺省,則修改表中所有的記錄UPDATE語句一次只能對一個表進行修改
617.3數(shù)據(jù)庫的查詢數(shù)據(jù)查詢是數(shù)據(jù)庫的核心操作不管采用何種工具創(chuàng)建查詢,Access都會在后臺構造等效的SELECT語句執(zhí)行查詢實質就是運行了相應的SELECT語句。
SQL(StructureQueryLanguage):結構化查詢語言分類SQL語句數(shù)據(jù)查詢SELECT數(shù)據(jù)更新語句INSERT
UPDATE
DELETE627.3.1SELECT語句
語法形式為:SELECT[ALL|DISTINCT]目標列FROM表(或查詢)-基本部分,選擇字段
[WHERE條件表達式] -選擇滿足條件的記錄
[GROUPBY列名1HAVING過濾表達式] -分組并且過濾
[ORDERBY列名2[ASC|DESC]] -排序
不可缺少可缺省功能
根據(jù)WHERE中表達式,從指定的表(或查詢)中找出滿足條件的記錄,按目標列顯示數(shù)據(jù)GROUPBY子句按列名1的值進行分組,每一組產生一條記錄,HAVING子句對分組后的結果過濾ORDERBY子句按列名2對查詢結果的值進行排序不能出現(xiàn)重復的記錄63合計函數(shù)
描述AVG(列名)計算某一列的平均值COUNT(*)統(tǒng)計記錄的個數(shù)COUNT(列名)統(tǒng)計某一列值的個數(shù)SUM(列名)計算某一列的總和MAX(列名)計算某一列的最大值MIN(列名)計算某一列的最小值如果沒有GROUPBY子句,合計函數(shù)對整個表進行統(tǒng)計,產生一條記錄,否則按分組統(tǒng)計,一組產生一條記錄SQL合計函數(shù):641.選擇字段
例7.9查詢所有學生的學號、姓名、性別和專業(yè)
SELECT學號,姓名,性別,專業(yè)FROMStudents說明:若要查詢所有學生的基本情況(所有字段),則可以用*表示所有的字段: SELECT*FROMStudents例7.10查詢所用的專業(yè),查詢結果中不出現(xiàn)重復的記錄
SELECTDISTINCT專業(yè)FROMStudents;用DISTINCT沒有用DISTINCT65例7.11使用合計函數(shù),查詢學生人數(shù)、最低助學金、最高助學金和平均助學金SELECT Count(*)AS人數(shù), Min(助學金)AS最低助學金, Max(助學金)AS最高助學金, Avg(助學金)AS平均助學金FROMStudents可改為Count(學號)用AS子句指定別名本例產生一條記錄66例7.12查詢學生的人數(shù)和平均年齡SELECTCount(*)AS人數(shù), Avg(Year(Date())-Year(出生年月))AS平均年齡FROMStudents系統(tǒng)日期得到年份
672.選擇記錄例7.13顯示所有非計算機專業(yè)學生的學號、姓名和年齡
SELECT學號,姓名,Year(Date())-Year(出生年月)AS年齡FROMStudentsWHERE專業(yè)<>"計算機"查詢條件例7.14查詢1981年(包括1981年)以前出生的女生姓名和出生年月。SELECT姓名,出生年月
FROMStudentsWHERE出生年月<#1/1/1982#AND性別="女"可用#MM/DD/YYYY#的形式表示日期683.排序ORDERBY子句用于順序 ASC:表示升序 DESC:表示降序。例7.15查詢所有黨員學生的學號和姓名,并按助學金從小到大排序。SELECT學號,姓名FROMStudentsWHERE黨員=TrueORDERBY助學金可用多個關鍵字排序。例如,ORDERBY專業(yè)ASC,助學金DESC專業(yè)是第一排序關鍵字,助學金是第二排序關鍵字。694.分組查詢(1)簡單分組把在某一列上值相同的記錄分在一組,一組產生一條記錄。例7.16查詢每個專業(yè)學生人數(shù)。SELECT專業(yè),Count(*)AS學生人數(shù)FROMStudentsORDERBY專業(yè)將專業(yè)相同的記錄分在一組。70(2)復雜分組把在多個列上值相同的記錄分在一組,一組產生一條記錄。例7.17查詢各專業(yè)男女生的平均助學金SELECT專業(yè),性別,Avg(助學金)AS平均助學金FROMStudentsGROUPBY專業(yè),性別將專業(yè)和性別都相同的記錄分在一組。71(3)分組后過濾HAVING子句對分組后的結果過濾,不是對分組之前的表進行過濾。沒有GROUPBY子句時,HAVING的作用等同于WHERE子句。HAVING后的過濾條件中一般都要有合計函數(shù)。例7.18查詢有2門課程成績在75以上的學生的學號和課程數(shù)。SELECT學號,Count(*)AS課程數(shù)FROMScoresWHERE成績>=75GROUPBY學號HAVINGCount(*)>=2725.連接查詢WHERE條件,在兩表中有相同的屬性值例7.19查詢所有學生的學號、姓名、課程和成績
SELECTStudents.學號,Students.姓名,Scores.課程,Scores.成績FROMStudents,Scores
WHEREStudents.學號=Scores.學號自動生成語句:SELECTStudents.學號,Students.姓名,Scores.課程,Scores.成績FROMStudentsINNERJOINScoresONStudents.學號=Scores.學號兩個表
連接條件
73表的連接
連接結果
74例7.20查詢選修了“高等數(shù)學”課程的學生的學號、姓名和成績。用條件“Students.學號=Scores.學號”進行連接,然后進行選擇,SELECTStudents.學號,Students.姓名,Scores.成績FROMStudents,ScoresWHEREStudents.學號=Scores.學號AND
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國電動機行業(yè)深度分析及投資規(guī)劃研究建議報告
- 水力發(fā)電設備出租行業(yè)供需趨勢及投資風險研究報告
- 一年級的數(shù)學重要知識點
- 一年級數(shù)學的主要知識點
- 把時間留給熱愛
- 2025年標準貫入器行業(yè)深度研究分析報告
- 2025年中國漁船行業(yè)發(fā)展監(jiān)測及投資前景展望報告
- 2025年皺紋彈性繃帶項目可行性研究報告
- 中國地鐵建設行業(yè)發(fā)展?jié)摿︻A測及投資戰(zhàn)略研究報告
- 工礦購貨合同范本
- DBJ50∕T-098-2019 城市綠化養(yǎng)護質量標準
- 自動化腹膜透析(APD)的臨床應用課件
- (日文文書模板范例)請求書-請求書
- 旅游消費者行為學整套課件完整版電子教案課件匯總(最新)
- 學前兒童發(fā)展心理學(第3版-張永紅)教學課件1754
- 2022牛排消費趨勢報告
- TPM╲t4Step Manul(三星TPM絕密資料)
- 細菌群體感應系統(tǒng)及其應用課件
- 司法鑒定程序通則(試行)
- 通達信指標——江恩輪
- 神經電生理檢查ppt課件
評論
0/150
提交評論