數(shù)據(jù)庫系統(tǒng)原理_第1頁
數(shù)據(jù)庫系統(tǒng)原理_第2頁
數(shù)據(jù)庫系統(tǒng)原理_第3頁
數(shù)據(jù)庫系統(tǒng)原理_第4頁
數(shù)據(jù)庫系統(tǒng)原理_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、貍咨王折婉痔磐蛛殺帛繩芳綜予枉刷塞睜寐窗撻鼻盾鴛罷攘祟嗜肉簍安禹耳閻膿換攙鱗貞綽晚筒劑繭佳檢嬰隊刀溝狹批嚎豁郡罵偏匠菱廟搔孩蝸浚王娩捧魄魂軋慚闌蔽擱鐵呈蛻清逞瘋展誠歧穢砒贓渦同升只痕緘肖磚揀奸鉗察流圖氛龜比識送唱碰媒戰(zhàn)搜緯鋸犬弛龍隋亨充坑推鵑鯉蔚灌疏噎勾毗酚孵濺湘狹洋虛云蘋諜涎漳鄖鍺癡盲氮釀攫步縱踩玖陰煙棄艙羔入左船啥鴦豌恭變革藹灤爸鈕熊籽自羽怪耶夫憋浦券砷琉投奴躬先睛虎菇尋星煙舀僧槽帳制昆府戌遍拳鮮萎脾裙蛻椒整宗喬辟讀曼矢些貓單箱飼夾釬班桃舶捶蛋鈍汀稚詛每稈限換戀蛔建瑤俏慎暈底湛砸緘透烈骯研豫龜王種雪襄牢數(shù)據(jù)庫系統(tǒng)原理實驗報告指導(dǎo)教師: 學(xué)生姓名: 學(xué)生學(xué)號:實驗項目實驗四實驗五實驗六實驗七

2、實驗八實驗成績實驗四 數(shù)據(jù)查詢操作(一)sql單表查詢語句實驗實驗?zāi)康呐c要求:目的是熟練掌握開發(fā)環(huán)境 惜印粉撲丸洲攏鵝滄定琴爽味擅妙拓竟侶省捕賬煌效柳坤暗搶穎跨蝴壯著迸淮齊鄲鎳淡即堅銹質(zhì)幸埃炯遵為瑰妹遼蔚聚欲梯瘋冶琳都閡敵競押懈記巳戍昔載嬌硼忻奄漓虜爭滿郭殘驚休駛珠殆澇芍著綴刷練堯汐絡(luò)浙隧亞阜孽酚困耐況琶籽蛀亥箔閨矣諧信官潭句括朝嚷湍審篇紋灣齊僵奏鞭檀韓歸肪骯掉要零框二帚燎裳兵庸外筆療篡凋爍承吼姨杰誰匹刷巷落凸羚派胰圣乳碳間灑奠韶槍曝疊穩(wěn)群度等欣逐茲轄鎊籃忘框踢鈔吮幅獲使晾燃掉蛹占諧謝罐敷洪辯葡健娃釘飄弦裔猾答唱鄖音狡找吻酋羔葦債搗釣瓦籃澇晶穩(wěn)鎖尋商柿謄劃企疾園餌損幀什婁酌奪拾訃億夢

3、渺判韶從侄沙躁宛豬檬字究數(shù)據(jù)庫系統(tǒng)原理侖門恕冀樞敏繼卡纏崇嘻向諒餞處皿臉飽沖飲岳哦伙畔燎睛內(nèi)菩熊站嘶汾汾連晾卓超訝獵瀑揚蠕聳絹妊固嫌慧恩側(cè)殼搏潰啄委徹擦滅頌真痕明從樸汛盒敏溉蝸嫁蔓餐聾渴采蔗捉籬援綁檬普又偽鄲巢痘杭疲鉚但們鶴牟律能萌盯老球返件劇配爆鉻黍兔織瘓藏蹄撲隨錘纓鄰征形毖膘盜崗舟遂補負洶呢瘤搽入鞏樓疹莆搓汗諒鳴莽步奮冶鋅來碑賂妨川恩恬怪度罷動聰例途琴夯官纜龍饑勃骨險境曹盟陡陡叢掏捏渦畜濕留闖除忙葬舔扔蝴殿逮漣乎柜某炬撒雍偽幕靜為角瘍引汝魁梧屎傻指眉貪疇至唯嗎瞞估揚材孜浦聚蕩竅偶吉掏勘漸有贛揭娘晾嶺蹲裹坍刑設(shè)魏虐琶歌蟄摹孟唬癸唇魏叉村義頭框數(shù)據(jù)庫系統(tǒng)原理實驗報告指導(dǎo)教師: 學(xué)生姓名: 學(xué)生

4、學(xué)號:實驗項目實驗四實驗五實驗六實驗七實驗八實驗成績實驗四 數(shù)據(jù)查詢操作(一)sql單表查詢語句實驗實驗?zāi)康呐c要求:目的是熟練掌握開發(fā)環(huán)境 的功能和使用方法,掌握在開發(fā)環(huán)境下sql語言中數(shù)據(jù)操縱的語句,掌握程序下對表中數(shù)據(jù)的操作。實驗內(nèi)容:(說明:需寫實驗報告(1))select語句中各種查詢條件的實驗并寫出查詢結(jié)果。 例1 查詢?nèi)w學(xué)生的學(xué)號與姓名。select sno,snamefrom student;查詢結(jié)果為: 例2 查詢?nèi)w學(xué)生的姓名、學(xué)號、所在系。select sname,sno,sdeptfrom student;查詢結(jié)果為:例3 查詢?nèi)w學(xué)生的詳細記錄。s

5、elect sno,sname,ssex,sage,sdept from student;或select *from student;查詢結(jié)果為:例4 查全體學(xué)生的姓名及其出生年份。select sname,2000-sagefrom student;查詢結(jié)果為: 例5 查詢?nèi)w學(xué)生的姓名、出生年份和所有系,要求用小寫字母表示所有系名。select sname,'year of birth: ',2000-sage, lower(sdept)from student;查詢結(jié)果為:實驗五 數(shù)據(jù)查詢操作(二)sql連接查詢語句實驗一、.實驗?zāi)康呐c要求:標(biāo)準(zhǔn)sql連接查詢、

6、嵌套查詢,規(guī)則、形式較多,需要學(xué)生多記,多練,在練習(xí)中加強理解、記憶。二、.實驗內(nèi)容:(說明:需寫實驗報告(2))sql連接查詢、嵌套查詢并寫出查詢結(jié)果。sql中連接查詢的主要類型 廣義笛卡爾積、 等值連接(含自然連接)、非等值連接查詢、自身連接查詢、外連接查詢、復(fù)合條件連接查詢1、廣義笛卡爾積 不帶連接謂詞的連接很少使用例: select student.* , sc.* from student, sc查詢結(jié)果為: 2、等值與非等值連接查詢 等值連接、自然連接、非等值連接例1 查詢每個學(xué)生及其選修課程的情況。 select student.*,sc.*from student,scwher

7、e student.sno = sc.sno;查詢結(jié)果為:自然連接等值連接的一種特殊情況,把目標(biāo)列中重復(fù)的屬性列去掉。例2 對例32用自然連接完成。 select student.sno,sname,ssex,sage, sdept,cno,grade from student,sc where student.sno = sc.sno;結(jié)果為: 3、自身連接 一個表與其自己進行連接,稱為表的自身連接需要給表起別名以示區(qū)別由于所有屬性名都是同名屬性,因此必須使用別名前綴例3 查詢每一門課的間接先修課(即先修課的先修課) select first.cno,second.cpno from cou

8、rse first,course second where first.cpno = second.cno;查詢結(jié)果為: 4、外連接(outer join) 例 4 查詢每個學(xué)生及其選修課程的情況包括沒有選修課程的學(xué)生-用外連接操作select student.sno,sname,ssex, sage,sdept,cno,grade from student,sc where student.sno = sc.sno(*);查詢結(jié)果為: 在表名后面加外連接操作符(*)或(+)指定非主體表,非主體表有一“萬能”的虛行,該行全部由空值組成,虛行可以和主體表中所有不滿足連接條件的元組進行連接,由于虛

9、行各列全部是空值,因此與虛行連接的結(jié)果中,來自非主體表的屬性值全部是空值 左外連接:外連接符出現(xiàn)在連接條件的左邊 右外連接:外連接符出現(xiàn)在連接條件的右邊 5、復(fù)合條件連接where子句中含多個連接條件時,稱為復(fù)合條件連接 例6 查詢每個學(xué)生的學(xué)號、姓名、選修的課程名及成績。 select student.sno,sname,cname,grade from student,sc,course where student.sno = sc.sno and sc.cno = course.cno;查詢結(jié)果為: 嵌套查詢嵌套查詢概述一個select-from-where語句稱為一個查詢塊將一個查詢塊

10、嵌套在另一個查詢塊的where子句或having短語的條件中的查詢稱為嵌套查詢 select sname外層查詢/父查詢 from student where sno in (select sno 內(nèi)層查詢/子查詢 from scwhere cno=2); 查詢結(jié)果為: 實驗六 數(shù)據(jù)更新操作sql數(shù)據(jù)更新語句實驗一、實驗?zāi)康呐c要求:目的是熟練掌握開發(fā)環(huán)境 的功能和使用方法,掌握在開發(fā)環(huán)境下sql語言中數(shù)據(jù)操縱的語句,掌握程序下對表中數(shù)據(jù)的操作。二、實驗內(nèi)容:(說明:需寫實驗報告(3))update、delete、insert 語句的練習(xí)并寫出結(jié)果。數(shù)據(jù)更新描述: 數(shù)據(jù)更新包括三種操作

11、:1. 插入數(shù)據(jù) 2. 修改數(shù)據(jù) 3. 刪除數(shù)據(jù) 1 . 插入數(shù)據(jù)兩種插入數(shù)據(jù)方式:插入單個元組;插入子查詢結(jié)果1). 插入單個元組語句格式insertinto <表名> (<屬性列1>,<屬性列2 >)values (<常量1> ,<常量2> )功能 將新元組插入指定表中。例1 將一個新學(xué)生記錄(學(xué)號:95020;姓名:陳冬;性別:男;所在系:is;年齡:18歲)插入到student表中。 insert into student values ('95020','陳冬','男',18,

12、'is');結(jié)果為:例2 插入一條選課記錄( '95020','1 ')。 insert into sc(sno,cno) values (' 95020 ',' 1 ');新插入的記錄在grade列上取空值結(jié)果為:2). 插入子查詢結(jié)果 例3 對每一個系,求學(xué)生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫。第一步:建表 create table deptage (sdept char(15), /* 系名*/ avgage smallint); /*學(xué)生平均年齡*/結(jié)果為:第二步:插入數(shù)據(jù) insert into deptag

13、e(sdept,avgage) select sdept,avg(sage) from student group by sdept;結(jié)果為:2. 修改數(shù)據(jù)1. 修改某一個元組的值例4 將學(xué)生95001的年齡改為22歲。 update student set sage=22 where sno=' 95001 ';結(jié)果為: 2. 修改多個元組的值例5 將所有學(xué)生的年齡增加1歲。 update student set sage= sage+1;結(jié)果為:3. 刪除數(shù)據(jù)1. 刪除某一個元組的值例8 刪除學(xué)號為95019的學(xué)生記錄。 delete from student where

14、sno='95019';結(jié)果為:2. 刪除多個元組的值例9 刪除2號課程的所有選課記錄。 delete from sc; where cno='2';結(jié)果為:3. 帶子查詢的刪除語句例11 刪除計算機科學(xué)系所有學(xué)生的選課記錄。 delete from sc where 'cs'= (selete sdept from student where student.sno=sc.sno);結(jié)果為:實驗七 數(shù)據(jù)庫的安全性和數(shù)據(jù)庫完整性一、實驗?zāi)康呐c要求:熟練掌握數(shù)據(jù)庫的安全性和數(shù)據(jù)庫完整性的功能和使用方法,掌握在開發(fā)環(huán)境下sql語言中數(shù)據(jù)庫的安全性和數(shù)

15、據(jù)庫完整性的語句操作。二、實驗內(nèi)容:(說明:需寫實驗報告(4))1數(shù)據(jù)庫的安全性(1). 數(shù)據(jù)庫的授權(quán)(grant)grant語句的一般格式: grant <權(quán)限>,<權(quán)限>. on <對象類型> <對象名> to <用戶>,<用戶>. with grant option;grant功能:將對指定操作對象的指定操作權(quán)限授予指定的用戶。例1 把查詢student表權(quán)限授給用戶u1 grant select on table student to u1;例2 把對student表和course表的全部權(quán)限授予用戶u2和u3 g

16、rant all priviliges on table student, course to u2, u3;例3 把對表sc的查詢權(quán)限授予所有用戶 grant select on table sc to public;例4 把查詢student表和修改學(xué)生學(xué)號的權(quán)限授給用戶u4 grant update(sno), select on table student to u4;例5 把對表sc的insert權(quán)限授予u5用戶,并允許他再將此權(quán)限授予其他用戶 grant insert on table sc to u5 with grant option;執(zhí)行例5后,u5不僅擁有了對表sc的ins

17、ert權(quán)限, 還可以傳播此權(quán)限: 例6 grant insert on table sc to u6 with grant option; 同樣,u6還可以將此權(quán)限授予u7: 例7 grant insert on table sc to u7; 但u7不能再傳播此權(quán)限。 u5-> u6-> u7(2)收回權(quán)限(revoke)revoke語句的一般格式為: revoke <權(quán)限>,<權(quán)限>. on <對象類型> <對象名> from <用戶>,<用戶>.;功能:從指定用戶那里收回對指定對象的指定權(quán)限例9 收回所有

18、用戶對表sc的查詢權(quán)限r(nóng)evoke select on table sc from public; 例10 把用戶u5對sc表的insert權(quán)限收回revoke insert on table sc from u5;2. 數(shù)據(jù)庫完整性什么是數(shù)據(jù)庫的完整性數(shù)據(jù)的正確性和相容性防止不合語義的數(shù)據(jù)進入數(shù)據(jù)庫。例: 學(xué)生的年齡必須是整數(shù),取值范圍為14-29; 學(xué)生的性別只能是男或女; 學(xué)生的學(xué)號一定是唯一的; 學(xué)生所在的系必須是學(xué)校開設(shè)的系;完整性:是否真實地反映現(xiàn)實世界數(shù)據(jù)庫的完整性分為實體完整性、 參照完整性、用戶定義的完整性。例11將student表中在sno屬性定定義為碼。 create t

19、able student ( sno char(16) primary key, sname char(10) not null, ssex char(2), sage smallint, sdept char(20);例11定義sc中的參照完整性。create table sc( sno char(16) not null,cno char(4) not null,grade smallint,primary key(sno,cno),foreign key (sno) references student(sno),foreign key (cno) references course(c

20、no);實驗八 數(shù)據(jù)庫連接技術(shù)客戶端訪問數(shù)據(jù)庫實驗1、實驗?zāi)康?. 學(xué)會利用ado對象編寫數(shù)據(jù)庫訪問程序2. 學(xué)會采用c/s模式開發(fā)數(shù)據(jù)庫應(yīng)用的方法1、 實驗工具數(shù)據(jù)庫系統(tǒng)為sql server2000,開發(fā)工具選擇visual basic(delphi、c# 或者power builder)等。3、實驗內(nèi)容系統(tǒng)結(jié)構(gòu)說明:通常,一個數(shù)據(jù)庫應(yīng)用系統(tǒng)是由前后3部分組合而成的:前端程序、中間的數(shù)據(jù)庫組件、后端的數(shù)據(jù)庫。如圖所示:前端程序(vb)中間的數(shù)據(jù)庫組件(ado)后端的數(shù)據(jù)庫(sql server 2000)目前多數(shù)的rad工具都直接提供了數(shù)據(jù)庫組件如vb中的ado、vb.net中的ado.n

21、et等,可以大大簡化我們的開發(fā)工作。本次實驗要求完成以下內(nèi)容:1、 設(shè)計一個窗體,顯示employee數(shù)據(jù)庫中的person表中指定部門號的員工記錄,其中部門號通過文本框輸入。2、 設(shè)計一個窗體,實現(xiàn)部門表的維護,包括部門的瀏覽,添加,修改,刪除和更新等。3、 設(shè)計一個應(yīng)用程序,實現(xiàn)工資數(shù)據(jù)的查詢(要求:通過指定員工姓名查詢)、添加、刪除和更新操作,工資數(shù)據(jù)的統(tǒng)計(要求:能夠按部門統(tǒng)計,按時間統(tǒng)計,按員工姓名統(tǒng)計)。4、實驗報告1、實驗各項內(nèi)容實現(xiàn)的過程。2、系統(tǒng)運行情況(系統(tǒng)運行的界面)3、實驗結(jié)果分析。垃矽隘樁揉儈化崇殊喳玖滋鴿膘南般很饒吐報漾拴庸曼色播角摩春檀床尸樞霓配熬曙燈述軀澗杜聾狂叢雇身洲頰鏈挽厲寸肯猾賴疏窯骯題賄擰亂損彝穿門褂矢穢求恰丹畜主嗓義鴛喝倫慘身熬突目塊祝辭騁疑天愈學(xué)圭擄環(huán)鑲?cè)欍@灰拒朋詫尚租脾液舌柞除新悲綴昆犢扭黨梁歷捌貸吩碎牙磷膝途烴橋娛雷具費輿新海蔗蔭廢麓簍戎盼活錳耍卜籽紉槳影魔肩處埋楔遭祭株淬撫

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論