第一篇:數據庫應用基礎實驗報告
電子科技大學計算機學院實驗中心
電 子 科 技 大 學
實
驗
報
告
一、實驗一: 名稱 創建數據庫
二、實驗學時: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后面只能定義與聚合函數有關的條件。可以通過添加子查詢的方式,來實現多條件查詢條件。
第二篇:數據庫基礎與應用實驗報告
《數據庫基礎與應用》實驗報告
實驗名稱 《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、設計“教師教學信息管理系統”主菜單窗體,該系統包括查詢、更新和退出三個功能。當點擊“查詢”按鈕時,進入“查詢”子菜單;點擊“更新”按鈕時,進入“更新”子菜單;當點擊“退出”按鈕時,關閉主菜單“窗體”,返回到數據庫窗口下。
注意:具體的實驗報告內容請參看上機實驗指導書。
第三篇:數據庫應用基礎2011教學大綱
《數據庫應用基礎》課程教學大綱 BasicsofDatabase Application
課程編號:0411018
課程性質:必修 適用專業: 全院各經濟類專業
學時數:64學時(講課:32學時,上機實踐:32學時)
學分:4 執筆人:
尤傳華
審核人: 唐濟波 修訂日期:2011年3月8日
一、課程的性質和目的
《數據庫應用基礎》是經濟類學生重要的一門公共基礎必修課,在計算機信息技術中,它不僅是數據庫入門理論基礎,也是后續學習數據庫管理系統的基礎,更是學生今后結合專業知識在學習和工作中開發數據庫應用系統的基礎。
通過本課程的學習,使學生理解數據庫的基本基礎理論知識,掌握使用Access 2003建立數據庫、創建表、查詢、制作報表、Web訪問頁等操作,掌握開發數據庫應用系統的過程,提高運用Access 2003對數據的綜合管理能力,并通過貫穿于教學過程的課程項目設計,真正提高運用數據庫解決實際問題的能力。
二、課程教學內容和要求
全書共12章。第1章介紹了有關數據庫的基礎知識,第2章介紹Access 2003數據庫特點與功能,第3~9章介紹了Access 2003數據庫的7個對象,第10章通過一個綜合應用實例將第3~9章所建立的各對象有機地聯系起來,構成一個小型的Access數據庫應用系統“教務管理信息系統”,第11章介紹數據庫應用系統開發實例,第12章簡述數據庫的安全問題。
第一章 數據庫基礎(講授2學時)
通過講授數據庫基礎理論知識,使學生掌握數據庫的基本概念,包括:數據庫的基礎知識、數據模型、關系模型、數據庫的體系結構、數據庫規范化。并使學生了解課程研究對象、基本內容、重點及難點、學習方法及注意事項,為后面
共6頁 第1頁
章節的展開做準備。
第二章 Access 2003數據庫概況(2學時,第一周機房中上機課時講授)了解 Access 2003的工作界面、主要特點、新增功能;熟悉Access 2003 的啟動、退出和幫助;掌握Access 2003數據庫的創建和7種基本對象類:表、查詢、窗體、報表、宏、模塊、頁;了解數據庫的壓縮與修復及密碼設置。
第三章、表與關系(講授6學時、上機6學時:包括一次關于表的上機考試)表是存放數據的地方,為應用提供數據源。本章包含如下內容:表的設計與創建、字段的類型及設置;使用表向導創建表、利用設計器創建表、通過輸入數據創建表;表結構的編輯和修改;導入表和鏈接表;字段名、類型、長度和說明,字段的標題,字段的格式,掩碼設置,字段有效性規則、有效性文本和字段的其他屬性設置;主關鍵字和索引(主關鍵字的類型、主鍵的創建和取消,索引的創建和使用);關系的創建及應用(關系的種類、數據結構設計、建立關系、修改、刪除表關系、子數據表的使用、關系的聯接類型等);創建OLE字段(如何在表中建立圖像字段、如何顯示觀看圖像)。
通過多以上內容的講授,使學生熟練掌握表的創建、維護與數據表的基本操作;并熟練掌握表間關系類型及建立方法;掌握數據的導入與導出等基本操作。
注:第四周要求各項目小組提交項目設計的開題報告
第四章 查詢(講授6學時,上機6學時:包括一次關于查詢的上機考試)數據庫的應用必須從表中提取數據,而查詢則是應用的最基本操作,本章包括以下內容:使用“設計視圖”創建查詢、使用“簡單查詢向導”創建查詢、查詢的幾種視圖、查詢的條件及其他、建立帶“計算字段”的查詢、建立分組統計的查詢、建立交互式“帶參數”的查詢、建立自動輸入數據的“自動查閱”查詢、使用“交叉表查詢向導”、使用“查找重復項查詢向導”、使用向導“查找表之間不匹配的記錄”; 操作查詢”的創建,追加查詢、刪除查詢、更新查詢、生成表查詢;SQL查詢的創建,SQL簡介、SQL使用實例;“聯合”查詢的創建;查詢的種類和屬性,查詢的種類、查詢屬性的設置、字段屬性的設置等知識點。
共6頁 第2頁
通過本章內容的講授,使學生掌握數據庫查詢的概念、作用與分類;熟練掌握選擇查詢的創建與使用;熟悉交叉表查詢的創建與使用;掌握操作查詢的創建與使用;了解SQL查詢的概念與建立方法;熟悉查詢的種類和屬性。
注:第七周對各個項目小組進行項目設計進展的第一次檢查
第五章 窗體(講授4學時,上機4學時)
窗體是人機交互操作的重要界面,用戶通過窗體實現對數據的管理和操作。本章著重介紹如下內容:窗體的基礎知識、窗體的種類、窗體的視圖;窗體的創建,使用“自動窗體”新建窗體、使用“窗體向導”新建窗體、使用“設計視圖”新建窗體、使用“圖表向導”創建圖表、使用“數據透視表向導”創建數據透視表;窗體的布局及格式調整,選擇對象、移動對象、調整大小、對齊、間距、外觀、特殊效果、控件的選擇和使用;改變窗體的背景,更換背景樣式、以自選圖片做背景、和取消背景圖片、在“自動套用格式”中添加或刪除自選圖片的方法;窗體高級設計技巧,窗體中的圖片與圖像、控件工具箱的使用、子窗體;使用窗體操縱數據,使用窗體瀏覽/修改記錄、使用窗體添加/刪除記錄以及使用窗體查找與替換數據的方法;數據的篩選,按選定內容篩選、按窗體篩選、輸入篩選目標、高級篩選/排序、篩選用于表、查詢、報表。
通過以上內容的講授使得學生熟悉窗體基本概念;熟練掌握窗體創建與窗體設計過程;掌握窗體控件及其使用方法;熟練掌握三類不同類型窗體的應用;了解窗體實現數據庫應用系統的基本功能。
注:第九周對各個項目小組進行項目設計進展的第二次檢查
第六章 報表(講授2學時,上機2學時:包括關于窗體和報表的上機考試)報表是ACCESS中的一種輸出方式。本章的內容如下:報表的結構;報表的創建,包括:使用自動報表創建報表,使用“報表向導”創建報表,使用“圖表向導”創建圖表,使用“標簽向導”創建標簽,使用“設計視圖”創建報表,使用“設計視圖”修飾現有報表;報表的高級應用,包括:報表的排序,報表的分組,利用函數對報表進行統計匯總,域合計函數的應用;子報表;多列報表;交叉表報表;報表的打印和預覽,包括:頁面設置,預覽報表,打印報表。
共6頁 第3頁
通過本章的講授,使學生掌握報表的創建方法;掌握報表的分組、統計、域合計函數的應用;了解子表、多列報表、交叉報表的應用和掌握報表的打印應用。
第七章 數據訪問頁(講授2學時,上機2學時)
本章內容有:數據訪問頁的創建步驟;數據訪問頁的發布、訪問;實現Access數據庫在Internet上的數據信息傳遞或發布。
通過本章的學習,使學生掌握數據訪問頁基本概念;掌握數據訪問頁基本創建方法;理解發布數據訪問頁、訪問數據訪問頁的方法。
第八章 宏(講授2學時,上機2學時)
在ACCESS中,宏是各個對象之間的紐帶,通過宏把其它對象有機的結合在一起,構成一個統一的整體。本章主要內容有:宏、宏組以及帶條件的宏;宏的創建及編輯;宏的運行與調試;使用宏創建菜單(下拉菜單、熱鍵與分割線、多級下拉菜單)。
通過本章的講授要求學生能夠掌握宏的定義、宏的概念與格式;掌握宏的運行;熟練地使用宏將應用系統集成;掌握利用宏創建菜單。
注:本章內容根據需要可與第六章內容交換講授次序,可使學生及早實現課程設計項目應用系統的集成。
第九章 模塊
由于課時有限本章不講,但不會影響對本課程的學習和知識結構的構成,也不會影響對項目設計的開發和本門課程體系的理解。
第十章 利用宏開發數據庫應用系統(講授2課時,上機2課時)本章討論案例設計的全過程,主要內容是:根據“教務管理系統”案例,分析教務管理系統的主要功能模塊,創建相關數據表,組織相關數據源;教務管理信息系統的設計。包括:系統總體功能設計、系統數據庫設計、系統界面設計、系統菜單設計;系統安全與自啟動窗體的設置,數據庫密碼的設置。
通過本章內容的學習,使學生了解如何使用ACCESS開發數據庫應用系統,共6頁 第4頁
掌握系統設計過程,系統數據庫設計,系統界面設計,系統菜單設計,系統安全設置等。
第十一章 數據庫應用系統開發實例(講授2學時,上機2學時)本章以“教務管理系統”為例,著重介紹如何按照軟件工程的設計思想開發軟件。主要內容如下:介紹軟件開發的一般方法;需求分析、系統設計、系統實現、系統測試及運行;需求分析。將現實問題抽象為概念模型,并將概念模型轉換為數據庫(數據表);系統設計。系統總體設計,數據庫結構設計,界面設計(控制面板和菜單設計),特殊模塊的詳細設計;系統實現。功能模塊的實現(采用宏或宏組命令),自定義菜單,設置自動啟動窗體等。
通過本章的講授和討論,使學生理解應用系統開發的基本思想和主要開發步驟。掌握各個模塊的調試和系統整體聯調,設置數據庫密碼。
注:第十四周要求各個項目小組提交設計結果
第十二章 數據庫的安全(講授2學時,上機2學時)
本章內容包括:數據庫信息資料的安全管理、設置;對數據庫訪問用戶進行權限、口令等設置的編輯操作;對數據庫訪問工作組的創建及權限編輯操作;對數據庫進行加密編輯操作等操作。
通過本章學習使學生了解數據庫用戶密碼的設置;了解工作組的創建及權限;了解編碼數據庫等操作。
注:第十五、十六周隊各個項目小組的設計進行成績評定
三、課程教學環節的安排和基本要求
大學計算機基礎課程不但具有大量的新知識、新理論和新概念,而且具有很強的實踐性。數據庫應用基礎是計算機領域中非常重要的學科,應用性非常突出,實踐性強是該課程的鮮明特點。該課程教學內容的知識點非常明確清晰,知識體系完整,知識框架符合教學規律。在教學過程中要突破傳統的授課方式,配合多種形式的課堂內與課堂外的教學輔助活動,達到比較理想的知識傳授目標。通過各個環節讓學生既學到了理論知識,又鍛煉了動手操作能力。把計算機科學發展
共6頁 第5頁
中的重要人物、事件和新技術發展作為案例穿插到教學過程中,使得計算機科學人文教育得以充分體現,激發和培養學生學習興趣。引入了“基礎知識+項目驅動+過程控制+鼓勵創新”教學模式,采用重點知識點與案例以及課本知識與項目設計相結合的教學方法。主要采取:課堂講授與互動討論結合、講授知識點與案例分析結合、多媒體演示輔助教學過程與項目設計過程控制等措施。
考核方式:平時成績(包括出勤、作業和3次隨堂小考占總評成績20%,項目設計占總評成績的30%)占50%,項目設計成績采用學生答辯,組間評定,組內成員評定與老師評定相結合,期末閉卷考試成績占50%。
四、本課程與其他課程的聯系
本課程是經濟類各專業計算機科學的主要公共基礎必修課程。要求學生先行學習過計算機文化基礎課程,掌握計算機的基本知識和在Windows環境中的基本操作。本課程為經濟類各專業使用數據庫知識結合自己所學專業解決實際問題打下堅實基礎,也為以后繼續學習計算機網絡數據庫和網頁設計打下基礎。
五、建議教材和教學參考書
1、選用教材:數據庫系統及應用,李梓,科學出版社,2009年8月
2、參考書目:
數據庫原理及應用(ACCESS第2版),沈祥玖,高等教育出版社
全國計算機等級考試二級教程—Access數據庫程序設計,高等教育出版社,2004
六、必要的說明
本課程屬于實用性非常強的課程,在教學過程中,用課件演示結合講授,在講授中隨時融入數據庫的最新發展,并且自始至終強調實踐,要求學生必須上機動手操作,本課程上機操作課時的安排占整個課時的二分之一,結合課程案例理解相關知識點,用項目設計驅動教學全過程,最終完成自己的項目設計。
本課程的重點是第一章數據庫基礎、第三章表與關系、第四章查詢、第五章窗體、第八章宏,這幾章是本課程的主線,必須掌握好。
在上機時在Access2003環境中實現。
共6頁 第6頁
第四篇:數據庫實驗報告
數據庫實驗報告
一、題目要求
某銀行準備開發一個銀行業務管理系統,通過調查,得到以下的主要需求:
銀行有多個支行。各個支行位于某個城市,每個支行有唯一的名字。銀行要監控每個支行的資產。銀行的客戶通過其身份證號來標識。銀行存儲每個客戶的姓名及其居住的街道和城市。客戶可以有帳戶,并且可以貸款。客戶可能和某個銀行員工發生聯系,該員工是此客戶的貸款負責人或銀行帳戶負責人。銀行員工也通過身份證號來標識。員工分為部門經理和普通員工,每個部門經理都負責領導其所在部門的員工,并且每個員工只允許在一個部門內工作。每個支行的管理機構存儲每個員工的姓名、電話號碼、家庭地址及其經理的身份證號。銀行還需知道每個員工開始工作的日期,由此日期可以推知員工的雇傭期。銀行提供兩類帳戶——儲蓄帳戶和支票帳戶。帳戶可以由2個或2個以上客戶所共有,一個客戶也可有兩個或兩個以上的帳戶。每個帳戶被賦以唯一的帳戶號。銀行記錄每個帳戶的余額、開戶的支行以及每個帳戶所有者訪問該帳戶的最近日期。另外,每個儲蓄帳戶有其利率,且每個支票帳戶有其透支額。每筆貸款由某個分支機構發放,能被一個或多個客戶所共有。每筆貸款用唯一的貸款號標識。銀行需要知道每筆貸款所貸金額以及逐次支付的情況(銀行將貸款分幾次付給客戶)。雖然貸款號不能唯一標識銀行所有為貸款所付的款項,但可以唯一標識為某貸款所付的款項。對每次的付款需要記錄日期和金額。
二、需求分析
這一部分主要是根據實驗需求對銀行系統需求中的實體、實體屬性以及實體之間的關聯進行確認,以便畫出正確的概念模型。
2.1 實體確認
根據需求分析確認實體:銀行員工、銀行支行、客戶、賬戶(其中:儲蓄賬戶、支票賬戶是繼承實體賬戶而來)、貸款、支付(弱實體)。
2.2 實體屬性確認
銀行員工:身份證號(pi)、姓名、電話號碼、家庭地址、開始工作日期 銀行支行:支行名、資產、城市
客戶:身份證號、姓名、街道、所在城市 賬戶:賬戶號、余額、最近訪問日期 支票賬戶:透支額 儲蓄賬戶:利率 2.3 實體關系確認
賬戶和支行:N:1定義關系為Relationship_accout_bank 客戶和貸款:M:N定義關系為Relationship_client_loan 客戶和員工:M:1 定義關系為 Relation_client_staff 貸款和支行:1:N 定義關系為 Relationship_loan_bank 客戶和賬戶:M:N 定義關系為 client__accout 貸款發放信息和貸款:N:1 定義關系為 Relationship_loan_pay 支行和員工:1:N 定義關系為Relationship_staff_bank
員工和員工:1:N 定義關系為 Relationship_lead
三、概念模型(CDM)
根據sybase power designer畫出概念模型(CDM),如下圖所示:
四、物理模型(PDM)
根據概念模型轉化成物理模型(PDM),如下圖所示:
第五篇:數據庫實驗報告
實驗4SQL高級應用
【實驗目的】
1、掌握在SQL SERVER 2005下進行數據還原的方法。
2、掌握SQL語句的查詢統計功能和數據更改功能。
【實驗內容】
1.還原factory數據庫。
2.在factory數據庫上,完成如下各題。
(1)刪除factory數據庫上各個表之間建立的關系。(2)*顯示各職工的工資記錄和相應的工資小計。
(3)*按性別和部門名的所有組合方式列出相應的平均工資。
(4)在worker表中使用以下語句插入一個職工記錄。職工號:20;姓名:陳立;性別:女;出生日期:55/03/08;黨員否: 1;參加工作:75/10/10;部門號:4。
在depart表中使用以下語句插入一個部門記錄。部門號:5;部門名:設備處。對worker和depart表進行全外連接顯示職工的職工號、姓名和部門名,然后刪除這兩個插入的記錄。
(5)顯示最高工資的職工的職工號、姓名、部門名、工資發放日期和工資。(6)顯示最高工資的職工所在的部門名。
(7)顯示所有平均工資低于全部職工平均工資的職工的職工號和姓名。(8)*采用游標方式實現(6)小題的功能。(9)*采用游標方式實現(7)小題的功能。
(10)*先顯示worker表中的職工人數,開始一個事務,插入一個職工記錄,再顯示worker表中的職工人數,回滾該事務,最后顯示worker表中的職工人數。
【實驗報告要求】
1.第(1)寫出操作步驟。
2.其他各題寫出實現要求的命令/程序,并列出執行結果。
【操作步驟】
1.還原factory數據庫。
2.在factory基礎上,有
(1)刪除factory數據庫上各個表之間建立的關系。
(2)*顯示各職工的工資記錄和相應的工資小計。
Select 職工號,姓名,工資from salary Order by 職工號
Compute sum(工資)by 職工號
(3)*按性別和部門名的所有組合方式列出相應的平均工資。
select worker.職工號,worker.性別,depart.部門名,avg(工資)as'平均工資' from worker inner join depart on worker.部門號=depart.部門號 inner join salary on worker.職工號=salary.職工號
group by worker.職工號,worker.性別,depart.部門名
order by worker.職工號
(4)在worker表中使用以下語句插入一個職工記錄。職工號:20;姓名:陳立;性別:女;出生日期:55/03/08;黨員否: 1;參加工作:75/10/10;部門號:4。
insert into worker values('20','陳立','女','1955-03-08','1','1975-10-10',4)
在depart表中使用以下語句插入一個部門記錄。部門號:5;部門名:設備處。
Insert into depart Values('5','設備處')對worker和depart表進行全外連接顯示職工的職工號、姓名和部門名,然后刪除這兩個插入的記錄。
use factory Select b.部門號,c.姓名
from salary a,departb,worker c delete from worker where 職工號=20 delete from depart where 部門號=5(5)顯示最高工資的職工的職工號、姓名、部門名、工資發放日期和工資。
Use factory Select b.部門名,c.職工號,c.姓名,b.部門名,a.日期,a.工資 from salary a,departb,worker c Where 工資in(select max(a.工資)from salary a)and a.職工號=c.職工號and b.部門號=c.部門號(6)顯示最高工資的職工所在的部門名。
Use factory Select b.部門名from salary a,departb,worker c Where 工資in(select max(a.工資)from salary a)and c.部門號=b.部門號and a.職工號=c.職工號
(7)顯示所有平均工資低于全部職工平均工資的職工的職工號和姓名。
Use factory Select a.職工號,a.姓名,avg(b.工資)as平均工資from worker a,salary b where a.職工號=b.職工號 group by a.職工號,a.姓名
having avg(工資)<(select avg(工資)from salary)