第一篇:數(shù)據(jù)庫(kù)原理 實(shí)驗(yàn)教學(xué)講稿(邯院版)
邯 鄲 學(xué) 院
實(shí)驗(yàn)教學(xué)講稿
2013~2014學(xué)年 第一學(xué)期
分院(系、部): 教 研 室: 課 程 名 稱: 授 課 班 級(jí): 主 講 教 師: 職
稱: 使 用 教 材:
信息工程學(xué)院 網(wǎng)絡(luò)工程 數(shù)據(jù)庫(kù)原理
網(wǎng)絡(luò)工程2011級(jí)本科班
李 娜 講師
《數(shù)據(jù)庫(kù)系統(tǒng)概論》
邯鄲學(xué)院制
實(shí)驗(yàn)1 認(rèn)識(shí)DBMS系統(tǒng)、數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)表的建立實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生熟悉SQL Server Management Studio的使用方法,熟悉SQL SERVER的常用數(shù)據(jù)類型,加深對(duì)SQL語(yǔ)言的數(shù)據(jù)定義語(yǔ)句的理解。熟練掌握數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)表的創(chuàng)建、修改和刪除。
二、實(shí)驗(yàn)時(shí)數(shù):
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
分別使用SQL語(yǔ)言和對(duì)象資源管理器完成以下操作:
1.創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)名為COMPANY1,主數(shù)據(jù)文件的邏輯名稱為COMPANY_DATA,操作系統(tǒng)文件的名稱為D:MSSQLDATACOMPANY.MDF,大小為20MB,最大為50MB,以25%的速度增長(zhǎng)。日志文件的邏輯名稱為COMPANY_LOG,操作系統(tǒng)文件的名稱為D:MSSQLDATACOMPANY.LDF,大小為3MB,最大為10MB,以1MB的速度增長(zhǎng)。
Create database company1 On primary(name= company _data, Filename=’c:datastudent.mdf’, Size=20, Maxsize=50, Filegrowth=25%)Log on(name= company _log, Filename=’c:datastudent.ldf’, Size=1, Maxsize=12, Filegrowth=1)2.修改數(shù)據(jù)庫(kù)
(1)將數(shù)據(jù)庫(kù)COMPANY1的主數(shù)據(jù)文件的初始分配空間大小擴(kuò)充到40MB.Alter database company1 Modify file(name=’c:datastudent.mdf’, Size=40)(2)將數(shù)據(jù)庫(kù)COMPANY1改名為COMPANY Exec sp_renamedb ‘company1’,’company’ 3.創(chuàng)建表
在名為COMPANY數(shù)據(jù)庫(kù)中創(chuàng)建以下四個(gè)表:(1)部門表,表名DEPA 列名 DNO 數(shù)據(jù)類型 DECIMAL(2)
描述
部門編號(hào) 部門名稱 部門地址 DNAME VARCHAR(16)ADDR VARCHAR(20)Create table depa(dno DECIMAL(2)not null, Dname VARCHAR(16), Addr VARCHAR(20))(2)雇員表,表名EMPL 列名 ENO 數(shù)據(jù)類型 DECIMAL(4)
描述
員工編號(hào) 員工姓名 出生日期 工資
所在部門編號(hào) ENAME CHAR(8)BIRTHDATE DATETIME SALARY DECIMAL(7,2)DNO DECIMAL(2)(3)項(xiàng)目表,表名PROJ 列名 數(shù)據(jù)類型
描述
PNO DECIMAL(3)項(xiàng)目編號(hào) 項(xiàng)目名稱 PNAME VARCHAR(24)(4)工作表,表名JOB 列名 ENO PNO DAYS 數(shù)據(jù)類型 DECIMAL(4)DECIMAL(3)INT
描述
員工編號(hào) 項(xiàng)目編號(hào)
工作天數(shù)
4.修改表結(jié)構(gòu)
1)修改部門表DEPA,添加一列部門電話,列名Telephone,數(shù)據(jù)類型VARCHAR(15)。Alter table depa Add Telephone VARCHAR(15)2)為項(xiàng)目表PROJ添加Begindate和Enddate列,數(shù)據(jù)類型為DATETIME。3)刪除項(xiàng)目表PROJ中的Enddate列。Alter table proj Drop column Enddate 5.刪除表
1)刪除項(xiàng)目表PROJ。Drop table proj
6、添加記錄:
1)向DEPA表添加14號(hào)部門,客戶中心,地址為開(kāi)發(fā)區(qū)紫光路2號(hào)。Insert into depa(dno,dname,addr)values(14,’ 客戶中心’,’ 開(kāi)發(fā)區(qū)紫光路2號(hào)’)2)向DEPA表添加 15號(hào)部門,技術(shù)支持部,地址未詳。3)向DEPA表添加 13號(hào)部門,財(cái)務(wù)部,地址未詳。
??
4)向EMPL表添加1401號(hào)員工,張山,出生日期1977年9月1日,工資4050元,14號(hào)部門。
5)向EMPL表添加1402號(hào)員工,何宜,生日不祥,工資不祥,15號(hào)部門。
??
6)向PROJ表添加103號(hào)項(xiàng)目,歷史學(xué)院檔案庫(kù)管理系統(tǒng)。7)向PROJ表添加104號(hào)項(xiàng)目,ATM機(jī)管理系統(tǒng)。??
8)向JOB表添加1401號(hào)員工,參與了104號(hào)項(xiàng)目35天。9)向JOB表添加1402號(hào)員工,參與了103號(hào)項(xiàng)目20天。??
7、修改記錄:
1)把DEPA表中’客戶中心’的地址改為’大連甘井子區(qū)紅嶺路’;
Update depa set addr=’ 大連甘井子區(qū)紅嶺路’ where dname=’ 客戶中心’ 2)把DEPA表中15號(hào)部門的地址用沈陽(yáng)東郊路120號(hào)填充。
3)把EMPL表中何宜的生日、工資用1981年12月20日,3000元填充。4)把EMPL表中張山的部門號(hào)改為15號(hào)。5)把JOB表中參與104號(hào)項(xiàng)目的每人增加5天。6)把JOB表中參與103號(hào)項(xiàng)目的每人天數(shù)乘以系數(shù)0.8。
8、刪除記錄:
1)刪除地址為空的部門。
Delete from depa where addr=null 2)刪除JOB表中參與104號(hào)項(xiàng)目的員工。3)刪除JOB表中天數(shù)低于25天的員工。
4)刪除生于1980年后,且工資低于4000的員工。5)刪除屬于14號(hào)部門的員工。6)刪除15號(hào)部門的信息。
9.使用對(duì)象資源管理器分離和附加數(shù)據(jù)庫(kù)COMPANY
實(shí)驗(yàn)2 數(shù)據(jù)庫(kù)的單表查詢、分組查詢與聚集函數(shù)的使用
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生熟悉SQL Server Management Studio的使用方法。加深對(duì)SQL語(yǔ)言的查詢語(yǔ)句的理解。熟練掌握數(shù)據(jù)庫(kù)的單表查詢(包括投影、選擇條件表達(dá),數(shù)據(jù)排序,模糊查詢等), 熟練掌握數(shù)據(jù)庫(kù)的分組、統(tǒng)計(jì)、計(jì)算和集合的操作方法。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容 1.簡(jiǎn)單的SELECT查詢
1)查詢雇員表Empl中所有員工的詳細(xì)信息,并且列名用漢字表示。
select ENO AS 員工編號(hào),ENAME AS 員工姓名,BIRTHDATE AS 出生日期,SALARY AS 工資,DNO AS 部門編號(hào)
from EMPL 2)查詢項(xiàng)目表Proj中所有項(xiàng)目的詳細(xì)信息,并且列名用漢字表示。
select PNO AS 項(xiàng)目編號(hào),PNAME AS 項(xiàng)目名稱
from PROJ 2.使用WHERE子句進(jìn)行查詢
1)查詢雇員表Empl中李強(qiáng)的員工編號(hào)。
select ENO AS 員工編號(hào) from EMPL where ename='李強(qiáng)'
2)查詢項(xiàng)目表Proj中項(xiàng)目編號(hào)為“101”的項(xiàng)目名稱。
select PNAME AS 項(xiàng)目名稱 from PROJ where PNO='101'
3.使用DISTINCT關(guān)鍵字去掉重復(fù)行
1)查詢雇員表Empl中出現(xiàn)的所有部門編號(hào),要求無(wú)重復(fù)。
select distinct ENO AS 員工編號(hào) from EMPL 2)查詢工作表Job中參與過(guò)項(xiàng)目開(kāi)發(fā)的所有員工編號(hào),要求無(wú)重復(fù)。
select distinct ENO AS 員工編號(hào)
from JOB(為什么沒(méi)有項(xiàng)目的不會(huì)被選中)
4.使用ORDER BY子句對(duì)查詢結(jié)果進(jìn)行排序
1)查詢雇員表Empl中所有員工的詳細(xì)信息,結(jié)果按員工姓名降序排列。
select ENO AS 員工編號(hào),ENAME AS 員工姓名,BIRTHDATE AS 出生日期,SALARY AS 工資,DNO AS 部門編號(hào) from EMPL order by ENAME DESC
2)查詢工作表Job中的工作信息,結(jié)果按工作天數(shù)升序排列。
select distinct ENO AS 員工編號(hào),PNO,DAYS from JOB ORDER BY DAYS ASC
5.使用LIKE子句進(jìn)行模糊查詢
1)查詢所有姓王的員工的編號(hào)及姓名,并且以員工編號(hào)及員工姓名作為列名。
select ENO AS 員工編號(hào),ENAME AS 姓名 from EMPL where ENAME like '王%'
2)查詢雇員表Empl中姓名以“偉”字結(jié)尾的員工信息。
select ENO AS 員工編號(hào),ENAME AS 員工姓名,BIRTHDATE AS 出生日期,SALARY AS 工資,DNO AS 部門編號(hào) from EMPL where ENAME like '%偉'
6.使用聚集函數(shù)MIN、MAX進(jìn)行查詢
1)查詢雇員表Empl中員工的最低工資,并且列名用“最低工資”表示。
select MIN(SALARY)as 最低工資
from EMPL 2)查詢雇員表Empl中員工的最高工資,并且列名用“最高工資”表示。
select MAX(SALARY)as 最低工資
from EMPL 7.使用聚集函數(shù)COUNT進(jìn)行查詢
1)查詢雇員表Empl中所有員工的總?cè)藬?shù),并且列名用“員工總數(shù)”表示。
select count(ENAME)as 員工總數(shù)
from EMPL 2)查詢14號(hào)部門的人數(shù),并且列名用“客戶中心部人數(shù)”表示。
select count(DNO)as 客戶中心部人數(shù) from EMPL
WHERE DNO='14'
8.使用分組子句GROUP BY與聚集函數(shù)MIN、MAX進(jìn)行查詢 1)查詢每個(gè)部門中年齡最大的員工,顯示部門編號(hào)和出生日期。
select distinct max(BIRTHDATE)as 年齡,DNO AS 部門編號(hào) FROM EMPL group by BIRTHDATE,DNO 2)分別統(tǒng)計(jì)雇員表Empl中各部門員工的最高工資,并且列名分別用“部門編號(hào)”及“最高工資”表示。
9.使用分組子句GROUP BY與聚集函數(shù)SUM、AVG進(jìn)行查詢
1)分別統(tǒng)計(jì)雇員表Empl中各部門員工的工資總額,并且列名分別用“部門編號(hào)”及“各部門工資總額”表示。
SELECT DNO AS 部門編號(hào),sum(SALARY)AS 工資綜合 from EMPL GROUP BY DNO
2)分別統(tǒng)計(jì)雇員表Empl中各部門員工工資的平均數(shù),并且列名分別用“部門編號(hào)”及“各部門工資平均數(shù)”表示。
SELECT DNO AS 部門編號(hào),AVG(SALARY)AS平均工資 from EMPL GROUP BY DNO
10.使用分組子句GROUP BY與聚集函數(shù)COUNT進(jìn)行查詢
1)統(tǒng)計(jì)員工人數(shù)多于4人的部門信息,并且列名分別用“部門編號(hào)”及“員工人數(shù)”表示。
select
DNO AS 部門編號(hào),count(ENAME)as 部門人數(shù) from empl group by DNO having count(ENAME)> 4 2)分別統(tǒng)計(jì)工作表Job中各項(xiàng)目的參與開(kāi)發(fā)的員工人數(shù),并且列名分別用“項(xiàng)目編號(hào)”及“員工人數(shù)”表示。
select
PNO AS 項(xiàng)目編號(hào),count(ENO)as 部門人數(shù) from JOB group by PN
實(shí)驗(yàn)3 數(shù)據(jù)庫(kù)的多表連接和子查詢
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生加深對(duì)SQL和SQL語(yǔ)言的查詢語(yǔ)句的理解。熟練掌握數(shù)據(jù)庫(kù)的多表連接查詢和子查詢。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容 ㈠多表連接查詢:
1.對(duì)兩張數(shù)據(jù)表使用內(nèi)連接進(jìn)行查詢
1)查詢姓名為“王一偉”的員工所在部門的名稱,并且列名用漢字表示。
select dname 部門名稱 from depa,empl where empl.ename='王一偉' and empl.dno=depa.dno
2)查詢編號(hào)為“1002”的員工姓名及該員工所在部門的名稱,并且列名用漢字表示。
select ename 員工姓名,dname 部門名稱 from empl,depa where empl.eno='1002' and empl.dno=depa.dno
2.對(duì)多張數(shù)據(jù)表使用內(nèi)連接進(jìn)行查詢
1)查詢姓名為“陳晨”的員工參與過(guò)的所有項(xiàng)目的名稱,并且列名用漢字表示。
select empl.ename as 姓名,proj.pname as 項(xiàng)目名稱 from empl,job,proj where empl.eno=job.eno and job.pno=proj.pno and empl.ename='陳晨'
2)查詢編號(hào)為“1202”的員工姓名及該員工參與過(guò)的所有項(xiàng)目的名稱,并且列名用漢字表示。
select empl.ename as 姓名,proj.pname as 項(xiàng)目名稱 from empl,job,proj where empl.eno=job.eno and job.pno=proj.pno and empl.eno='1402'
3.對(duì)兩張數(shù)據(jù)表使用左連接進(jìn)行查詢
1)使用左連接查詢所有員工的基本信息及參與項(xiàng)目開(kāi)發(fā)情況,如果某員工參與過(guò)項(xiàng)目開(kāi)發(fā),則列出該員工所參與的所有項(xiàng)目的編號(hào),否則該項(xiàng)以空值表示。
select empl.ename as 姓名,job.pno as 項(xiàng)目編號(hào) from empl left outer join job on empl.eno=job.eno
2)使用左連接查詢所有員工的基本信息及所在部門名稱,如果某員工尚未分配到任何部門,則該員工的部門名稱項(xiàng)以空值表示。
select empl.ename as 姓名,depa.dname as 部門名稱 from empl left outer join depa on empl.dno=depa.dno
4.對(duì)兩張數(shù)據(jù)表使用右連接進(jìn)行查詢
1)使用右連接查詢所有員工的基本信息及參與項(xiàng)目開(kāi)發(fā)情況,如果某員工參與過(guò)項(xiàng)目開(kāi)發(fā),則列出該員工所參與的所有項(xiàng)目的編號(hào),否則該項(xiàng)以空值表示。
select empl.ename as 姓名,job.pno as 項(xiàng)目編號(hào) from job right outer join empl on empl.eno=job.eno
2)使用右連接查詢所有員工的基本信息及所在部門名稱,如果某員工尚未分配到任何部門,則該員工的部門名稱項(xiàng)以空值表示。
select empl.ename as 姓名,depa.dname as 部門名稱 from depa right outer join empl on empl.dno=depa.dno
㈡子查詢: 1.多表單值子查詢
1)查詢編號(hào)為1001的員工的部門名。
select depa.dname as 部門名稱 from depa where depa.dno =(select empl.dno from empl where empl.eno='1001')
2)查詢‘客戶中心’部門的員工數(shù)。
select count(empl.dno)as 部門人數(shù) from empl
where empl.dno =(select depa.dno from depa where depa.dname='客戶中心')
3)查詢陳晨所在的項(xiàng)目編號(hào)。
select job.pno as 部門編號(hào) from job where job.eno =(select empl.eno from empl where empl.ename='陳晨')
2.多表多值子查詢
1)查詢1985年以后出生的員工在所在項(xiàng)目的工作天數(shù)。
select job.days as 工作天數(shù) from job where job.eno in(select empl.eno from empl where empl.birthdate > 1985)
2)查詢參與項(xiàng)目天數(shù)超過(guò)40天的員工姓名。
select empl.ename as 姓名 from empl where empl.eno in(select job.eno from job where job.days > 40)
3)查詢工資低于2000的員工的所屬部門。
select depa.dname as 部門名稱 from depa where depa.dno in(select empl.dno
from empl where empl.salary > 2000)
3.多層嵌套子查詢
1)查詢‘客戶中心'部門中,收入高于平均工資的員工。
select empl.ename as 工資高于平均工資的員工 from empl where salary >(select avg(empl.salary)from empl)and empl.dno in(select depa.dno from depa where depa.dname='客戶中心')
2)查詢“開(kāi)發(fā)系統(tǒng)”項(xiàng)目的參與部門。
SELECT T1.DNAME FROM PROJ S1,JOB S2,EMPL S3,DEPA T1 WHERE T1.DNO = S3.DNO AND S3.ENO = S2.ENO AND S2.PNO = S1.PNO AND S1.PNAME = '開(kāi)發(fā)系統(tǒng)'
3)查詢'宣傳'部門雇員參加的項(xiàng)目名稱。
SELECT T1.PNAME FROM PROJ T1,JOB S1,EMPL S2,DEPA S3 WHERE T1.PNO = S1.PNO AND S1.ENO = S2.ENO AND S2.DNO = S3.DNO AND S3.DNAME = '宣傳' 4.相關(guān)子查詢
1)查詢參與兩個(gè)項(xiàng)目以上的員工姓名。
SELECT T1.ENO,T2.ENAME FROM(SELECT ENO,COUNT(PNO)COUNT FROM JOB GROUP BY ENO HAVING COUNT(PNO)>=2)T1,EMPL T2
WHERE T1.ENO = T2.ENO
2)查詢所有未參與項(xiàng)目的員工姓名。
SELECT T1.ENAME FROM EMPL T1 WHERE T1.ENO NOT IN(SELECT ENO FROM JOB)
實(shí)驗(yàn)4 數(shù)據(jù)庫(kù)的視圖與索引定義
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生掌握索引與視圖的定義與維護(hù)操作,加深對(duì)索引與視圖在關(guān)系數(shù)據(jù)庫(kù)中的作用的理解。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí) [相關(guān)知識(shí)] 建立索引是加快查詢速度的有效手段。用戶可以根據(jù)應(yīng)用環(huán)境的需要,在基本表上建立一個(gè)或多個(gè)索引,以提供多個(gè)存取路徑,加快查找速度。
視圖是根據(jù)子模式建立的虛擬表。一個(gè)視圖可以由一個(gè)表構(gòu)造,也可以由多個(gè)表構(gòu)造。查看和修改視圖就如同對(duì)表的操作一樣,非常容易。
三、實(shí)驗(yàn)內(nèi)容 ㈠索引 1.創(chuàng)建索引
1)為PROJ表的PNAME列創(chuàng)建非聚集索引Pindex。
create nonclustered index Pindex on proj(PNAME)
2)為DEPA表的DNAME(降序),ADDR兩列創(chuàng)建唯一非聚集索引Dindex。
CREATE UNIQUE INDEX Dindex ON DEPA(DNAME DESC,ADDR)3)在PROJ表的PNAME列上創(chuàng)建唯一非聚集索引Pindex,若該索引已存在則刪除后重建。
if exists(select* from sys.indexes where name='Pindex')DROP INDEX PROJ.Pindex else CREATE UNIQUE INDEX Pindex ON PROJ(PNAME)
2.查看索引
1)查看DEPA表的索引信息。
SELECT * FROM sys.indexes WHERE name='Dindex'
2)查看數(shù)據(jù)庫(kù)COMPANY索引使用的空間信息
select * from sys.dm_db_index_usage_stats
3.索引更名
1)將DEPA表的索引Dindex名更改為Dindex1。
exec sp_rename 'depa.Dindex','Dindex1' 4.刪除索引
1)刪除DEPA表的索引Dindex1。
DROP INDEX DEPA.Dindex1
㈡視圖 1.創(chuàng)建視圖
1)創(chuàng)建14號(hào)部門員工的視圖EMPL_14(ENO,ENAME,SALARY)。
CREATE VIEW EMPL_14(ENO,ENAME,SALARY)AS SELECT ENO,ENAME,SALARY FROM EMPL WHERE EMPL.DNO='14' GO SELECT * FROM EMPL_14
2)創(chuàng)建包含項(xiàng)目名與員工名及工作天數(shù)的視圖Prjemp。
CREATE VIEW PRJEMP(PNAME,ENAME,DAYS)AS SELECT PROJ.PNAME,EMPL.ENAME,JOB.DAYS FROM EMPL,JOB,PROJ WHERE EMPL.ENO=JOB.ENO AND JOB.PNO=PROJ.PNO GO SELECT * FROM PRJEMP
3)在視圖EMPL_14上創(chuàng)建工資在3000以上的員工的視圖EMPL_14H3。
CREATE VIEW EMPL_14H3(ENAME)AS SELECT ENAME FROM EMPL_14 WHERE SALSRY > 3000 GO SELECT * FROM EMPL_14H3
4)創(chuàng)建每個(gè)部門的平均工資的視圖E_AVG(DNO,SAVG)。
CREATE VIEW E_AVG(DNO,SAVG)AS SELECT DNO,AVG(SALARY)FROM EMPL GROUP BY DNO GO SELECT * FROM E_AVG
2.查詢視圖
1)根據(jù)視圖Prjemp查詢做'設(shè)計(jì)系統(tǒng)'項(xiàng)目的所有員工及工作天數(shù)。
SELECT ENAME,DAYS FROM PRJEMP WHERE PNAME='歷史學(xué)院檔案庫(kù)管理系統(tǒng)'
2)根據(jù)視圖E_AVG查詢‘客戶中心’的平均工資。
SELECT SAVG FROM E_AVG WHERE DNO=(SELECT DNO FROM DEPA WHERE DNAME='客戶中心')
3.更新視圖
1)在視圖EMPL_14中將1042號(hào)員工的姓名改為‘李立春’。
UPDATE EMPL_14 SET ENAME='李立春' WHERE ENO='1402'
2)向視圖EMPL_14中插入一條新記錄(1050,‘趙英’,3500)。
INSERT INTO EMPL(ENO,ENAME,SALARY,DNO)VALUES(1405,'趙英',3500,14)
3)刪除視圖EMPL_14中1042號(hào)員工的記錄。
DELETE FROM EMPL_14 WHERE ENAME='李立春'
4.刪除視圖
1)刪除視圖Prjemp。DROP VIEW PRJEMP
實(shí)驗(yàn)5 數(shù)據(jù)庫(kù)的安全性控制
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生加深對(duì)數(shù)據(jù)安全性的理解,并掌握SQL Server中有關(guān)用戶,角色及操作權(quán)限的管理方法。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
分別使用SQL語(yǔ)言和對(duì)象資源管理器完成以下操作:
1.建立數(shù)據(jù)庫(kù)登錄帳戶S1和D1,密碼均為1234,登錄帳戶S1默認(rèn)數(shù)據(jù)庫(kù)分別為COMPANY,其它保持默認(rèn)值。
(create login S1 with password='1234', default_database=COMPANY;create login D1 with password='1234')
2.將S1映射為COMPANY數(shù)據(jù)庫(kù)的同名數(shù)據(jù)庫(kù)用戶。
(create user S1 for login S1)
3.將D1映射為COMPANY數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)用戶,數(shù)據(jù)庫(kù)用戶名為S2。
(USE CONPANY GO create user S2 for login D1)
3. 對(duì)數(shù)據(jù)庫(kù)用戶授予權(quán)限
1)授予S1對(duì)EMPL表插入數(shù)據(jù)的權(quán)限,并驗(yàn)證該權(quán)限(方法:通過(guò)登錄帳戶S1登錄SQL Server,然后插入一條數(shù)據(jù)來(lái)驗(yàn)證該權(quán)限)。
GRANT INSERT ON EMPL TO S1;
2)授予S2創(chuàng)建表的權(quán)限,并驗(yàn)證該權(quán)限(方法:通過(guò)登錄帳戶D1登錄SQL Server,然后創(chuàng)建-張表來(lái)驗(yàn)證該權(quán)限)。
GRANT create table
TO S2;
3)收回S1對(duì)EMPL表插入數(shù)據(jù)的權(quán)限,并驗(yàn)證該權(quán)限(方法:通過(guò)登錄帳戶S1登錄SQL Server,然后插入一條數(shù)據(jù)來(lái)驗(yàn)證該權(quán)限)。
revoke select oN EMPL from S1
4.創(chuàng)建用戶角色
1)在COMPANY數(shù)據(jù)庫(kù)中創(chuàng)建角色MYROLE,授予該角色查詢和修改EMPL表的權(quán)限。
CREATE ROLE MYROLE Go GRANT SELECT,UPDATE ON EMPL TO MYROLE
2)將S1添加為角色MYROLE的成員,并驗(yàn)證s1是否能夠查詢EMPL表。
exec sp_addrolemember MyRole,S1
3)將S2添加為角色MYROLE的成員,并驗(yàn)證s2是否能夠修改EMPL表。
exec sp_addrolemember MyRole,S2
5.收回?cái)?shù)據(jù)庫(kù)用戶權(quán)限
1)采用用戶角色方法收回S1和S2修改EMPL表的權(quán)限,并驗(yàn)證S1是否還能修改EMPL表。
REVOKE SELECT,UPDATE FROM MYROLE
2)拒絕S2查詢 EMPL表的權(quán)限,并驗(yàn)證S2是否還能查詢EMPL表。
revoke select oN EMPL from S1
實(shí)驗(yàn)6 數(shù)據(jù)完整性
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生加深對(duì)數(shù)據(jù)完整性的理解,掌握數(shù)據(jù)完整性的約束條件,學(xué)會(huì)創(chuàng)建和使用觸發(fā)器。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí) [相關(guān)知識(shí)] SQL Server實(shí)現(xiàn)數(shù)據(jù)完整性的具體方法有4種:約束、缺省、規(guī)則和觸發(fā)器。觸發(fā)器是實(shí)施復(fù)雜完整性的特殊類型的存儲(chǔ)類型。觸發(fā)器不需要專門語(yǔ)句調(diào)用,當(dāng)對(duì)它所保護(hù)數(shù)據(jù)進(jìn)行修改時(shí)自動(dòng)激活,以防止對(duì)數(shù)據(jù)進(jìn)行不正確,未授權(quán)或不一致的修改。
三、實(shí)驗(yàn)內(nèi)容
1.創(chuàng)建包含非空約束字段的表
創(chuàng)建一個(gè)員工聯(lián)系信息表Contact,一共有3個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 電話(Tel)數(shù)據(jù)類型為8位長(zhǎng)定長(zhǎng)字符串; 地址(Addr)數(shù)據(jù)類型為20位變長(zhǎng)字符串; 要求雇員號(hào)和電話不能為空。
create table Contact(Eno char(4)not null, Tel char(8)not null, Addr nvarchar(20))
2.創(chuàng)建包含唯一約束字段的表
創(chuàng)建員工郵箱表Mail,一共有2個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 郵箱地址(Mail)數(shù)據(jù)類型為20位變長(zhǎng)字符串; 要求雇員號(hào)非空,郵箱地址唯一。
use company1 go create table Mail(Eno char(4)not null,Mail nvarchar(20))go alter table Mail add constraint Email unique(Mail)
3.創(chuàng)建包含主碼約束字段的表
創(chuàng)建一個(gè)員工卡信息表Card,一共有3個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 卡號(hào)(Cno)數(shù)據(jù)類型為8位長(zhǎng)定長(zhǎng)字符串; 開(kāi)卡日期(Startday)日期格式; 要求雇員號(hào)和卡號(hào)聯(lián)合做主鍵。
use company1 go create table Card(Eno char(4)not null, Cno char(8)not null, Startday datetime)alter table Card add constraint E_C primary key clustered(Eno,Cno)
4.創(chuàng)建包含檢查約束字段的表
創(chuàng)建項(xiàng)目進(jìn)度表Process,一共有3個(gè)字段: 項(xiàng)目號(hào)(Pno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 完成百分比(Percentage)數(shù)據(jù)類型為DECIMAL(3,2); 已用費(fèi)用(Pem)數(shù)據(jù)類型為INT;
要求:⑴完成百分比用小數(shù)表示且數(shù)值小于1;
⑵已用費(fèi)用的取值為0-100000(用規(guī)則實(shí)現(xiàn))。
create table Process(Pno char(4)not null, Percentage DECIMAL(3,2)not null, Pem int)go alter table Process add constraint CK check(Percentage<1)create rule GZ as @Pem>0 and @Pem<=10000
go exec sp_bindrule GZ,'Process.Pem'
5.創(chuàng)建包含默認(rèn)值約束字段的表
創(chuàng)建通勤表Commudity,一共有2個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 通勤標(biāo)志(Flag)數(shù)據(jù)類型為1位定長(zhǎng)字符串; 要求通勤標(biāo)志默認(rèn)為‘Y’。
create table Commudity(Eno char(4)not null, Flag char(1)not null)
alter table Commudity add constraint FL default 'Y' for Flag
6.創(chuàng)建包含外碼約束字段的表
1)創(chuàng)建部門經(jīng)理表Mgr,一共有2個(gè)字段:
部門號(hào)(Dno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串 經(jīng)理員工號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串 要求部門號(hào)是主鍵(用CONSTRAINT 約束實(shí)現(xiàn))create table Mgr(Dno char(4)not null, Eno char(4))go alter table Mgr add constraint Dn primary key clustered(Dno)
2)創(chuàng)建部門收支表CHARGE,一共有2個(gè)字段:
部門號(hào)(Dno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串 收支(CHARGE)數(shù)據(jù)類型為DECIMAL(7,2)要求部門號(hào)是外鍵
create table CHARGE(Dno char(4)not null, CHARGE DECIMAL(7,2)not null)go alter table CHARGE add constraint Av primary key clustered(Dno)
alter table CHARGE add constraint DN foreign key(Dno)references Mgr(Dno)
7.創(chuàng)建觸發(fā)器
在表EMPL上創(chuàng)建一個(gè)觸發(fā)器EMPL_date,當(dāng)更改員工編號(hào)時(shí)同步更改Job表中對(duì)應(yīng)的員工編號(hào)。
實(shí)驗(yàn)7 數(shù)據(jù)庫(kù)設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
使學(xué)生能夠?qū)o定的實(shí)際需求,選擇一種編程語(yǔ)言或開(kāi)發(fā)工具,完成數(shù)據(jù)庫(kù)設(shè)計(jì),并實(shí)現(xiàn)數(shù)據(jù)的查詢等操作,從而掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法和步驟。熟悉大型數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)與組成; 熟悉數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法和開(kāi)發(fā)過(guò)程;
掌握一種大型數(shù)據(jù)庫(kù)管理系統(tǒng)(SQL SERVER或ORACLE)的應(yīng)用技術(shù)和開(kāi)發(fā)工具的使用;
熟悉數(shù)據(jù)庫(kù)設(shè)計(jì)工具的使用; 熟悉數(shù)據(jù)庫(kù)安全的相關(guān)知識(shí)和技術(shù); 熟悉數(shù)據(jù)庫(kù)系統(tǒng)的管理和維護(hù)。
二、實(shí)驗(yàn)時(shí)數(shù)
4學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
完整實(shí)踐數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的工程過(guò)程:需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)實(shí)施編寫(xiě)應(yīng)用程序:
(1)需求分析:選定一個(gè)應(yīng)用,對(duì)所設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)有一定的調(diào)研分析,其結(jié)果應(yīng)該以簡(jiǎn)單的需求分析說(shuō)明書(shū)數(shù)據(jù)字典和數(shù)據(jù)流圖(2級(jí)數(shù)據(jù)流即可)表示;(2)概念分析:使用E-R圖作為描述工具.描述出局部和全局的E-R圖;(3)邏輯設(shè)計(jì):將E-R圖轉(zhuǎn)化為相應(yīng)的關(guān)系模式,并根據(jù)范式理論進(jìn)行優(yōu)化分析,關(guān)系模式不少于3個(gè);
(4)物理設(shè)計(jì):根據(jù)需要設(shè)計(jì)必要的索引等結(jié)構(gòu);
(5)實(shí)施:以某種DBMS為工具創(chuàng)建出完整的數(shù)據(jù)庫(kù).在數(shù)據(jù)庫(kù)中要表現(xiàn)出的知識(shí)點(diǎn)包括: ①設(shè)置數(shù)據(jù)完整性(參照完整性、實(shí)體完整性、自定義完整性(包括觸發(fā)器)。②設(shè)置用戶,并相應(yīng)設(shè)計(jì)用戶的權(quán)限和角色(用戶設(shè)計(jì)至少3個(gè),有不同的權(quán)限)。
③建立存儲(chǔ)過(guò)程完成相關(guān)操作至少2個(gè),以文件方式保存。④
(6)編寫(xiě)應(yīng)用程序:利用開(kāi)發(fā)工具C++、JAVA、.NET平臺(tái)或其它動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)工具編寫(xiě)應(yīng)用程序;
(7)以上內(nèi)容,請(qǐng)?jiān)敿?xì)描述,并有必要抓圖;(8)提交系統(tǒng)的源碼程序、設(shè)計(jì)性實(shí)驗(yàn)報(bào)告。
實(shí)驗(yàn)8 數(shù)據(jù)庫(kù)的備份與恢復(fù)
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生了解SQL Server的數(shù)據(jù)備份和恢復(fù)機(jī)制,掌握SQL Server中數(shù)據(jù)庫(kù)備份和恢復(fù)的方法。
二、實(shí)驗(yàn)時(shí)數(shù) 2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
分別使用SQL語(yǔ)言和對(duì)象資源管理器完成以下操作: 1.創(chuàng)建備份設(shè)備
創(chuàng)建一個(gè)名為company_dev的磁盤備份設(shè)備,其對(duì)應(yīng)的文件是D:company_dev.bak,該備份設(shè)備用于COMPANY數(shù)據(jù)庫(kù)的備份。寫(xiě)出創(chuàng)建該備份設(shè)備的SQL語(yǔ)句。2.對(duì)數(shù)據(jù)庫(kù)進(jìn)行完全備份
對(duì)COMPANY數(shù)據(jù)庫(kù)進(jìn)行一次完全備份,備份到company_dev備份設(shè)備中。并且寫(xiě)出完成完全備份的SQL語(yǔ)句。3.對(duì)數(shù)據(jù)庫(kù)進(jìn)行差異備份
對(duì)COMPANY數(shù)據(jù)庫(kù)完成完全備份后,往EMPL表中添加兩條新記錄。然后對(duì)COMPANY數(shù)據(jù)庫(kù)進(jìn)行差異備份,并且寫(xiě)出完成差異備份的SQL語(yǔ)句。4.對(duì)數(shù)據(jù)庫(kù)進(jìn)行事務(wù)日志備份
對(duì)COMPANY數(shù)據(jù)庫(kù)完成差異備份后,執(zhí)行SQL語(yǔ)句修改數(shù)據(jù)庫(kù)的內(nèi)容。然后對(duì)COMPANY數(shù)據(jù)庫(kù)進(jìn)行事務(wù)日志備份,并且寫(xiě)出完成事務(wù)日志備份的SQL語(yǔ)句。5.模擬數(shù)據(jù)庫(kù)故障發(fā)生
模擬用戶不小心刪除了COMPANY數(shù)據(jù)庫(kù),從而需要使用備份恢復(fù)數(shù)據(jù)庫(kù)。6.恢復(fù)最近的完全數(shù)據(jù)庫(kù)備份
作為恢復(fù)的第一步,使用完全備份恢復(fù)COMPANY數(shù)據(jù)庫(kù)。7.恢復(fù)完全備份之后的最近的差異數(shù)據(jù)庫(kù)備份
利用差異備份恢復(fù)COMPANY數(shù)據(jù)庫(kù),并寫(xiě)出相應(yīng)的SQL語(yǔ)句。8.恢復(fù)完全或差異備份之后的數(shù)據(jù)庫(kù)事務(wù)日志備份
利用事務(wù)日志備份恢復(fù)COMPANY數(shù)據(jù)庫(kù),并寫(xiě)出相應(yīng)的SQL語(yǔ)句。
第二篇:數(shù)據(jù)庫(kù)原理_實(shí)驗(yàn)教學(xué)講稿
邯 鄲 學(xué) 院
實(shí)驗(yàn)教學(xué)講稿
2013~2014學(xué)年 第一學(xué)期
分院(系、部): 教 研 室: 課 程 名 稱: 授 課 班 級(jí): 主 講 教 師: 職
稱: 使 用 教 材:
信息工程學(xué)院 網(wǎng)絡(luò)工程 數(shù)據(jù)庫(kù)原理
網(wǎng)絡(luò)工程2011級(jí)本科班
李 娜 講師
《數(shù)據(jù)庫(kù)系統(tǒng)概論》
邯鄲學(xué)院制
實(shí)驗(yàn)1 認(rèn)識(shí)DBMS系統(tǒng)、數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)表的建立實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生熟悉SQL Server Management Studio的使用方法,熟悉SQL SERVER的常用數(shù)據(jù)類型,加深對(duì)SQL語(yǔ)言的數(shù)據(jù)定義語(yǔ)句的理解。熟練掌握數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)表的創(chuàng)建、修改和刪除。
二、實(shí)驗(yàn)時(shí)數(shù):
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
分別使用SQL語(yǔ)言和對(duì)象資源管理器完成以下操作:
1.創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)名為COMPANY1,主數(shù)據(jù)文件的邏輯名稱為COMPANY_DATA,操作系統(tǒng)文件的名稱為D:MSSQLDATACOMPANY.MDF,大小為20MB,最大為50MB,以25%的速度增長(zhǎng)。日志文件的邏輯名稱為COMPANY_LOG,操作系統(tǒng)文件的名稱為D:MSSQLDATACOMPANY.LDF,大小為3MB,最大為10MB,以1MB的速度增長(zhǎng)。2.修改數(shù)據(jù)庫(kù)
(1)將數(shù)據(jù)庫(kù)COMPANY1的主數(shù)據(jù)文件的初始分配空間大小擴(kuò)充到40MB.(2)將數(shù)據(jù)庫(kù)COMPANY1改名為COMPANY 3.創(chuàng)建表
在名為COMPANY數(shù)據(jù)庫(kù)中創(chuàng)建以下四個(gè)表:(1)部門表,表名DEPA 列名 DNO 數(shù)據(jù)類型 DECIMAL(2)
描述
部門編號(hào) 部門名稱 部門地址 DNAME VARCHAR(16)ADDR VARCHAR(20)(2)雇員表,表名EMPL 列名 ENO 數(shù)據(jù)類型 DECIMAL(4)
描述
員工編號(hào) 員工姓名 出生日期 ENAME CHAR(8)BIRTHDATE DATETIME
SALARY DECIMAL(7,2)DNO DECIMAL(2)
工資
所在部門編號(hào)
(3)項(xiàng)目表,表名PROJ 列名 PNO 數(shù)據(jù)類型 DECIMAL(3)
描述
項(xiàng)目編號(hào) 項(xiàng)目名稱 PNAME VARCHAR(24)(4)工作表,表名JOB 列名 ENO PNO DAYS 數(shù)據(jù)類型 DECIMAL(4)DECIMAL(3)INT
描述
員工編號(hào) 項(xiàng)目編號(hào)
工作天數(shù)
4.修改表結(jié)構(gòu)
1)修改部門表DEPA,添加一列部門電話,列名Telephone,數(shù)據(jù)類型VARCHAR(15)。2)為項(xiàng)目表PROJ添加Begindate和Enddate列,數(shù)據(jù)類型為DATETIME。3)刪除項(xiàng)目表PROJ中的Enddate列。5.刪除表
1)刪除項(xiàng)目表PROJ。
6、添加記錄:
1)向DEPA表添加14號(hào)部門,客戶中心,地址為開(kāi)發(fā)區(qū)紫光路2號(hào)。2)向DEPA表添加 15號(hào)部門,技術(shù)支持部,地址未詳。3)向DEPA表添加 13號(hào)部門,財(cái)務(wù)部,地址未詳。
??
4)向EMPL表添加1401號(hào)員工,張山,出生日期1977年9月1日,工資4050元,14號(hào)部門。
5)向EMPL表添加1402號(hào)員工,何宜,生日不祥,工資不祥,15號(hào)部門。??
6)向PROJ表添加103號(hào)項(xiàng)目,歷史學(xué)院檔案庫(kù)管理系統(tǒng)。7)向PROJ表添加104號(hào)項(xiàng)目,ATM機(jī)管理系統(tǒng)。??
8)向JOB表添加1401號(hào)員工,參與了104號(hào)項(xiàng)目35天。9)向JOB表添加1402號(hào)員工,參與了103號(hào)項(xiàng)目20天。??
7、修改記錄:
1)把DEPA表中’客戶中心’的地址改為’大連甘井子區(qū)紅嶺路’;2)把DEPA表中15號(hào)部門的地址用沈陽(yáng)東郊路120號(hào)填充。
3)把EMPL表中何宜的生日、工資用1981年12月20日,3000元填充。4)把EMPL表中張山的部門號(hào)改為15號(hào)。5)把JOB表中參與104號(hào)項(xiàng)目的每人增加5天。6)把JOB表中參與103號(hào)項(xiàng)目的每人天數(shù)乘以系數(shù)0.8。
8、刪除記錄:
1)刪除地址為空的部門。
2)刪除JOB表中參與104號(hào)項(xiàng)目的員工。3)刪除JOB表中天數(shù)低于25天的員工。
4)刪除生于1980年后,且工資低于4000的員工。5)刪除屬于14號(hào)部門的員工。6)刪除15號(hào)部門的信息。
9.使用對(duì)象資源管理器分離和附加數(shù)據(jù)庫(kù)COMPANY
實(shí)驗(yàn)2 數(shù)據(jù)庫(kù)的單表查詢、分組查詢與聚集函數(shù)的使用
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生熟悉SQL Server Management Studio的使用方法。加深對(duì)SQL語(yǔ)言的查詢語(yǔ)句的理解。熟練掌握數(shù)據(jù)庫(kù)的單表查詢(包括投影、選擇條件表達(dá),數(shù)據(jù)排序,模糊查詢等), 熟練掌握數(shù)據(jù)庫(kù)的分組、統(tǒng)計(jì)、計(jì)算和集合的操作方法。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容 1.簡(jiǎn)單的SELECT查詢
1)查詢雇員表Empl中所有員工的詳細(xì)信息,并且列名用漢字表示。2)查詢項(xiàng)目表Proj中所有項(xiàng)目的詳細(xì)信息,并且列名用漢字表示。2.使用WHERE子句進(jìn)行查詢
1)查詢雇員表Empl中李強(qiáng)的員工編號(hào)。
2)查詢項(xiàng)目表Proj中項(xiàng)目編號(hào)為“101”的項(xiàng)目名稱。3.使用DISTINCT關(guān)鍵字去掉重復(fù)行
1)查詢雇員表Empl中出現(xiàn)的所有部門編號(hào),要求無(wú)重復(fù)。
2)查詢工作表Job中參與過(guò)項(xiàng)目開(kāi)發(fā)的所有員工編號(hào),要求無(wú)重復(fù)。4.使用ORDER BY子句對(duì)查詢結(jié)果進(jìn)行排序
1)查詢雇員表Empl中所有員工的詳細(xì)信息,結(jié)果按員工姓名降序排列。2)查詢工作表Job中的工作信息,結(jié)果按工作天數(shù)升序排列。5.使用LIKE子句進(jìn)行模糊查詢
1)查詢所有姓王的員工的編號(hào)及姓名,并且以員工編號(hào)及員工姓名作為列名。2)查詢雇員表Empl中姓名以“偉”字結(jié)尾的員工信息。6.使用聚集函數(shù)MIN、MAX進(jìn)行查詢
1)查詢雇員表Empl中員工的最低工資,并且列名用“最低工資”表示。2)查詢雇員表Empl中員工的最高工資,并且列名用“最高工資”表示。7.使用聚集函數(shù)COUNT進(jìn)行查詢
1)查詢雇員表Empl中所有員工的總?cè)藬?shù),并且列名用“員工總數(shù)”表示。2)查詢14號(hào)部門的人數(shù),并且列名用“客戶中心部人數(shù)”表示。
8.使用分組子句GROUP BY與聚集函數(shù)MIN、MAX進(jìn)行查詢 1)查詢每個(gè)部門中年齡最大的員工,顯示部門編號(hào)和出生日期。
2)分別統(tǒng)計(jì)雇員表Empl中各部門員工的最高工資,并且列名分別用“部門編號(hào)”及“最高工資”表示。
9.使用分組子句GROUP BY與聚集函數(shù)SUM、AVG進(jìn)行查詢
1)分別統(tǒng)計(jì)雇員表Empl中各部門員工的工資總額,并且列名分別用“部門編號(hào)”及“各部門工資總額”表示。
2)分別統(tǒng)計(jì)雇員表Empl中各部門員工工資的平均數(shù),并且列名分別用“部門編號(hào)”及“各部門工資平均數(shù)”表示。
10.使用分組子句GROUP BY與聚集函數(shù)COUNT進(jìn)行查詢
1)統(tǒng)計(jì)員工人數(shù)多于4人的部門信息,并且列名分別用“部門編號(hào)”及“員工人數(shù)”表示。
2)分別統(tǒng)計(jì)工作表Job中各項(xiàng)目的參與開(kāi)發(fā)的員工人數(shù),并且列名分別用“項(xiàng)目編號(hào)”及“員工人數(shù)”表示。
實(shí)驗(yàn)3 數(shù)據(jù)庫(kù)的多表連接和子查詢
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生加深對(duì)SQL和SQL語(yǔ)言的查詢語(yǔ)句的理解。熟練掌握數(shù)據(jù)庫(kù)的多表連接查詢和子查詢。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容 ㈠多表連接查詢:
1.對(duì)兩張數(shù)據(jù)表使用內(nèi)連接進(jìn)行查詢
1)查詢姓名為“王一偉”的員工所在部門的名稱,并且列名用漢字表示。2)查詢編號(hào)為“1002”的員工姓名及該員工所在部門的名稱,并且列名用漢字表示。
2.對(duì)多張數(shù)據(jù)表使用內(nèi)連接進(jìn)行查詢
1)查詢姓名為“陳晨”的員工參與過(guò)的所有項(xiàng)目的名稱,并且列名用漢字表示。2)查詢編號(hào)為“1202”的員工姓名及該員工參與過(guò)的所有項(xiàng)目的名稱,并且列名用漢字表示。
3.對(duì)兩張數(shù)據(jù)表使用左連接進(jìn)行查詢
1)使用左連接查詢所有員工的基本信息及參與項(xiàng)目開(kāi)發(fā)情況,如果某員工參與過(guò)項(xiàng)目開(kāi)發(fā),則列出該員工所參與的所有項(xiàng)目的編號(hào),否則該項(xiàng)以空值表示。2)使用左連接查詢所有員工的基本信息及所在部門名稱,如果某員工尚未分配到任何部門,則該員工的部門名稱項(xiàng)以空值表示。4.對(duì)兩張數(shù)據(jù)表使用右連接進(jìn)行查詢
1)使用右連接查詢所有員工的基本信息及參與項(xiàng)目開(kāi)發(fā)情況,如果某員工參與過(guò)項(xiàng)目開(kāi)發(fā),則列出該員工所參與的所有項(xiàng)目的編號(hào),否則該項(xiàng)以空值表示。2)使用右連接查詢所有員工的基本信息及所在部門名稱,如果某員工尚未分配到任何部門,則該員工的部門名稱項(xiàng)以空值表示。㈡子查詢: 1.多表單值子查詢
1)查詢編號(hào)為1001的員工的部門名。
2)查詢‘客戶中心’部門的員工數(shù)。3)查詢陳晨所在的項(xiàng)目編號(hào)。2.多表多值子查詢
1)查詢1985年以后出生的員工在所在項(xiàng)目的工作天數(shù)。2)查詢參與項(xiàng)目天數(shù)超過(guò)40天的員工姓名。3)查詢工資低于2000的員工的所屬部門。3.多層嵌套子查詢
1)查詢‘客戶中心'部門中,收入高于平均工資的員工。2)查詢“開(kāi)發(fā)系統(tǒng)”項(xiàng)目的參與部門。
3)查詢'宣傳'部門雇員參加的項(xiàng)目名稱。4.相關(guān)子查詢
1)查詢參與兩個(gè)項(xiàng)目以上的員工姓名。2)查詢所有未參與項(xiàng)目的員工姓名。
實(shí)驗(yàn)4 數(shù)據(jù)庫(kù)的視圖與索引定義
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是使學(xué)生掌握索引與視圖的定義與維護(hù)操作,加深對(duì)索引與視圖在關(guān)系數(shù)據(jù)庫(kù)中的作用的理解。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí) [相關(guān)知識(shí)] 建立索引是加快查詢速度的有效手段。用戶可以根據(jù)應(yīng)用環(huán)境的需要,在基本表上建立一個(gè)或多個(gè)索引,以提供多個(gè)存取路徑,加快查找速度。
視圖是根據(jù)子模式建立的虛擬表。一個(gè)視圖可以由一個(gè)表構(gòu)造,也可以由多個(gè)表構(gòu)造。查看和修改視圖就如同對(duì)表的操作一樣,非常容易。
三、實(shí)驗(yàn)內(nèi)容 ㈠索引 1.創(chuàng)建索引
1)為PROJ表的PNAME列創(chuàng)建非聚集索引Pindex。
2)為DEPA表的DNAME(降序),ADDR兩列創(chuàng)建唯一非聚集索引Dindex。3)在PROJ表的PNAME列上創(chuàng)建唯一非聚集索引Pindex,若該索引已存在則刪除后重建。2.查看索引
1)查看DEPA表的索引信息。
2)查看數(shù)據(jù)庫(kù)COMPANY索引使用的空間信息 3.索引更名
1)將DEPA表的索引Dindex名更改為Dindex1。4.刪除索引
1)刪除DEPA表的索引Dindex1。㈡視圖 1.創(chuàng)建視圖
1)創(chuàng)建14號(hào)部門員工的視圖EMPL_14(ENO,ENAME,SALARY)。2)創(chuàng)建包含項(xiàng)目名與員工名及工作天數(shù)的視圖Prjemp。
3)在視圖EMPL_14上創(chuàng)建工資在3000以上的員工的視圖EMPL_14H3。4)創(chuàng)建每個(gè)部門的平均工資的視圖E_AVG(DNO,SAVG)。2.查詢視圖
1)根據(jù)視圖Prjemp查詢做'設(shè)計(jì)系統(tǒng)'項(xiàng)目的所有員工及工作天數(shù)。2)根據(jù)視圖E_AVG查詢‘客戶中心’的平均工資。3.更新視圖
1)在視圖EMPL_14中將1042號(hào)員工的姓名改為‘李立春’。2)向視圖EMPL_14中插入一條新記錄(1050,‘趙英’,3500)。3)刪除視圖EMPL_14中1042號(hào)員工的記錄。4.刪除視圖
1)刪除視圖Prjemp。
實(shí)驗(yàn)5 數(shù)據(jù)庫(kù)的安全性控制
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生加深對(duì)數(shù)據(jù)安全性的理解,并掌握SQL Server中有關(guān)用戶,角色及操作權(quán)限的管理方法。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
分別使用SQL語(yǔ)言和對(duì)象資源管理器完成以下操作:
1.建立數(shù)據(jù)庫(kù)登錄帳戶S1和D1,密碼均為1234,登錄帳戶S1默認(rèn)數(shù)據(jù)庫(kù)分別為COMPANY,其它保持默認(rèn)值。
2.將S1映射為COMPANY數(shù)據(jù)庫(kù)的同名數(shù)據(jù)庫(kù)用戶。
3.將D1映射為COMPANY數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)用戶,數(shù)據(jù)庫(kù)用戶名為S2。3. 對(duì)數(shù)據(jù)庫(kù)用戶授予權(quán)限
1)授予S1對(duì)EMPL表插入數(shù)據(jù)的權(quán)限,并驗(yàn)證該權(quán)限(方法:通過(guò)登錄帳戶S1登錄SQL Server,然后插入一條數(shù)據(jù)來(lái)驗(yàn)證該權(quán)限)。
2)授予S2創(chuàng)建表的權(quán)限,并驗(yàn)證該權(quán)限(方法:通過(guò)登錄帳戶D1登錄SQL Server,然后創(chuàng)建-張表來(lái)驗(yàn)證該權(quán)限)。
3)收回S1對(duì)EMPL表插入數(shù)據(jù)的權(quán)限,并驗(yàn)證該權(quán)限(方法:通過(guò)登錄帳戶S1登錄SQL Server,然后插入一條數(shù)據(jù)來(lái)驗(yàn)證該權(quán)限)。4.創(chuàng)建用戶角色
1)在COMPANY數(shù)據(jù)庫(kù)中創(chuàng)建角色MYROLE,授予該角色查詢和修改EMPL表的權(quán)限。
2)將S1添加為角色MYROLE的成員,并驗(yàn)證s1是否能夠查詢EMPL表。3)將S2添加為角色MYROLE的成員,并驗(yàn)證s2是否能夠修改EMPL表。5.收回?cái)?shù)據(jù)庫(kù)用戶權(quán)限
1)采用用戶角色方法收回S1和S2修改EMPL表的權(quán)限,并驗(yàn)證S1是否還能修改EMPL表。
2)拒絕S2查詢 EMPL表的權(quán)限,并驗(yàn)證S2是否還能查詢EMPL表。
實(shí)驗(yàn)6 數(shù)據(jù)完整性
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生加深對(duì)數(shù)據(jù)完整性的理解,掌握數(shù)據(jù)完整性的約束條件,學(xué)會(huì)創(chuàng)建和使用觸發(fā)器。
二、實(shí)驗(yàn)時(shí)數(shù)
2學(xué)時(shí) [相關(guān)知識(shí)] SQL Server實(shí)現(xiàn)數(shù)據(jù)完整性的具體方法有4種:約束、缺省、規(guī)則和觸發(fā)器。觸發(fā)器是實(shí)施復(fù)雜完整性的特殊類型的存儲(chǔ)類型。觸發(fā)器不需要專門語(yǔ)句調(diào)用,當(dāng)對(duì)它所保護(hù)數(shù)據(jù)進(jìn)行修改時(shí)自動(dòng)激活,以防止對(duì)數(shù)據(jù)進(jìn)行不正確,未授權(quán)或不一致的修改。
三、實(shí)驗(yàn)內(nèi)容
1.創(chuàng)建包含非空約束字段的表
創(chuàng)建一個(gè)員工聯(lián)系信息表Contact,一共有3個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 電話(Tel)數(shù)據(jù)類型為8位長(zhǎng)定長(zhǎng)字符串; 地址(Addr)數(shù)據(jù)類型為20位變長(zhǎng)字符串; 要求雇員號(hào)和電話不能為空。2.創(chuàng)建包含唯一約束字段的表
創(chuàng)建員工郵箱表Mail,一共有2個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 郵箱地址(Mail)數(shù)據(jù)類型為20位變長(zhǎng)字符串; 要求雇員號(hào)非空,郵箱地址唯一。3.創(chuàng)建包含主碼約束字段的表
創(chuàng)建一個(gè)員工卡信息表Card,一共有3個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 卡號(hào)(Cno)數(shù)據(jù)類型為8位長(zhǎng)定長(zhǎng)字符串; 開(kāi)卡日期(Startday)日期格式; 要求雇員號(hào)和卡號(hào)聯(lián)合做主鍵。
4.創(chuàng)建包含檢查約束字段的表
創(chuàng)建項(xiàng)目進(jìn)度表Process,一共有3個(gè)字段: 項(xiàng)目號(hào)(Pno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 完成百分比(Percentage)數(shù)據(jù)類型為DECIMAL(3,2); 已用費(fèi)用(Pem)數(shù)據(jù)類型為INT;
要求:⑴完成百分比用小數(shù)表示且數(shù)值小于1;
⑵已用費(fèi)用的取值為0-100000(用規(guī)則實(shí)現(xiàn))。5.創(chuàng)建包含默認(rèn)值約束字段的表
創(chuàng)建通勤表Commudity,一共有2個(gè)字段: 雇員號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串; 通勤標(biāo)志(Flag)數(shù)據(jù)類型為1位定長(zhǎng)字符串; 要求通勤標(biāo)志默認(rèn)為‘Y’。6.創(chuàng)建包含外碼約束字段的表
1)創(chuàng)建部門經(jīng)理表Mgr,一共有2個(gè)字段:
部門號(hào)(Dno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串 經(jīng)理員工號(hào)(Eno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串 要求部門號(hào)是主鍵(用CONSTRAINT 約束實(shí)現(xiàn))2)創(chuàng)建部門收支表CHARGE,一共有2個(gè)字段:
部門號(hào)(Dno)數(shù)據(jù)類型為4位長(zhǎng)定長(zhǎng)字符串 收支(CHARGE)數(shù)據(jù)類型為DECIMAL(7,2)要求部門號(hào)是外鍵 7.創(chuàng)建觸發(fā)器
在表EMPL上創(chuàng)建一個(gè)觸發(fā)器EMPL_date,當(dāng)更改員工編號(hào)時(shí)同步更改Job表中對(duì)應(yīng)的員工編號(hào)。
實(shí)驗(yàn)7 數(shù)據(jù)庫(kù)設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
使學(xué)生能夠?qū)o定的實(shí)際需求,選擇一種編程語(yǔ)言或開(kāi)發(fā)工具,完成數(shù)據(jù)庫(kù)設(shè)計(jì),并實(shí)現(xiàn)數(shù)據(jù)的查詢等操作,從而掌握數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法和步驟。熟悉大型數(shù)據(jù)庫(kù)管理系統(tǒng)的結(jié)構(gòu)與組成; 熟悉數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的設(shè)計(jì)方法和開(kāi)發(fā)過(guò)程;
掌握一種大型數(shù)據(jù)庫(kù)管理系統(tǒng)(SQL SERVER或ORACLE)的應(yīng)用技術(shù)和開(kāi)發(fā)工具的使用;
熟悉數(shù)據(jù)庫(kù)設(shè)計(jì)工具的使用; 熟悉數(shù)據(jù)庫(kù)安全的相關(guān)知識(shí)和技術(shù); 熟悉數(shù)據(jù)庫(kù)系統(tǒng)的管理和維護(hù)。
二、實(shí)驗(yàn)時(shí)數(shù)
4學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
完整實(shí)踐數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)設(shè)計(jì)的工程過(guò)程:需求分析概念設(shè)計(jì)邏輯設(shè)計(jì)物理設(shè)計(jì)實(shí)施編寫(xiě)應(yīng)用程序:
(1)需求分析:選定一個(gè)應(yīng)用,對(duì)所設(shè)計(jì)的數(shù)據(jù)庫(kù)系統(tǒng)有一定的調(diào)研分析,其結(jié)果應(yīng)該以簡(jiǎn)單的需求分析說(shuō)明書(shū)數(shù)據(jù)字典和數(shù)據(jù)流圖(2級(jí)數(shù)據(jù)流即可)表示;(2)概念分析:使用E-R圖作為描述工具.描述出局部和全局的E-R圖;(3)邏輯設(shè)計(jì):將E-R圖轉(zhuǎn)化為相應(yīng)的關(guān)系模式,并根據(jù)范式理論進(jìn)行優(yōu)化分析,關(guān)系模式不少于3個(gè);
(4)物理設(shè)計(jì):根據(jù)需要設(shè)計(jì)必要的索引等結(jié)構(gòu);
(5)實(shí)施:以某種DBMS為工具創(chuàng)建出完整的數(shù)據(jù)庫(kù).在數(shù)據(jù)庫(kù)中要表現(xiàn)出的知識(shí)點(diǎn)包括: ①設(shè)置數(shù)據(jù)完整性(參照完整性、實(shí)體完整性、自定義完整性(包括觸發(fā)器)。②設(shè)置用戶,并相應(yīng)設(shè)計(jì)用戶的權(quán)限和角色(用戶設(shè)計(jì)至少3個(gè),有不同的權(quán)限)。
③建立存儲(chǔ)過(guò)程完成相關(guān)操作至少2個(gè),以文件方式保存。④
(6)編寫(xiě)應(yīng)用程序:利用開(kāi)發(fā)工具C++、JAVA、.NET平臺(tái)或其它動(dòng)態(tài)網(wǎng)頁(yè)開(kāi)發(fā)工具編寫(xiě)應(yīng)用程序;
(7)以上內(nèi)容,請(qǐng)?jiān)敿?xì)描述,并有必要抓圖;(8)提交系統(tǒng)的源碼程序、設(shè)計(jì)性實(shí)驗(yàn)報(bào)告。
實(shí)驗(yàn)8 數(shù)據(jù)庫(kù)的備份與恢復(fù)
一、實(shí)驗(yàn)?zāi)康?/p>
本實(shí)驗(yàn)的目的是通過(guò)實(shí)驗(yàn)使學(xué)生了解SQL Server的數(shù)據(jù)備份和恢復(fù)機(jī)制,掌握SQL Server中數(shù)據(jù)庫(kù)備份和恢復(fù)的方法。
二、實(shí)驗(yàn)時(shí)數(shù) 2學(xué)時(shí)
三、實(shí)驗(yàn)內(nèi)容
分別使用SQL語(yǔ)言和對(duì)象資源管理器完成以下操作: 1.創(chuàng)建備份設(shè)備
創(chuàng)建一個(gè)名為company_dev的磁盤備份設(shè)備,其對(duì)應(yīng)的文件是D:company_dev.bak,該備份設(shè)備用于COMPANY數(shù)據(jù)庫(kù)的備份。寫(xiě)出創(chuàng)建該備份設(shè)備的SQL語(yǔ)句。2.對(duì)數(shù)據(jù)庫(kù)進(jìn)行完全備份
對(duì)COMPANY數(shù)據(jù)庫(kù)進(jìn)行一次完全備份,備份到company_dev備份設(shè)備中。并且寫(xiě)出完成完全備份的SQL語(yǔ)句。3.對(duì)數(shù)據(jù)庫(kù)進(jìn)行差異備份
對(duì)COMPANY數(shù)據(jù)庫(kù)完成完全備份后,往EMPL表中添加兩條新記錄。然后對(duì)COMPANY數(shù)據(jù)庫(kù)進(jìn)行差異備份,并且寫(xiě)出完成差異備份的SQL語(yǔ)句。4.對(duì)數(shù)據(jù)庫(kù)進(jìn)行事務(wù)日志備份
對(duì)COMPANY數(shù)據(jù)庫(kù)完成差異備份后,執(zhí)行SQL語(yǔ)句修改數(shù)據(jù)庫(kù)的內(nèi)容。然后對(duì)COMPANY數(shù)據(jù)庫(kù)進(jìn)行事務(wù)日志備份,并且寫(xiě)出完成事務(wù)日志備份的SQL語(yǔ)句。5.模擬數(shù)據(jù)庫(kù)故障發(fā)生
模擬用戶不小心刪除了COMPANY數(shù)據(jù)庫(kù),從而需要使用備份恢復(fù)數(shù)據(jù)庫(kù)。6.恢復(fù)最近的完全數(shù)據(jù)庫(kù)備份
作為恢復(fù)的第一步,使用完全備份恢復(fù)COMPANY數(shù)據(jù)庫(kù)。7.恢復(fù)完全備份之后的最近的差異數(shù)據(jù)庫(kù)備份
利用差異備份恢復(fù)COMPANY數(shù)據(jù)庫(kù),并寫(xiě)出相應(yīng)的SQL語(yǔ)句。8.恢復(fù)完全或差異備份之后的數(shù)據(jù)庫(kù)事務(wù)日志備份
利用事務(wù)日志備份恢復(fù)COMPANY數(shù)據(jù)庫(kù),并寫(xiě)出相應(yīng)的SQL語(yǔ)句。
第三篇:數(shù)據(jù)庫(kù)原理及應(yīng)用實(shí)驗(yàn)教學(xué)指導(dǎo)書(shū)
《數(shù)據(jù)庫(kù)原理及應(yīng)用》實(shí)驗(yàn)
本實(shí)驗(yàn)與《數(shù)據(jù)庫(kù)原理及應(yīng)用》課程相配套,適用于本校地理信息系統(tǒng)專業(yè)本科學(xué)生。實(shí)驗(yàn)?zāi)康模?/p>
數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用實(shí)驗(yàn)是本課程教學(xué)環(huán)節(jié)中的重要一環(huán)。數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用課程學(xué)習(xí)數(shù)據(jù)庫(kù)的建立和應(yīng)用,需要通過(guò)大量的上機(jī)來(lái)驗(yàn)證和熟悉數(shù)據(jù)庫(kù)管理軟件,通過(guò)本實(shí)驗(yàn)學(xué)習(xí),學(xué)習(xí)使用SQL Server,掌握數(shù)據(jù)庫(kù)的原理,能應(yīng)用SQL Server做一些應(yīng)用實(shí)踐,并能結(jié)合高級(jí)編程語(yǔ)言開(kāi)發(fā)一些小型的項(xiàng)目,并進(jìn)一步了解學(xué)習(xí)空間數(shù)據(jù)庫(kù);
基本要求:
1)總體要求:學(xué)生實(shí)驗(yàn)前,要認(rèn)真閱讀實(shí)驗(yàn)指導(dǎo)書(shū),能夠按教學(xué)內(nèi)容獨(dú)自使用SQL Server完成實(shí)驗(yàn),做好實(shí)驗(yàn)報(bào)報(bào)告。
2)先修課程:計(jì)算機(jī)基礎(chǔ)、高級(jí)語(yǔ)言(C語(yǔ)言程序設(shè)計(jì))、數(shù)據(jù)結(jié)構(gòu) 3)本課程已開(kāi)出11個(gè)實(shí)驗(yàn)。
《數(shù)據(jù)庫(kù)原理與應(yīng)用》對(duì)地理信息系統(tǒng)專業(yè)應(yīng)開(kāi)設(shè)11個(gè)實(shí)驗(yàn),其中綜合性實(shí)驗(yàn)1個(gè),設(shè)計(jì)性實(shí)驗(yàn)9個(gè),演示性實(shí)驗(yàn)1個(gè)。
4)本實(shí)驗(yàn)分組: 本實(shí)驗(yàn)由單人單機(jī)完成。課程名稱: 數(shù)據(jù)庫(kù)原理與應(yīng)用開(kāi)課單位: 資源環(huán)境學(xué)院實(shí) 驗(yàn) 室: GIS與RS實(shí)驗(yàn)室 實(shí)驗(yàn)代碼 實(shí)驗(yàn)名稱
開(kāi)課學(xué)期:第必修/
選修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修 必修學(xué)期 類型 演示 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 設(shè)計(jì) 綜合課實(shí)驗(yàn)要求 時(shí)認(rèn)識(shí)SQL2000,能夠注冊(cè),連接2 服務(wù)器,了解工具欄各個(gè)命令在SQL Server環(huán)境下建立和維2 護(hù)數(shù)據(jù)庫(kù)建立表,修改表結(jié)構(gòu),建立索4 引,數(shù)據(jù)完整性描述掌握數(shù)據(jù)的插入、更新和刪除。2用SQL SELECT語(yǔ)句完成各種數(shù)6 據(jù)查詢定義視圖,并在視圖上完成查2 詢、插入、更新和刪除操作掌握存儲(chǔ)過(guò)程的建立和執(zhí)行 2建立一組觸發(fā)器,并執(zhí)行一些2 必要的數(shù)據(jù)操作使其被執(zhí)行初步掌握以作為客戶端開(kāi)發(fā)工2 具開(kāi)發(fā)C/S應(yīng)用的方法。初步掌握以作為客戶端開(kāi)發(fā)工2 具開(kāi)發(fā)C/S應(yīng)用的方法。完成一個(gè)數(shù)據(jù)庫(kù)小系統(tǒng)的開(kāi)發(fā)
類別
03031401 SQL Server界面與操專
作 業(yè)
03031402 建立數(shù)據(jù)庫(kù) 專
業(yè)
03031403 建立表和數(shù)據(jù)完整性 專
業(yè)
03031404 SQL 數(shù)據(jù)操作 專
業(yè)
03031405 SQL 數(shù)據(jù)查詢 專
業(yè)
03031406 視圖的定義和操作 專
業(yè)
03031407 存儲(chǔ)過(guò)程 專
業(yè)
03031408 觸發(fā)器 專
業(yè)
03031409 使用Visual FoxPro專
做客戶端開(kāi)發(fā) 業(yè)
03031410 使用PowerBuilder做專
客戶端開(kāi)發(fā) 業(yè)
03031411 系統(tǒng)開(kāi)發(fā) 專
業(yè)
第四篇:實(shí)驗(yàn)教學(xué)講稿
融匯實(shí)驗(yàn)教學(xué) 彰顯物理學(xué)科魅力
什么是物理?我常給出的答案是“物理物理,就是以物明理的科學(xué)”;要求學(xué)習(xí)者要做到“眼中有物,心中有理”。那么“物”又來(lái)自于哪里?“物”就存在于生活之中,一個(gè)現(xiàn)象,一句話,一個(gè)故事,一件小事,一個(gè)幽默,一條新聞都有可能包含著物理知識(shí),實(shí)驗(yàn)更是“物”的重要組成部分。
眾所周知,物理學(xué)是一門以實(shí)驗(yàn)為基礎(chǔ)的學(xué)科,物理實(shí)驗(yàn)直觀生動(dòng),容易激發(fā)學(xué)生學(xué)習(xí)物理的興趣,形成準(zhǔn)確的物理概念,加深理解和鞏固所學(xué)內(nèi)容,利于培養(yǎng)學(xué)生實(shí)事求是的科學(xué)素養(yǎng)、嚴(yán)肅認(rèn)真的科學(xué)態(tài)度和循序漸進(jìn)的學(xué)習(xí)方法;因此實(shí)驗(yàn)教學(xué)更是成為了物理教學(xué)實(shí)施新課程改革的重要基礎(chǔ)和手段,進(jìn)行物理實(shí)驗(yàn)教學(xué)是物理學(xué)科特點(diǎn)所決定的,同時(shí)也是新課改的重要組成部分。物理課由于實(shí)驗(yàn)多,往往是學(xué)生最愛(ài)上的課,注意力最集中的課。
下面這張圖充分說(shuō)明物理實(shí)驗(yàn)的教育功能。通過(guò)實(shí)驗(yàn)活動(dòng)培養(yǎng)學(xué)生觀察、動(dòng)手、動(dòng)腦的能力,不少學(xué)生感到學(xué)習(xí)物理困難,其重要原因之一,就是不會(huì)把所學(xué)的知識(shí)用來(lái)研究具體物理問(wèn)題。通過(guò)實(shí)驗(yàn),可以使學(xué)生養(yǎng)成善于分析、善于總結(jié)的良好的習(xí)慣,使學(xué)生感到物理知識(shí)親切,能解決生活中的具體問(wèn)題。
物理實(shí)驗(yàn)的教育功能動(dòng)情動(dòng)腦觀念態(tài)度動(dòng)手思想方法操作技能
一 談實(shí)驗(yàn)在教學(xué)中的地位和作用
對(duì)于實(shí)驗(yàn)在教學(xué)中的地位和作用,有句順口溜“聽(tīng)一聽(tīng),不在心;看一看,懂一半;練一練,心智能力都發(fā)展”;只有學(xué)生自己動(dòng)手做過(guò)、動(dòng)手練過(guò),對(duì)知識(shí)和技能的掌握才是牢固的。
一 從實(shí)驗(yàn)中來(lái)——激發(fā)學(xué)生的興趣
興趣是指一個(gè)人經(jīng)常趨向于認(rèn)識(shí)、掌握某種事物,力求參與某項(xiàng)活動(dòng),并且有積極情緒色彩的心理傾向。興趣的作用:
興趣的動(dòng)力作用 興趣是推動(dòng)人們進(jìn)行求知活動(dòng)和學(xué)習(xí)的重要的心理因素,它能使人集中精力,積極愉快地從事某種活動(dòng)。凡是符合自己的興趣的活動(dòng),都容易提高人的積極性。
興趣的開(kāi)發(fā)作用 興趣是開(kāi)發(fā)潛能的鑰匙,一些學(xué)者曾經(jīng)說(shuō)過(guò):所有智力方面的工作都要依賴于興趣。研究表明,興趣比智力更能促進(jìn)學(xué)生努力學(xué)習(xí),提高學(xué)習(xí)成績(jī)。
所以我們經(jīng)常說(shuō),興趣是最好的老師,興趣是靈感的源泉。在課堂上如何激發(fā)學(xué)生的學(xué)習(xí)興趣調(diào)動(dòng)起學(xué)習(xí)熱情便成了首要任務(wù)。1 利用實(shí)驗(yàn)新奇的現(xiàn)象吸引學(xué)生 14、5歲的孩子正是好奇心強(qiáng),對(duì)一切新奇的、神秘的事物感興趣的時(shí)候,利用孩子的這些特點(diǎn),設(shè)計(jì)并進(jìn)行現(xiàn)象新奇的實(shí)驗(yàn)可以很好的吸引學(xué)生的興趣和注意力。
(1)如在《大氣壓強(qiáng)》這節(jié)課時(shí),導(dǎo)課部分我是這樣設(shè)計(jì)的:視頻1大氣壓強(qiáng)導(dǎo)課
為什么很多人喜歡劉謙呢,就是因?yàn)樗哪g(shù),使他這個(gè)人同他的魔術(shù)一樣具有了些神秘色彩。魔術(shù)的魅力就在于,它集知識(shí)性,科學(xué)性,趣味性于一體,抓住人們好奇求知的心理特點(diǎn),制作出種種讓人不可思議,變幻莫測(cè)的假象,使人們難以識(shí)破其中奧秘,從而達(dá)到以假亂真的藝術(shù)效果。魔術(shù)能夠提高想象力,活躍大腦思維。但魔術(shù)一般是不揭秘的,很多魔術(shù)我們看了以后可能一輩子也不知道倒底是怎么回事,而我們?cè)谡n堂上設(shè)置的“魔術(shù)”是必須當(dāng)場(chǎng)揭秘的,這樣也就使學(xué)生對(duì)揭秘環(huán)節(jié)更加期盼。
(2)還有其他一些好的導(dǎo)課:視頻2平面鏡成像引入:
設(shè)置的懸念具有精短、新奇的特點(diǎn)。這節(jié)課開(kāi)始,老師分別點(diǎn)燃玻璃板前后的兩支蠟燭,其實(shí)后面的他沒(méi)有點(diǎn),但他故意用手擋一下,好象怕火滅了,學(xué)生以為他點(diǎn)了,那么學(xué)生的生活經(jīng)驗(yàn)告訴他們,火是怕水的,但令人驚呀的是,水真的沒(méi)有澆滅玻璃后面這蠟燭。從學(xué)生的表情可以看出,他們真的相信了這個(gè)現(xiàn)象,但他們真的不相信這個(gè)事實(shí)。這樣就使他們從簡(jiǎn)單的好奇,變?yōu)槠惹邢M衣睹缘住?/p>
(3)視頻3光的折射引入:也有類似的效果。(4)視頻4機(jī)械能守恒:設(shè)置懸念,讓學(xué)生提心吊膽。
(5)視頻5吞蛋。瓶吞雞蛋的實(shí)驗(yàn),可以很好的引起學(xué)生的好奇心,從而產(chǎn)生學(xué)習(xí)興趣。(6)視頻6吞吐氣球
(7)視頻7 大氣壓強(qiáng):見(jiàn)證奇跡的時(shí)刻
(8)視頻8 大氣壓強(qiáng):兩個(gè)例子引課,時(shí)間有點(diǎn)長(zhǎng),我們?cè)谠O(shè)計(jì)新課的時(shí)候,可能也會(huì)遇到類似的問(wèn)題,這節(jié)課的引入有好多個(gè)有趣的小實(shí)驗(yàn),我們可能很難取舍,但不能羅列,選一個(gè),我看哪個(gè)都行。
學(xué)起于思,思起于疑。初中學(xué)生的注意力難以持久,不能在一節(jié)課中始終如一的保持良好的聽(tīng)課狀態(tài),可以在講課過(guò)程中進(jìn)行一些神秘的實(shí)驗(yàn)。視頻9在講大氣壓強(qiáng)時(shí),我做了一個(gè)不消氣的氣球,敞著口的氣球鼓鼓的;這個(gè)出人意料的現(xiàn)象,學(xué)生感覺(jué)神秘極了,當(dāng)時(shí)我是在下午上課,學(xué)生有些困頓的時(shí)候我做了這個(gè)實(shí)驗(yàn);學(xué)生困意頓消,為了知道氣球不消氣的原因又聚精會(huì)神一絲不茍的繼續(xù)聽(tīng)課。最好動(dòng)的學(xué)生也全神貫注地聽(tīng)完了整節(jié)課;有幾名同學(xué)回家以后還試著模仿這個(gè)實(shí)驗(yàn)表演給家人看。
再如視頻10。教師要保護(hù)學(xué)生的學(xué)習(xí)興趣,保證學(xué)生學(xué)習(xí)興趣的延續(xù)。我個(gè)人認(rèn)為,學(xué)生的最初級(jí)階段的學(xué)習(xí)可能是源于一種簡(jiǎn)單的模仿,但我們不能讓學(xué)生的學(xué)習(xí)狀態(tài)停留在模仿的層面。因?yàn)橹挥心7戮筒豢赡苡谐健@脤?shí)驗(yàn)營(yíng)造和諧的氛圍
物理來(lái)自于生活,物理實(shí)驗(yàn)更離不開(kāi)生活。關(guān)注發(fā)生在學(xué)生身邊的生活現(xiàn)象或熱點(diǎn)問(wèn)題,可以拉近物理知識(shí)和學(xué)生的距離,使學(xué)生產(chǎn)生親切感、認(rèn)同感,為順利學(xué)習(xí)新知識(shí)作鋪墊。
在講流體壓強(qiáng)時(shí),我先播放了在家拍的視頻“聽(tīng)話的柚子”(視頻11),讓學(xué)生猜想柚子為什么會(huì)這么聽(tīng)話?然后根據(jù)學(xué)生的猜想設(shè)計(jì)實(shí)驗(yàn)(視頻12)。從熟悉的生活現(xiàn)象入手,學(xué)生喜聞樂(lè)見(jiàn),實(shí)驗(yàn)過(guò)程學(xué)生也就津津樂(lè)道,水到渠成。最后在分析一段生活中常見(jiàn)的現(xiàn)象:視頻13(粉色垃圾)整節(jié)課前后呼應(yīng)。
另外,中學(xué)生缺乏思維的靈活性和敏捷性,教師要在其似懂非懂、似通非通處及時(shí)提出問(wèn)題,問(wèn)題設(shè)置要低起點(diǎn)、有梯度,采取追問(wèn)方式,引導(dǎo)學(xué)生逐步解決問(wèn)題。人的正常思維都有邏輯性的,所謂邏輯通常指人們思考問(wèn)題,從某些已知條件出發(fā)推出合理的結(jié)論的規(guī)律。
在講液體壓強(qiáng)一課液體壓強(qiáng)的存在時(shí):我提出的問(wèn)題是:舉出液體壓強(qiáng)存在的事例,剛開(kāi)始一切正常,直到有學(xué)生提到游泳時(shí)水會(huì)把人體壓變形,眾人皆笑;該生力爭(zhēng)。我建議他用實(shí)驗(yàn)來(lái)說(shuō)明問(wèn)題,聰明的小伙子真的做了一個(gè)實(shí)驗(yàn)(視頻14)從水對(duì)手套的作用效果入手說(shuō)明液體壓強(qiáng)的存在。這是我事先沒(méi)有想到的一個(gè)實(shí)驗(yàn),從眾人皆笑到眾人皆驚現(xiàn)場(chǎng)效果相當(dāng)熱烈,它的說(shuō)服力也肯定不止于實(shí)驗(yàn)現(xiàn)象本身這么簡(jiǎn)單。
再如下面兩個(gè)例子:視頻15(大氣壓強(qiáng)導(dǎo)托里拆利實(shí)驗(yàn))視頻16:謝曉峰課:探究凸透鏡成像規(guī)律總結(jié)
這兩節(jié)課的特點(diǎn)是課堂輕松愉悅,老師不斷給學(xué)生創(chuàng)造展示的機(jī)會(huì),老師毫不吝嗇對(duì)學(xué)生的贊賞和鼓勵(lì),最終達(dá)到的目標(biāo)就是,在老師的引導(dǎo)下,學(xué)生通過(guò)自主的探究,不僅完成常規(guī)的學(xué)習(xí)任務(wù),還找到了新的解決問(wèn)題的方法,最終體現(xiàn)了學(xué)生的主體地位,通過(guò)適當(dāng)?shù)囊龑?dǎo)或者是指點(diǎn),真正的把學(xué)習(xí)和創(chuàng)造的空間留給學(xué)生。
3利用實(shí)驗(yàn)賦予學(xué)生挑戰(zhàn)的體驗(yàn)
“紙上得來(lái)終覺(jué)淺,是非經(jīng)過(guò)不知難”,只有親身經(jīng)歷過(guò)的事情,記憶才是最深刻的。同樣要想讓學(xué)生扎實(shí)掌握知識(shí)、理解到位,要想培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力,就要在實(shí)驗(yàn)教學(xué)中創(chuàng)設(shè)體驗(yàn)性的情境,充分調(diào)動(dòng)學(xué)生眼看、耳聽(tīng)、口說(shuō)、手動(dòng),讓學(xué)生去體會(huì)和感悟。
在教學(xué)中還可以充分利用學(xué)生的好勝心,安排一些挑戰(zhàn)性的實(shí)驗(yàn),從而起到激勵(lì)學(xué)生,增強(qiáng)學(xué)生學(xué)習(xí)動(dòng)力的效果。
在講流體壓強(qiáng)時(shí),為了讓學(xué)生體會(huì)“流速大,壓強(qiáng)小”,我安排了比賽“吹硬幣”(視頻17);學(xué)生通過(guò)一試身手,相互較量,交流吹硬幣的竅門,加深了對(duì)“流體壓強(qiáng)和流速的關(guān)系”的理解,提高了學(xué)習(xí)的興趣。
在課堂上留給學(xué)生一段感受和體驗(yàn)的時(shí)間,如在講“蒸發(fā)吸熱”時(shí),發(fā)給每個(gè)學(xué)生一團(tuán)酒精棉,簡(jiǎn)單的在手背上擦一擦,涼涼的感覺(jué)讓學(xué)生牢記了蒸發(fā)吸熱的“熱”來(lái)自于哪里,再做此類習(xí)題時(shí)決不會(huì)犯錯(cuò)誤。看似占用了課堂一分鐘,卻節(jié)省了習(xí)題課上的十遍八遍的重復(fù)強(qiáng)調(diào)。這樣的“課上一分鐘,課后十分功”的例子還有像比較壓力的作用效果等。在講“顯微鏡和望遠(yuǎn)鏡”一節(jié)時(shí),如何幫助學(xué)生體會(huì)兩塊透鏡組合在一起的成像效果呢?我采用了創(chuàng)設(shè)體驗(yàn)性情境的辦法,給每個(gè)小組發(fā)兩塊不同焦距的凸透鏡和一個(gè)極小的字,讓他們自己想辦法把字放大,如何放得更大;學(xué)生們自由發(fā)揮去體驗(yàn)當(dāng)年顯微鏡的發(fā)明過(guò)程;讓學(xué)生在體驗(yàn)的過(guò)程中引起感官和思維的共鳴。
競(jìng)爭(zhēng)是激發(fā)熱情的情境之一,競(jìng)爭(zhēng)心理一旦形成,就有非決一高低不可之勢(shì)。物理教學(xué)的競(jìng)爭(zhēng)情境是經(jīng)常使用的激情方式。
例如視頻18(原14):
視頻19(原15):用激光筆射擊比賽,設(shè)種置一種競(jìng)爭(zhēng)的氣氛,激發(fā)了學(xué)習(xí)熱情。
二 到實(shí)驗(yàn)中去——-幫助學(xué)生理解知識(shí)
物理世界是豐富多彩的,中學(xué)物理實(shí)驗(yàn)(包括教材中設(shè)置的眾多“小實(shí)驗(yàn)”和“做一做”等)大大地促進(jìn)了學(xué)生的認(rèn)知發(fā)展,加強(qiáng)學(xué)生對(duì)知識(shí)的理解和鞏固。實(shí)驗(yàn),是建立物理概念和規(guī)律、理解和掌握物理知識(shí)的重要環(huán)節(jié);學(xué)生通過(guò)物理實(shí)驗(yàn),可以大大豐富感性認(rèn)識(shí),深化與活化已掌握的物理知識(shí)。實(shí)驗(yàn)與其它物理內(nèi)容的密切聯(lián)系,可以使課堂教學(xué)得到不斷的延伸。如果把實(shí)驗(yàn)作為教學(xué)的主要任務(wù)加以落實(shí),在教學(xué)中科學(xué)合理的利用實(shí)驗(yàn),對(duì)幫助學(xué)生理解物理知識(shí)事半功倍。利用演示實(shí)驗(yàn),形成物理概念、得出物理規(guī)律,使學(xué)生感受倍深。在講大氣壓強(qiáng)存在時(shí),我設(shè)計(jì)的演示實(shí)驗(yàn)是(視頻20)永不墜落和(視頻21)逆流而上。這兩個(gè)實(shí)驗(yàn)的共同特點(diǎn)是:沖擊!實(shí)驗(yàn)現(xiàn)象和正常的思維相反,對(duì)學(xué)生的沖擊就像火星撞地球,從最初的疑惑到最后的認(rèn)同,經(jīng)過(guò)激烈的思想碰撞,印象深刻,記憶持久。利用分組實(shí)驗(yàn),進(jìn)行手、眼、腦并用的有目的的探索活動(dòng),使學(xué)生真正進(jìn)入角色。
在完成“影響液體壓強(qiáng)的因素”的探究實(shí)驗(yàn)時(shí),把演示改成了分組實(shí)驗(yàn)。液體壓強(qiáng)的知識(shí)比較抽象,學(xué)生的認(rèn)識(shí)很容易停留在表面現(xiàn)象,改為分組后,直觀感受影響液體壓強(qiáng)的因素,在親歷探究實(shí)驗(yàn)過(guò)程的基礎(chǔ)上建立規(guī)律。3 利用實(shí)驗(yàn),加深學(xué)生對(duì)所學(xué)知識(shí)的理解,提高學(xué)生的能力,使學(xué)生觸類旁通。
學(xué)生在學(xué)習(xí)過(guò)程中常會(huì)遇到一些疑難知識(shí),進(jìn)入思維的誤區(qū);對(duì)某些新的概念似懂非懂,對(duì)某些規(guī)律將信將疑;怎么幫助學(xué)生突破難點(diǎn)呢?做個(gè)小實(shí)驗(yàn)就是個(gè)很好的辦法。
在教材 85頁(yè)習(xí)題 2題(加圖一):學(xué)生一時(shí)理解不了,這時(shí)我做了個(gè)小實(shí)驗(yàn)(視頻22),通過(guò)比較橡皮膜突起程度明顯不同,問(wèn)題迎刃而解。又如習(xí)題(加圖二):在完成這個(gè)實(shí)驗(yàn)后(視頻23)就很好的解釋了此題。用實(shí)驗(yàn)解題的好處就是說(shuō)服力強(qiáng),印象深刻;有時(shí)用語(yǔ)言不好準(zhǔn)確表述的,用實(shí)驗(yàn)一目了然。
學(xué)生是學(xué)習(xí)的主人,從觀察現(xiàn)象到總結(jié)規(guī)律,再到運(yùn)用理論知識(shí)分析解決實(shí)際問(wèn)題;要通過(guò)耳聽(tīng)、眼觀、腦想、口述和手動(dòng)來(lái)完成,因此,只有充分發(fā)揮學(xué)生的主體作用,才能把知識(shí)落到實(shí)處。
在講解燈的亮度由實(shí)際功率決定時(shí),我們制作了演示板:視頻24 在“探究壓力作用效果與哪些因素有關(guān)實(shí)驗(yàn)”中,為了讓學(xué)生深刻體會(huì)到壓力的作用效果,我選用了學(xué)生最熟悉的圓珠筆或圓規(guī)來(lái)完成實(shí)驗(yàn),體會(huì)筆壓手的作用效果(視頻25)。學(xué)生有切身感受。在講流體壓強(qiáng)時(shí),設(shè)計(jì)了“吹紙杯”的小實(shí)驗(yàn)(視頻26),效果也很好。
三 在實(shí)驗(yàn)中得——有效培養(yǎng)非智力因素
教育的根本目的就是要提高人的基本素質(zhì)。通過(guò)實(shí)驗(yàn),學(xué)生會(huì)從身邊熟悉的生活現(xiàn)象中去探究并認(rèn)識(shí)物理規(guī)律,同時(shí)教師加以啟發(fā),他們能將認(rèn)識(shí)到的物理知識(shí)及科學(xué)研究方法應(yīng)用于生產(chǎn)生活實(shí)際中,解釋和探索社會(huì)上更為復(fù)雜的物理現(xiàn)象。事實(shí)證明,學(xué)生在物理實(shí)驗(yàn)探究活動(dòng)中不僅能產(chǎn)生濃厚的興趣,而且還感受到了自己的失敗和錯(cuò)誤,通過(guò)糾正錯(cuò)誤,逐步走向正確,真正體會(huì)到成功的喜悅,對(duì)激發(fā)學(xué)生終身的探索興趣起著積極作用,有效地促進(jìn)了學(xué)生科學(xué)能力的發(fā)展。
比如在講完壓強(qiáng)單元后播放了我在內(nèi)蒙古呼和浩特拍到的視頻短片(視頻27),利用學(xué)生掌握的知識(shí)分析這個(gè)黑色的控制閥門(控制壓力,溫度,濕度的)和壓力表的作用。(加圖1)分析鍋蓋中墊圈的作用。(加圖2)分析這棵打吊瓶的樹(shù)。(加圖3)分析拔火罐的原理。在實(shí)驗(yàn)過(guò)程中也看到了這樣的畫(huà)面(視頻28)學(xué)生的實(shí)驗(yàn)操作能力還有待提高。
通過(guò)實(shí)驗(yàn),學(xué)生可以看到科學(xué)進(jìn)化的實(shí)驗(yàn)背景、儀器設(shè)備背景,尋覓到人類與自然作斗爭(zhēng)的歷史足跡;體察出實(shí)驗(yàn)設(shè)計(jì)者獨(dú)具匠心的巧妙方法、用心良苦的教學(xué)思想。例如,各種各樣減少摩擦的方法,就反映出人類在與摩擦作斗爭(zhēng)的過(guò)程中智力和手段的進(jìn)化。壇壇罐罐當(dāng)儀器、拼拼湊湊做實(shí)驗(yàn)不單單是解決一個(gè)實(shí)驗(yàn)設(shè)備的問(wèn)題,而是一種重要的教學(xué)思想。在教師的手中完成了一個(gè)又一個(gè)有趣實(shí)驗(yàn)的那些日常生活中隨處可見(jiàn)的物品,無(wú)聲地在告訴學(xué)生,物理學(xué)就在你身邊,教師全神貫注地操作實(shí)驗(yàn),被實(shí)驗(yàn)現(xiàn)象所吸引,特別是為實(shí)驗(yàn)的成功、挫折而驚喜、擔(dān)憂,以自己在實(shí)驗(yàn)中的情感體驗(yàn)無(wú)意識(shí)地感染學(xué)生。這種無(wú)意識(shí)的感情流露,無(wú)不強(qiáng)烈地向?qū)W生傳達(dá)著一個(gè)信息,實(shí)驗(yàn)的確是科學(xué)不可缺少的部分,它值得我們花時(shí)間和精力。這樣的效果比教師說(shuō)實(shí)驗(yàn)、要求學(xué)生如何如何重視要好得多。
下面我們來(lái)欣賞王顯峰老師輪軸這節(jié)課的一部分。(視頻29)
實(shí)驗(yàn)改變了課堂的空間結(jié)構(gòu),這無(wú)聲的語(yǔ)言可以活躍課堂氣氛。拉近師生間心靈的距離,融洽師生關(guān)系,從而促進(jìn)教與學(xué)的過(guò)程。在這樣的情境中,班級(jí)中平時(shí)學(xué)習(xí)成績(jī)并不好但活潑好動(dòng)的學(xué)生往往成為了活躍分子。這一方面給了他們施展才能的機(jī)會(huì),另一方面也往往使教師偶而觸動(dòng),改變對(duì)這些學(xué)生可能存在的成見(jiàn)。同時(shí)也更利于發(fā)現(xiàn)學(xué)生在學(xué)習(xí)上的困難。這樣就更有可能客觀公正地評(píng)價(jià)對(duì)待學(xué)生,而這些無(wú)形的因素對(duì)學(xué)生學(xué)習(xí)的影響有時(shí)往往是出人意料的。(圖片1)實(shí)驗(yàn)成功的孩子激動(dòng)的心情;(圖片2)發(fā)現(xiàn)“大氣壓可真大”時(shí)的興奮;(圖片3)動(dòng)手實(shí)驗(yàn)時(shí)的專心;(圖片4);準(zhǔn)備做實(shí)驗(yàn)時(shí)的信心(圖片5)觀察實(shí)驗(yàn)時(shí)的聚精會(huì)神;(圖片6)興高采烈;(圖片7)挑戰(zhàn)實(shí)驗(yàn)時(shí)的開(kāi)心;這些都是無(wú)可替代的。
二 談實(shí)驗(yàn)的改進(jìn)與創(chuàng)新
有些實(shí)驗(yàn),照搬教材效果并不好,如對(duì)它做點(diǎn)簡(jiǎn)單的改進(jìn),其效果就大不一樣,教師可以不拘泥于教材或教參的安排,進(jìn)行一些創(chuàng)新設(shè)計(jì)?!稑?biāo)準(zhǔn)》指出:“使用身邊隨手可得的物品,進(jìn)行探究活動(dòng)和各種實(shí)驗(yàn),可以拉近物理學(xué)與生活的距離,讓學(xué)生深切地感受到科學(xué)的真實(shí)性,感受到科學(xué)和社會(huì)、科學(xué)和日常生活的關(guān)系?!敝锢斫逃抑煺淌谠f(shuō)過(guò)“壇壇罐罐當(dāng)儀器,拼拼湊湊做實(shí)驗(yàn)”,就是說(shuō)在物理實(shí)驗(yàn)教學(xué)中要大力倡導(dǎo)做簡(jiǎn)單易行的替代性實(shí)驗(yàn)。其實(shí),研究和制作一些簡(jiǎn)單實(shí)用的實(shí)驗(yàn)器材,本身就是培養(yǎng)實(shí)踐能力的有效方式,學(xué)生身邊的物品和器具同樣是物理資源。我們應(yīng)結(jié)合實(shí)際情況,就地取材、修舊利廢、因陋就簡(jiǎn),創(chuàng)造條件進(jìn)行實(shí)驗(yàn)教學(xué),這些小實(shí)驗(yàn)往往具有取材容易、貼近生活、直觀明了、便于操作的特點(diǎn)。
例如,我在08年參加吉林省十佳物理教師評(píng)選的時(shí)候,就有一道題:可樂(lè)瓶是人們?nèi)粘I钪杏糜谘b飲料用的,請(qǐng)用可樂(lè)瓶盡可能多的設(shè)計(jì)物理實(shí)驗(yàn)。
①探究聲音的音調(diào):在幾只相同的塑料瓶中裝上不同深度的水,然后用嘴對(duì)著瓶中吹氣,會(huì)發(fā)出音調(diào)高低不同的聲音,從而可以說(shuō)明音調(diào)跟頻率的關(guān)系。
②摩擦起電:把一只小塑料瓶在頭皮上反復(fù)摩擦幾下,然后將其靠近一些小紙屑,發(fā)現(xiàn)小紙屑被吸引,說(shuō)明用摩擦的方法可使物體帶電,帶電體能吸引輕小物體。③光的直線傳播:在一只塑料瓶中裝入一定量的水,在其中加入適量的豆奶粉,擰緊瓶蓋,充分搖勻,將激光筆發(fā)出的光透過(guò)瓶底,對(duì)著瓶蓋照射,會(huì)看到光沿直線傳播的光柱,效果明顯。(此實(shí)驗(yàn)還可說(shuō)明光能在液體中傳播)
④探究白色和黑色物體吸熱能力的強(qiáng)弱:用白紙和黑紙包住兩個(gè)裝滿水的塑料瓶,在太陽(yáng)光下照射相同的時(shí)間后,看看誰(shuí)的溫度升得高。溫度升得越高,說(shuō)明其吸收的熱量就越多,其吸熱能力就越強(qiáng)。
此外用塑料瓶做的實(shí)驗(yàn)還很多,例如可以替代燒杯、量筒、漏斗、溢水杯等實(shí)驗(yàn)器材,聲音與能量、阿基米德原理的演示、潛水艇模型、土電話、噴泉、閉口浮沉子等的實(shí)驗(yàn)裝置等。
下面我們就來(lái)看看這樣的具有創(chuàng)新的實(shí)驗(yàn):
1、水能傳聲 視頻30 2 機(jī)翼的升力 視頻31 3燈箱 視頻32 4 磁推車 視頻33 5 排簫 視頻34 6 簡(jiǎn)易電動(dòng)機(jī) 視頻35 7視頻36(yuan10)平面鏡成像
利用這樣的方式來(lái)演示平面鏡成象原理,非常有創(chuàng)意。光線本身就是我們抽象出來(lái)的一種模型,那么我們就用模型來(lái)演示模型,非常新穎。和課件對(duì)比,你更相信那個(gè)真實(shí)? 8視頻37(9)凸透鏡成像
用發(fā)光二極管取代了傳統(tǒng)的蠟燭,清潔,清晰,操作方便;利用大光屏,放大情景,使實(shí)驗(yàn)現(xiàn)象更明顯更直觀。
9、壓縮空氣引火儀的使用、氣體對(duì)外做功的改進(jìn);圖片
10、摩擦起電的做法;圖片
11、壓力作用效果的改進(jìn);圖片
12、光的直線傳播用空氣清新劑,牛奶稀釋,蚊香等 圖片
13、重力勢(shì)能用橡皮泥等 圖片
三談實(shí)驗(yàn)教學(xué)的有效實(shí)施
教育的關(guān)鍵不在于向受教育者傳授現(xiàn)成的結(jié)論。因?yàn)楝F(xiàn)成的結(jié)論,只是對(duì)以往問(wèn)題的探究結(jié)果,他們往往是經(jīng)過(guò)提煉的、條例清楚的?,F(xiàn)實(shí)中的問(wèn)題并非如此。我們?nèi)粘I钪校龅降膯?wèn)題總是復(fù)雜的、多層次的、多關(guān)聯(lián)的。我們認(rèn)識(shí)和解釋問(wèn)題所運(yùn)用的概念,往往是模糊的。如果學(xué)生不接觸現(xiàn)實(shí)問(wèn)題,只是學(xué)習(xí)前人的結(jié)論,那么他們永遠(yuǎn)不會(huì)了解和掌握思維的原則和技巧,永遠(yuǎn)也不能真正認(rèn)識(shí)現(xiàn)實(shí)的世界。換句話說(shuō),教師不僅要告訴學(xué)生亞里斯多德有那些思想,更重要的是向?qū)W生呈現(xiàn)他是怎么想的,要給他們科學(xué)思維的原料,而不是成品。要向他們呈現(xiàn)問(wèn)題的復(fù)雜性、模糊性。這就要求我們的教師在教學(xué)中,要給學(xué)生以思維的空間,教會(huì)學(xué)生獨(dú)立思考和自主探究。
一、探究式教學(xué)
探究式教學(xué)日益成為初中物理教學(xué)課堂的主要教學(xué)方式,對(duì)學(xué)生是一種極好的鍛煉,對(duì)教師的素質(zhì)卻是極大的考驗(yàn),教師除了要認(rèn)真解讀、領(lǐng)悟探究式教學(xué)中蘊(yùn)涵的思想,樹(shù)立真正的教育觀念外,還應(yīng)該根據(jù)探究式教學(xué)的要求,改變自身的教學(xué)行為,學(xué)習(xí)新的教學(xué)理念,教學(xué)策略,總結(jié)教學(xué)過(guò)程中的實(shí)踐經(jīng)驗(yàn)和教訓(xùn),才能使探究式教學(xué)有效的實(shí)施。
探究基本過(guò)程和模式:提出問(wèn)題、猜想與假設(shè)、制定計(jì)劃與設(shè)計(jì)實(shí)驗(yàn)、進(jìn)行試驗(yàn)與收集證據(jù)、分析與論證、評(píng)估、交流與合作。1.對(duì)反射定律的研究 播放視頻
(1)視頻16:利用反射實(shí)驗(yàn)器材研究光的反射,教師捕捉時(shí)機(jī),因勢(shì)利導(dǎo)。這里實(shí)驗(yàn)中所用的器材,是傳統(tǒng)的演示器材,能夠演示反射和折射規(guī)律,缺點(diǎn)是不能反映出三線共面,而上課的老師把這個(gè)實(shí)驗(yàn)器材進(jìn)行了改造,制成了可以研究三線共面的光具盤。
(2)視頻17:通過(guò)描畫(huà)反射光路研究反射定律,上課的老師沒(méi)有使用教材中介紹的實(shí)驗(yàn)裝置,也沒(méi)有使用剛才我們看到的反射定律演示器,而是不拘泥于教材、權(quán)威、專家的思路,將探究實(shí)驗(yàn)加以改進(jìn),創(chuàng)造性地設(shè)計(jì)了對(duì)光的反射的研究過(guò)程,既降低了實(shí)驗(yàn)的成本,又增強(qiáng)了實(shí)驗(yàn)的可操作性,使得實(shí)驗(yàn)的難度降低,節(jié)省了教學(xué)的時(shí)間,提高了教學(xué)時(shí)效。
(3)視頻18:利用粘在黑板上的激光筆研究光的反射定律,跟前一位老師比,這套實(shí)驗(yàn)器材,也可以在黑板上畫(huà)出描畫(huà)出光路圖,可以通過(guò)演示的方式探究光的反射定律,可見(jiàn)度更大了。
(4)視頻19:粘在黑板上的激光筆演示光路可逆,有時(shí)候演示的效果是非常明顯的,上課老師的這一段設(shè)計(jì),增大了可見(jiàn)度,把復(fù)雜的問(wèn)題簡(jiǎn)單化。2.鏡面反射和漫反射的研究
播放視頻20:作圖比較鏡面反射和漫反射,這是一個(gè)更簡(jiǎn)便的教學(xué)設(shè)計(jì),可以看出上課老師在板書(shū)設(shè)計(jì)方面花費(fèi)了一番心思,看似平淡的作圖考查,為后面鏡面反射、漫反射的教學(xué)埋下了伏筆。一經(jīng)教師點(diǎn)破,便產(chǎn)生了化腐朽為神奇的效果,而這一環(huán)節(jié)的過(guò)渡,完全可以用巧妙來(lái)描述了。3.平面鏡成像規(guī)律的研究(1)視頻21:為什么用玻璃而不用平面鏡,設(shè)計(jì)實(shí)驗(yàn)方案時(shí),教師沒(méi)有為學(xué)生直接提供實(shí)驗(yàn)器材及實(shí)驗(yàn)方法,也沒(méi)有直接告訴學(xué)生怎樣做,而是引導(dǎo)學(xué)生設(shè)計(jì)實(shí)驗(yàn)、探索方案,上課老師在這里成功地進(jìn)行了角色轉(zhuǎn)變,讓學(xué)生做學(xué)習(xí)的主人,自己則成為學(xué)生學(xué)習(xí)的伙伴。
(2)視頻22:用復(fù)寫(xiě)紙使鏡后變暗,剛才這節(jié)課,沒(méi)有學(xué)生問(wèn),老師也沒(méi)有講,鏡后的蠟燭其實(shí)不應(yīng)該點(diǎn)燃,為什么不能點(diǎn)燃呢?因?yàn)檫@樣進(jìn)入人眼的光有兩種,一種是前面蠟燭反射的光,這個(gè)光進(jìn)入人眼越多,看到的虛像越清楚,還有一種是鏡子后面蠟燭透射過(guò)來(lái)的折射光,這個(gè)光越多,看到平面鏡成的像越不清楚。例如:教室里的玻璃晚上可以當(dāng)鏡子用。晚上,我們身體射上玻璃的光主要來(lái)自于燈光,通過(guò)玻璃窗看到的像比較清晰,而白天我們站在玻璃窗前,我們身體射向玻璃的主要來(lái)自于太陽(yáng),光要比晚上射向玻璃窗的光更多,但是我們卻不容易通過(guò)玻璃窗看到鏡子中的虛像,就是因?yàn)榘滋煊刹AТ巴饷嫱干溥^(guò)來(lái)的光更多,相比之下反射光被淡化了。再比如,貼了膜的汽車玻璃,由車內(nèi)看車外很清楚,由車外看車內(nèi)很模糊,也是這個(gè)道理。
所以平面鏡成像實(shí)驗(yàn)中,放在鏡后的蠟燭最好不點(diǎn)燃。而這節(jié)課,為了使效果觀察到的像的效果更明顯,在鏡子后面放了復(fù)寫(xiě)紙,以降低鏡后的亮度。更容易觀察到像,更易于確定像的位置。
(3)視頻23:人物模擬平面鏡成像,模擬平面鏡中的像--一個(gè)簡(jiǎn)單的人體側(cè)軀運(yùn)動(dòng),又讓學(xué)生體悟到平面鏡的特點(diǎn),氣氛輕松活躍,這個(gè)做游戲的學(xué)生一生都不會(huì)忘記,平面鏡成像的對(duì)稱性。
(4)視頻24:平面鏡成像軸對(duì)稱關(guān)系有創(chuàng)意,引導(dǎo)學(xué)生將實(shí)驗(yàn)記錄紙對(duì)折,從而總結(jié)出像與物關(guān)于平面鏡“對(duì)稱”的結(jié)論,方法巧妙自然,過(guò)程流暢。4.折射規(guī)律的研究 視頻錄相
(1)視頻25:光的折射路徑超聲波加濕器,自制實(shí)驗(yàn)儀器對(duì)折射規(guī)律的研究效果好,用水霧產(chǎn)生器解決了光路可見(jiàn)的難題,雖然水霧的濃淡還需調(diào)節(jié)略嫌麻煩,但光源的位置,光線的方向、角度的可調(diào)節(jié)性,清晰的光路圖讓學(xué)生產(chǎn)生興趣。略感不足的是儀器結(jié)構(gòu)較為復(fù)雜,操作也略顯繁瑣。
(2)視頻26:折射定律演示儀(薄玻璃盒),相比之下這個(gè)操作就更實(shí)用,更簡(jiǎn)便了。
5.視頻27:液體壓強(qiáng)跟哪些因素有關(guān) 6.視頻28:研究凸透鏡成像規(guī)律的數(shù)據(jù)理視頻 7.視頻29:研究浮力大小
這個(gè)探究過(guò)程是按照提問(wèn)、猜想、實(shí)驗(yàn)、總結(jié)猜想、再實(shí)驗(yàn)的程序進(jìn)行?!案×Υ笮「男┮蛩赜嘘P(guān)”、通過(guò)實(shí)驗(yàn)提練出有價(jià)值的猜想,再將猜想分類、根據(jù)分類進(jìn)而要探究浮力跟某因素有什么關(guān)系,再實(shí)驗(yàn)等環(huán)節(jié)設(shè)計(jì)。但總覺(jué)得其中最后一個(gè)猜想:“浮力大小跟排開(kāi)液體的重、排開(kāi)液體的體積有關(guān)”這個(gè)是很難猜到的,學(xué)生的認(rèn)知水平和思維習(xí)慣來(lái)看,多數(shù)會(huì)把目光集中在受浮力的這個(gè)物體上,如果猜不到,老師就必須出手做適當(dāng)引導(dǎo),把這事也得引出來(lái)。也就是說(shuō)老師得引導(dǎo)學(xué)生做科學(xué)的猜想,即便這樣,學(xué)生的猜想仍可能是不科學(xué)的,也仍有可能有猜不出來(lái)的。或者我們認(rèn)為是不科學(xué)的,可能這就是課堂時(shí)間和學(xué)生探究實(shí)踐之間的矛盾,我們不能滿足學(xué)生在有限的課堂時(shí)間通過(guò)探究驗(yàn)證或者排除他們認(rèn)為有關(guān)的因素。我們只能從理論上排除一些。找?guī)讉€(gè)不適合猜想或按探究模式進(jìn)行的探究:(1)視頻30:如何測(cè)量大氣壓,學(xué)生沒(méi)法猜想,只能通過(guò)老師引導(dǎo),一步一步的對(duì)研究方案進(jìn)行改進(jìn),最后達(dá)到目的。這個(gè)設(shè)計(jì)非常適合學(xué)生的認(rèn)知邏輯,也附和托里拆利實(shí)驗(yàn)的原發(fā)展過(guò)程。其中研究大氣壓支撐水柱時(shí),可再更換更長(zhǎng)玻璃管。(介紹用利用日光燈管做這個(gè)實(shí)驗(yàn)的一個(gè)改進(jìn)過(guò)程,現(xiàn)象明顯)不足之處,最后改進(jìn)到用水銀取代水來(lái)做這個(gè)實(shí)驗(yàn),水銀有毒,不提倡在課堂演示,但教參有配套的錄象,我覺(jué)得這個(gè)環(huán)節(jié)寧可放錄象也不用課件,課件的可信度要大大降低了。
(2)視頻31:測(cè)量大氣壓,這節(jié)課利用皮碗這套器材測(cè)量大氣壓強(qiáng),這是教材上的內(nèi)容,可以讓學(xué)生體驗(yàn)測(cè)量過(guò)程,但這里體現(xiàn)的物理量之間的轉(zhuǎn)換關(guān)系更復(fù)雜更難理解一些。
二、物理教學(xué)常用的思想方法分析
研究物理的科學(xué)方法有許多,經(jīng)常用到的有觀察法、實(shí)驗(yàn)法、比較法、類比法、等效法、轉(zhuǎn)換法、控制變量法、模型法、科學(xué)推理法等。
研究某些物理知識(shí)或物理規(guī)律,往往要同時(shí)用到幾種研究方法。如在研究電阻的大小與哪些因素有關(guān)時(shí),我們同時(shí)用到了觀察法(觀察電流表的示數(shù))、轉(zhuǎn)換法(把電阻的大小轉(zhuǎn)換成電流的大小、通過(guò)研究電流的大小來(lái)得到電阻的大?。?、歸納法(將分別得出的電阻與材料、長(zhǎng)度、橫截面積、溫度有關(guān)的信息歸納在一起)、和控制變量法(在研究電阻與長(zhǎng)度有關(guān)時(shí)控制了材料、橫截面積)等方法??梢?jiàn),物理的科學(xué)方法題無(wú)法細(xì)致的分類。只能根據(jù)題意看題中強(qiáng)調(diào)的是哪一過(guò)程,來(lái)分析解答。在中考中并不會(huì)考察學(xué)生每種方法的名稱,但他的思想滲透了整個(gè)教學(xué)過(guò)程。
下面我們將一些重要的實(shí)驗(yàn)方法進(jìn)行一下分析。
一、控制變量法
物理學(xué)研究中常用的一種研究方法——控制變量法。所謂控制變量法,就是在研究和解決問(wèn)題的過(guò)程中,對(duì)影響事物變化規(guī)律的因素或條件加以人為控制,使其中的一些條件按照特定的要求發(fā)生變化或不發(fā)生變化,最終解決所研究的問(wèn)題。
可以說(shuō)任何物理實(shí)驗(yàn),都要按照實(shí)驗(yàn)?zāi)康摹⒃砗头椒刂颇承l件來(lái)研究。
如:導(dǎo)體中的電流與導(dǎo)體兩端的電壓以及導(dǎo)體的電阻都有關(guān)系,中學(xué)物理實(shí)驗(yàn)難以同時(shí)研究電流與導(dǎo)體兩端的電壓和導(dǎo)體的電阻的關(guān)系,而是在分別控制導(dǎo)體的電阻與導(dǎo)體兩端的電壓不變的情況下,研究導(dǎo)體中的電流跟這段導(dǎo)體兩端的電壓和導(dǎo)體的電阻的關(guān)系,分別得出實(shí)驗(yàn)結(jié)論。通過(guò)學(xué)生實(shí)驗(yàn),讓學(xué)生在動(dòng)腦與動(dòng)手,理論與實(shí)踐的結(jié)合上找到這“兩個(gè)關(guān)系”,最終得出歐姆定律I=U/R。
為了研究導(dǎo)體的電阻大小與哪些因素有關(guān),控制導(dǎo)體的長(zhǎng)度和材料不變,研究導(dǎo)體電阻與橫截面積的關(guān)系。
為了研究滑動(dòng)摩擦力的大小跟哪些因素有關(guān),保證壓力相同時(shí),研究滑動(dòng)摩擦力與接觸面粗糙程度的關(guān)系。
利用控制變量法研究物理問(wèn)題,注重了知識(shí)的形成過(guò)程,有利于扭轉(zhuǎn)重結(jié)論、輕過(guò)程的傾向,有助于培養(yǎng)學(xué)生的科學(xué)素養(yǎng),使學(xué)生學(xué)會(huì)學(xué)習(xí)。中學(xué)物理課本中,涉及控制變量法的實(shí)驗(yàn)有:(1)響度與哪些因素有關(guān)(2)蒸發(fā)快慢與哪些因素的有關(guān);(3)電阻跟長(zhǎng)度、橫截面積、材料的關(guān)系實(shí)驗(yàn)
(4)探究電阻上的電流跟兩端電壓的關(guān)系;電流與電阻關(guān)系(5)研究電流做功的多少跟哪些因素有關(guān)系;(6)焦耳定律(電流產(chǎn)生熱量跟哪些因素有關(guān))(7)電磁鐵磁性強(qiáng)弱跟哪些因素有關(guān)(8)同種物質(zhì)質(zhì)量和體積的關(guān)系實(shí)驗(yàn);(9)重力大小與什么因素有關(guān)系
(10)探究摩擦力大小跟什么因素有關(guān)實(shí)驗(yàn);(11)探究壓力作用效果與什么因素有關(guān)實(shí)驗(yàn);(12)探究液體內(nèi)部壓強(qiáng)跟哪些因素有關(guān)實(shí)驗(yàn);(13)浮力大小跟哪些因素有關(guān)(14)機(jī)械效率與哪些因素有關(guān);
(15)動(dòng)能、重力勢(shì)能大小與哪些因素有關(guān);
二、轉(zhuǎn)換法
一些比較抽象的看不見(jiàn)、摸不著的物質(zhì)的微觀現(xiàn)象,要研究它們的運(yùn)動(dòng)等規(guī)律,使之轉(zhuǎn)化為學(xué)生熟知的看得見(jiàn)、摸得著的宏觀現(xiàn)象來(lái)認(rèn)識(shí)它們。這種方法在科學(xué)上叫做“轉(zhuǎn)換法”。如:分子的運(yùn)動(dòng),電流的存在等,如:空氣看不見(jiàn)、摸不到,我們可以根據(jù)空氣流動(dòng)(風(fēng))所產(chǎn)生的作用來(lái)認(rèn)識(shí)它;分子看不見(jiàn)、摸不到,不好研究,可以通過(guò)研究墨水的擴(kuò)散現(xiàn)象去認(rèn)識(shí)它;電流看不見(jiàn)、摸不到,判斷電路中是否有電流時(shí),我們可以根據(jù)電流產(chǎn)生的效應(yīng)來(lái)認(rèn)識(shí)它;磁場(chǎng)看不見(jiàn)、摸不到,我們可以根據(jù)它產(chǎn)生的作用來(lái)認(rèn)識(shí)它。再如,有一些物理量不容易測(cè)得,我們可以根據(jù)定義式轉(zhuǎn)換成直接測(cè)得的物理量。在由其定義式計(jì)算出其值,如電功率(我們無(wú)法直接測(cè)出電功率只能通過(guò)P=UI利用電流表、電壓表測(cè)出U、I計(jì)算得出P)、電阻、密度等。中學(xué)物理課本中,測(cè)不規(guī)則小石塊的體積我們轉(zhuǎn)換成測(cè)排開(kāi)水的體積;我們測(cè)曲線的長(zhǎng)短時(shí)轉(zhuǎn)換成細(xì)棉線的長(zhǎng)度;在測(cè)量滑動(dòng)摩擦力時(shí)轉(zhuǎn)換成測(cè)拉力的大?。淮髿鈮簭?qiáng)的測(cè)量(無(wú)法直接測(cè)出大氣壓的值,轉(zhuǎn)換成求被大氣壓壓起的水銀柱的壓強(qiáng))測(cè)硬幣的直徑時(shí)轉(zhuǎn)換成測(cè)刻度尺的長(zhǎng)度;測(cè)液體壓強(qiáng)(我們將液體的壓強(qiáng)轉(zhuǎn)換成我們能看到的液柱高度差的變化);通過(guò)電流的效應(yīng)來(lái)判斷電流的存在(我們無(wú)法直接看到電流);通過(guò)磁場(chǎng)的效應(yīng)來(lái)證明磁場(chǎng)的存在(我們無(wú)法直接看到磁場(chǎng));研究物體內(nèi)能與溫度的關(guān)系(我們無(wú)法直接感知內(nèi)能的變化,只能轉(zhuǎn)換成測(cè)出溫度的改變來(lái)說(shuō)明內(nèi)能的變化);在研究電熱與電流、電阻的因素時(shí),我們將電熱的多少轉(zhuǎn)換成液柱上升的高度;在我們研究電功與什么因素有關(guān)的時(shí)候,我們將電功的多少轉(zhuǎn)換成砝碼上升的高度;密度、功率、電功率、電阻、壓強(qiáng)(大氣壓強(qiáng))等物理量都是利用轉(zhuǎn)換法測(cè)得的;在我們回答動(dòng)能與什么因素有關(guān)時(shí),我們回答說(shuō)小球在平面上滑動(dòng)的越遠(yuǎn)則動(dòng)能越大,就是將動(dòng)能的大小轉(zhuǎn)換成了小球運(yùn)動(dòng)的遠(yuǎn)近。以上列舉的這些問(wèn)題均應(yīng)用了這種科學(xué)方法。
轉(zhuǎn)化的思想在被利用的時(shí)候,總是要用到“反映”這個(gè)詞:
(1)在研究聲音能傳遞能量時(shí),用燭焰的跳動(dòng)反映聲音能傳遞能量。(2)在光的傳播實(shí)驗(yàn)中,用煙霧、水霧等物質(zhì)的反射來(lái)反映光的傳播路徑。(3)通過(guò)溫度計(jì)內(nèi)液柱高度(液體熱脹冷縮程度)變化,反映溫度。(4)通過(guò)燈的亮度變化反映電路中電流的變化。
(5)研究電阻大小跟哪些因素有關(guān)時(shí),通過(guò)電路中電流的變化反映電阻的大小。
(6)通過(guò)燈的亮度反映燈的實(shí)際功率
(7)通過(guò)煤油溫度的變化反映電路中產(chǎn)生電熱的多少(8)通過(guò)鐵屑在磁場(chǎng)中的分布情況反映磁場(chǎng)的分布情況(9)通過(guò)小磁針在磁場(chǎng)中受力情況反映磁場(chǎng)的特點(diǎn)(10)通過(guò)力的作用效果反映力的三要素不同(11)通過(guò)形變程度反映彈力的大小
(12)通過(guò)小球?qū)ν庾龉Φ亩嗌俜从硠?dòng)能的大?。?3)擴(kuò)散反映分子的無(wú)規(guī)則運(yùn)動(dòng)
(14)在物態(tài)變化、比熱容實(shí)驗(yàn)中,利用加熱時(shí)間反映物質(zhì)吸收熱量的多少。
三、積累法
在測(cè)量微小量的時(shí)候,我們常常將微小的量積累成一個(gè)比較大的量、比如在測(cè)量一張紙的厚度的時(shí)候,我們先測(cè)量100張紙的厚度在將結(jié)果除以100,這樣使測(cè)量的結(jié)果更接近真實(shí)的值就是采取的積累法。
要測(cè)量出一張郵票的質(zhì)量、測(cè)量出心跳一下的時(shí)間,測(cè)量出導(dǎo)線的直徑,均可用積累法來(lái)完成。
四、理想化物理模型
實(shí)際現(xiàn)象和過(guò)程一般都十分復(fù)雜的,涉及到眾多的因素,采用模型方法對(duì)學(xué)習(xí)和研究起到了簡(jiǎn)化和純化的作用。但簡(jiǎn)化后的模型一定要表現(xiàn)出原型所反映出的特點(diǎn)、知識(shí)。模型法有較大的靈活性。每種模型有限定的運(yùn)用條件和運(yùn)用的范圍。
中學(xué)課本中很多知識(shí)都應(yīng)用了這個(gè)方法,比如有: 液柱、(比如在求液體對(duì)豎直的容器底的壓強(qiáng)的時(shí)候,我們就選了一個(gè)液柱作為研究的對(duì)象簡(jiǎn)化,簡(jiǎn)化后的模型依然保留原來(lái)的特點(diǎn)和知識(shí));光線、(在我們學(xué)習(xí)光線的時(shí)候光線是一束的,而且是看不見(jiàn)的,我們使用一條看的見(jiàn)的實(shí)線來(lái)表示就是將問(wèn)題簡(jiǎn)化,利用了理想化模型);液片、(在我們研究連通器的特點(diǎn),求大氣壓時(shí)我們都在某一位置取了一個(gè)液面,研究該液面所受到的壓強(qiáng)和壓力,也是將問(wèn)題簡(jiǎn)化,利用理想化模型法);光沿直線傳播(在我們學(xué)習(xí)中我們知道真正的空氣是各處都不均勻的,比如越往上空氣越稀薄,在比如因?yàn)榭諝飧魈幉痪鶆蛐纬闪孙L(fēng),而在光是沿直線傳播一節(jié)中我們將問(wèn)題簡(jiǎn)化,只取一個(gè)簡(jiǎn)單的模型,一條光線在均勻的介質(zhì)中傳播)。
勻速直線運(yùn)動(dòng);(生活中很少有一個(gè)物體真正的做勻速直線運(yùn)動(dòng),在我們研究問(wèn)題的時(shí)候勻速直線運(yùn)動(dòng)只是一個(gè)模型)
磁感線(磁感線是不存在的一條線,但是我們?yōu)榱吮阌谘芯看艌?chǎng)我們?nèi)藶榈囊肓艘粭l線,將我們研究的問(wèn)題簡(jiǎn)化。)
五、科學(xué)推理法
當(dāng)你在對(duì)觀察到的現(xiàn)象進(jìn)行解釋的時(shí)候就是在進(jìn)行推理,或說(shuō)是在做出推論,例如當(dāng)你家的狗在叫的時(shí),你可能會(huì)推想有人在你家的門外,要做出這一推論,你就需要把現(xiàn)象(狗的叫聲)與以往的知識(shí)經(jīng)驗(yàn),即有陌生人來(lái)時(shí)狗會(huì)叫結(jié)合起來(lái)。這樣才能得出符合邏輯的答案
如:在進(jìn)行牛頓第一定律的實(shí)驗(yàn)時(shí),當(dāng)我們把物體在越光滑的平面運(yùn)動(dòng)的就越遠(yuǎn)的知識(shí)結(jié)合起來(lái)我們就推理出,如果平面絕對(duì)光滑物體將永遠(yuǎn)做勻速直線運(yùn)動(dòng)。
如:在做真空不能傳聲的實(shí)驗(yàn)時(shí),當(dāng)我們發(fā)現(xiàn)空氣越少,傳出的聲音就越小時(shí),我們就推理出,真空是不能傳聲的。
六、歸納法
是通過(guò)樣本信息來(lái)推斷總體信息的技術(shù)。要做出正確的歸納,就要從總體中選出的樣本,這個(gè)樣本必須足夠大而且具有代表性。在我們買葡萄的時(shí)候就用了歸納法,我們往往先嘗一嘗,如果都很甜,就歸納出所有的葡萄都很甜的,就放心的買上一大串。
比如銅能導(dǎo)電,銀能導(dǎo)電,鋅能導(dǎo)電則歸納出金屬能導(dǎo)電。在實(shí)驗(yàn)中為了驗(yàn)證一個(gè)物理規(guī)律或定理,反復(fù)的通過(guò)實(shí)驗(yàn)來(lái)驗(yàn)證他的正確性然后歸納、分析整理得出正確的結(jié)論。
在阿基米德原理中,為了驗(yàn)證F浮=G排,我們分別利用石塊和木塊做了兩次實(shí)驗(yàn),歸納、整理均得出F?。紾排,于是我們驗(yàn)證了阿基米德原理的正確性,使用的正是這種方法。
在驗(yàn)證杠桿的平衡條件中,我們反復(fù)做了三次實(shí)驗(yàn)來(lái)驗(yàn)證F1×L1=F2×L2也是利用這種方法。
一切發(fā)聲體都在振動(dòng)結(jié)論的得出(在實(shí)驗(yàn)中對(duì)多種結(jié)論進(jìn)行分析整理并得出最后結(jié)論時(shí)),都要用到這一方法。
在驗(yàn)證導(dǎo)體的電阻與什么因素有關(guān)的時(shí)候,經(jīng)過(guò)多次的實(shí)驗(yàn)我們得出了導(dǎo)體的電阻與長(zhǎng)度,材料,橫截面積,溫度有關(guān),也是將實(shí)驗(yàn)的結(jié)論整理到一起后歸納總結(jié)得出的。
在所有的科學(xué)實(shí)驗(yàn)和原理的得出中,我們幾乎都用到了這種方法。
七、比較法(對(duì)比法)
當(dāng)你想尋找兩件事物的相同和不同之處,就需要用到比較法,可以進(jìn)行比較的事物和物理量很多,對(duì)不同或有聯(lián)系的兩個(gè)對(duì)象進(jìn)行比較,我們主要從中尋找它們的不同點(diǎn)和相同點(diǎn),從而進(jìn)一步揭示事物的本質(zhì)屬性。
如,比較蒸發(fā)和沸騰的異同點(diǎn);如,比較汽油機(jī)和柴油機(jī)的異同點(diǎn) ;如,電動(dòng)機(jī)和熱機(jī);如,電壓表和電流表的使用。
利用比較法不僅加深了對(duì)它們的理解和區(qū)別,使同學(xué)們很快地記住它們,還能發(fā)現(xiàn)一些有趣的東西。
八、圖像法
用圖像法來(lái)描述物理過(guò)程具有形象直觀的特點(diǎn),可以清晰地描述出其變化的動(dòng)態(tài)特征,把物理量之間的相互依賴關(guān)系和線性關(guān)系、周期性等清晰地呈現(xiàn)出來(lái)。熱學(xué):(1)熔化、凝固圖像,(2)液體沸騰,(3)比熱容 電學(xué):(4)電阻的電流電壓關(guān)系圖像
力學(xué):(5)速度圖像,(6)密度圖像,(7)壓強(qiáng)(8)浮力
九、等效法
等效是在保證效果或結(jié)論不變的前提下,用一個(gè)量去替換另一個(gè)或另一些量。(1)總電阻就是用一個(gè)量替代多個(gè)量。
(2)阿基米德用皇冠排出的水的體積替代皇冠的體積。我們用量筒借排水法來(lái)測(cè)固體體積,都是用等效法。
(3)分析較復(fù)雜電路時(shí),將電流表看成導(dǎo)線,將電壓表看成斷路。當(dāng)學(xué)生學(xué)完物理以后,讓他們腦子里有一點(diǎn)物理的知識(shí),能夠把這些知識(shí)跟實(shí)際聯(lián)系起來(lái),遇到一些問(wèn)題,他們能夠真正下手去解決。當(dāng)前我們的物理教學(xué),沒(méi)有使學(xué)生學(xué)到能“用”的程度,還只停留在“做題”上。(放羊娃的故事,同樣適用于我們的老師的做題思想)把每一件簡(jiǎn)單的事做好就是不簡(jiǎn)單,把每一件平凡的事做好就是不平凡。很多小事,一個(gè)人能做,另外的人也能做,只是做出來(lái)的效果不一樣,往往是一些細(xì)節(jié)上的功夫,決定著完成的質(zhì)量。視頻匠心: 以上只是談了一些個(gè)人簡(jiǎn)單看法,可能不夠全面,也不夠成熟,但愿能夠拋磚引玉,謝謝大家!
第五篇:數(shù)據(jù)庫(kù)原理總結(jié)
1關(guān)系的范式及規(guī)范化
范式是衡量關(guān)系模式優(yōu)劣的標(biāo)準(zhǔn)。范式級(jí)別越高,其數(shù)據(jù)冗余和操作異常現(xiàn)象就越少。第一范式:如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則這個(gè)關(guān)系屬于第一范式。第二范式:若關(guān)系模式R屬于第一范式,且每個(gè)非主屬性都完全函數(shù)依賴于主鍵,則R屬于第二范式。第三范式:若關(guān)系模式R屬于第一范式,且每個(gè)非主屬性都不傳遞依賴于主關(guān)鍵字,則R屬于第三范式。BC范式:若關(guān)系模式R屬于第一范式,且每個(gè)屬性都不傳遞依賴于主關(guān)鍵字,則R屬于BC范式。
2對(duì)模式的分解顯然不是隨意的,主要涉及以下兩個(gè)原則:無(wú)損聯(lián)結(jié):當(dāng)對(duì)關(guān)系模式R進(jìn)行分解時(shí),R的元組將分別在相應(yīng)屬性集進(jìn)行投影而產(chǎn)生新的關(guān)系。如果對(duì)新的關(guān)系進(jìn)行自然聯(lián)接得到的元組的集合與原關(guān)系完全一致,則稱為無(wú)損聯(lián)結(jié)。保持依賴:當(dāng)對(duì)關(guān)系模式R進(jìn)行分解時(shí),R的函數(shù)依賴集也將按相應(yīng)的模式進(jìn)行分解。如果分解后總的函數(shù)依賴集與原函數(shù)依賴集保持一致,則稱為保持依賴。
3事務(wù)的定義:事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,由用戶定義的一組操作序列組成,序列中的操作要么全做要么全不做。
4簡(jiǎn)述事務(wù)所具有的ACID(原子性,一致性,隔離性,持續(xù)性)特性:事務(wù)的ACID特性是: 原子性:事務(wù)是一個(gè)不可分割的單位。一致性:事務(wù)對(duì)數(shù)據(jù)庫(kù)操作的結(jié)果是將數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變?yōu)榱硪粋€(gè)一致性狀態(tài)。隔離性:多個(gè)事務(wù)的并發(fā)執(zhí)行不互相干擾。持續(xù)性:事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就是永久性的。5事務(wù)的調(diào)度:事務(wù)的執(zhí)行次序稱為調(diào)度。若多個(gè)事務(wù)是按照某一次序串行地執(zhí)行,則稱事務(wù)的調(diào)度是串行調(diào)度。若多個(gè)事務(wù)同時(shí)交叉地并行執(zhí)行,則稱事務(wù)的調(diào)度為并發(fā)調(diào)度。
6事務(wù)并發(fā)執(zhí)行產(chǎn)生的不一致情況及避免:并發(fā)操作可能會(huì)產(chǎn)生丟失修改,不能重復(fù)讀和讀”臟”數(shù)據(jù)這三種不一致情況,采用封鎖機(jī)制來(lái)進(jìn)行并發(fā)控制,可避各種不一致情況。一級(jí)封鎖協(xié)議可以避免丟失修改,二級(jí)封鎖協(xié)議可以避免丟失修改和讀”臟”數(shù)據(jù),三級(jí)封鎖協(xié)議可以避免丟失修改、不能重復(fù)讀和讀”臟”數(shù)據(jù)。
7事務(wù)的COMMIT語(yǔ)句和ROLLBACK語(yǔ)句的功能是什么?答:COMMIT語(yǔ)句表示事務(wù)執(zhí)行成功地接結(jié)束(提交),此時(shí)告訴系統(tǒng),DB要進(jìn)入一個(gè)新的正確狀態(tài),該事務(wù)對(duì)DB的所有更新都已交付實(shí)施(寫(xiě)入磁盤)。ROLLBACK語(yǔ)句表示事務(wù)執(zhí)行不成功地結(jié)束(應(yīng)該“回退”)此時(shí)告訴系統(tǒng),已發(fā)生錯(cuò)誤,DB可能處在不正確的狀態(tài),該事務(wù)對(duì)DB的所有更新必須被撤消,DB應(yīng)恢復(fù)該事務(wù)到初始狀態(tài)。
8活鎖和死鎖:活鎖:在多個(gè)事務(wù)并發(fā)執(zhí)行的過(guò)程中,可能會(huì)存在某個(gè)總有機(jī)會(huì)獲得鎖的事務(wù)卻永遠(yuǎn)也沒(méi)得到鎖的現(xiàn)象,可以通過(guò)“先來(lái)先服務(wù)”的策略預(yù)防活鎖的發(fā)生。死鎖:在多個(gè)事務(wù)并發(fā)執(zhí)行過(guò)程中,多個(gè)并發(fā)事務(wù)處于相互等待的狀態(tài)的現(xiàn)象。
9死鎖的預(yù)防:數(shù)據(jù)庫(kù)當(dāng)中預(yù)防死鎖的方法有兩種。第一種方法是要求每個(gè)事務(wù)必須一次性地將所有要使用的數(shù)據(jù)加鎖或必須按照一個(gè)預(yù)定的加鎖順序?qū)κ褂玫降臄?shù)據(jù)加鎖。第二種方法是每當(dāng)處于等待狀態(tài)的事務(wù)由可能導(dǎo)致死鎖時(shí),就不再等待下去,強(qiáng)行回滾該事務(wù)。
10完整性約束的定義:關(guān)系數(shù)據(jù)庫(kù)提供的三類完整性約束:實(shí)體完整性、參照完整性和用戶自定義完整性。實(shí)體完整性:實(shí)體完整性約束是指任何基本表(關(guān)系)的主鍵(主關(guān)鍵字)中的每一個(gè)屬性列都不能取空值,即基本表中的每一個(gè)元組在主鍵上的分量都有值。參照完整性:根據(jù)參照完整性原則,用戶只要定義了某一個(gè)關(guān)系(基本表)的外鍵(外部關(guān)鍵字),系統(tǒng)就會(huì)控制外鍵的值要么為空,要么等于被參照關(guān)系中某一個(gè)主鍵的值,這就是系統(tǒng)對(duì)外鍵的一種約束。用戶定義完整性:用戶定義完整性約束條件的作用對(duì)象可以是屬性列、元組或關(guān)系(基本表),其中對(duì)屬性列的約束可以規(guī)定屬性列的數(shù)據(jù)類型、取值范圍等;對(duì)元組的約束可以規(guī)定元組中各屬性間的相互關(guān)系;而對(duì)關(guān)系的約束則可以規(guī)定各元組間或關(guān)系間的相互聯(lián)系。
11故障恢復(fù)的原則:對(duì)數(shù)據(jù)庫(kù)的影響有兩種可能性:一是數(shù)據(jù)庫(kù)本身被破壞;二是數(shù)據(jù)庫(kù)沒(méi)有被破壞,但數(shù)據(jù)可能不正確,這是因?yàn)槭聞?wù)的運(yùn)行被非正常終止造成的。12恢復(fù)算法一般由兩部分組成:在正常事務(wù)處理時(shí)采取措施,保證有足夠的冗余信息可用于故障恢復(fù)。故障發(fā)生后采取措施,將數(shù)據(jù)庫(kù)內(nèi)容恢復(fù)到某個(gè)保證數(shù)據(jù)庫(kù)一致性、事務(wù)原子性及持久性的狀態(tài)。
13數(shù)據(jù)庫(kù)在運(yùn)行過(guò)程中可能產(chǎn)生的故障有哪幾類? 答:1)事務(wù)故障:事務(wù)在運(yùn)行過(guò)程中由于種種原因,如輸入數(shù)據(jù)的錯(cuò)誤,運(yùn)算溢出,違反了某些完整性限制,某些應(yīng)用程序的錯(cuò)誤,以及并行事務(wù)發(fā)生死鎖等,使事務(wù)未能運(yùn)行到正常中指點(diǎn)之前就被撤消了,這種情況稱為“事務(wù)故障”。2)系統(tǒng)故障:系統(tǒng)故障是指系統(tǒng)在運(yùn)行過(guò)程中,由于某些原因,如OS和DBMS代碼錯(cuò)誤,操作員操作事物。特定類型的硬件錯(cuò)誤(CPU故障),突然停電等造成系統(tǒng)停止運(yùn)行,致使事物在執(zhí)行過(guò)程中以非控方式中指。這時(shí)。內(nèi)存中的信息丟失,而存儲(chǔ)在外存儲(chǔ)上的數(shù)據(jù)未受影響,這種情況稱為“系統(tǒng)故障”。3)介質(zhì)故障:系統(tǒng)在運(yùn)行過(guò)程中,由于某種硬件故障,如磁盤損壞,磁頭碰撞,或由于OS的某種潛在的錯(cuò)誤。瞬間強(qiáng)磁場(chǎng)干擾,使存儲(chǔ)在外存的數(shù)據(jù)部分損失或全部損失,稱之為“介質(zhì)故障”。14故障恢復(fù)技術(shù):數(shù)據(jù)轉(zhuǎn)儲(chǔ)、日志文件、檢查點(diǎn)方法、數(shù)據(jù)庫(kù)鏡像
15關(guān)系的完整性約束:域完整性約束:關(guān)系中屬性的值應(yīng)是域中的值,并由語(yǔ)義決定其能否為空值。實(shí)體完整性約束:關(guān)系中的主鍵不能為空值。參照完整性約束:關(guān)系的外鍵必須是另一個(gè)關(guān)系主鍵的有效值或者是空值。用戶自定義完整性約束:正對(duì)某一具體數(shù)據(jù)的約束條件,由應(yīng)用環(huán)境決定。
16故障恢復(fù)原理是冗余可分為副本和日志?;謴?fù)算法:在正常事物處理時(shí)采取措施,保證有足夠的冗余信息可用于故障恢復(fù)、故障發(fā)生后采取措施,將數(shù)據(jù)庫(kù)內(nèi)容恢復(fù)到某個(gè)保證數(shù)據(jù)庫(kù)一致性、事物原子性及持久性的狀態(tài)。
17事務(wù)故障的恢復(fù):事務(wù)故障是指事務(wù)在運(yùn)行至正常終止點(diǎn)前被中止,這時(shí)恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤消(UNDO)此事務(wù)已對(duì)數(shù)據(jù)庫(kù)進(jìn)行的修改。事務(wù)故障的恢復(fù)是由系統(tǒng)自動(dòng)完成的,對(duì)用戶是透明的,系統(tǒng)的恢復(fù)步驟是:⑴ 反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。⑵ 對(duì)該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更新前的值”寫(xiě)入數(shù)據(jù)庫(kù)。這樣,如果記錄中是插入操作,則相當(dāng)于做刪除操作(因此時(shí)“更新前的值”為空)。若記錄中是刪除操作,則做插入操作,若是修改操作,則相當(dāng)于用修改前值代替修改后值。⑶ 繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同樣處理。⑷ 如此處理下去,直至讀到此事務(wù)的開(kāi)始標(biāo)記,事務(wù)故障恢復(fù)就完成了。
18系統(tǒng)故障的恢復(fù):系統(tǒng)故障造成數(shù)據(jù)庫(kù)不一致?tīng)顟B(tài)的原因有兩個(gè),一是未完成事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新可能已寫(xiě)入數(shù)據(jù)庫(kù),二是已提交事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新可能還留在緩沖區(qū)沒(méi)來(lái)得及寫(xiě)入數(shù)據(jù)庫(kù)。因此,恢復(fù)操作就是要撤銷故障發(fā)生時(shí)未完成的事務(wù),重做已完成的事務(wù)。系統(tǒng)恢復(fù)步驟如下:正向掃描日志文件,即從頭掃描日志文件,找出在故障發(fā)證前已經(jīng)提交的事務(wù),將其事務(wù)標(biāo)示記入重做隊(duì)列,同時(shí)找出故障發(fā)證時(shí)尚未完成的事務(wù),將其事務(wù)標(biāo)識(shí)計(jì)入撤銷隊(duì)列、對(duì)撤銷隊(duì)列中的各個(gè)事務(wù)進(jìn)行撤銷處理、對(duì)重做隊(duì)列中的各個(gè)事務(wù)進(jìn)行重做掃描
19日志文件作用及建立原因:答:日志文件是用來(lái)記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件。目的是進(jìn)行事物故障恢復(fù);進(jìn)行系統(tǒng)故障恢復(fù);協(xié)助后備副本進(jìn)行介質(zhì)故障恢復(fù)。
20三級(jí)模式:三級(jí)模式結(jié)構(gòu):數(shù)據(jù)庫(kù)的三級(jí)模式由外模式、概念模式和內(nèi)模式三級(jí)模式構(gòu)成。概念模式:簡(jiǎn)稱模式,又稱數(shù)據(jù)庫(kù)模式、邏輯模式。一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)概念模式,它是數(shù)據(jù)庫(kù)系統(tǒng)三級(jí)模式結(jié)構(gòu)的中間層,概念模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯描述,而不是數(shù)據(jù)庫(kù)本身,它是裝配數(shù)據(jù)的一個(gè)結(jié)構(gòu)框架。外模式:外模式簡(jiǎn)稱子模式,又稱用戶模式,是數(shù)據(jù)庫(kù)用戶能夠看見(jiàn)和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是用戶與數(shù)據(jù)庫(kù)系統(tǒng)之間的接口。一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式,設(shè)置外模式的優(yōu)點(diǎn)如下:方便用戶使用,簡(jiǎn)化用戶接口、保證數(shù)據(jù)的獨(dú)立性、有利于數(shù)據(jù)共享、有利于數(shù)據(jù)安全和保密。內(nèi)模式:內(nèi)模式也稱存儲(chǔ)模式。是對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示形式。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)內(nèi)模式。21兩級(jí)映像:外模式/概念模式映像:外模式/概念模式映像定義了各個(gè)外模式與概念模式間的映像關(guān)系。概念模式/內(nèi)模式映像:概念模式/內(nèi)模式映像定義了數(shù)據(jù)庫(kù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。
22兩極結(jié)構(gòu)的獨(dú)立性:物理數(shù)據(jù)獨(dú)立性:如果數(shù)據(jù)庫(kù)內(nèi)模式要修改,即數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)有所變化,那么只要對(duì)概念模式/內(nèi)模式做相應(yīng)的修改即可。概念模式/內(nèi)模式提供了數(shù)據(jù)的物理數(shù)據(jù)獨(dú)立性。邏輯數(shù)據(jù)獨(dú)立性:如果概念模式要修改,例如增加記錄類型或增加數(shù)據(jù)項(xiàng),那么只要對(duì)外模式/概念模式映像做相應(yīng)的修改,就可以使外模式和應(yīng)用程序盡可能保持不變。這樣,就稱數(shù)據(jù)庫(kù)打到了邏輯數(shù)據(jù)獨(dú)立性。外模式/概念模式映像提供了數(shù)據(jù)的邏輯獨(dú)立性。
23數(shù)據(jù)庫(kù)技術(shù)的發(fā)展階段:工管理階段(數(shù)據(jù)部保存、沒(méi)有對(duì)數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng)、沒(méi)有文件的概念、一組數(shù)據(jù)對(duì)應(yīng)于一個(gè)程序,數(shù)據(jù)時(shí)面向應(yīng)用的)、文件系統(tǒng)階段(數(shù)據(jù)需要長(zhǎng)期保存在外存上供反復(fù)使用、程序和數(shù)據(jù)之間有了一定得獨(dú)立性、文件的形式已經(jīng)多樣化、數(shù)據(jù)的存取基本以記錄為單位)、數(shù)據(jù)庫(kù)系統(tǒng)階段(數(shù)據(jù)結(jié)構(gòu)化、數(shù)據(jù)共享、減少數(shù)據(jù)冗余、具有較高的數(shù)據(jù)獨(dú)立性、方便用戶接口、統(tǒng)一的數(shù)據(jù)管理與控制功能)
某校與教學(xué)管理相關(guān)的3個(gè)關(guān)系模式的結(jié)構(gòu)如下: 學(xué)生(學(xué)號(hào)、姓名、年齡、性別、所在系)課程(課程號(hào)、課程名、開(kāi)課系、任課教師)學(xué)習(xí)(學(xué)號(hào)、課程號(hào)、成績(jī))試進(jìn)行如下操作:
1.創(chuàng)建“教學(xué)”數(shù)據(jù)庫(kù),在“教學(xué)”數(shù)據(jù)庫(kù)中創(chuàng)建“學(xué)生”、“課程”、“學(xué)習(xí)”這3個(gè)基本表,并說(shuō)明主鍵和外鍵。2.使用SQL的查詢語(yǔ)句表達(dá)下列查詢(1)查詢劉老師所授課程的課程號(hào)和課程名(2)查詢年齡大于23歲的男學(xué)生的學(xué)號(hào)和姓名
(3)查詢至少修讀劉老師所授課程中一門課程的女學(xué)生和姓名(4)查詢王樂(lè)同學(xué)不學(xué)的課程的課程號(hào)(5)查詢至少修讀兩門課程的學(xué)生學(xué)號(hào)
(6)查詢?nèi)繉W(xué)生都修讀的課程的課程號(hào)與課程名(7)查詢修讀課程中包含劉老師所授課程的學(xué)生學(xué)號(hào)
3)SELECT 姓名 FROM 學(xué)生 WHERE 性別=‘女’ AND EXISTS(SELECT * FROM 學(xué)習(xí)WHERE 學(xué)習(xí).學(xué)號(hào)=學(xué)生.學(xué)號(hào) AND 課程號(hào) IN(SELECT 課程號(hào) FROM 課程 WHERE 任課教師 LIKE ‘劉%’))4)SELECT 課程號(hào) FROM 課程 WHERE NOT EXISTS(SELECT * FROM 學(xué)習(xí)WHERE 學(xué)習(xí).課程號(hào)=課程.課程號(hào) AND 學(xué)號(hào) IN(SELECT 學(xué)號(hào) FROM 學(xué)生 WHERE 姓名=‘王樂(lè)’))5)SELECT 學(xué)號(hào) FROM 學(xué)生 GROUP BY 學(xué)號(hào) HAVING COUNT(*)>=2 6)SELECT 課程號(hào),課程名 FROM 課程 WHERE NOT EXISTS(SELECT * FROM 學(xué)生 WHERE NOT EXISTS(SELECT * 學(xué)號(hào) FROM 學(xué)習(xí)WHERE 學(xué)習(xí).課程號(hào)=課程.課程號(hào) AND 學(xué)習(xí).學(xué)號(hào)=學(xué)生.學(xué)號(hào)))7)SELECT 學(xué)號(hào) FROM 學(xué)習(xí)WHERE EXISTS(SELECT * FROM 學(xué)習(xí)WHERE 課程號(hào) IN(SELECT * FROM 課程號(hào) FROM 課程 WHERE 任課教師 LIKE ‘劉%’))試用SQL查詢語(yǔ)句表達(dá)下列對(duì)教學(xué)數(shù)據(jù)庫(kù)中3個(gè)基本表“學(xué)生”、“課程”、“學(xué)習(xí)”的查詢(1)統(tǒng)計(jì)有學(xué)生修讀的課程門數(shù)(2)求修讀C4課程的學(xué)生的平均年齡
(3)求劉老師所授課程的每門課程的學(xué)生平均成績(jī)
(4)統(tǒng)計(jì)每門課程學(xué)生的修讀人數(shù)(超過(guò)10人的課程才統(tǒng)計(jì)),要求輸出課程號(hào)和修讀人數(shù),查詢結(jié)果按人數(shù)降序排列,若人數(shù)相同,按課程號(hào)升序排列(5)查詢學(xué)號(hào)比王樂(lè)同學(xué)大,而年齡比他小的學(xué)生姓名(6)查詢姓名以王打頭的所有學(xué)生的姓名和年齡(7)在“學(xué)習(xí)”表中檢索成績(jī)?yōu)榭罩档膶W(xué)生學(xué)號(hào)和課程號(hào)(8)求年齡大于女同學(xué)平均年齡的男學(xué)生姓名和年齡(9)求年齡大于所有女同學(xué)年齡的男學(xué)生姓名和年齡 SELECT COUNT(DISTINCT 課程號(hào))FROM 學(xué)習(xí)
SELECT AVG(年齡)FROM 學(xué)生 WHERE EXISTS(SELECT * FROM 學(xué)習(xí)WHERE學(xué)生.學(xué)號(hào)=學(xué)習(xí).學(xué)號(hào) AND 課程號(hào)=’C4’)SELECT AVG(成績(jī))FROM 學(xué)習(xí)WHERE GROUP BY 課程號(hào) HAVING 課程號(hào) IN(SELECT 課程號(hào) FROM 課程 WHERE 任課教師 LIKE ‘劉%’)SELECT 課程號(hào),COUNT(*)AS C_COUNT FROM 學(xué)習(xí)HAVING C_COUNT>10 ORDER BY C_COUNT DESC,課程號(hào)
SELECT 姓名 FROM 學(xué)生 WHERE 學(xué)號(hào)>ALL(SELECT 學(xué)號(hào)FROM 學(xué)生WHERE 姓名=’王樂(lè)’)AND 年齡
(2)在基本表“學(xué)生”中查詢每一門課程成績(jī)都大于等于80分的學(xué)生學(xué)號(hào)、姓名和性別,并把查詢到的值送往另一個(gè)已存在的基本表“結(jié)果”(學(xué)號(hào),姓名,性別)中(3)在基本表“學(xué)習(xí)”中刪除尚無(wú)成績(jī)的元組
(4)把王樂(lè)同學(xué)在“學(xué)習(xí)”基本表中的課程和成績(jī)?nèi)縿h除(5)把修讀Java課程不及格的成績(jī)?nèi)臑榭罩担?)把低于總平均成績(jī)的女同學(xué)成績(jī)提高5%(7)在基本表“學(xué)習(xí)”中修改C4課程的成績(jī),若成績(jī)小于等于75分時(shí)提高5%,若成績(jī)大于75分時(shí)提高4%(用兩個(gè)UPDATE語(yǔ)句實(shí)現(xiàn))INSERT INTO 學(xué)生 VALUES(‘S009’,’吳’,18)INSERT INTO 結(jié)果(學(xué)號(hào),姓名,性別)SELECT學(xué)號(hào),姓名,性別 FROM 學(xué)生 WHERE NOT EXISTS(SELECT * FROM 學(xué)習(xí)WHERE 學(xué)生.學(xué)號(hào)=學(xué)習(xí).學(xué)號(hào) AND 成績(jī)<80)DELETE FROM 學(xué)習(xí)WHERE 成績(jī) IS NULL DELETE FROM 學(xué)習(xí)WHERE 學(xué)號(hào) IN(SELECT 學(xué)號(hào) FROM 學(xué)生 WHERE 姓名=’王樂(lè)’)UPDATE 學(xué)習(xí)SET成績(jī)=NULL WHERE 成績(jī)<60 AND 課程號(hào) IN(SELECT 課程號(hào) FROM 課程 WHERE 課程名=’JAVA’)UPDATE 學(xué)習(xí)SET 成績(jī)=成績(jī)*1.05 WHERE 成績(jī)<(SELECT AVG(成績(jī))FROM 學(xué)生)UPDATE 學(xué)習(xí)SET 成績(jī)=成績(jī)*1.04 WHERE 成績(jī)>75 AND 課程號(hào)=’C4’ UPDATE 學(xué)習(xí)SET 成績(jī)=成績(jī)*1.05 WHERE 成績(jī)<=75 AND 課程號(hào)=’C4’