第一篇:T1_Oracle數(shù)據(jù)庫基礎_教案范文
T1
Oracle數(shù)據(jù)庫基礎
【本講主要目標】
1、Oracle數(shù)據(jù)庫概述
2、Oracle數(shù)據(jù)庫系統(tǒng)結構
? 邏輯結構
? 物理結構
? 系統(tǒng)結構
? 內(nèi)存結構(PGA 和SGA)
? 后臺進程
? 服務器進程
3、數(shù)據(jù)庫名、實例名、服務名簡析
【本講重點】
1、Oracle數(shù)據(jù)庫系統(tǒng)結構
2、數(shù)據(jù)庫名、實例名、服務名概念
【本講難點】
Oracle數(shù)據(jù)庫系統(tǒng)結構
【上講回顧】
時間:10分鐘 無
【課程知識講解】
一、Oracle數(shù)據(jù)庫概述(時間:35分鐘)
1、數(shù)據(jù)庫基礎
? ? ? ? 數(shù)據(jù):指對信息的描述,或者說描述事物的符號。
數(shù)據(jù)庫:指存儲在計算機中,有組織的,并且可以共享的數(shù)據(jù)的集合。
數(shù)據(jù)庫管理系統(tǒng):是用來幫助人們組織、管理、分析數(shù)據(jù)庫中數(shù)據(jù)的軟件系統(tǒng),它是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。數(shù)據(jù)管理經(jīng)歷了三個階段:
– 人工管理階段 :主要用于科學計算
– 文件系統(tǒng)階段 :實現(xiàn)文件批處理,聯(lián)機實時處理
– 數(shù)據(jù)庫系統(tǒng)階段 :實現(xiàn)多用戶、多應用的實時處理
? ? 數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)中以數(shù)據(jù)模型的形式表現(xiàn),數(shù)據(jù)模型是現(xiàn)實世界數(shù)據(jù)特征的抽象,也是數(shù)據(jù)庫系統(tǒng)的數(shù)學表示。
數(shù)據(jù)模型根據(jù)應用的不同分為:
– 概念模型 :又稱信息模型,它按照用戶的觀點 對數(shù)據(jù)和信息進行建模。
通常用實體--聯(lián)系(E-R)方法表示
– 結構模型 :按照計算機系統(tǒng)的觀點 對數(shù)據(jù)進行建模: ?
層次模型、網(wǎng)絡模型、關系模型以及面向?qū)ο竽P偷鹊?/p>
數(shù)據(jù)庫系統(tǒng)的組成 ? – 數(shù)據(jù)庫:存儲數(shù)據(jù)和對數(shù)據(jù)庫的定義
– 數(shù)據(jù)庫管理系統(tǒng)(DBMS):為建立數(shù)據(jù)庫、配置和使用數(shù)據(jù)庫的軟件 – 應用開發(fā)工具:建立應用程序系統(tǒng)的軟件開發(fā)工具
– 應用程序:建立在DBMS上,適應不同應用環(huán)境的數(shù)據(jù)庫應用系統(tǒng)
– 數(shù)據(jù)庫管理員:負責管理企業(yè)的數(shù)據(jù)資源,收集和確定有關用戶的需求,設計和實現(xiàn)數(shù)據(jù)庫并按照需求修改和轉換數(shù)據(jù),以及為用戶提供幫助和培訓。– 用戶:最終用戶
– 系統(tǒng)分析員、數(shù)據(jù)庫設計人員、程序員等等
2、Oracle發(fā)展情況
? Oracle中文譯為甲骨文,是全球第二大獨立軟件公司,專業(yè)生產(chǎn)數(shù)據(jù)庫管理軟件及其相關產(chǎn)品,也是第一個推出關系型數(shù)據(jù)庫管理系統(tǒng)的工具的。
? 1977年Larry Ellison,Bob Miner 和Ed Oates共同創(chuàng)建的一家軟件開發(fā)實驗室,主要開發(fā)當時新型的關系型數(shù)據(jù)庫,這是Oracle公司的前身; ? 1978年更名為關系型軟件公司(RSI)
? 1979年開發(fā)出第一款商業(yè)關系型數(shù)據(jù)庫管理系統(tǒng)Oracle;? 1984年將關系型數(shù)據(jù)庫推廣到個人計算機上,在隨后推出Oracle5中率先推出了分布式數(shù)據(jù)庫概念
? 1988年推出oracle6,增加行鎖定模式及對稱多處理器系統(tǒng)的支持 ? 1992年推出Oracle7 ? 1999年推出Oracle8i為核心的全球第一個支持Internet的一整套解決方案,并增加了對象的技術,成為第一個關系對象數(shù)據(jù)庫系統(tǒng)
? 2000年推出Oracle9i,在群集技術、高可用性、商業(yè)智能、安全性、系統(tǒng)管理方面都有了新的突破,成為業(yè)界第一個完整的、簡單的、新一代智能化的、協(xié)作各種應用的軟件基礎平臺。
3、Oracle9i的產(chǎn)品構成
? Oracle9i是一整套網(wǎng)絡數(shù)據(jù)庫應用解決方案,包含Oracle9i Database, Oracle9i Application Server, Oracle9i Developer Suite的完整集成。
? ? ? Oracle9i數(shù)據(jù)庫:提供聯(lián)機分析處理及其數(shù)據(jù)挖掘和分析、硬件集群、智能的自我調(diào)整、糾正和管理功能,并提供了三種不同的版本
Oracle9i應用服務器:提供全面的應用服務器基礎構架,用于開發(fā)、部署和管理互聯(lián)網(wǎng)應用程序
Oracle9i開發(fā)套件:完整、集成的開發(fā)工具套件,使用J2EE和XML來快速開發(fā)事務處理型web應用和服務:JDeveloper,Designer等
4、Oracle數(shù)據(jù)庫的主要特點
5、Oracle9i的工作模式
? ? C-S模式 B-S模式
二、Oracle系統(tǒng)的結構(時間:50分鐘)
1、概述
? 應用系統(tǒng)的核心任務是提供對用戶數(shù)據(jù)的管理,所以系統(tǒng)應以數(shù)據(jù)為中心。
? 數(shù)據(jù)庫的體系結構是從某一個角度來分析與考察數(shù)據(jù)庫的組成、工作過程與原理,以及數(shù)據(jù)在數(shù)據(jù)庫中的組織與管理機制。
? Oracle9i數(shù)據(jù)庫體系總共可以分為以下幾個組成部分: –
邏輯結構
–
物理結構
–
系統(tǒng)總體結構
2、Oracle9i的邏輯結構
? ? Oracle9i的邏輯結構由6層組成
–
一個Oracle9i 數(shù)據(jù)庫可以有多個數(shù)據(jù)庫,–
每個數(shù)據(jù)庫可以有多個表空間,–
每個表空間可以有多個表,–
每個表可以有多個段,–
每個段可有多個區(qū)間,–
每個區(qū)間可以有多個數(shù)據(jù)塊。
表空間:是Oracle數(shù)據(jù)庫數(shù)據(jù)的邏輯組織單位 – 物理上是由一個或多個數(shù)據(jù)文件組成
– 數(shù)據(jù)庫要先建立表空間才能將數(shù)據(jù)插入到表空間中的一個對象中 – 可以通過添加數(shù)據(jù)文件來增加某個用戶的空間配額
– 默認表空間:INDEX,SYSTEM,TEMP,TOOLS,USERS等 段:用于存放數(shù)據(jù)庫中特定邏輯結構的所有數(shù)據(jù) – 數(shù)據(jù)段:用于存放表中的數(shù)據(jù) – 索引段:用于存放索引數(shù)據(jù)
– 臨時段:臨時數(shù)據(jù),若排序產(chǎn)生的臨時數(shù)據(jù),用完就釋放空間 – 回滾段:用于存儲事務的回滾信息 區(qū)間:由連續(xù)分配的相臨數(shù)據(jù)塊組成
– SQL>SELECT * FROM DBA_EXTENTS;數(shù)據(jù)塊: 是數(shù)據(jù)庫中最小、最基本的存儲單位。
– Oracle數(shù)據(jù)塊大小通過設置為操作系統(tǒng)塊大小的整數(shù)倍
3、Oracle9i的物理結構
? ? ? ? ? ? 數(shù)據(jù)庫的物理結構是指從物理的角度分析數(shù)據(jù)庫的構成,也就是說,Oracle數(shù)據(jù)庫創(chuàng)建后使用的操作系統(tǒng)物理文件
從數(shù)據(jù)庫物理結構上分析,數(shù)據(jù)庫實際上是由構成數(shù)據(jù)庫的操作系統(tǒng)文件所構成的。這里所說的“操作系統(tǒng)文件”是指“數(shù)據(jù)庫文件”,而不是Oracle的“系統(tǒng)文件”。
只有數(shù)據(jù)庫文件才是數(shù)據(jù)庫的物理結構,而系統(tǒng)文件不屬于數(shù)據(jù)庫物理結構的范圍。數(shù)據(jù)庫文件的損壞,可以引起用戶數(shù)據(jù)的丟失;而系統(tǒng)文件損壞,可以使用介質(zhì)重新安裝,或進行有效的復制。
Oracle9i數(shù)據(jù)庫的物理文件主要有以下幾種-1: – 數(shù)據(jù)文件(data file)? 存放數(shù)據(jù)庫數(shù)據(jù)的物理文件,以.DBF為后綴 ? 數(shù)據(jù)庫至少包含一個數(shù)據(jù)文件
? 表空間的物理組成單元是數(shù)據(jù)文件,一個表空間可以包含多個數(shù)據(jù)文件,每個數(shù)據(jù)文件只能屬于一個表空間。
? 數(shù)據(jù)庫安裝完成后,系統(tǒng)會自動創(chuàng)建默認的表空間,放在$oracle_homeoradata目錄下
– 控制文件(control file)? 用于記錄和維護整個數(shù)據(jù)庫的全局物理結構,是二進制文件,以.CTL為后綴 ? 存放有關的關鍵控制信息,如數(shù)據(jù)庫名和創(chuàng)建時間,大小及其位置等 ? 在創(chuàng)建數(shù)據(jù)庫時生成,以后當數(shù)據(jù)庫發(fā)生任何物理變化時被自動更改
? 每個數(shù)據(jù)庫至少包含一個控制文件,當數(shù)據(jù)庫啟動時,首先要按照控制文件設定的數(shù)據(jù)文件、日志文件等信息來檢查數(shù)據(jù)庫的狀態(tài)是否正常,最后才完成數(shù)據(jù)庫的啟動
? Oracle9i數(shù)據(jù)庫的物理文件主要有以下幾種-2: –
日志文件(redo file)? 用于記錄對數(shù)據(jù)庫進行的修改操作和事務操作,以.LOG為后綴 ? 每個數(shù)據(jù)庫至少包含兩個重做日志文件,循環(huán)使用
–
初始化參數(shù)文件(parameter file)? Init.ora是一個文本文件,定義了要啟動的數(shù)據(jù)庫及內(nèi)存結構的大約200多項參數(shù)信息 ? 啟動任何例程前,系統(tǒng)都要先讀取該文件的各項信息
–
其他oracle 物理文件
? 跟蹤文件:*.trc ? 警告文件:*.log ? 備份文件 ? 口令文件 Oracle例程啟動時,Oracle從參數(shù)文件中讀取控制文件的名字和位置
登陸數(shù)據(jù)庫時,打開控制文件,Oracle從控制文件中讀取數(shù)據(jù)文件和日志文件列表并打開其中的每一個文件
? ?
4、Oracle總體結構
? ? ? ? Oracle數(shù)據(jù)庫服務器由數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫組成。
數(shù)據(jù)庫管理系統(tǒng)由內(nèi)存結構(PGA和SGA)、后臺進程和服務器進程組成。
客戶機上的用戶進程通過SGA向數(shù)據(jù)庫管理系統(tǒng)提交請求,后臺進程將這些請求轉換為對數(shù)據(jù)庫的相應操作。
內(nèi)存結構:是oracle使用計算機上的內(nèi)存存放常用信息和所有運行在該機器上的Oracle程序。–
系統(tǒng)全局區(qū)(SGA):
? 是運行在客戶機上的用戶進程和運行在服務器上的服務器進程所使用的內(nèi)存區(qū)域。? 該區(qū)域的數(shù)據(jù)是共享的
? 數(shù)據(jù)緩沖區(qū)、字典緩沖區(qū)、日志緩沖區(qū)、SQL共享區(qū) ? 創(chuàng)建例程時分配該區(qū)域,例程關閉時釋放。– 程序全局區(qū)(PGA):
? 單個用戶進程所使用的內(nèi)存區(qū)域
? 每個進程都有自己的私有區(qū)域,存放單獨的數(shù)據(jù)和控制信息 ? 不共享 后臺進程:幫助用戶進程和服務器進程進行通信,不論是否有用戶連接他們都在運行,負責數(shù)據(jù)庫的后臺管理工作。–
系統(tǒng)監(jiān)視進程(SMON)–
進程監(jiān)視進程(PMON)–
數(shù)據(jù)庫寫入進程(DBWR)? – – – –
日志寫入進程(LGWR)歸檔進程(ARCH)恢復進程(RECO)等等
? ? ?
Oracle例程是具有自己的SGA和與其相關的數(shù)據(jù)庫文件的后臺進程集。通常Oracle例程可以理解為相對獨立的邏輯上的數(shù)據(jù)庫服務器 – 數(shù)據(jù)庫指存儲和管理數(shù)據(jù)文件的集合
– Oracle例程由SGA和后臺進程集組成,后臺進程共同訪問SGA中的內(nèi)存區(qū)域 在并行服務器中,一個Oracle數(shù)據(jù)庫可以被多個Oracle例程訪問
Oracle數(shù)據(jù)庫的實例進程有兩種類型 –
單進程數(shù)據(jù)庫實例
一個進程執(zhí)行全部Oracle 代碼,一般用于單任務操作系統(tǒng)
服務器進程與用戶進程、服務器軟件與應用軟件合二為一,在一臺機器上運行。這種配置方式不支持網(wǎng)絡連接,不可以進行數(shù)據(jù)復制。
–
多進程數(shù)據(jù)庫實例
由多個進程執(zhí)行Oracle 代碼的不同部分,一般用于多任務操作系統(tǒng)。
多進程實例支持網(wǎng)絡連接,可以進行數(shù)據(jù)的遠程復制,?
在多進程Oracle 中,系統(tǒng)的進程被分為用戶進程、服務器進程與后臺進程。
三、數(shù)據(jù)庫名、實例名、服務名簡析(時間:5分鐘)
? 數(shù)據(jù)庫名:用于區(qū)分一個數(shù)據(jù)的內(nèi)部標識,以二進制方式存儲于數(shù)據(jù)庫控制文件中的參數(shù),用DB_NAME表示,數(shù)據(jù)庫安裝完成后,寫入數(shù)據(jù)庫參數(shù)文件pfile,不能進行修改。? 數(shù)據(jù)庫實例名:用于對外相連時使用。INSTANCE_NAME表示,可以進行修改。? 數(shù)據(jù)庫名與實例名是一一對應關系。
? 服務名:如果數(shù)據(jù)庫有域名,服務名就是全局數(shù)據(jù)庫名;如果數(shù)據(jù)庫沒有域名,服務名就是數(shù)據(jù)名。
【本講總結】
(時間:10分鐘)
1、Oracle數(shù)據(jù)庫系統(tǒng)結構
? 邏輯結構
? 物理結構
? 系統(tǒng)結構
? 內(nèi)存結構(PGA 和SGA)
? 后臺進程
? 服務器進程
2、數(shù)據(jù)庫名、實例名、服務名簡析
【考核點】
1、Oracle數(shù)據(jù)庫系統(tǒng)結構
? 邏輯結構
? 物理結構
? 系統(tǒng)結構
? 內(nèi)存結構(PGA 和SGA)? 后臺進程
? 服務器進程
2、數(shù)據(jù)庫名、實例名、服務名簡析
【測試題】
無
【擴展部分】
無
【學生問題匯總】
無
【作業(yè)】
參見對應的理論作業(yè).txt文件。
第二篇:《數(shù)據(jù)庫基礎教案》-access
《數(shù)據(jù)庫基礎》教案
(56學時)
主講: 專業(yè): 班級:
第1章 數(shù)據(jù)庫系統(tǒng)概述(4學時)
教學目標:了解數(shù)據(jù)庫技術的發(fā)展史,了解每個階段具有代表性的數(shù)據(jù)庫管理系統(tǒng)的特點和劃分依據(jù),了解關系運算和關系規(guī)范化。
教學重點:
? 掌握關系數(shù)據(jù)庫的基本概念和發(fā)展歷史; ? 掌握數(shù)據(jù)模型的組成及組成要素;
? 掌握概念模型的表示方法及轉化為數(shù)據(jù)庫模式的方法 ? 掌握關系運算的方法,了解各種關系運算的作用; ? 掌握函數(shù)依賴及關系規(guī)范化; 教學難點:
? 數(shù)據(jù)模型的含義 ? 關系運算的運算規(guī)則 ? E-R圖及轉化規(guī)則
? 函數(shù)依賴及關系規(guī)范化 教學建議:
查看一些有關計算機科普方面的書籍或刊物或網(wǎng)站,多了解一些計算機的科普知識。知道一些計算機領域中的科學家的故事,對掌握本節(jié)內(nèi)容有很多好處。本講內(nèi)容概述:主要介紹了數(shù)據(jù)庫技術的發(fā)展所經(jīng)歷的三個階段,并簡單介紹了分布數(shù)據(jù)庫、并行數(shù)據(jù)庫、多媒體數(shù)據(jù)庫的基本特點。詳細介紹了關系數(shù)據(jù)庫的數(shù)據(jù)模型、關系運算,闡述了關系數(shù)據(jù)庫的概念和函數(shù)依賴及關系規(guī)范化。
涉及章節(jié)及安排:
1.1數(shù)據(jù)庫與數(shù)據(jù)庫系統(tǒng)(1學時)1.2數(shù)據(jù)模型(1學時)
1.3 關系運算及關系完整性(1學時)1.3 函數(shù)依賴及關系規(guī)范化(1學時)思考與訓練:
(1)進行表的關系運算的作用是什么?
(2)如果要顯示所有數(shù)據(jù)庫課程的成績,需要進行什么運算?
(3)如果要顯示所有學生的姓名、課程名稱和成績,需要進行什么運算?
課后練習:第1章習題 第二章 關系數(shù)據(jù)庫(6學時)
教學目標:了解Access2003的新特點及開發(fā)環(huán)境,掌握Access2003數(shù)據(jù)庫的設計方法及步驟,結合圖書借閱管理系統(tǒng)了解數(shù)據(jù)設計的步驟及安全管理。
教學重點:
? Access的工作環(huán)境 ? Access的數(shù)據(jù)庫對象 ? Access數(shù)據(jù)庫設計步驟
? Access數(shù)據(jù)庫的管理與安全 教學難點:
? Access2003數(shù)據(jù)庫的設計步驟 ? Access2003數(shù)據(jù)庫的管理和安全 教學建議:
結合圖書借閱管理系統(tǒng)的實例,課下設計學生成績管理系統(tǒng)的設計,并實施數(shù)據(jù)庫的管理與安全。
本講內(nèi)容概述:主要介紹了數(shù)Access2003的特點及開發(fā)環(huán)境,闡述了數(shù)據(jù)設計的步驟及方法,演示并練習數(shù)據(jù)庫的管理與安全。涉及章節(jié)及安排:
2.1Access2003基礎(1學時)
2.2 Access2003開發(fā)環(huán)境(1學時)2.3 Access2003數(shù)據(jù)庫設計(2學時)2.3 數(shù)據(jù)庫的管理與安全(2學時)思考與訓練:
(1)學生成績管理系統(tǒng)數(shù)據(jù)庫的設計;(2)圖書借閱管理系統(tǒng)的管理與安全練習; 課后練習:第2章習題
第三章 數(shù)據(jù)庫和表(10學時)教學目標:
1)學習并掌握數(shù)據(jù)庫的創(chuàng)建方法;掌握打開數(shù)據(jù)庫的常用方法;理解并掌握數(shù)據(jù)庫對象的刪除、復制重命名、保存,并會用組來組織數(shù)據(jù)庫對象; 2)學習并掌握使用向?qū)?chuàng)建表、使用輸入數(shù)據(jù)創(chuàng)建表以及自定義表的方法,要求掌握字段名稱定義、設置字段類型以及設置字段大小、格式字段屬性的方法;
3)學習并掌握在設計視圖中進行小數(shù)位數(shù)、輸入掩碼、標題、默認值、有效性規(guī)則等字段屬性設置的方法,掌握查閱列表和主鍵的創(chuàng)建方法,學會使用Access 2002的導入表、鏈接表和導出表功能。
4)理解主鍵和外鍵的概念,了解表的關聯(lián)類型,掌握定義表之間關聯(lián)關系的方法。理解和掌握參照完整性的概念和設置方法。
5)熟練掌握直接向表添加記錄、用自動窗體錄入數(shù)據(jù)的方法,學會使用查找和替換功能提高數(shù)據(jù)修改的效率,理解排序和篩選的概念和實現(xiàn)它們的方法,能夠根據(jù)實際需要設置表的外觀 教學重點:
? 掌握使用向?qū)?chuàng)建數(shù)據(jù)庫的方法; ? 了解并掌握常見的數(shù)據(jù)庫打開方法;
? 了解數(shù)據(jù)庫對象管理的意義和作用,掌握復制、刪除、重命名、保存等基本操作;
? 理解數(shù)據(jù)庫對象管理中“組”的含義,掌握用“組”組織數(shù)據(jù)庫對象的方法。
? 使用向?qū)?chuàng)建表的方法; ? 使用輸入數(shù)據(jù)創(chuàng)建表;
? 使用設計器創(chuàng)建表的方法; ? 設置字段類型的方法;
? 設置字段大小、格式的方法。? 主鍵和外鍵; ? 表的關聯(lián)類型; ? 定義表之間的關系; ? 參照完整性。? 在表中錄入數(shù)據(jù);
? 使用自動窗體錄入數(shù)據(jù); ? 修改數(shù)據(jù); ? 查找和替換; ? 排序與篩選; ? 表的行列操作。教學難點:
? 數(shù)據(jù)庫對象管理中“組”的感念及使用方法 ? 使用設計器創(chuàng)建表; ? 設置字段格式。
? 輸入掩碼、有效性規(guī)則和有效性文本字段屬性的設置; ? 創(chuàng)建查閱列表; ? 導入表和鏈接表。? 表的關聯(lián)類型;
? 定義和修改表間關系;
? 參照完整性的含義和設置方法。? 排序與篩選。本講內(nèi)容概述: 1)介紹在Access 2003中創(chuàng)建數(shù)據(jù)庫的方法、打開數(shù)據(jù)庫的方法及數(shù)據(jù)庫對象的復制、刪除、重命名和保存等操作方法 2)在Access 2003中使用向?qū)?chuàng)建表、使用輸入數(shù)據(jù)創(chuàng)建表和使用設計器自定義表的方法,要求掌握對表字段大小和字段格式這兩種字段屬性進行設置和修改的方法以,熟練掌握對表中字段的各種操作。
3)介紹小數(shù)位數(shù)、輸入眼碼、標題、默認值、有效性規(guī)則、有效文本以及索引等字段屬性的設置方法。介紹了查閱列表、主鍵的創(chuàng)建方法,此外還要了解使用Access 2003的導入功能利用外部數(shù)據(jù)創(chuàng)建表的方法和過程,介紹了鏈接表的概念和使用方法,并對Access 2003的導出功能作了介紹。
4)介紹了主鍵和外鍵的概念、創(chuàng)建索引的方法和過程,講解數(shù)據(jù)表之間關聯(lián)關系的建立和修改的方法,并講述了參照完整性的概念。5)介紹在數(shù)據(jù)表視圖下對表中數(shù)據(jù)進行各種編輯的方法,此外還介紹了查找和替換數(shù)據(jù)的方法,講解了排序和篩選的作用和用法,最后介紹了表的外觀設置方法。
涉及章節(jié)及安排:
3.1創(chuàng)建數(shù)據(jù)庫(2學時)3.2建立表(2學時)3.3維護表(2學時)3.4操作表(2學時)3.5數(shù)據(jù)表的關聯(lián)(2學時)思考與訓練:
(1)使用向?qū)?chuàng)建的數(shù)據(jù)庫有什么優(yōu)、缺點?
(2)使用向?qū)?chuàng)建表與使用設計器創(chuàng)建表有什么不同?使用設計器創(chuàng)建表有什么優(yōu)勢?
(3)設置字段格式的重要性是什么?(4)先輸入數(shù)據(jù)還是先建立關系?
(5)參照完整性和級聯(lián)更新的關系是什么?(6)修改表中數(shù)據(jù)的字體樣式有哪些方法?(7)凍結列和隱藏列有什么作用? 課后練習:第3章后習題 第四章 數(shù)據(jù)查詢和第五章SQL語言(10學時)教學目標:
1)理解查詢的概念及其意義,了解選擇查詢、參數(shù)查詢、交叉表查詢和操作查詢的基本概念。熟練掌握使用向?qū)Ш褪褂迷O計器創(chuàng)建選擇查詢的方法。2)理解參數(shù)查詢的含義,掌握參數(shù)查詢的操作過程,明確參數(shù)查詢在查詢準則確定方面的不同之處。理解交叉表查詢的概念和創(chuàng)建方法,并會使用交叉表查詢實現(xiàn)字段數(shù)據(jù)的匯總。
3)介紹查詢表達式中的運算及查詢表達式的構建方法,介紹表達式的常見應用;詳細介紹計算字段的含義及創(chuàng)建、使用方法。
4)理解并掌握四種操作查詢的創(chuàng)建方法,了解使用SQL可以實現(xiàn)所有查詢這一事實;理解各種操作查詢的使用場合和功能;掌握使用SQL創(chuàng)建聯(lián)合查詢、傳遞查詢、數(shù)據(jù)定義查詢、子查詢等特定查詢的方法和相應的SQL語句格式。
教學重點:
? 查詢的定義和作用; ? 查詢的種類;
? 使用向?qū)?chuàng)建選擇查詢; ? 使用設計器創(chuàng)建選擇查詢。? 創(chuàng)建參數(shù)查詢;
? 使用向?qū)?chuàng)建交叉表查詢; ? 使用設計器創(chuàng)建交叉表查詢。
? 表達式中的算術運算符、比較運算符、邏輯運算符和連接運算符; ? 表達式在查詢中的應用;
? 用設計視圖在查詢中創(chuàng)建計算字段。? 創(chuàng)建生成表查詢; ? 創(chuàng)建更新查詢; ? 創(chuàng)建追加查詢; ? 創(chuàng)建刪除查詢; ? SQL語句介紹; ? 創(chuàng)建SQL查詢。教學難點:
? 在設計視圖中創(chuàng)建和修改查詢的方法; ? 創(chuàng)建單表和多表查詢的方法; ? 查詢準則的確定方法。? 創(chuàng)建參數(shù)查詢;
? 使用設計器創(chuàng)建交叉表查詢。? 查詢表達式; ? 計算字段的創(chuàng)建。? SQL語句格式; ? 創(chuàng)建SQL查詢。本講內(nèi)容概述:
1)主要介紹查詢的定義和作用,介紹常見查詢種類。重點講述選擇查詢的創(chuàng)建方法,創(chuàng)建方法主要有兩種:使用向?qū)?chuàng)建和使用設計器創(chuàng)建選擇查詢。2)介紹主要介紹選擇查詢之參數(shù)查詢的實現(xiàn)方法,并詳細介紹交叉查詢的含義和創(chuàng)建方法。
3)介紹查詢表達式中的運算及查詢表達式的構建方法,介紹表達式的常見應用;詳細介紹計算字段的含義及創(chuàng)建、使用方法。
4)介紹生成表查詢、更新查詢、追加查詢、刪除查詢這四種操作查詢的含義和創(chuàng)建方法,并介紹了SQL結構化查詢的主要語句,詳細說明使用SQL實現(xiàn)聯(lián)合查詢、傳遞查詢等特定查詢的方法。涉及章節(jié)及安排:
4.1 查詢的概念和目的(1學時)4.2 建立查詢的方式(1學時)4.3 查詢設計器的使用(2 學時)4.4設計各種查詢(2學時)4.5 查詢的保存與運行(2學時)4.6創(chuàng)建SQL查詢(2 學時)4.7創(chuàng)建操作查詢(2學時)思考與訓練:
1)在查詢向?qū)е校骷毰c匯總的含義和區(qū)別是什么? 2)怎樣在未建立關系的表間建立臨時關系?
3)參數(shù)查詢在查詢準則的確定上有什么特點和好處?
4)交叉表查詢中,對于交叉表中主題“值”部分的對應“總計”單元格能否設置為“Group By”?
5)計算字段的本質(zhì)是什么?
6)操作查詢與其它查詢有什么不同?起什么作用? 7)使用SQL語句可以實現(xiàn)所有查詢嗎? 課后練習:第4、5章習題
第六章 窗體(6學時)教學目標: 1)了解窗體的作用和分類,熟悉各種窗體的用途。掌握創(chuàng)建窗體的兩種方法:使用向?qū)?chuàng)建窗體和使用設計器創(chuàng)建窗體。
2)了解常用控件的種類和用途,掌握常用控件的使用方法及屬性設置方法,學會使用控件實現(xiàn)常見功能。了解窗體上控件布局調(diào)整的方法。3)了解子窗體的概念,掌握嵌入式子窗體和彈出式子窗體的概念和使用方法;掌握使用窗體添加、刪除和編輯數(shù)據(jù)的方法;掌握在窗體中實現(xiàn)對記錄的查找、篩選和排序的方法。教學重點:
? 窗體的定義和作用; ? 窗體的分類;
? 使用向?qū)?chuàng)建窗體; ? 使用設計器創(chuàng)建窗體。? 常用控件的種類和用途;
? 常用控件的功能和屬性設置; ? 窗體控件布局調(diào)整方法。
? 子窗體的種類、用途和創(chuàng)建方法;
? 使用窗體向數(shù)據(jù)庫中添加、刪除和編輯記錄; ? 在窗體中實現(xiàn)查找、篩選和排序。教學難點:
? 使用向?qū)?chuàng)建窗體; ? 使用設計器創(chuàng)建窗體。
? 常用控件的使用方法和用途;
? 嵌入式子窗體、彈出式子窗體的使用; ? 在窗體中實現(xiàn)篩選和排序。本講內(nèi)容概述:
1)主要介紹了縱欄式窗體、表格式窗體、數(shù)據(jù)表窗體、子窗體、彈出式窗體、數(shù)據(jù)透視表窗體、數(shù)據(jù)透視圖窗體七種類型的窗體。并介紹了兩種創(chuàng)建窗體的方法:使用向?qū)?chuàng)建窗體和使用設計器創(chuàng)建窗體。
2)主要介紹了常用控件的種類和用途,并詳細介紹了常用控件的使用方法,說明了窗體上調(diào)整控件布局的方法。
3)介紹了嵌入式子窗體和彈出式子窗體的概念及創(chuàng)建、使用方法,介紹了在窗體中實現(xiàn)對記錄數(shù)據(jù)進行常規(guī)操作的方法。涉及章節(jié)及安排: 6.1認識窗體(1學時)6.2 創(chuàng)建窗體(1學時)6.3 窗體的設計與技巧(2學時)6.4 創(chuàng)建主子窗體及設計(2學時)思考與訓練:
(1)窗體的作用是什么?(2)窗體控件可分為幾大類?(3)如何設置控件屬性?
第七章 報表(8學時)教學目標:
1)理解報表的定義和作用,熟悉報表的結構和各部分的作用;熟練掌握使用向?qū)гO計報表和使用設計器設計報表的方法;了解使用報表的用途。2)掌握利用對記錄排序和分組來設計報表的方法,理解排序和分組對報表的重要性;理解條件格式、控件和函數(shù)對增強報表的作用并掌握其使用方法;了解特殊報表的設計方法。教學重點: ? 報表的定義;
? 報表的構成及各部分作用; ? 使用向?qū)?chuàng)建報表; ? 使用設計器創(chuàng)建報表。? 對記錄排序和分組; ? 使用條件格式增強報表; ? 使用空間和函數(shù)增強報表; ? 創(chuàng)建特殊報表。教學難點:
? 使用向?qū)?chuàng)建報表; ? 使用設計器創(chuàng)建報表。? 設計排序和分組報表; ? 創(chuàng)建特殊報表。本講內(nèi)容概述:
1)主要介紹了數(shù)據(jù)庫應用系統(tǒng)實現(xiàn)報表打印功能的主要對象--報表對象,介紹了報表的定義、構成方式及創(chuàng)建報表的方法。2)介紹了通過向報表中添加分組和排序、設置條件格式和使用空間來增強報表的邏輯性、功能和層次感。此外,還介紹了創(chuàng)建和設計特殊報表的方法。涉及章節(jié)及安排: 7.1 認識報表(2 學時)7.2 創(chuàng)建報表(2 學時)7.3 編輯報表、報表排序和分組,使用計算控件(2學時)7.4 創(chuàng)建子報表、多列報表(2 學時)思考與訓練:
(1)報表與窗體有什么不同?(2)報表的作用是什么?
(3)怎樣對分組的數(shù)據(jù)實現(xiàn)強制分頁? 作業(yè):第7章習題
第八章 數(shù)據(jù)訪問頁(2學時)教學目標:了解數(shù)據(jù)訪問頁的概念和作用,熟悉數(shù)據(jù)訪問頁的類型分類,掌握使用向?qū)Ш驮O計器創(chuàng)建和設計數(shù)據(jù)訪問頁的方法,并了解數(shù)據(jù)訪問頁的使用。此外,了解并掌握利用控件設計特殊的數(shù)據(jù)訪問頁的方法,學會分組數(shù)據(jù)訪問頁的設計方法。教學重點:
? 數(shù)據(jù)訪問頁概述; ? 數(shù)據(jù)訪問頁類型;
? 使用向?qū)?chuàng)建數(shù)據(jù)訪問頁; ? 使用設計器創(chuàng)建數(shù)據(jù)訪問頁; ? 數(shù)據(jù)訪問頁的編輯; ? 分組數(shù)據(jù)訪問頁的設計。
教學難點:
? 創(chuàng)建數(shù)據(jù)訪問頁; ? 數(shù)據(jù)訪問頁的設計。
本講內(nèi)容概述:主要介紹數(shù)據(jù)訪問頁的概念和作用,數(shù)據(jù)訪問頁的種類;闡明了數(shù)據(jù)訪問頁的創(chuàng)建方法和過程;說明了如何在數(shù)據(jù)訪問頁中使用控件的方法和作用。涉及章節(jié):
8.1數(shù)據(jù)訪問頁概述(1學時)8.2創(chuàng)建數(shù)據(jù)訪問頁(1學時)
8.3使用設計視圖修改數(shù)據(jù)訪問頁(1學時)8.4數(shù)據(jù)訪問頁的使用(1學時)思考與訓練:
(1)數(shù)據(jù)訪問頁的文件格式?(2)數(shù)據(jù)訪問頁的作用是什么? 課后習題:第8章習題
第九章 宏(4學時)教學目標:理解宏的本質(zhì)和定義,了解宏的作用,熟悉宏組和條件宏的基本概念;掌握創(chuàng)建宏、宏組和條件宏的方法及其應用方法。學會創(chuàng)建和使用AutoExec宏。教學重點:
? 宏、宏組和條件宏的概念;
? 創(chuàng)建宏、宏組和條件宏的方法,理解其用法;
? 理解AutoExec宏與AutoKeys宏的使用方法和創(chuàng)建過程; ? 能根據(jù)需要創(chuàng)建宏。
教學難點: ? 宏的原理; ? 宏的創(chuàng)建。
本講內(nèi)容概述:主要介紹宏的基本概念以及宏組、條件宏的定義;詳細介紹了創(chuàng)建宏的基本方法和使用方法。涉及章節(jié)及安排
9.1宏的基本概念與分類(1學時)9.2創(chuàng)建宏(1學時)9.3宏的運行(0.5學時)9.4常用宏操作(0.5學時)
9.5對象事件屬性簡介及宏的綜合應用(1學時)思考與訓練:
(1)宏的本質(zhì)是什么? 課后練習:第9章習題0
第十章 VBA編程(6學時)教學目標:
1)理解模塊的本質(zhì)和定義,了解模塊與宏的區(qū)別,理解VBA的程序框架,熟悉并掌握VBA的編程環(huán)境。了解并掌握VBA中的數(shù)據(jù)類型、常量、變量、數(shù)組等基本概念,并熟練掌握它們的定義、使用方法。2)理解并掌握VBA程序設計中的順序結構、選擇結構和循環(huán)結構的語法定義和使用特點,會設計實現(xiàn)基本的算法,能實現(xiàn)二選
一、多選一及迭代等常用程序結構。
3)理解并掌握VBA中Sub過程、自定義函數(shù)及事件過程的創(chuàng)建方法,了解創(chuàng)建類模塊的過程,掌握類模塊的用法,同時掌握標準模塊的創(chuàng)建方法;此外,理解并掌握將宏轉換為VBA代碼的原理和方法;掌握簡單登陸界面的設計和實現(xiàn)方法。
教學重點:
? 模塊的概念; ? 過程與函數(shù);
? Visual Basic開發(fā)環(huán)境;
? VBA的數(shù)據(jù)類型、變量、常量、數(shù)組。? 順序結構語句;
? 條件結構語句與選擇結構語句; ? 循環(huán)結構語句。
? 創(chuàng)建自定義Sub過程; ? 創(chuàng)建自定義函數(shù); ? 創(chuàng)建事件過程;
? 創(chuàng)建于窗體和報表相關的類模塊; ? 創(chuàng)建與窗體和報表無關的類模塊; ? 創(chuàng)建標準模塊;
? 宏轉換為VBA代碼。教學難點:
? 過程與函數(shù)的定義與使用;
? VBA的數(shù)據(jù)類型、變量和數(shù)組。? 條件結構語句與選擇結構語句; ? 循環(huán)結構語句。? 創(chuàng)建過程和函數(shù); ? 創(chuàng)建類模塊。本講內(nèi)容概述:
1)主要介紹模塊的定義、模塊與宏的區(qū)別、過程、事件過程等模塊的基本概念,講述了VBA的Visual Basic的開發(fā)環(huán)境,重點介紹VBA程序設計基礎中的數(shù)據(jù)類型、常量、變量、數(shù)組等概念。2)介紹VBA程序設計中的三種基本控制結構語句的格式和使用方法,介紹數(shù)據(jù)的輸入和輸出方法,闡明了程序中基本算法的設計與實現(xiàn)方法。1 3)介紹自定義Sub過程、自定義函數(shù)和事件過程的創(chuàng)建過程和方法,創(chuàng)建與使用類模塊的方法,標準模塊的創(chuàng)建方法;此外還介紹了將宏轉換為VBA代碼的方法。
涉及章節(jié):
10.1 VBA概述(1學時)
10.2 VBA編程語言基礎(2學時)10.3 模塊的使用(2學時)10.4事件過程及應用舉例(2學時)思考與訓練:
(1)VBA與Visual Basic程序設計語言有什么關系?(2)窗體和報表的本質(zhì)是類模塊嗎? 課后練習:第10 章習題2
第三篇:Access1教案內(nèi)容:訂單數(shù)據(jù)庫基礎內(nèi)容
Access1教案內(nèi)容:
訂單數(shù)據(jù)庫基礎內(nèi)容
1.創(chuàng)建數(shù)據(jù)庫。
題目:利用“訂單”模板創(chuàng)建訂單數(shù)據(jù)庫。
講解各種對象、講解整體的訂單數(shù)據(jù)庫。表、查詢、窗體等介紹。
2.訂單數(shù)據(jù)庫初始化。
題目:設置公司基本信息、設置雇員信息、設置產(chǎn)品信息、設置送貨方式、設置付款方式。輸入數(shù)據(jù)要結合實際。
注意:表中記錄的輸入和設置(右鍵):隱藏與取消隱藏列(格式):當字段較多時,一些字段可以隱藏掉,先不看;
凍結與解凍結:當字段較多時,為了瀏覽的方便,一些主要的字段會被凍結。
注意:字段類型:自動編碼時,不要輕易刪除本條記錄,否則會對應不上,或者全部刪除表。
3.設置數(shù)據(jù)庫密碼。
題目:為訂單數(shù)據(jù)庫設置密碼:
步驟:首先“文件-打開-獨占方式打開”,然后“工具-安全-設置數(shù)據(jù)庫密碼(區(qū)分大小寫)?!?4.表的設計:字段的各種數(shù)據(jù)類型、主關鍵字。
題目:在訂單數(shù)據(jù)庫中,使用表向?qū)?chuàng)建“產(chǎn)品類別”表,包含“類別ID”與“產(chǎn)品類別”。題目:在訂單數(shù)據(jù)庫中,為“客戶”表的郵政編碼字段設置輸入掩碼,使其只能輸入6位數(shù)字。
5.編輯關系。
題目:為“產(chǎn)品類別”表和“產(chǎn)品”表之間建立關系,并實施參照完整性約束。
步驟:首先在“產(chǎn)品”表中增加“類別ID”字段。然后建立一對多的關系。關系的編輯和刪除。在“產(chǎn)品”表中添加具體的“類別ID”內(nèi)容。6.創(chuàng)建查詢。
題目:查看訂單數(shù)據(jù)庫中的查詢對應的SQL語句。如付款總計查詢。
題目:查詢單價大于40的產(chǎn)品ID和產(chǎn)品名稱。7.創(chuàng)建窗體。
題目:使用“自動創(chuàng)建窗體”的方法來創(chuàng)建產(chǎn)品的窗體。
題目:使用“窗體向?qū)А苯础爱a(chǎn)品類別”分類的產(chǎn)品列表的數(shù)據(jù)輸入窗體,命名為“分類產(chǎn)品”。步驟:將“產(chǎn)品類別”和“產(chǎn)品”中的字段放入窗體中,注意“產(chǎn)品”中的“類別ID”不放,已經(jīng)有一個了。形成帶有子窗體的窗體格式。
8.修改窗體。
題目:修改訂單數(shù)據(jù)庫的切換面板,使其能夠打開“分類產(chǎn)品”窗體取代原有的“產(chǎn)品”窗體。
步驟:在主切換面板中單擊“Switchboard items”,選擇“窗體切換面板”進行“編輯”,選擇“輸入/查看產(chǎn)品”進行編輯,改為“分類產(chǎn)品”完成。9.創(chuàng)建報表
題目:自動創(chuàng)建報表:產(chǎn)品的報表。
第四篇:數(shù)據(jù)庫應用基礎實驗報告
電子科技大學計算機學院實驗中心
電 子 科 技 大 學
實
驗
報
告
一、實驗一: 名稱 創(chuàng)建數(shù)據(jù)庫
二、實驗學時:4
三、實驗內(nèi)容和目的:
實驗要求學生掌握創(chuàng)建數(shù)據(jù)庫的方法及相關操作,并且創(chuàng)建一個包含五個表的數(shù)據(jù)庫STUD:系別代碼表 表名dep,教師表 表名teacher,學生表 表名stud,課程表 表名course,選課表 表名sc。
四、實驗原理:
本實驗主要是“ create table 表名
(列名1 類型1(not)null,列名2 類型2(not)null,……,primary key(列名));”語句的應用,來實現(xiàn)表的建立。同時還可能用到 “drop table 表名”,“alter table 表名 drop column 列名”等語句。
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:SQL Server Management Studio
六、實驗步驟:
具體步驟見實驗指導書。
七、實驗數(shù)據(jù)及結果分析:
create table COURSE(CID VARCHAR(8)not null,CNAME VARCHAR(30)not null,CID_PRE VARCHAR(8),CREDITS NUMERIC(3,1)not null,primary key(CID));
create table DEP(DEPID VARCHAR(8)not null,DEPNAME VARCHAR(20)not null,primary key(DEPID));create table SC(SID VARCHAR(11)not null,CID VARCHAR(8)not null,TID varchar(8)not null,SCORE INTEGER,primary key(sid,cid,tid));create table STUDENT(SID VARCHAR(11)not null,SNAME VARCHAR(8)not null,sex char(2)not null,DEPID VARCHAR(20),BIRTHD DATETIME,SEMAIL VARCHAR(20),HOMEADDR VARCHAR(40),primary key(SID));create table TEACHER(TID varchar(8)not null,TNAME varchar(8)not null,TITLE VARCHAR(10),DEPID VARCHAR(20),primary key(TID));
八、實驗結論:
心得體會和改進建議:確實可以用create table語句實現(xiàn)數(shù)據(jù)庫表的創(chuàng)建,一開始就要想好各個表的分配和各種定義的合理性,避免以后大幅度的改動表。
一、實驗二: 名稱 備份和恢復
二、實驗學時:4
三、實驗內(nèi)容和目的:
向數(shù)據(jù)庫中添加樣本數(shù)據(jù),學習DB2數(shù)據(jù)庫的恢復和備份。
四、實驗原理:
利用分離與附加實現(xiàn)數(shù)據(jù)的備份與恢復。用“insert into 表名 values(列名1 類型1(not)null,列名2 類型2(not)null,……)”語句實現(xiàn)向表中添加數(shù)據(jù)。
電子科技大學計算機學院實驗中心
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:SQL Server Management Studio
六、實驗步驟:
用附加命令載入數(shù)據(jù)庫,然后在相應新建查詢中用insert語句輸入準備的數(shù)據(jù)。
七、實驗數(shù)據(jù)及結果分析:
insert into dep values('601','計算機科學與工程');insert into dep values('602','軟件工程');insert into dep values('603','信息安全');insert into dep values('604','IS');
insert into teacher values('T01','教師1','教授','601');insert into teacher values('T02','教師2','工程師','601');insert into teacher values('T03','教師3','副教授','602');insert into teacher values('T04','教師4','講師','602');insert into teacher values('T05','教師5','高工','603');insert into teacher values('T06','教師6','高工','603');
insert into course values('6001','計算機組成原理',null,3);insert into course values('6002','操作系統(tǒng)','6001',3);insert into course values('6003','數(shù)據(jù)結構',null,3);insert into course values('6004','數(shù)據(jù)庫原理',null,3);insert into course values('6011','數(shù)據(jù)庫應用開發(fā)',null,2);insert into course values('6005','Computer Network',null,2);insert into course values('6006','Objected JAVA',null,2);insert into course values('6007','Software Engeneering','6006',2);insert into course values('6008','UNIX Basic',null,2);insert into course values('6009','UNIX OS Design','6008',2);
insert into student values('601','張1','男','602','1990-10-20','587627416@qq.com','四川');insert into student values('2406010103','張2','女','601','1991-06-10','123627416@qq.com','湖南');insert into student values('2406030101','王1','男','603','1990-05-06','4827416@qq.com','新疆');insert into student values('2406020105','王2','女','602','1990-07-15','90627416@qq.com','云南');insert into student values('2406030110','吳1','女','603','1991-08-14','367627416@qq.com','廣西');
insert into sc values('601','6002','T03',50);insert into sc values('2406010103','6002','T02',60);insert into sc values('2406030101','6001','T01',70);insert into sc values('2406020105','6004','T04',80);
insert into sc values('2406030110','6006','T06',90);
八、實驗結論、心得體會和改進建議:
插入數(shù)據(jù)要仔細,以免不必要的麻煩。
一、實驗三:
名稱
數(shù)據(jù)庫的完整性
二、實驗學時:4
三、實驗內(nèi)容和目的:
通過設置表的檢查約束、外鍵約束體會數(shù)據(jù)庫完整性的含義,約束條件下數(shù)據(jù)修改操作的限制,以及實現(xiàn)修改操作的技巧。
四、實驗原理:
用“alter table 表名 add constraint 約束名 check 條件”,“alter table 表名1 add constraint 外鍵名 foreign key(列名)references 表名2(列名)”分別實現(xiàn)檢查約束與設置外鍵約束的功能。以及用“delete from 表名 where 條件”,“update 表名 set 列名=()where 條件”來刪除和修改滿足條件的數(shù)據(jù)。
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:
電子科技大學計算機學院實驗中心
SQL Server Management Studio
六、實驗步驟:
用附加命令載入數(shù)據(jù)庫,然后在相應新建查詢中輸入相應代碼。
七、實驗數(shù)據(jù)及結果分析:
alter table sc add constraint fk_sc_student_sid foreign key(sid)references student(sid);alter table sc add constraint fk_sc_teacher_tid foreign key(tid)references teacher(tid);alter table sc add constraint fk_sc_course_cid foreign key(cid)references course(cid);
alter table student add constraint check_student_sname check(sname is not null);alter table sc add constraint check_sc_course check(score>=0 and score<=100);alter table student add constraint check_student_sex check(sex='男' or sex='女');alter table student add constraint check_student_semail check(semail like '%@%');
delete from sc where(sid='601');update student set sid='20060601' where(sid='601');insert into sc values('20060601','6002','T03',50);
八、實驗結論、心得體會和改進建議:
注意按一定的習慣來書寫約束名和鍵名,以便利于修改和刪除。
一、實驗四: 名稱 數(shù)據(jù)的修改
二、實驗學時:4
三、實驗內(nèi)容和目的:
練習UPDATEV、DELETE命令的使用,實現(xiàn)對數(shù)據(jù)的修改和刪除。
四、實驗原理:
用“delete from 表名 where 條件”,“update 表名 set 列名=()where 條件”來刪除和修改滿足條件的數(shù)據(jù)。
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:SQL Server Management Studio
六、實驗步驟:
用附加命令載入數(shù)據(jù)庫,然后在相應新建查詢中輸入相應代碼。
七、實驗數(shù)據(jù)及結果分析:
update dep set depname='Information' where(depname='IS');delete from sc where(sid like '%601%' and cid='6002');delete from sc where(sid like '%603%' and cid='6001');delete from sc where(sid='2406010103');update student set sid='2406030102' where(sid='2406010103');insert into sc values('2406030102','6002','T02',60);
八、實驗結論、心得體會和改進建議:
對于要修改和刪除的數(shù)據(jù)需要注意主外鍵。比如對于要修改被引用外鍵的數(shù)據(jù),需要先刪除被引用外鍵的數(shù)據(jù),才能順利修改或刪除。
電子科技大學計算機學院實驗中心
一、實驗五: 名稱 簡單查詢、多表查詢
二、實驗學時:4
三、實驗內(nèi)容和目的:
練習用SELECT查詢語句,設置查詢條件,實現(xiàn)單表查詢。練習使用SELECT語句從多個表中查詢數(shù)據(jù),表的內(nèi)連接、左外連接、右外連接的使用以及設置連接條件,理解連接條件和查詢條件的目的和功能上的區(qū)別。
四、實驗原理:
用“select 列名1(as 列名),列名2…… from 表名 where 查詢條件”來實現(xiàn)有條件的簡單查詢。用“select * from 表名1 join 表名2 on 連接條件 having(where)查詢條件”語句來實現(xiàn)多表連接查詢。以及用union,except,intersect來實現(xiàn)查找結果的并、差、交操作。還有用“datediff(year,生日,現(xiàn)在日期)”語句實現(xiàn)年齡的計算。
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:SQL Server Management Studio
六、實驗步驟:
用附加命令載入數(shù)據(jù)庫,然后在相應新建查詢中輸入相應代碼。
七、實驗數(shù)據(jù)及結果分析:
select sname from student where(datediff(year,birthd,'2011-10-7')between 20 and 22);select sname,datediff(year,birthd,'2011-10-7')as year,depname from student join dep on student.depid=dep.depid where datediff(year,birthd,'2011-10-7')between 20 and 22;select * from teacher where title='副教授';select sid,sname,semail from student where sname like '張%';select sid,cid from sc where score is not null;select student.*,sc.cid,sc.tid,sc.score from student join sc on student.sid=sc.sid;select student.*,cname,tname,score from((sc join student on student.sid=sc.sid)join teacher on teacher.tid=sc.tid)join course on course.cid=sc.cid where score<60;(select sid from sc where cid='6001')intersect(select sid from sc where cid='6002');
八、實驗結論、心得體會和改進建議:
用union,except,intersect實現(xiàn)查詢結果的并、差、交時,表的列數(shù)必須一樣,結果列名顯示前一個表的。查詢時,是根據(jù)引用的表及算法得出的一個集合,原來的表沒有任何變化。并且可以用“as 新列名”為查詢結果的列重新命名。多表連接查詢時,因為會有兩行的連接條件,不要用它作查詢條件。還有查詢項可以是引用表的表達式或函數(shù),查詢條件一樣可以。
一、實驗六: 名稱 分組統(tǒng)計查詢
二、實驗學時:4
三、實驗內(nèi)容和目的:
練習使用聚集函數(shù)count(),max(),min(),avg(),sum()等在SQL命令中實現(xiàn)統(tǒng)計功能。使用GROUP BY
電子科技大學計算機學院實驗中心
子句實現(xiàn)分組查詢,以及聚集函數(shù)在分組查詢中的應用。體會分組查詢的功能特點。
四、實驗原理:
用“select 列名,聚集函數(shù) from 表名 group by having查詢條件”或“select 列名,聚集函數(shù) from 表名 where 包含‘列名’的的查詢條件”來實現(xiàn)分組查詢。
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:SQL Server Management Studio
六、實驗步驟:
用附加命令載入數(shù)據(jù)庫,然后在相應新建查詢中輸入相應代碼。
七、實驗數(shù)據(jù)及結果分析:
select count(*)as '選修數(shù)據(jù)庫課程的人數(shù)' from sc where cid='6003';select sid as '學號',count(cid)as '選課門數(shù)' from sc group by sid;select sid as '學號',sum(score)as '總成績' from sc group by sid;select count(sid)as '選修數(shù)據(jù)庫課且成績分以上人數(shù)' from sc where sid in(select sid from sc where cid='6003' and score>=60);select score as '數(shù)據(jù)庫課最高成績',sname as '姓名'from sc join student on sc.sid=student.sid where score=(select max(score)from sc group by cid having cid='6003');select cname as '課程名',avg(score)as '平均成績' from sc join course on sc.cid=course.cid group by cname;select cname as '課程名',count(sid)as '選課人數(shù)' from sc join course on sc.cid=course.cid group by cname;select sname as '選修5門課以上學生姓名',semail from student where sid in(select sid from sc group by sid having count(cid)>=5);
八、實驗結論、心得體會和改進建議:
分組查詢作為查詢主體時,只能顯現(xiàn)分組列名和聚集函數(shù)部分。把他放在條件位置,作為查詢條件集合時,能夠?qū)崿F(xiàn)多列甚至是多表連接的多列的顯示。另外聚集函數(shù)可以不顯示,而作為查
詢條件出現(xiàn),跟在having后。
一、實驗七: 名稱 集合操作、子查詢
二、實驗學時:4
三、實驗內(nèi)容和目的:
IN、EXISTS、NOT EXISTS 運算在WHERE子句中的應用;靜態(tài)集合和由SELECT命令產(chǎn)生的動態(tài)結果集運算。
四、實驗原理:
子查詢即把查詢的結果當做另一個查詢的條件,通過嵌套語句來實現(xiàn)復雜的查詢。因為子查詢的結果很可能是一個集合,需要運用集合之間的運算,比如in、exists、not exists的運用。
五、實驗器材(設備、元器件)
操作系統(tǒng):Windows 2000/XP 編程環(huán)境:SQL Server Management Studio
六、實驗步驟:
用附加命令載入數(shù)據(jù)庫,然后在相應新建查詢中輸入相應代碼。
七、實驗數(shù)據(jù)及結果分析:
select sname as '姓名',datediff(year,birthd,'2011-10-7')as '年齡' from student where birthd>(select birthd from student where depid='603' and sid='2406030101');
電子科技大學計算機學院實驗中心
select sname,depname,semail from student join dep on student.depid=dep.depid where sid in((select sid from student)except(select sid from sc));select sname from student where sid in(select sid from sc group by sid having count(cid)=(select count(cid)from course));select sname from student where sid in(select sid from sc where cid='6002' intersect select sid from sc where cid='6001');
八、實驗結論、心得體會和改進建議:
對于子查詢是集合的情況,是不能跟在=,>,<>等條件運算符后面的。對于聚集函數(shù)本身是查詢結果時,where和having后面只能定義與聚合函數(shù)有關的條件??梢酝ㄟ^添加子查詢的方式,來實現(xiàn)多條件查詢條件。
第五篇:第一章 VF數(shù)據(jù)庫基礎教案
第一章 VF數(shù)據(jù)庫基礎
一、什么叫數(shù)據(jù):
是指存儲在某種媒體上的能夠識別的物理符號如:數(shù)字、字母、文字、特殊字符組成的文本形式數(shù)據(jù),還有圖形、動畫、影像、聲音等多媒體數(shù)據(jù),而最多、最常用的是文字數(shù)據(jù)。注:數(shù)據(jù)包括:描述事物特性的內(nèi)容和存儲在媒體上的數(shù)據(jù)形式。
二、什么叫數(shù)據(jù)處理?
是指將數(shù)據(jù)轉換成信息的過程。
三、數(shù)據(jù)處理的目的(其中核心問題是數(shù)據(jù)管理)計算機對數(shù)據(jù)的管理發(fā)展階段及特點:經(jīng)歷了五個階段:
1、人工管理階段:20世紀50年代;數(shù)據(jù)和程序不具有獨立性,無法進行長期保存,數(shù)據(jù)不能共享,數(shù)據(jù)冗余大。
2、文件管理階段:20世紀50年代后期至60年代中后期,程序和數(shù)據(jù)有一定的獨立性,程序和數(shù)據(jù)分開存儲。
3、數(shù)據(jù)庫系統(tǒng)管理;從20世紀60年代后期開始:特點:數(shù)據(jù)和程序具有較高的獨立性,實現(xiàn)了數(shù)據(jù)共享,減少數(shù)據(jù)冗余(注:但并不是完全避免數(shù)據(jù)冗余)
4、分布式數(shù)據(jù)庫系統(tǒng):20世紀70年代后期,是數(shù)據(jù)庫技術和計算機網(wǎng)絡技術緊密結合的產(chǎn)物。
5、面向?qū)ο髷?shù)據(jù)庫系統(tǒng):20世紀80年代引入計算機科學領域的一種新的程序設計技術模型 特點:就是按照人們認識世界和改造世界的習慣方法對現(xiàn)實世界的客觀事物對象進行最自然的最有效的抽象和表達,同時又以各種嚴格高效的行為規(guī)范和機制實施客觀事物的有效模擬和處理。注:在數(shù)據(jù)管理技術的發(fā)展過程中:數(shù)據(jù)庫系統(tǒng)可以實現(xiàn)數(shù)據(jù)共享。
一、數(shù)據(jù)庫系統(tǒng):
1、數(shù)據(jù)庫(DB):是存儲在計算機設備上結構化的相關數(shù)據(jù)的集合,它不僅包括描述事物數(shù)據(jù)本身,而且還包括相關事物之間的聯(lián)系??梢员欢鄠€和戶、多個應用程序共享
2、數(shù)據(jù)庫應用系統(tǒng)(DBAS):是指系統(tǒng)開發(fā)人員利數(shù)據(jù)庫系統(tǒng)資源開發(fā)出來的。
3、數(shù)據(jù)庫管理系統(tǒng)(DBMS):是對數(shù)據(jù)庫的建立,使用和維護進行管理。
4、數(shù)據(jù)庫系統(tǒng)(DBS):是指引進數(shù)據(jù)庫技術后的計算機系統(tǒng),實現(xiàn)有組織地、動態(tài)地存儲大量相關數(shù)據(jù)提供數(shù)據(jù)處理和信息資源共享的便利條件。
注:visual Foxpro中的數(shù)據(jù)庫管理系統(tǒng)(DBMS)是操作系統(tǒng)支持下的系統(tǒng)軟件;
數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS三者之間的關系是:DBS包括DB和DBMS。
二、數(shù)據(jù)庫系統(tǒng)的組成:硬件系統(tǒng)、數(shù)據(jù)庫集合、數(shù)據(jù)庫管理系統(tǒng)及相關軟件、數(shù)據(jù)庫管理員和用戶。
注:數(shù)據(jù)庫系統(tǒng)的特點:
1、實現(xiàn)數(shù)據(jù)共享、減少數(shù)據(jù)冗余
2、采用特定的數(shù)據(jù)模型(即稱為關系數(shù)據(jù)模型)
3、具有較高的數(shù)據(jù)獨立性
4、有統(tǒng)一的數(shù)據(jù)控制功能。
一、數(shù)據(jù)模型:
1、實體:客觀存在并且可以互相區(qū)別的事物稱為實體,實體可以是實際的事物,也可能是抽象的事件如:學生、課本屬于實際事物;訂貨、比賽是比較抽象的;
2、實體的屬性:描述實體的特性稱為屬性;如學生實體用(學號、姓名、性別、出生日期)等若干屬性的描述。
3、實體集和實體型:
屬性值的集合表示一個實體,而屬性的集合表示一種實體的類型稱為實體型,同類的實體的結合稱為實體集。
所以在VF中“表”用來存放同一類實體,即實體集。注:表中包括若干字段,字段就是實體的屬性。
字段值的集合組成表中的一條記錄,代表一個具體的實體,即每個紀錄表示一個實體。
一、實體間聯(lián)系及聯(lián)系的種類:
1、一對一:指主表中的每一條記錄只與相關表中的一條記錄相關聯(lián)。
2、一對多:指主表中的每一條記錄與相關表中的多條記錄相關聯(lián)。
3、多對多:表現(xiàn)為一個表中的多個記錄在相關表中同樣有多個記錄與其匹配
二、數(shù)據(jù)模型:
1、層次數(shù)據(jù):用樹型結構表示實體及其實體間聯(lián)系的模型稱為層次模型;像倒掛的樹,用樹型結構表示;
2、網(wǎng)狀模型:用網(wǎng)狀結構表示;
3、關系模型:(非格式模型)用二維表表示)
三、關系數(shù)據(jù)庫:一個關系是由一個二維表來定義的,一個表就是一個關系;也就是說關系數(shù)據(jù)庫是由若干表格組成的,在表格中:每行代表著每個記錄,而每列則代表著該表存在的不同屬性。
1、關系:一個關系就是一張二維表,通常將一個沒有重復行、重復列的二維表看成一個關系,每個關系都有一個關系名。關系文件擴展名為.dbf,稱為“表”
2、元組:水平方向的行稱為元組,每一行就是一個元組,元組對應存儲文件中的一個具體記錄,一個元組對應表中的一個記錄。
3、屬性:二維表中垂直方向的列稱為屬性,每一列都有一個屬性名,在VF中屬性表示為字段名,每個字段的數(shù)據(jù)類型、寬度等在創(chuàng)建表的結構時就規(guī)定了。
在VF中一個屬性對表中的一個字段,屬性名對應字段名,屬性值對應于各條記錄的字段值。
4、域名:字段的取值范圍:指不同元組對同一個屬性的取值所限定的范圍。
5、關鍵字:屬性或?qū)傩缘慕M合能惟一標識各個元組(實體)
6、外部關鍵字:在本表中不是的關鍵字,而在另外一個表中是關鍵字,本表的這個字段(屬性)稱為外部關鍵字。
四、關系的特點:
1、關系必須規(guī)范,表中不能在含表;
2、關系中不允許有完全相同的元組(記錄)存在;
3、關系中不允許有相同的屬性名(字段名)存在;
4、關系中元組的次序無關緊要;
5、關系中屬性的次序元關緊要; 注:實際關系模型:
一個具體的關系模型由若干個關系模式組成。
一、關系運算: 傳統(tǒng)的關系運算:并、差、交;
1、并:兩個相同結構關系的并是由屬于這兩個關系的元組組成的集合。
如:有兩個結構相同的學生關系R1、R2,分別存放兩個班的學生,把第二個班的學生記錄追加到第一個班的學生記錄后面就是這兩個關系的并集。
2、差:設有兩個相同結構的關系R和S,R差S是結果是由屬于R但不屬于S的元組組成的集合,即差運算的結果是從R中去掉S中也有的元組。
3、交:兩個具有相同結構的關系R和S,是由既屬于R又屬于S的元組組成的集合。既運算的結果是R和S的共同元組。1 專門的關系運算:選擇、投影、聯(lián)接;
1、選擇:從關系中找出滿足條件元組的操作,是針對行的運算。如;forwherewhile等是選擇運算。選擇條件以邏輯表達式給出,使得邏輯表達式的值為真的元組被選取,即從水平方向抽取記錄形成新的關系,其關系模式不變?nèi)纾簭膶W生表中找出某同學的的考試成績;
2、投影:從關系中指定若干個屬性組成新的關系,是針對列的運算,如:fieldsselect等是連接運算。是從列的角度進行的運算,相當于對列進行垂直分解。如:從學生表中查詢學員的所有姓名、性別、出生日期的操作。
3、連接:將兩個關系拼接成一個更寬的關系,是針對橫向運算,生成的關系中包含滿足聯(lián)接條件的元組,其聯(lián)接過程是通過聯(lián)接條件來控制的,聯(lián)接條件中將出現(xiàn)兩個表中的公共屬性名,或得具有相同語義、可比的屬性,聯(lián)接是滿足條件的所有記錄。如:joinon等是連接運算。如:設有職工和工資兩個表,要查詢基本工資高于800元的職工姓名,性別,職稱、基本工資、實發(fā)工資、獎金。
注:選擇、投影運算對象是一個關系,而連接運算對象是多個關系。這三種關系運算的最終結果是關系(二維表)
自然連接:是指去掉重復屬一的等值連接。
其義意為:在聯(lián)接運算中,按照字段值對應相等為條件進行的聯(lián)接操作稱為等值聯(lián)接,自然聯(lián)接是去掉重復屬性的等值聯(lián)接,自然聯(lián)接是最常用的聯(lián)接運算。1 程序設計的步驟: 設計原則:
1、關系數(shù)據(jù)的設計應遵從概念單一化“一事一地”原則。
2、避免在表之間出現(xiàn)重復字段。
3、表中的字段必須是原始數(shù)據(jù)或基本數(shù)據(jù)元素。
4、用外部關鍵字保證有關聯(lián)的表之間聯(lián)系。
二、設計步驟:
1、需求分析、2、確定需要的表;
3、確定所需字段;
4、確定關系;
5、設計求精