久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

上海應用技術學院實驗報告(數據庫原理及應用)參考

時間:2019-05-12 16:21:37下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《上海應用技術學院實驗報告(數據庫原理及應用)參考》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《上海應用技術學院實驗報告(數據庫原理及應用)參考》。

第一篇:上海應用技術學院實驗報告(數據庫原理及應用)參考

上海應用技術學院

《數據庫原理及應用》課程實驗報告

計算機科學與信息工程系·2007年編制

計算機科學與信息工程系·2007年編制

注:空間不夠,可以增加頁碼。計算機科學與信息工程系·2007年編制

第二篇:數據庫原理及應用實驗報告 6

實驗成績

《數據庫系統原理及應用》

實 驗 報 告 六

專業班級:

計算機科學與技術

號:

201116910233

名:

范曉曈

指導教師:

蘇小玲

2013年

日 實驗六名稱:

SQL Server存儲過程

一、實驗內容及要求

1.使用輸入參數存儲過程的創建和執行

任務1:查詢學生的學號、姓名、選修的課程號、課程名、課程學分,將學生所在系作為輸入參數,默認值為“軟件工程系”。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。

2.修改視圖

任務1:查詢指定系的男生人數,其中系為輸入參數,人數為輸出參數。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。

任務2:查詢指定學生(姓名)在指定學期的選課門數和考試平均成績,要求姓名和學期為輸入參數,選課門數和平均成績用輸出參數返回,平均成績保留到小數點后兩位。

3.使用返回代碼存儲過程的創建和執行

任務1:查詢指定學生(學號)的選課門數。如果指定學生不存在,則返回代碼1;如果指定的學生沒有選課,則返回代碼2;如果指定學生有選課,則返回代碼0,并用輸出參數返回該學生的選課門數。

4.使用實現對數據庫修改、刪除和插入操作的存儲過程創建和執行

任務1:刪除指定學生(學號)的修課,如果指定的學生不存在,則顯示提示信息“沒有指定學生”;如果指定的學生沒有選課,則顯示提示信息“該學生沒有選課”。學號為輸入參數。

任務2:修改指定課程的開課學期。輸入參數為:課程號和修改后的開課學期。

任務3:在course表中插入一行數據,課程號、課程名、學分、開課學期均為輸入參數。課程號為C100、課程名為操作系統、學分為

4、開課學期為4,開課學期的默認值為3。如果學分大于10或者小于1,則不插入數據,并顯示提示信息“學分為1~10之間的整數”。

二、實驗目的

掌握存儲過程的創建和執行;掌握存儲過程中輸入參數和輸出參數的設置和使用方法。

三、實驗步驟及運行結果

1.使用輸入參數存儲過程的創建和執行

任務1:查詢學生的學號、姓名、選修的課程號、課程名、課程學分,將學生所在系作為輸入參數,默認值為“軟件工程系”。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。

create procedure p_studentdept @dept char(20)='計科' as select s.sno,s.sname,c.cno,cname,s.credit from student s inner join sc on s.sno=sc.sno inner join Course c

on c.cno=sc.cno where sdept=@dept

2.修改視圖

任務1:查詢指定系的男生人數,其中系為輸入參數,人數為輸出參數。執行此存儲過程,并分別指定一些不同的輸入參數值,查看執行過程。

create procedure p_numberofBoy @dept char(20),@boynumber int output as select @boynumber=COUNT(*)from Student

where Ssex='男' and sdept=@dept

declare @boynumber int exec p_numberofBoy '計科' ,@boynumber output print @boynumber

declare @boynumber int exec p_numberofBoy '電信' ,@boynumber output print @boynumber

任務2:查詢指定學生(姓名)在指定學期的選課門數和考試平均成績,要求姓名和學期為輸入參數,選課門數和平均成績用輸出參數返回,平均成績保留到小數點后兩位。

create proc p_studentInfo @name char(20),@semester int,@count_xk int output,@avg_sscore float output as select @count_xk=count(c.cno),@avg_sscore=Avg(sscore)from Student s join SC

on s.Sno =SC.Sno join Course c

on SC.Cno =c.Cno where s.Sname=@name and c.Semester =@semester

declare @count_xk int,@avg_grade float,@avg_sscore decimal exec p_studentInfo '范曉曈',2,@count_xk output,@avg_sscore output select @count_xk as 選課門數,@avg_sscore as平均成績

3.使用返回代碼存儲過程的創建和執行

任務1:查詢指定學生(學號)的選課門數。如果指定學生不存在,則返回代碼1;如果指定的學生沒有選課,則返回代碼2;如果指定學生有選課,則返回代碼0,并用輸出參數返回該學生的選課門數。

create proc p_countxk @number decimal,@xk_number decimal output as if not exists(select Sno from Student where Sno=@number)return 1 else if not exists(select Sno from SC where Sno=@number)return 2 else begin select @xk_number=COUNT(sc.cno)from SC where Sno =@number return 0 End

declare @xk_number1 int exec p_countxk 201116910233,@xk_number1 output print @xk_number1

4.使用實現對數據庫修改、刪除和插入操作的存儲過程創建和執行

任務1:刪除指定學生(學號)的修課,如果指定的學生不存在,則顯示提示信息“沒有指定學生”;如果指定的學生沒有選課,則顯示提示信息“該學生沒有選課”。學號為輸入參數。

create proc p_delete @id numeric as if not exists(select * from Student where Sno=@id)return 1 if not exists(select * from SC where SC.Sno=@id)return 2 else return 0

declare @id numeric,@ret int exec @ret=p_delete 201116910232 if @ret =1 print '沒有該學生!' if @ret =2 print '該學生沒有選課!' if @ret =0 delete from SC where Sno=201116910232

declare @id numeric,@ret int exec @ret=p_delete 201116910222 if @ret =1 print '沒有該學生!' if @ret =2 print '該學生沒有選課!' if @ret =0 delete from SC where Sno=201116910222

declare @id numeric,@ret int exec @ret=p_delete 201116910211 if @ret =1 print '沒有該學生!' if @ret =2 print '該學生沒有選課!' if @ret =0 delete from SC where Sno=201116910211

任務2:修改指定課程的開課學期。輸入參數為:課程號和修改后的開課學期。

create proc p_alter @kc char(20),@xq int as update course set semester=@xq where cno=@kc declare @kc char(20),@xq int exec p_alter 'C003',3

修改前:

修改后:

任務3:在course表中插入一行數據,課程號、課程名、學分、開課學期均為輸入參數。課程號為C100、課程名為操作系統、學分為

4、開課學期為4,開課學期的默認值為3。如果學分大于10或者小于1,則不插入數據,并顯示提示信息“學分為1~10之間的整數”。

create proc p_insert @kc_id varchar(20),@kc_name varchar(20),@xf decimal , @xq int as if(@xf >= 1 and @xf <=10)begin insert course(cno,cname,credit,semester)values(@kc_id,@kc_name,@xf,@xq)

end else print

'學分要在1~10之間!!'

declare @kc_id varchar(20),@kc_name varchar(20),@xf decimal,@xq int exec p_insert 'C006','操作系統',3.0,6

declare @kc_id char(20),@kc_name char(20),@xf decimal,@xq int exec p_insert 'C007','毛概',11.0,4

四、實驗心得

在這次實驗中,我明白了,存儲過程只在創造時進行編譯即可,以后每次執行存儲過程都不需再重新編譯,而我們通常使用的SQL語句每執行一次就編譯一次,所以使用存儲過程可提高數據庫執行速度,存儲過程一般用來完成數據查詢和數據處理操作。

無論什么時候執行存儲過程,總要返回一個結果碼,用以指示存儲過程的執行狀態。如果存儲過程執行成功,返回的結果碼是0;如果存儲過程執行失敗,返回的結果碼一般是一個負數,它和失敗的類型有關。我們在創建存儲過程時,也可以定義自己的狀態碼和錯誤信息。

通過這次實驗,讓我深刻了解了數據庫的功能,覺得它功能非常的強大,掌握存儲過程的創建與執行,熟悉存儲過程與批處理的區別。掌握帶參數的存儲過程的創建與執行。

第三篇:數據庫應用基礎實驗報告

電子科技大學計算機學院實驗中心

電 子 科 技 大 學

一、實驗一: 名稱 創建數據庫

二、實驗學時:4

三、實驗內容和目的:

實驗要求學生掌握創建數據庫的方法及相關操作,并且創建一個包含五個表的數據庫STUD:系別代碼表 表名dep,教師表 表名teacher,學生表 表名stud,課程表 表名course,選課表 表名sc。

四、實驗原理:

本實驗主要是“ create table 表名

(列名1 類型1(not)null,列名2 類型2(not)null,……,primary key(列名));”語句的應用,來實現表的建立。同時還可能用到 “drop table 表名”,“alter table 表名 drop column 列名”等語句。

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:SQL Server Management Studio

六、實驗步驟:

具體步驟見實驗指導書。

七、實驗數據及結果分析:

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語句實現數據庫表的創建,一開始就要想好各個表的分配和各種定義的合理性,避免以后大幅度的改動表。

一、實驗二: 名稱 備份和恢復

二、實驗學時:4

三、實驗內容和目的:

向數據庫中添加樣本數據,學習DB2數據庫的恢復和備份。

四、實驗原理:

利用分離與附加實現數據的備份與恢復。用“insert into 表名 values(列名1 類型1(not)null,列名2 類型2(not)null,……)”語句實現向表中添加數據。

電子科技大學計算機學院實驗中心

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:SQL Server Management Studio

六、實驗步驟:

用附加命令載入數據庫,然后在相應新建查詢中用insert語句輸入準備的數據。

七、實驗數據及結果分析:

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','操作系統','6001',3);insert into course values('6003','數據結構',null,3);insert into course values('6004','數據庫原理',null,3);insert into course values('6011','數據庫應用開發',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);

八、實驗結論、心得體會和改進建議:

插入數據要仔細,以免不必要的麻煩。

一、實驗三:

名稱

數據庫的完整性

二、實驗學時:4

三、實驗內容和目的:

通過設置表的檢查約束、外鍵約束體會數據庫完整性的含義,約束條件下數據修改操作的限制,以及實現修改操作的技巧。

四、實驗原理:

用“alter table 表名 add constraint 約束名 check 條件”,“alter table 表名1 add constraint 外鍵名 foreign key(列名)references 表名2(列名)”分別實現檢查約束與設置外鍵約束的功能。以及用“delete from 表名 where 條件”,“update 表名 set 列名=()where 條件”來刪除和修改滿足條件的數據。

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:

電子科技大學計算機學院實驗中心

SQL Server Management Studio

六、實驗步驟:

用附加命令載入數據庫,然后在相應新建查詢中輸入相應代碼。

七、實驗數據及結果分析:

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);

八、實驗結論、心得體會和改進建議:

注意按一定的習慣來書寫約束名和鍵名,以便利于修改和刪除。

一、實驗四: 名稱 數據的修改

二、實驗學時:4

三、實驗內容和目的:

練習UPDATEV、DELETE命令的使用,實現對數據的修改和刪除。

四、實驗原理:

用“delete from 表名 where 條件”,“update 表名 set 列名=()where 條件”來刪除和修改滿足條件的數據。

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:SQL Server Management Studio

六、實驗步驟:

用附加命令載入數據庫,然后在相應新建查詢中輸入相應代碼。

七、實驗數據及結果分析:

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);

八、實驗結論、心得體會和改進建議:

對于要修改和刪除的數據需要注意主外鍵。比如對于要修改被引用外鍵的數據,需要先刪除被引用外鍵的數據,才能順利修改或刪除。

電子科技大學計算機學院實驗中心

一、實驗五: 名稱 簡單查詢、多表查詢

二、實驗學時:4

三、實驗內容和目的:

練習用SELECT查詢語句,設置查詢條件,實現單表查詢。練習使用SELECT語句從多個表中查詢數據,表的內連接、左外連接、右外連接的使用以及設置連接條件,理解連接條件和查詢條件的目的和功能上的區別。

四、實驗原理:

用“select 列名1(as 列名),列名2…… from 表名 where 查詢條件”來實現有條件的簡單查詢。用“select * from 表名1 join 表名2 on 連接條件 having(where)查詢條件”語句來實現多表連接查詢。以及用union,except,intersect來實現查找結果的并、差、交操作。還有用“datediff(year,生日,現在日期)”語句實現年齡的計算。

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:SQL Server Management Studio

六、實驗步驟:

用附加命令載入數據庫,然后在相應新建查詢中輸入相應代碼。

七、實驗數據及結果分析:

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實現查詢結果的并、差、交時,表的列數必須一樣,結果列名顯示前一個表的。查詢時,是根據引用的表及算法得出的一個集合,原來的表沒有任何變化。并且可以用“as 新列名”為查詢結果的列重新命名。多表連接查詢時,因為會有兩行的連接條件,不要用它作查詢條件。還有查詢項可以是引用表的表達式或函數,查詢條件一樣可以。

一、實驗六: 名稱 分組統計查詢

二、實驗學時:4

三、實驗內容和目的:

練習使用聚集函數count(),max(),min(),avg(),sum()等在SQL命令中實現統計功能。使用GROUP BY

電子科技大學計算機學院實驗中心

子句實現分組查詢,以及聚集函數在分組查詢中的應用。體會分組查詢的功能特點。

四、實驗原理:

用“select 列名,聚集函數 from 表名 group by having查詢條件”或“select 列名,聚集函數 from 表名 where 包含‘列名’的的查詢條件”來實現分組查詢。

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:SQL Server Management Studio

六、實驗步驟:

用附加命令載入數據庫,然后在相應新建查詢中輸入相應代碼。

七、實驗數據及結果分析:

select count(*)as '選修數據庫課程的人數' from sc where cid='6003';select sid as '學號',count(cid)as '選課門數' from sc group by sid;select sid as '學號',sum(score)as '總成績' from sc group by sid;select count(sid)as '選修數據庫課且成績分以上人數' from sc where sid in(select sid from sc where cid='6003' and score>=60);select score as '數據庫課最高成績',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 '選課人數' 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);

八、實驗結論、心得體會和改進建議:

分組查詢作為查詢主體時,只能顯現分組列名和聚集函數部分。把他放在條件位置,作為查詢條件集合時,能夠實現多列甚至是多表連接的多列的顯示。另外聚集函數可以不顯示,而作為查

詢條件出現,跟在having后。

一、實驗七: 名稱 集合操作、子查詢

二、實驗學時:4

三、實驗內容和目的:

IN、EXISTS、NOT EXISTS 運算在WHERE子句中的應用;靜態集合和由SELECT命令產生的動態結果集運算。

四、實驗原理:

子查詢即把查詢的結果當做另一個查詢的條件,通過嵌套語句來實現復雜的查詢。因為子查詢的結果很可能是一個集合,需要運用集合之間的運算,比如in、exists、not exists的運用。

五、實驗器材(設備、元器件)

操作系統:Windows 2000/XP 編程環境:SQL Server Management Studio

六、實驗步驟:

用附加命令載入數據庫,然后在相應新建查詢中輸入相應代碼。

七、實驗數據及結果分析:

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');

八、實驗結論、心得體會和改進建議:

對于子查詢是集合的情況,是不能跟在=,>,<>等條件運算符后面的。對于聚集函數本身是查詢結果時,where和having后面只能定義與聚合函數有關的條件。可以通過添加子查詢的方式,來實現多條件查詢條件。

第四篇:河北工業大學數據庫原理及應用實驗實驗報告

《數據庫原理及應用實驗》

姓名:徐毅民學號: 153299

實驗報告

班級:網絡151 實驗1數據庫定義與操作語言實驗

實驗1.4數據更新實驗

1、實驗目的

熟悉數據庫的數據更新操作,能夠使用SQL語句對數據庫進行數據的插入、刪除、修改操作。

2、實驗內容和要求

針對TPC-H數據庫設計數據單元組插入、批量數據插入、修改數據和刪除數據等SQL語句。理解和掌握INSERTT、UPDATE、和DELETE語法結構的各個組成成分,結合嵌套SQL子查詢,分別設計幾種不同形式的插入、修改和刪除數據的語句,并調試成功。

3、實驗重點和難點

實驗重點:插入、修改和刪除數據的SQL 實驗難點:與嵌套SQL子查詢相結合的插入、修改和刪除數據的SQL語句;利用一個表的數據來插入、修改和刪除另一個表的數據。

4、實驗報告示例

(1)INSERT基本語句(插入全部列的數據)插入一條顧客記錄,要求每列都給一個合理的值。

INSERT INTO Customer VALUES(30,'張三','北京市',40,'010-51001199',0.00,'Northeast','VIP Customer');(2)INSERT基本語句(插入部分列的數據)插入一條訂單記錄,給出必要的幾個字段值。

INSERT INTO Lineitem(orderkey,Linenumber,partkey,suppkey,quantity,shipdate)VALUES(862,ROUND(RANDOM()*100,0,479,1,10,'2012-3-6');/*RANDOM()函數為隨機小數生成函數,ROUND()為四舍五入函數*/(3)批量數據INSERT語句

① 創建一個新的顧客表,把所有中國籍顧客插入到新的顧客表中。

INSERT INTO NewCustomer/*批量插入SELECT 語句查詢結果到NewCustomer表中*/ SELECT C.* FROM Costomer C,Nation N WHERE C.nationkey=N.nationkey AND N.name='中國';②創建一個顧客購物統計表,記錄每個顧客及其購物總數和總價等信息。

CREATE TABLE ShoppingStat(custkey INTEGER, quantity REAL, totalprice REAL);INSERT INTO ShoppingStat SELECT C.custkey,Sum(L.quantity),Sum(O.totalprice)FROM Customer C,Order O,Lineitem L WHERE C.custkey=O.custkey AND O.orderkey=L.orderkey GROUP BY C.custkey ③倍增零件表的數據,多次重復執行,直到總記錄數達到50萬為止。

INSERT INTO Part SELECT partkey+(SELECT COUNT(*)FROM Part), name,mfgr,brand,type,size,container,retailprice,comment FROM Part;(4)UPDATE語句(插入部分記錄的部分列值)

“金倉集團”供應的所有零件的供應成本價下降10%。

UPDATE PartSupp SET supplycost=supplycost*0.9 WHERE suppkey=(SELECT suppkey

FROM Supplier WHERE name='金倉集團');(5)UPDATE語句(利用一個表中的數據修改另外一個表中的數據)

利用Part表中的零售價格來修改

Lineitem

中的extendedprice,其中

/*找出要修改的那些記錄*/

/*對分組后的數據求總和*/ extendedprice=Part.retailprice*quantity。

UPDATE Lineitem L SET L.extendedprice=P.retailprice*L.quantity FROM Part P WHERE L.partkey=P.partkey;/*Lineitem表也可以直接與Part表相連接,而不需通過PartSupp連接*/(6)DELETE基本語句(刪除給定條件的所有記錄)

刪除顧客張三的所有訂單記錄。

DELECT FROM Lineitem WHERE orderkey IN(SELECT orderkey

FROM Order O,Customer C

WHERE O.custkey=C.custkey AND C.name='張三');DELECT FROM Order WHERE custkey=(SELECT custkey FROM Customer WHERE name='張三');實驗1.5 視圖實驗

1、實驗目的

熟悉SQL語言有關視圖的操作,能夠熟練使用SQL語句來創建需要的視圖,定義數據庫外模式,并能使用所創建的視圖實現數據管理。

2、實驗內容和要求

針對給定的數據庫模式,以及相應的應用需求,創建視圖和帶WITH CHECK OPTION的視圖,并驗證視圖WITH CHECK OPTION選項的有效性。理解和掌握視圖消除執行原理,掌握可更新視圖和不可更新視圖的區別。

3、實驗重點和難點 實驗重點:創建視圖。

實驗難點:可更新的視圖和不可更新的視圖之區別,WITH CHECK OPTION的驗證。

4、實驗報告示例

(1)創建視圖(省略視圖列名)

創建一個“海大汽配”供應商供應的零件視圖V_DLMU_PartSupp1,要求列出供應零件的編號、零件名稱、可用數量、零售價格、供應價格和備注等信息。

CREATE VIEW V_DLMU_PARTSUPP1 AS /*由SELECT子句目標列組成視圖屬性*/

/*再刪除張三的訂單記錄*/

/*先刪除張三的訂單明細記錄*/ SELECT P.partkey,P.name,PS.availqty,P.retailprice,PS.supplycost,P.comment FROM Part P,PartSupp PS,Supplier S WHERE P.partkey=PS.partkey AND S.suppkey=PS.suppkey AND S.name='海大汽配';(2)創建視圖(不能省略列名的情況)

創建一個視圖V_CustAvgOrder,按顧客統計平均每個訂單的購買金額和零件數量,要求輸出 顧客編號、姓名,平均購買金額和平均購買零件數量。

CREATE VIEW V_CustAvgOrder(custkey,cname,avgprice,avgquantity)AS SELECT C.custkey,MAX(C.name),AVG(O.totalprice),AVG(L.quantity)FROM Customer C,Orders O,Lineitem L WHERE C.custkey=O.custkey AND L.orderkey=O.orderkey GROUP BY C.custkey;(3)創建視圖(WITH CHECK OPTION)

使用WITH CHECK OPTION,創建一個“海大汽配”供應商供應的零件視圖V_DLMU_PartSupp2,要求列出供應零件的編號、可用數量和供應價格等信息。然后通過該視圖分別增加、刪除和修改一條“海大汽配”零件供應記錄,驗證WITH CHECK OPTION是否起作用。

CREATE VIEW V_DLMU_PartSupp2 AS SELECT partkey,suppkey,availqty,supplycost FROM PartSupp WHERE suppkey=(SELECT suppkey FROM Supplier WHERE name='海大汽配')WITH CHECK OPTION;INSERT INTO V_DLMU_PartSupp2 VALUES(58889,5048,704,77760);UPADTE V_DLMU_PartSupp2 SET supplycost=12 WHERE suppkey=58889;DELETE FROM V_DLMU_PartSupp2 WHERE suppkey=58889;(4)可更新的視圖(行列子集視圖)

使用WITH CHECK OPTION,創建一個“海大汽配”供應商供應的零件視圖V_DLMU_PartSupp4,要求列出供應零件的編號、可用數量和供應價格等信息。然后通過該視圖分別增加、刪除和修改一條“海大汽配”零件供應記錄,驗證該視圖是否是可更新的,并比較上述“(3)創建視圖”實驗任務與本任務結果有何異同。

CREATE VIEW V_DLMU_PartSupp3 AS

SELECT partkey,suppkey,availqty,supplycost FROM PartSupp WHERE suppkey=(SELECT suppkey FROM Supplier WHERE name='海大汽配');

INSERT INTO V_DLUM_PartSupp3 VALUES(58889,5048,704,77760);

UPDATE V_DLMU_PartSupp3 SET supplycost=12 WHERE suppkey=58889;

DELETE FROM V_DLMU_PartSupp3 WHERE suppkey=58889;(5)可更新的視圖

INSERT INTO V_CustAvgOrder VALUES(100000,NULL,20,2000);(6)刪除視圖(RESTRICT/CASCADE)

創建顧客訂購零件明細視圖V_CustOrd,要求列出顧客編號、姓名、購買零件數、金額,然后在該視圖的基礎上,在創建(2)的視圖V_CustAvgOrder,然后使用RESTRICT選項和CASCADE選項刪除視圖V_CustOrd。

CREATE VIEW V_CustOrd(custkey,cname,qty,extprice)AS SELECT C.custkey,C.name,L.quantity,L.extendedprice FROM Customer C,Order O,Lineitem L WHERE C.custkey=O.custkey AND O.orderkey=L.orderkey;

CREATE VIEW V_CustAvgOrder(custkey,cname,avgqty,avgprice)AS SELECT custkey,MAX(cname),AVG(qty),AVG(extprice)FROM V_CustOrd GROUP BY custkey;

DROP VIEW V_CustOrd RESTRICT;

DROP VIEW V_CustOrd CASCADE;實驗1.6 索引實驗

1、實驗目的

掌握索引設計原則和技巧,能夠創建合適的索引以提高數據庫查詢、統計分析效率。

2、實驗內容和要求

針對給定的數據庫模式和具體應用要求,創建唯一索引、函數索引、復合索引等;修改索引;刪除索引。設計相應的SQL查詢驗證索引有效性。學習利用EXPLAIN命令分析SQL查詢是否使用了所創建的索引,并能夠分析其原因,執行SQL查詢并估算索引提高查詢效率的百分比。要求實驗數據集達到10萬條記錄以上的數據量,以便驗證索引效果。

3、實驗重點和難點 實驗重點:創建索引。

實驗難點:設計SQL查詢驗證索引有效性。

4、實驗報告示例

/*在視圖V_CustOrd上再創建視圖*/(1)創建唯一索引

在零件表的零件名稱字段上創建唯一索引。

CREATE UNIQUE INDEX Idx_part_nameON Part(name);(3)創建復合索引(對兩個及兩個以上的屬性創建索引,稱為復合索引)

在零件表的制造商和品牌兩個字段上創建一個復合索引。

CREATE UNIQUE INDEX Idx_part_mfgr_brand ON Part(mfgr,brand);(4)修改索引名稱

修改零件表的名稱字段上的索引名。

ALTER INDEX Idx_part_name_hash RENAME TO Idx_part_name_hash_new;(5)*驗證索引效率

創建一個函數TestIndex,自動計算sql查詢執行的時間。

CREATE FUNCTION TestIndex(p_part_name CHAR(55))RETURN INTEGER AS /*自定義函數TestIndex():輸入參數為零件名稱,返回SQL查詢的執行時間*/ DECLARE begintime TIMESTAMP;endtime TIMESTAMP;durationtime INTEGER;BEGN SELECT CLOCK_TIMESTAMP()INTO begintime;/*記錄查詢執行的開始時間*/ PERFORM *FROM Part WHERE name=p_partname;/*執行SQL查詢,不保存查詢結果*/ SELECT CLOCK_TIMESTAMP()INTO endtime;SELECT DATEDIFF(?ms?,begintime,endtime)INTO durationtime;

RETURN durationtime;

END;/*查看當零件表Part數據模型比較小,并且無索引時的執行時間*/ SELECT TestIndex(?零件名稱?);

INSERT INTO Part

/*不斷倍增零件表的數據,直到50萬條記錄*/

/*計算并返回查詢執行時間,時間單位為毫秒ms*/ SELECT partkey+(SELECT COUNT(*)FROM Part), Name,mfgr,brand,type,size,container,retailprice,comment FRPM Part;/*查看當零件表Part數據模型比較大,但無索引時的執行時間*/ SELECT TestIndex(?零件名稱?);

CREATE INDEX part_name ON Part(name);索引*/ /*查看零件表Part數據規模比較大,有索引時的執行時間*/ SELECT TestIndex();

/*在零件表的零件名稱字段上創建

實驗2 安全性語言實驗

實驗2.1

自主存取控制實驗

1、實驗目的

掌握自主存取控制缺陷的定義和維護方法。

2、實驗內容和要求

定義用戶、角色,分配權限給用戶、角色,回收權限,以相應的用戶名登錄數據庫驗證權限分配是否正確。選擇一個應用場景,使用自主存取控制機制設置權限分配。可以采用兩種方案。

方案一:采用SYSTEM超級用戶登錄數據庫,完成所有權限分配工作,然后用相應用戶名登錄數據庫已驗證權限分配正確性;

方案二:采用SYSTEM用戶登錄數據庫創建3個部門經理用戶,并分配相應的權限,然后分別用3個經理用戶名登錄數據庫,創建相應部門的USER、ROLE,并分配相應權限。

下面的實驗報告示例采用了實驗方案一。驗證權限分配之前,請備份好數據庫,針對不同的用戶所具有的權限,分別設計相應的SQL語句加以驗證。

3、實驗重點和難點

實驗重點:定義角色,分配權限和回收權限。實驗難點:實驗方案二實現權限的再分配和回收。

4、實驗報告示例(1)創建用戶 為采購、銷售和客戶管理等3個部門的經理創建用戶標識,要求具有創建用戶或角色的○權利。

CREATE USER David WITH CREATEROLE PASSWORD '123456';CREATE USER Tom WITH CREATEROLE PASSWORD '123456';CREATE USER Kathy WITH CREATEROLE PASSWORD '123456';2為采購、銷售和客戶管理等3個部門的職員創建用戶標識和用戶口令。○CREATE USER Jeffery WITH PASSWORD '123456';CREATE USER Jane WITH PASSWORD '123456';CREATE USER Mike WITH PASSWORD '123456';(2)創建角色并分配權限

1為各個部門分別創建一個查詢角色,并分配相應的查詢權限。○CREATE ROLE PurchaseQueryRole;GRANT SELECT ON Part TO PurchaseQueryRole;GRANT SELECT ON Supplier TO PurchaseQueryRole;GRANT SELECT ON PartSupp TO PurchaseQueryRole;

CREATE ROLE SaleQueryRole;GRANT SELECT ON Order TO SaleQueryRole;GRANT SELECT ON Lineitem TO SaleQueryRole;

CREATE ROLE CustomerQueryRole;GRANT SELECT ON Customer TO CustomerQueryRole;GRANT SELECT ON Nation TO CustomerQueryRole;GRANT SELECT ON Region TO CustomerQueryRole;2為各個部門分別創建一個職員角色,對本部門信息具有查看、插入權限。○CREATE ROLE PurchaseEmployeeRole;GRANT SELECT,INSERT ON Part TO PurchaseEmployeeRole;GRANT SELECT,INSERT ON Supplier TO PurchaseEmployeeRole;GRANT SELECT,INSERT ON TABLE PartSupp TO PurchaseEmployeeRole;

CREATE ROLE SaleEmployeeRole;GRANT SELECT,INSERT ON Order TO SaleEmployeeRole;GRANT SELECT,INSERT ON Lineitem TO SaleEmployeeRole;

CREATE ROLE CustomerEmployeeRole;GRANT SELECT,INSERT ON Customer TO CustomerEmployeeRole;GRANT SELECT,INSERT ON Nation TO CustomerEmployeeRole;GRANT SELECT,INSERT ON Region TO CustomerEmployeeRole;3為各個部門創建一個經理角色,相應角色對本部門的信息具有完全控制權限,對其他部門○的信息具有查詢權。經理有權給本部門資源分配權限。

CREATE ROLE PurchaseManagerRole WITH CREATEROLE; GRANT ALL ON Part TO PurchaseManagerRole; GRANT ALL ON Supplier TO PurchaseManagerRole; GRANT ALL ON PartSupp TO PurchaseManagerRole; GRANT SaleQueryRole TO PurchaseManagerRole; GRANT CustomerQueryRole TO PurchaseManagerRole;

CREATE ROLE SaleManagerRole WITH CREATEROLE; GRANT ALL ON Order TO SaleManagerRole GRANT ALL ON Lineitem TO SaleManagerRole GRANT SaleQueryRole TO SaleManagerRole GRANT PurchaseQueryRole TO SaleManagerRole

CREATE ROLE CustomerManagerRole WITH CREATEROLE; GRANT ALL ON Customer TO CustomerManagerRole GRANT ALL ON Nation TO CustomerManagerRole GRANT ALL ON Region TO CustomerManagerRole GRANT SaleQueryRole TO CustomerManagerRole GRANT PurchaseQueryRole TO CustomerManagerRole(3)給用戶分配權限 1給部門經理分配權限。○GRANT PurchaseManagerRole TO David WITH ADMIN OPTION;GRANT SaleManagerRole TO Tom WITH ADMIN OPTION;GRANT CustomerManagerRole TO Kathy WITH ADMIN OPTION;2給各部門職員分配權限 ○GRANT PurchaseEmployeeRole TO Jeffery;GRANT SaleEmployeeRole TO Jane;GRANT CustomerEmployeeRole TO Mike;(4)回收角色或用戶權限

1收回客戶經理角色的銷售信息查看權限。○REVOKE SaleQueryRole FROM CustomerManagerRole;2回收MIKE的客戶部門職員權限。○REVOKE CustomerEmployeeRole FROM Mike;(5)驗證權限分配正確性

1以David用戶名登錄數據庫,驗證采購部門經理的權限 ○SELECT * FROM Part;DELETE * FROM Order;2回收MIKE的客戶部門職員權限 ○SELECT * FROM Customer;SELECT * FROM Part;實驗2.2

審計實驗

1、實驗目的

掌握數據庫審計的設置和管理方法,以便監控數據庫操作,維護數據庫安全。

2、實驗內容和要求

打開數據庫審計開關。以具有審計權限的用戶登錄數據庫,設置審計權限,然后以普通用戶登錄數據庫,執行相應的數據操縱sql語句,驗證相應審計設置是否生效,最后在一具有審計權限的用戶登錄數據庫,查看是否存在相應的審計信息。

3、實驗重點和難點

實驗重點:數據庫對象級審計,數據庫語句級審計。

實驗難點:合理地設置各種審計信息。一方面,為了保護系統重要的敏感數據,需要系統地設置各種審計信息,不能留有各種漏洞,以便隨時監督系統使用情況,一旦出現問題也便于追查;另一方面,審計信息設置過多會嚴重影響數據庫的使用性能,因此需要合理配置。

4、實驗報告示例(1)審計開關

1顯示當前審計開關狀態 ○SHOW AUDIT_TRAIL;2打開審計開關 ○SET AUDIT_TRAIL TO ON;(2)數據庫操作審計

1對客戶信息表上的刪除操作設置審計。○AUDIT DELETE ON Sales.Customer BY ACCESS;2以普通用戶登錄,執行sql語句。○DELETE Sales.Customer WHERE custkey=1011;3查看數據庫對象審計信息,驗證審計設置是否生效。○SELECT * FROM SYS_AUDIT_OBJECT;(3)語句級審計

1對表定義的更改語句ALTER設置審計 ○AUDIT ALTER TABLE BY ACCESS;2查看所有數據庫所有語句級審計設置,驗證審計設置是否生效 ○SELECT * FROM SYS_STMT_AUDIT_OPTS;3以普通用戶登錄,執行sql語句,驗證審計設置是否生效 ○ALTER TABLE Customer ADD COLUMN tt INT;4查看所有審計信息 ○SELECT * FROM SYS_AUDIT_TRAIL;

四、實驗心得

通過本次實驗,知道了定義用戶、角色,分配權限給用戶、角色,回收權限,并以相應的用戶名登陸數據庫驗證權限分配是否正確的方法。并且知道了數據庫審計的目的和方法。做實驗的同時,對sql語句有了更熟練的運用。

實驗3 完整性語言實驗

實驗3.1 實體完整性實驗

1、實驗目的

掌握實體完整性的定義和維護方法。

2、實驗內容和要求

定義實體完整性,刪除實體完整性。能夠寫出兩種方式定義實體完整性的SQL語句:創建表時定義實體完整性、創建表后定義實體完整性。設計SQL語句驗證完整性約束是否起作用。

3、實驗重點和難點

實驗重點:創建表時定義實體完整性。實驗難點:有多個候選碼時實體完整性的定義。

4、實驗報告示例

(1)創建表時定義實體完整性(列級實體完整性)

定義供應商表的實體完整性。CREATE TABLE Supplier(suppkey INTEGER CONSTRAINT c1 PRIMARY KEY,name CHAR(25),address VARCHAR(40),nationkey INTEGER,phone CHAR(15),acctbal REAL, comment VARCHAR(101));(2)創建表時定義實體完整性(表級實體完整性)

CREATE TABLE Supplier(suppkey INTEGER,name CHAR(25),address VARCHAR(40),nationkey INTEGER,phone CHAR(15),acctbal REAL,comment VARCHAR(101),CONSTRAINT c1 PRIMARY KEY(suppkey));(3)創建表后定義實體完整性 定義供應商表。

CREATE TABLE Supplier(suppkey INTEGER,name CHAR(25),address VARCHAR(40),nationkey INTEGER,phone CHAR(15),acctbal REAL,comment VARCHAR(101));ALTER TABLE Supplier ADD CONSTRAINT c1 PRIMARY KEY(suppkey);(4)定義實體完整性(主碼由多個屬性組成)定義供應關系表的實體完整性。

CREATE TABLE PartSupp(partkey INTEGER,suppkey INTEGER,availqty INTEGER,supplycost REAL,comment VARCHAR(199),PRIMARY KEY(partkey,suppkey));(5)有多個候選碼時定義實體完整性

定義國家表的實體完整性,其中nationkey和name都是候選碼,選擇nationkey作為主碼,name上定義唯一性約束。

CREATE TABLE nation(nationey INTEGER CONSTRAINT c1 PRIMARY KEY,name CHAR(25)UNIQUE,regionkey INTEGER,comment VARCHAR(152));(6)刪除實體完整性

刪除國家實體的主碼。

ALTER TABLE nation DROP CONSTRAINT c1;

(7)增加兩條相同記錄,驗證實體完整性是否起作用

/*插入兩條主碼相同的記錄就會違反實體完整性約束*/ INSERT INTO Supplier(suppkey,name,address,nationkey,phone,acctbal,comment)VALUES(11,?test1?,?test1?,?101?,?12345678?,0.0,?test1?);INSERT INTO Supplier(suppkey,name,address,nationkey,phone,acctbal,comment)

VALUES(11,?test2?,?test2?,?102?,?12345?,0.0,?test2?);5.思考題

(1)所有列級完整性約束都可以改寫成表級完整性約束,而表級完整性約束不一定能改寫成列級完整性約束。請舉例說明。

答:當主碼由多個屬性組成時,只能定義表級完整性約束。(2)什么情況下會違反實體完整性約束,DBMS將做何種違約處理?

答:1.主碼值不唯一 2.主碼的各個屬性有空。

違約處理:拒絕執行、級聯執行等操作。

實驗3.2 參照完整性實驗

1、實驗目的

掌握參照完整性的定義和維護方法。

2、實驗內容和要求

定義參照完整性,定義參照完整性的違約處理,刪除參照完整性。寫出兩種方式定義參照完整性的SQL語句:創建表時定義參照完整性、創建表后定義參照完整性。

3、實驗重點和難點

實驗重點:創建表時定義參照完整性。實驗難點:參照完整性的違約處理定義。

4、實驗報告示例

(1)創建表時定義參照完整性

先定義地區表的實體完整性,再定義國家表的參照完整性。

CREATE TABLE region(regionkey INTEGER PRIMARY KEY,name CHAR(25),comment VARCHAR(152));

CREATE TABLE nation(nationkey INTEGER PTIMARY KEY,name CHAR(25),regionkey INTEGER REFERENCES region(regionkey), /*列級參照完整性*/

comment VARCHAR(152));

或者:

CREATE TABLE nation(nationkey INTEGER PTIMARY KEY,name CHAR(25),regionkey INTEGER,comment VARCHAR(152),CONSTRAINT c1 FOREIGN KEY(regionkey)REFERENCES region(regionkey));

/*表級參照完整性*/(2)創建表后定義參照完整性

定義國家表的參照完整性。

CREATE TABLE nation(nationkey INTEGER PTIMARY KEY,name CHAR(25),regionkey INTEGER,comment VARCHAR(152));ALTER TABLE nation ADD CONSTRAINT c1 FOREIGN KEY(regionkey)REFERENCES region(regionkey);(3)定義參照完整性(外碼由多個屬性組成)定義訂單項目表的參照完整性。

CREATE TABLE PartSupp(partkey INTEGER,suppkey INTEGER,availqty INTEGER,supplycost REAL,comment VARCHAR(199),PRIMARY KEY(partkey,suppkey));CREATE TABLE Lineitem(orderkey INTEGER REFERENCES Orders(orderkey),partkey INTEGER REFERENCES Part(partkey),suppkey INTEGER REFERENCES Supplier(suppkey),linenumber INTEGER,quantity REAL,PRIMARY KEY(orderkey,linenumber),FOREIGN KEY(partkey,suppkey)REFERENCES PartSupp(partkey,suppkey));(4)定義參照完整性的違約處理

定義國家表的參照完整性,當刪除或修改被參照表記錄時,設置參照表中相應記錄的值為空。

CREATE TABLE nation(nationkey INTEGER PRIMARY KEY,name CHAR(25),regionkey INTEGER,comment VARCHAR(152), CONSTRAINT c1 FOREIGN KEY(regionkey)REFERENCES Region(regionkey)ON DELETE SET NULL ON UPDATE SET NULL);(5)刪除參照完整性 刪除國家表的外碼。ALTER TABLE nation DROP CONSTRING c1;(6)插入一條國家記錄,驗證參照完整性是否起作用

/*插入一條國家記錄,如果‘1001’號地區記錄不存在,違反參照完整性約束*/ INSERT INTO nation(nationkey,name,regionkey,comment)VALUES(1001,?nation1?,1001,?comment1?);

實驗3.3用戶自定義完整性實驗

1、實驗目的

掌握用戶自定義完整性的定義和維護方法。

2、實驗內容和要求

針對具體應用語義,選擇NULL/NOT NULL、DEFAULT、UNIQUE、CHECK等,定義屬性上的約束條件。

3、實驗重點和難點

實驗重點:NULL/NOT NULL、DEFAULT。實驗難點:CHECK。

4、實驗報告示例

(1)定義屬性NULL/NOT NULL約束 定義地區表各屬性的NULL/NOT NULL屬性。CREATE TABLE region(regionkey INTEGER NOT NULL PRIMARY KEY,name CHAR(25)NOT NULL,comment VARCHAR(152)NULL);(2)定義屬性DEFAULT約束

定義國家表的regionkey的缺省屬性值為0值,表示其他地區。

CREATE TABLE nation(nationkey INTEGER PRIMARY KEY, name CHAR(25),regionkey INTEGER DEFAULT 0, comment VARCHAR(152), CONSTRAINT c1 FOREIGN KEY(regionkey)REFERENCES Region(region));(3)定義屬性UNIQUE約束

定義國家表的名稱屬性必須唯一的完整性約束。CREATE TABLE nation(nationkey INTEGER PRIMARY KEY, name CHAR(25)UNIQUE, regionkey INTEGER, comment VARCHAR(152));(4)使用CHECK 使用CHECK定義訂單項目表中某些屬性應該滿足的約束。CREATE TABLE Lineitem(orderkey INTEGER REFERENCES Orders(orderkey), partkey INTEGER REFERENCES Part(partkey), suppkey INTEGER REFERENCES Supplier(suppkey),linenumber INTEGER, quantity REAL, extendedprice REAL, discount REAL, tax REAL, returnflag CHAR(1), linestatus CHAR(1), shipdate DATE, commitdate DATE,receiptdate DATE, shipinstruct CHAR(25), shipmode CHAR(10), comment VARCHAR(44),PRIMARY KEY(orderkey,linenumber), FOREIGN KEY(partkey,suppkey)REFERENCES PartSupp(partkey,suppkey), CHECK(shipdate < receiptdate),/*裝運日期<簽收日期*/ CHECK(returnflag IN('A','R','N')));/*退貨標記為A或R或N*/(5)修改Lineitem的一條記錄驗證是否違反CHECK約束

UPDATE sales.Lineitem

SET shipdate='2015-01-05',receiptdate='2015-01-01' WHERE orderkey=5005 AND linenumber=1;

第五篇:數據庫基礎與應用實驗報告

《數據庫基礎與應用》實驗報告

實驗名稱 《ACCESS 之 窗體的操作》

一、實驗目的:

1、掌握使用“窗體向導” 創建基于一個表或查詢的“窗體”的方法。

2、掌握使用“窗體向導”創建“數據透視表窗體”的方法。

3、掌握使用“窗體向導”創建“圖表窗體”的方法。

4、掌握“自動創建窗體:縱欄式”和“自動創建窗體:表格式”的方法。

5、掌握用“圖表向導”和“數據透視表向導”創建窗體的方法。

6、掌握在窗體中輸入和編輯數據的方法。

7、掌握窗體美化的方法和常用控件的使用。

8、掌握同時創建“主/子窗體”的方法。

二、實驗要求:

1、閱讀主教材中與本實驗有關的知識以及本實驗的內容和操作步驟。

2、任選一種方法在計算機上創建“窗體”。

3、任選一種方法在計算機上創建“主/子窗體”。

4、用“設計視圖”創建一個主菜單窗體。

5、設置窗體外觀(包括字體、背景、聲音和添加控件等)。

6、對于有余力的同學,可以在計算機上用多種方法創建和設計“窗體”,并進行分析比較。

注意:此實驗不需要書寫實驗報告,只需上機實際操作練習。

三、實驗內容:

1、以 “教師情況一覽表”為數據源,創建縱欄式“教師情況一覽表窗體1”,并在該窗體中添加一條記錄。

2、以“教師情況一覽表”為數據源,創建表格式“教師情況一覽表窗體2”。

3、以“教師任課表”為數據源,使用“窗體向導”創建“教師任課表窗體1”,并將窗體布局設為“數據表”,窗體樣式設為“國際”。

4、以“教師任課表”為數據源,使用“圖表向導”創建“教師任課表拼圖”,并用“拼圖”方式顯示各系開課情況。

5、以“教師任課表”為數據源,使用“數據透視表向導”創建“各系教師任課數據透視表”,要求能統計每個系每個教師任課總學時數。

6、創建帶有子窗體的窗體,其中主窗體以“教師情況一覽表”為數據源,用于顯示教師情況(顯示“教師姓名”、“性別”、“職稱”和“系(部門)ID”字段),子窗體包含在主窗體中,用于顯示相應的教師任課情況(顯

示“課程名稱”、“學時”和“考試類型”字段);使用主窗體上的“記錄定位器”可以在不同教師記錄之間移動,此時子窗體中的教師任課情況隨之發生變化。

7、設計“教師教學信息管理系統”主菜單窗體,該系統包括查詢、更新和退出三個功能。當點擊“查詢”按鈕時,進入“查詢”子菜單;點擊“更新”按鈕時,進入“更新”子菜單;當點擊“退出”按鈕時,關閉主菜單“窗體”,返回到數據庫窗口下。

注意:具體的實驗報告內容請參看上機實驗指導書。

下載上海應用技術學院實驗報告(數據庫原理及應用)參考word格式文檔
下載上海應用技術學院實驗報告(數據庫原理及應用)參考.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    數據庫原理及應用實驗教學指導書

    《數據庫原理及應用》實驗 本實驗與《數據庫原理及應用》課程相配套,適用于本校地理信息系統專業本科學生。 實驗目的: 數據庫系統及應用實驗是本課程教學環節中的重要一環。......

    數據庫原理實驗報告

    南 京 曉 莊 學 院 《數據庫原理與應用》 課程實驗報告 實驗一 SQL Server 2005常用服務與實用工具實驗 所在院(系): 數學與信息技術學院 班級: 學號: 姓名: 1.實驗目的 (1......

    數據庫原理實驗報告

    南 京 曉 莊 學 院 《數據庫原理與應用》 課程實驗報告 實驗二 數據庫的創建、管理、備份及還原實驗 所在院(系): 數學與信息技術學院 班級: 學號: 姓名: 1.實驗目的......

    《單片機原理及應用》實驗報告(含五篇)

    實驗一:單片機開發裝置使用方法 (小2號,加粗) 一、 實驗目的(3號,加粗) 內容(楷體,4號,不加粗) 字符和數字用Times new Roman 二、實驗內容 三、實驗步驟 四、實驗結果 五、實驗分析 六......

    上海應用技術學院安全工程實習

    上海應用技術學院 學生專用紙 消防實習報告 姓名:XXXXX 專業:安全工程 學號:XXXXXXXXX 1 上海應用技術學院 學生專用紙 目錄 1.實習時間 ........................................

    上海應用技術學院[五篇范例]

    上海應用技術學院 深入學習實踐科學發展觀活動 簡報第 63 期 學習實踐活動領導小組辦公室2009年9月11日學校召開深入學習實踐科學發展觀活動 領導小組(擴大)會議 校領導要求高......

    2012-11-2《數據庫技術應用》實驗報告題目

    《數據庫技術應用》實驗報告題目-2012.31. 以自己學號姓名為名稱建立一個本班部分學生的學生管理數據庫: “xxxxxxxxxxxxxxXXX學生信息庫.mdb”; 2. 在此庫中建立4個實際信息......

    Access數據庫對象綜合應用 實驗報告

    實驗報告課程名稱:《計算機軟件基礎》 實驗類型:設計型(驗證型、創新型、綜合型、設計型) 實驗項目名稱:Access數據庫對象綜合應用學生姓名:專業: 教育技術學學號: 指導老師: 實驗地......

主站蜘蛛池模板: 日韩免费无码人妻波多野| 亚洲精品一区久久久久久| 国产suv精品一区二区33| 草色噜噜噜av在线观看香蕉| 久久精品中文字幕免费| 野狼av午夜福利在线| 19禁无遮挡啪啪无码网站性色| 亚洲免费观看在线美女视频| 精品人妻无码一区二区色欲产成人| 国产片av片永久免费观看| 亚洲熟妇无码另类久久久| 国产亚洲精品无码不卡| 国产女主播高潮在线播放| 精品亚洲aⅴ在线观看| 久久精品国产清高在天天线| 国产爆乳美女娇喘呻吟| 亚洲av无码精品色午夜果冻不卡| 四虎永久在线精品免费无码| 国产精品无码一区二区在线看| 久久国产精品一国产精品金尊| 正在播放东北夫妻内射| 久久大香萑太香蕉av| 1区2区3区高清视频| 国产成人综合久久精品免费| 色偷偷尼玛图亚洲综合| 久久国产福利国产秒拍飘飘网| 在线精品亚洲一区二区| 天天摸天天摸色综合舒服网| 97国产超碰一区二区三区| 国产欧美精品一区二区三区四区| 亚洲精品成人久久久| 好爽毛片一区二区三区四| 少妇富婆高级按摩出水高潮| 97视频在线精品国自产拍| 99精品国产在热久久无毒| 国产xxxx做受视频| 亚洲人成电影综合网站色www| 亚洲欧美综合精品成人导航| 国内精品久久久久影院网站| 48沈阳熟女高潮嗷嗷叫| 天天综合色天天综合色h|