計算機基礎(chǔ)第8章.ppt_第1頁
計算機基礎(chǔ)第8章.ppt_第2頁
計算機基礎(chǔ)第8章.ppt_第3頁
計算機基礎(chǔ)第8章.ppt_第4頁
計算機基礎(chǔ)第8章.ppt_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1,第八章 數(shù)據(jù)庫基礎(chǔ),2,基本要求,理解數(shù)據(jù)庫系統(tǒng)的功能與基本組成 了解常見數(shù)據(jù)庫管理系統(tǒng)的特點 了解概念模型及常見數(shù)據(jù)模型 了解建立關(guān)系數(shù)據(jù)庫系統(tǒng)的步驟 了解數(shù)據(jù)庫在管理信息系統(tǒng)中的應(yīng)用 掌握Access數(shù)據(jù)庫的使用,解決簡單應(yīng)用問題,3,主要內(nèi)容,8.1 數(shù)據(jù)庫系統(tǒng)概述 8.2 Access 2002數(shù)據(jù)庫的建立和維護 8.3 Access 2002數(shù)據(jù)庫的查詢 8.4 Access 2002的窗體、報表,4,8.1數(shù)據(jù)庫系統(tǒng)概述,信息化社會離不開信息系統(tǒng),信息系統(tǒng)的核心是數(shù)據(jù)庫。 典型案例: 大學(xué)計算機基礎(chǔ)考試系統(tǒng) 銀行取款系統(tǒng) 考試系統(tǒng)數(shù)據(jù)庫,5,8.1.1 常用術(shù)語,1.數(shù)據(jù)庫(D

2、ataBase,DB) 長期保存在計算機外存上的、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。 2.數(shù)據(jù)庫管理系統(tǒng)(DataBase Management System,DBMS) 數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)庫進行管理的軟件系統(tǒng)。數(shù)據(jù)庫的一切操作,如查詢、更新、插入、刪除以及各種控制,都是通過DBMS進行的。 DBMS是位于用戶(或應(yīng)用程序)和操作系統(tǒng)之間的軟件。借助于操作系統(tǒng)實現(xiàn)對數(shù)據(jù)的存儲和管理,使數(shù)據(jù)能被各種不同的用戶所共享,DBMS提供給用戶可使用的數(shù)據(jù)庫語言。 3.數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS) 由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫管理員、用戶等構(gòu)成的人機系統(tǒng)。,6,8.1.2

3、數(shù)據(jù)庫技術(shù)的產(chǎn)生和發(fā)展,數(shù)據(jù)管理經(jīng)歷了三個發(fā)展階段: 人工管理 文件管理 數(shù)據(jù)庫系統(tǒng) 數(shù)據(jù)庫技術(shù)是對傳統(tǒng)信息管理模式的大變革: 提高了信息的利用率 縮短了信息的傳播過程 實現(xiàn)了信息一體化的管理,7,1. 人工管理階段,20世紀50年代中期以前: 硬件方面只有卡片、紙帶、磁帶等存儲設(shè)備 軟件方面沒有操作系統(tǒng),沒有進行數(shù)據(jù)管理的軟件 此時的計算機、數(shù)據(jù)主要以科學(xué)計算為目的 原始數(shù)據(jù)隨程序一起輸入內(nèi)存 、運算、退出 數(shù)據(jù)是面向應(yīng)用 數(shù)據(jù)不具有共享性 數(shù)據(jù)需要由應(yīng)用程序自己來管理 程序與相應(yīng)的數(shù)據(jù)有著很強的依賴性 程序與數(shù)據(jù)之間不具有獨立性,8,人工管理程序舉例:,求6個數(shù)據(jù)之和和最大值,/* 程序1

4、:求6個數(shù)之和 */ #include main() int i,s=0; int a6=66,55,75,42,86,77; for(i=0;i6;i+) s=s+ai; printf(“%d”,s); ,/* 程序2:求6個數(shù)中的最大值 */#include main() int i,s; int a6=66,55,75,42,86,77; s=a0; for(i=1;i6;i+) if (sai) s=ai; printf(“%d”,s); ,程序和數(shù)據(jù)放在一起,雖然是處理同一批數(shù)據(jù),但是程序之間沒有數(shù)據(jù)共享。,9,2. 文件系統(tǒng)階段,20世紀60年代中期 硬件方面有了磁帶、磁盤等大容量

5、存儲設(shè)備 軟件方面有了操作系統(tǒng) 不僅用于科學(xué)計算,還用于數(shù)據(jù)管理。所有相關(guān)數(shù)據(jù)存放在特定的應(yīng)用文件中,并由該文件系統(tǒng)進行管理。 問題: 數(shù)據(jù)共享性差,冗余度大 數(shù)據(jù)的不一致性 程序與數(shù)據(jù)之間的獨立性不高 數(shù)據(jù)缺乏統(tǒng)一的管理和控制 安全性、完整性 、并發(fā)操作、數(shù)據(jù)破壞后的恢復(fù) 子系統(tǒng)的問題 :大量重復(fù)程序、技術(shù)難度,10,文件系統(tǒng)程序舉例:,求6個數(shù)據(jù)之和和最大值,/* 程序1:求6個數(shù)之和 */ #include main() int i,s=0,a6; FILE * fp; fp=fopen(c:data.dat,rb); fread(a,2,6,fp); /*讀數(shù)據(jù)*/ for(i=0;i

6、6;i+) s=s+ai; printf( %d,s); fclose(fp); /* 關(guān)閉文件 */ ,/* 程序2:求6個數(shù)中的最大值 */#include main() int i,s= a0 ,a6; FILE * fp; fp=fopen(c:data.dat,rb); fread(a,2,6,fp); s=a0; for(i=0;i6;i+) if (sai) s=ai; printf(%d,s); fclose(fp); ,數(shù)據(jù)來自同一個文件C: data.dat,11,3. 數(shù)據(jù)庫系統(tǒng)階段,20世紀60年代后期: 硬件方面出現(xiàn)了大容量且價格低廉的磁盤 軟件方面操作系統(tǒng)已開始成熟

7、,為數(shù)據(jù)技術(shù)的發(fā)展提供了良好的基礎(chǔ) 數(shù)據(jù)處理的規(guī)模越來越大,數(shù)據(jù)共享的要求越來越強烈 數(shù)據(jù)庫技術(shù)誕生的標(biāo)志: 1968年美國IBM公司推出的層次模型的IMS數(shù)據(jù)庫管理系統(tǒng) 1969年美國數(shù)據(jù)系統(tǒng)語言研究會下屬數(shù)據(jù)庫任務(wù)組公布了關(guān)于網(wǎng)狀模型的DBTG報告 1970年IBM公司研究員E.F.Codd發(fā)表論文提出了關(guān)系模型,12,數(shù)據(jù)庫系統(tǒng)程序舉例:,查詢某個數(shù)據(jù)項的和、最大值 如下語句來實現(xiàn): SELECT sum(數(shù)據(jù)) AS 數(shù)據(jù)和FROM 數(shù)據(jù)表 SELECT max(數(shù)據(jù)) AS 最大值FROM 數(shù)據(jù)表,13,數(shù)據(jù)庫系統(tǒng)的特點:,1采用復(fù)雜的結(jié)構(gòu)化的數(shù)據(jù)模型。 2最低的冗余度 3有較高的數(shù)

8、據(jù)獨立性 用戶面對的是簡單的邏輯結(jié)構(gòu)操作而不涉及數(shù)據(jù)具體的物理存儲結(jié)構(gòu), 4安全性 設(shè)置用戶的使用權(quán)限 在數(shù)據(jù)庫被破壞時,系統(tǒng)有能力把數(shù)據(jù)庫恢復(fù)到可用狀態(tài)。 5完整性 系統(tǒng)采用一些完整性檢驗以確保數(shù)據(jù)符合某些規(guī)則,保證數(shù)據(jù)庫中數(shù)據(jù)始終是正確的。,14,新型數(shù)據(jù)庫系統(tǒng):,分布式數(shù)據(jù)庫系統(tǒng)-數(shù)據(jù)庫中一個數(shù)據(jù)在多個不同的地理位置存儲的和處理。 面向?qū)ο髷?shù)據(jù)庫-可以像對待一般對象一樣存儲復(fù)雜信息與過程。 多媒體數(shù)據(jù)庫-涉及圖像、音頻、視頻處理、三維動畫、數(shù)據(jù)存儲與檢索等技術(shù)。 數(shù)據(jù)倉庫-面向主題的、集成的、穩(wěn)定的和隨時間變化的數(shù)據(jù)集合,用于決策制定。 工程數(shù)據(jù)庫-存儲和管理各種工程設(shè)計圖形和工程設(shè)計文

9、檔,并能為工程設(shè)計提供各種服務(wù)的數(shù)據(jù)庫。 空間數(shù)據(jù)庫-是描述、存儲與處理具有位置、形狀、大小、分布特征及空間關(guān)系等屬性的空間數(shù)據(jù)及其屬性數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)。,15,8.1.3 數(shù)據(jù)模型,1. 數(shù)據(jù)模型的定義-現(xiàn)實世界數(shù)據(jù)特征的模擬和抽象,數(shù)據(jù)庫中數(shù)據(jù)的存儲方式 。 2. 數(shù)據(jù)模型的基本要求-較真實的模擬現(xiàn)實世界 容易被人理解 便于在計算機上實現(xiàn)。 3. 數(shù)據(jù)模型的二個層次-概念模型(信息模型)、基本數(shù)據(jù)模型。 4. 數(shù)據(jù)模型的三個要素-數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)的約束條件。 在幾十年的數(shù)據(jù)庫發(fā)展史中,出現(xiàn)了三種重要的數(shù)據(jù)模型: 層次模型 用樹型結(jié)構(gòu)來表示實體及實體間的聯(lián)系 網(wǎng)狀模型 用網(wǎng)狀結(jié)構(gòu)來表

10、示實體及實體間的聯(lián)系 關(guān)系模型 用一組二維表表示實體及實體間的關(guān)系,16,1. 層次模型,以樹形結(jié)構(gòu)來表示實體及其之間的聯(lián)系(1:n) 例:早期IBM公司 IMS系統(tǒng) 學(xué)校組織結(jié)構(gòu)圖,17,2. 網(wǎng)狀模型,以網(wǎng)狀結(jié)構(gòu)表示實體及其之間的聯(lián)系(m:n) 例: DBTG系統(tǒng),IBM的IDMS系統(tǒng) 課程、學(xué)生、選課,共同存在問題:難以實現(xiàn)系統(tǒng)擴充,插入或刪除數(shù)據(jù)時,在于涉及到大量鏈接指針的調(diào)整。,18,3. 關(guān)系模型,Students表,屬性值 (字段值),關(guān)系(二維表),記錄,屬性名 (字段名),關(guān)鍵字 確定一條記錄,19,三種關(guān)系類型:,基本表 基本表就是關(guān)系模型中實際存在的表,如表Student

11、s 查詢表 查詢表是查詢結(jié)果表,或查詢中生成的臨時表 視圖 視圖是由基本表或其他視圖導(dǎo)出的表 視圖是為數(shù)據(jù)查詢、處理及數(shù)據(jù)安全設(shè)計的虛表,不對應(yīng)實際存儲的數(shù)據(jù)。,20,8.1.4 常見的數(shù)據(jù)庫系統(tǒng)及其開發(fā)工具,21,8.1.5 新型數(shù)據(jù)庫系統(tǒng),分布式數(shù)據(jù)庫系統(tǒng)-數(shù)據(jù)庫中一個數(shù)據(jù)在多個不同的地理位置存儲的和處理 面向?qū)ο髷?shù)據(jù)庫-可以像對待一般對象一樣存儲復(fù)雜信息與過程 多媒體數(shù)據(jù)庫-涉及圖像、音頻、視頻處理、三維動畫、數(shù)據(jù)存儲與檢索等技術(shù) 數(shù)據(jù)倉庫-面向主題的、集成的、穩(wěn)定的和隨時間變化的數(shù)據(jù)集合,用于決策制定 工程數(shù)據(jù)庫-存儲和管理各種工程設(shè)計圖形和工程設(shè)計文檔,并能為工程設(shè)計提供各種服務(wù)的數(shù)

12、據(jù)庫 空間數(shù)據(jù)庫-是描述、存儲與處理具有位置、形狀、大小、分布特征及空間關(guān)系等屬性的空間數(shù)據(jù)及其屬性數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng),22,8.2 Access 數(shù)據(jù)庫的建立和維護8.2.1 Access 數(shù)據(jù)庫的組成,表 最基本的對象,表及其表之間的關(guān)系構(gòu)成數(shù)據(jù)庫的核心 查詢 從表(或查詢)中選擇一部分數(shù)據(jù),形成一個全局性的集合 窗體 用戶與數(shù)據(jù)庫交互的界面,窗體的數(shù)據(jù)源是表或查詢 報表 按指定的樣式格式化的數(shù)據(jù)形式 宏 若干個操作的組合 模塊 用戶用VBA語言編寫函數(shù)過程或子程序 Web頁 向Internet上發(fā)布數(shù)據(jù),23,8.2.2 Access 數(shù)據(jù)庫的建立,方法:數(shù)據(jù)庫向?qū)В0澹┗蛟O(shè)計視圖 確定

13、表的結(jié)構(gòu) 建立一個空數(shù)據(jù)庫,輸入文件名 使用設(shè)計器或向?qū)?chuàng)建表,進入設(shè)計視圖,輸入各個字段的信息 定義主鍵 輸入表的名稱保存表,字段數(shù)據(jù)類型 有10種 字段屬性 大小、小數(shù)位、格式,24,1. 實例-創(chuàng)建表Students。,Students的結(jié)構(gòu),25,2. 數(shù)據(jù)庫建立,3.定義表的結(jié)構(gòu),1.建立空數(shù)據(jù)庫,2.使用設(shè)計器或向?qū)?26,8.2.3 Access 數(shù)據(jù)庫的管理與維護,添加,新記錄,向表中輸入數(shù)據(jù) 選定基本表,進入數(shù)據(jù)表視圖,輸入編輯數(shù)據(jù),27,2. 表結(jié)構(gòu)的修改,選定基本表,進入設(shè)計視圖,修改表結(jié)構(gòu) 打開的表或正在使用的表是不能修改的,要修改必須先將此表關(guān)閉 修改字段名稱不會影響

14、到字段中所存放的數(shù)據(jù),但是會影響到一些相關(guān)的部分。如果查詢、報表、窗體等對象使用了這個更換名稱的字段,那么在這些對象中也要作相應(yīng)的修改。 關(guān)系表中互相關(guān)聯(lián)的字段是無法修改的,如果需要修改,必須先將關(guān)聯(lián)去掉。,28,3. 數(shù)據(jù)的導(dǎo)出和導(dǎo)入,導(dǎo)出操作 可以將表中數(shù)據(jù)以另一種文件格式保存在磁盤上 導(dǎo)入操作 是導(dǎo)出操作的逆操作,表的復(fù)制、刪除、恢復(fù)和更名 類似于Windows中對文件或文件夾的操作 注意 在進行這些操作之前,必須關(guān)閉有關(guān)的表 操作必須在“數(shù)據(jù)庫”窗口中完成,29,8.2.4 Access 2002的表達式,常用運算符,30,表達式,表達式由變量、常量、運算符、函數(shù)和圓括號按一定的規(guī)則組

15、成,表達式主要應(yīng)用在以下三個方面 查詢的SQL視圖:必須輸入完整的表達式 查詢的設(shè)計視圖:使用時,表達式最左邊的字段名可以缺省 字段的有效性規(guī)則:為字段輸入一個表達式指定該字段可接受的數(shù)據(jù)范圍 (有效性規(guī)則),31,8.2.5 SQL中的數(shù)據(jù)更新命令,結(jié)構(gòu)化查詢語言SQL是操作關(guān)系數(shù)據(jù)庫的工業(yè)標(biāo)準語言 在SQL中,常用的語句有兩類: 數(shù)據(jù)查詢語句 SELECT 數(shù)據(jù)更新命令 INSERT、UPDATE、DELETE,INSERT語句用于數(shù)據(jù)插入 其語法格式為: 插入一條記錄 INSERT INTO 表名 (字段1,字段n) VALUES (值1,值n) 插入查詢的結(jié)果 INSERT INTO

16、表名 (字段1,字段n) VALUES 子查詢,32,1. INSERT語句實例,例8.3 向表Students中插入一條記錄 INSERT INTO Students (學(xué)號, 姓名, 性別, 黨員, 專業(yè), 出生年月, 助學(xué)金) VALUES (990301, 楊國強, 男, TRUE, 化學(xué), #12/28/80#, 220) 注意: 字符型常量用 單引號 或 雙引號 括起來 邏輯型字段的值是 True/False、Yes/No 或 On/Off 日期的表示形式為 MM/DD/YY 或 MM/DD/YYYY,33,2. DELETE語句,例8.5 刪除表Students中所有學(xué)號為990

17、301的記錄 DELETE FROM Students WHERE 學(xué)號=“990301” 例8.6 刪除表Scores中成績低于70分的記錄 DELETE FROM Scores WHERE 成績70,DELETE語句用于數(shù)據(jù)刪除 其語法格式為: DELETE FROM 表 WHERE 條件 注意: WHERE子句缺省,則刪除表中所有的記錄(表還在),34,3. UPDATE語句,例8.7 將表Students中學(xué)生王濤的姓名改為王寶球 UPDATE Students SET 姓名=“王寶球” WHERE 姓名=王濤 例8.8 將表Students中助學(xué)金低于200的學(xué)生加30元 UPDAT

18、E Students SET 助學(xué)金=助學(xué)金+30 WHERE 助學(xué)金200,UPDATE語句用于數(shù)據(jù)修改 其語法格式為: UPDATE 表 SET 字段1=表達式1, ,字段n=表達式n WHERE 條件 注意: WHERE子句缺省,則修改表中所有的記錄,UPDATE語句一次只能對一個表進行修改,35,8.3 數(shù)據(jù)庫的查詢 8.3.1 SELECT語句,SELECT語句中用于數(shù)據(jù)查詢 常見的SELECT語句包含4部分,其語法形式為: SELECT ALL|DISTINCT 目標(biāo)列 FROM 表(或查詢) WHERE 條件表達式 GROUP BY 列名1 HAVING 過濾表達式 ORDER

19、BY 列名2 ASC|DESC,不可缺少,可缺省,不出現(xiàn)重復(fù)的記錄,36,根據(jù)WHERE子句中的表達式,從指定的表或視圖中找出滿足條件的記錄,按目標(biāo)列顯示數(shù)據(jù) GROUP BY子句按列名1的值進行分組,每一組產(chǎn)生一條記錄,HAVING短語對組進行輸出過濾 ORDER BY子句按列名2 對查詢結(jié)果的值進行排序,37,1.SQL合計函數(shù),如果沒有ORDER BY子句,合計函數(shù)對整個表進行統(tǒng)計,產(chǎn)生一條記錄,否則按分組統(tǒng)計,一組產(chǎn)生一條記錄,38,2.SELECT語句示例,例8.9 查詢所用學(xué)生的基本情況 SELECT 學(xué)號,姓名,性別,黨員,專業(yè),出生年月,助學(xué)金,照片 FROM Students

20、 例8.10 查詢學(xué)生人數(shù)、最低、最高助學(xué)金和平均助學(xué)金 SELECT Count(*) AS 人數(shù),Min(助學(xué)金) AS 最低助學(xué)金, Max(助學(xué)金) AS 最高助學(xué)金,Avg(助學(xué)金) AS 平均助學(xué)金 FROM Students,可改為Count(學(xué)號),用別名命名輸出列,本例產(chǎn)生一條記錄,39,例8.12 查詢學(xué)生的人數(shù)和平均年齡 SELECT Count(*) AS 人數(shù),Avg(Year(Date()-Year(出生年月) AS 平均年齡 FROM Students,例8.11 查詢所用的專業(yè),查詢結(jié)果中不出現(xiàn)重復(fù)的記錄。 SELECT DISTINCT 專業(yè) FROM Stu

21、dents,不出現(xiàn)重復(fù),系統(tǒng)日期,Year函數(shù)得到年份,40,例8.14 顯示所有非計算機專業(yè)學(xué)生的學(xué)號、姓名和年齡 SELECT 學(xué)號, 姓名, Year(Date()-Year(出生年月) AS 年齡 FROM Students WHERE 專業(yè)計算機,WHERE子句示例,例8.13 查詢計算機專業(yè)學(xué)生的學(xué)號、姓名和專業(yè) SELECT 學(xué)號,姓名,專業(yè) FROM Students WHERE 專業(yè)=計算機,查詢條件,例8.15 查詢1981年(包括1981年)以前出生的女生姓名和出生年月。 SELECT 姓名,出生年月 ROM Students WHERE 出生年月 #1/1/1982#

22、AND 性別=女,可用 #MM/DD/YYYY# 的形式表示日期,41,例8.17查詢選修了2門(包括2門)以上課程的學(xué)生的學(xué)號和課程數(shù) SELECT 學(xué)號, Count(*) AS 課程數(shù) FROM Scores GROUP BY 學(xué)號 HAVING Count(*)=2,ORDER BY子句示例,例8.16 查詢所有黨員學(xué)生的學(xué)號和姓名,并按助學(xué)金升序排列 SELECT 學(xué)號, 姓名FROM Students WHERE 黨員=True ORDER BY 助學(xué)金,邏輯值,按學(xué)號分組,2門以上,例8.18查詢所有課程的成績在70分以上的學(xué)生的學(xué)號 SELECT 學(xué)號 FROM Scores

23、GROUP BY 學(xué)號 HAVING Min(成績)=70,42,3.SELECT語句-連接查詢,例8.20 查詢所有學(xué)生的學(xué)號、姓名、課程和成績 SELECT Students.學(xué)號,Students.姓名,Scores.課程, Scores.成績 FROM Students,Scores WHERE Students.學(xué)號 = Scores.學(xué)號,兩個表,連接條件,使用內(nèi)連接格式 SELECT Students.學(xué)號,Students.姓名,Scores.課程,Scores.成績 FROM Students INNER JOIN Scores ON Students.學(xué)號=Scores.學(xué)號,連接條件,表1,連接命令,表2,43,SELECT語句-嵌套查詢,在SQL中,將一個SELECT語句查詢塊嵌套在另一個SELECT語句的WHERE子句或HAVING子句中稱為嵌套查詢,44,嵌套查詢示例,例8.23 查詢與“鄧倩

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論