數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)(一)——數(shù)據(jù)庫(kù)基本操作.doc_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)(一)——數(shù)據(jù)庫(kù)基本操作.doc_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)(一)——數(shù)據(jù)庫(kù)基本操作.doc_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)(一)——數(shù)據(jù)庫(kù)基本操作.doc_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)(一)——數(shù)據(jù)庫(kù)基本操作.doc_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

合肥師范學(xué)院 實(shí)驗(yàn)報(bào)告冊(cè) 2013 / 2014 學(xué)年 第2 學(xué)期系 別 計(jì)算機(jī)科學(xué)與技術(shù)系實(shí)驗(yàn)課程 數(shù)據(jù)庫(kù)原理專 業(yè) 計(jì)算機(jī)軟件班 級(jí) 軟件一班姓 名 羅曉薇學(xué) 號(hào) 1211431015指導(dǎo)教師 潘潔珠實(shí)驗(yàn)名稱課時(shí)實(shí)驗(yàn)報(bào)告成績(jī)實(shí)驗(yàn)(一)數(shù)據(jù)庫(kù)基本操作2實(shí)驗(yàn)(二)SQL語(yǔ)句6實(shí)驗(yàn)(三)數(shù)據(jù)庫(kù)完整性與安全性實(shí)驗(yàn)4實(shí)驗(yàn)(四)數(shù)據(jù)庫(kù)編程4備注:數(shù)據(jù)庫(kù)原理實(shí)驗(yàn) 班級(jí): 學(xué)號(hào): 姓名: 實(shí)驗(yàn)一 數(shù)據(jù)庫(kù)基本操作一、 實(shí)驗(yàn)?zāi)康?. 熟悉MS SQL SERVER運(yùn)行界面,掌握服務(wù)器的基本操作。2. 掌握界面操作方法完成用戶數(shù)據(jù)庫(kù)建立、備份和還原。3. 建立兩個(gè)實(shí)驗(yàn)用的數(shù)據(jù)庫(kù),使用企業(yè)管理器和查詢分析器對(duì)數(shù)據(jù)庫(kù)和表進(jìn)行基本操作。二、 實(shí)驗(yàn)預(yù)習(xí)內(nèi)容在認(rèn)真閱讀教材及實(shí)驗(yàn)指導(dǎo)書(shū)的基礎(chǔ)上,上機(jī)前請(qǐng)預(yù)習(xí)以下內(nèi)容,并在空白處填寫(xiě)相應(yīng)的步驟或命令。1. 熟悉SQL SERVER 2000 的運(yùn)行環(huán)境,練習(xí)服務(wù)器基本操作:打開(kāi)、停止、關(guān)閉。2. 使用SQL SERVER 2000 中的企業(yè)管理器完成以下任務(wù)。數(shù)據(jù)庫(kù)名稱:STC表:STU(sno char(9), sname varchar(50), ssex char(2) , sage int, sdept char(2) ); COUTSES( cno char(3), cname varchar(50), cpno char(3), credit int ); SC(sno char(9), cno char(3), grade int );說(shuō)明:以上為表結(jié)構(gòu),以sno char(9)為例,說(shuō)明sno屬性設(shè)置為字符類型,寬度為9,int指整型數(shù)據(jù)。 1) 建立數(shù)據(jù)庫(kù)STC,分別建立以上三張表,并完成數(shù)據(jù)錄入。(表結(jié)構(gòu)及數(shù)據(jù)參見(jiàn)教材)2) 分析并建立各表的主碼,用下劃線在上面表結(jié)構(gòu)中標(biāo)出主碼。3) 建立各表之間的關(guān)聯(lián),請(qǐng)簡(jiǎn)述操作步驟。 答:1)2) 3) 4) 參考實(shí)驗(yàn)指導(dǎo)書(shū)的【第5章 數(shù)據(jù)庫(kù)的備份和還原】,使用企業(yè)管理器對(duì)數(shù)據(jù)庫(kù)STC進(jìn)行備份,并嘗試在個(gè)人電腦與機(jī)房電腦上進(jìn)行還原,請(qǐng)簡(jiǎn)述備份、還原操作的步驟。答:備份:右擊STC數(shù)據(jù)庫(kù)出現(xiàn)菜單,點(diǎn)擊任務(wù),選擇還原操作,出現(xiàn)對(duì)話框后,輸入備份名稱backstc,在目標(biāo)中選擇添加,選擇備份數(shù)據(jù)庫(kù)所在位置,再點(diǎn)擊確定即可備份。還原:右擊數(shù)據(jù)庫(kù),在所有任務(wù)中選擇還原數(shù)據(jù)庫(kù),再新的對(duì)話框內(nèi)輸入所要還原數(shù)據(jù)庫(kù)的名稱,再選擇從設(shè)備還原,按添加鍵,選擇備份所在磁盤(pán),選中備份,點(diǎn)擊確定還原數(shù)據(jù)庫(kù)。3. 在SQL SERVER 2000 的查詢分析器中使用SQL語(yǔ)言完成以下任務(wù)。參考實(shí)驗(yàn)指導(dǎo)書(shū)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)指導(dǎo)教程【實(shí)驗(yàn)1.1 數(shù)據(jù)定義】,建立數(shù)據(jù)庫(kù)SCHOOL,分別建立students、teachers、courses、choices四張表,表結(jié)構(gòu)見(jiàn)實(shí)驗(yàn)指導(dǎo)書(shū)P236 【附錄A】。1) 用SQL語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)、建表。建表時(shí)為各表建立關(guān)鍵字、設(shè)置外碼,數(shù)據(jù)暫不錄入,請(qǐng)寫(xiě)出對(duì)應(yīng)的SQL命令。創(chuàng)建數(shù)據(jù)庫(kù)Create database stc;Create table students (sid char(10) unique primary key,Sname char(30) not null,Email char(30),Grade int,);創(chuàng)建教師表Create table teachers(tid char(10) unique primary key,Tname char(30) not null,Email char(30),Salary int,);創(chuàng)建課程表Create table courses(cid char(10) unique primary key,Cname char(30) not null,Hour int,);創(chuàng)建選課表Create table choices(no char(10) unique primary key,Sid char(10) not null,Tid char(10),Cid char(10),Score int,Foreign key (sid) references students(sid),Foreign key (tid) references teachers(tid),Foreign key (cid) references courses(cid),);2) 為students表、courses建立按主鍵増序排列的索引,請(qǐng)寫(xiě)出相應(yīng)的SQL命令。Create index stusno on students (sno asc);Create index coucno on courses (cno asc);3) 刪除course上的索引,請(qǐng)寫(xiě)出相應(yīng)的SQL命令。 Drop index coucno;4) 在SCHOOL數(shù)據(jù)庫(kù)中的students表中增加一個(gè)“出生日期”字段,類型為日期時(shí)間型,請(qǐng)寫(xiě)出對(duì)應(yīng)的SQL命令。Alter table students add 出生日期 date;5) 刪除students中的“出生日期”字段,請(qǐng)寫(xiě)出對(duì)應(yīng)的SQL命令。Alter table students drop column 出生日期;6) 刪除SCHOOL數(shù)據(jù)庫(kù)中的students表,請(qǐng)寫(xiě)出對(duì)應(yīng)的SQL命令。Drop table students cascade;4. 使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)SCHOOL,實(shí)現(xiàn)內(nèi)容與實(shí)驗(yàn)預(yù)習(xí)內(nèi)容3完全相同。5. 使用企業(yè)管理器,將SCHOOL數(shù)據(jù)庫(kù)分離出MS SQL SERVER,請(qǐng)簡(jiǎn)述步驟。答:選中需要分離的數(shù)據(jù)庫(kù)右擊,所有任務(wù)菜單里有選項(xiàng)分離數(shù)據(jù)庫(kù),直接選擇確定.6. 使用企業(yè)管理器,使用【數(shù)據(jù)庫(kù)/所有任務(wù)/附加數(shù)據(jù)庫(kù)】將SCHOOL數(shù)據(jù)庫(kù)添加進(jìn)SQL SERVER,并查看數(shù)據(jù)。 圖 7. 使用查詢分析器,刪除數(shù)據(jù)庫(kù)STC,請(qǐng)寫(xiě)出對(duì)應(yīng)的SQL命令。Delete database stc;8. 結(jié)束本次實(shí)驗(yàn)三、 實(shí)驗(yàn)課后訓(xùn)練1. 使用企業(yè)管理器練習(xí)數(shù)據(jù)的導(dǎo)入導(dǎo)出。1) 將SCHOOL數(shù)據(jù)庫(kù)students表中的數(shù)據(jù)導(dǎo)出到STC數(shù)據(jù)庫(kù)對(duì)應(yīng)的stu表中;2) 向STC數(shù)據(jù)庫(kù)courses表導(dǎo)入SCHOOL數(shù)據(jù)庫(kù)courses表中的數(shù)據(jù);3) 自行練習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)【實(shí)驗(yàn)5.3 SQL SERVER數(shù)據(jù)庫(kù)的導(dǎo)入與導(dǎo)出】部分;2. 自行練習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)【實(shí)驗(yàn)1.1數(shù)據(jù)定義】部分。答:1.1) 2) 實(shí)驗(yàn)報(bào)告1. 簡(jiǎn)述本次實(shí)驗(yàn)所用到的SQL命令及其功能。 答:1.創(chuàng)建數(shù)據(jù)庫(kù)create database 2.創(chuàng)建基本表 create table ( 列級(jí)完整性約束) 3.建立表的索引create index on ( 次序) 4.修改基本表alter table add 完整性約束 5.刪除索引drop index 6.刪除表中某一屬性alter table drop column 7.刪除表drop table 8.刪除數(shù)據(jù)庫(kù)delete database 2. 在MS SQL SERVER中數(shù)據(jù)庫(kù)的“分離|添加”與“備份|還原”是相同的功能嗎? 答:數(shù)據(jù)庫(kù)的備份是數(shù)據(jù)庫(kù)結(jié)構(gòu),對(duì)象和數(shù)據(jù)的副本,使得數(shù)據(jù)庫(kù)系統(tǒng)發(fā)生事故時(shí)能還原和恢復(fù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。實(shí)現(xiàn)快速的移動(dòng)數(shù)據(jù)庫(kù)。將數(shù)據(jù)庫(kù)的附加的逆過(guò)程,就是把完整地?cái)?shù)據(jù)庫(kù)文件和日志文件從服務(wù)器上分離下來(lái),分離后的數(shù)據(jù)庫(kù)文件在拷貝和移動(dòng)后可以附加在其他的計(jì)算機(jī)上,附加是分離的逆過(guò)程。 3. 實(shí)驗(yàn)總結(jié)(實(shí)驗(yàn)過(guò)程中出現(xiàn)的問(wèn)題、解決方法、結(jié)果如何或其它) 答:?jiǎn)栴}:在附加數(shù)據(jù)庫(kù)時(shí)數(shù)據(jù)不是sql server能用的數(shù)據(jù)頭,沒(méi)有認(rèn)清字符型的概念,即字符出生日期應(yīng)輸入出生日期。刪除數(shù)據(jù)庫(kù)時(shí)應(yīng)用delete語(yǔ)句,而不是drop語(yǔ)句,當(dāng)導(dǎo)入數(shù)據(jù)時(shí),要注意兩個(gè)對(duì)話框的用處不同。 解決方法:兩個(gè)對(duì)話框一個(gè)是需導(dǎo)入的數(shù)據(jù)庫(kù),另一個(gè)是從哪兒導(dǎo)入數(shù)據(jù)庫(kù),和是否是在需導(dǎo)入的數(shù)據(jù)庫(kù)還是在要導(dǎo)出的數(shù)據(jù)庫(kù)庫(kù)中操作無(wú)關(guān)。實(shí)驗(yàn)二SQL語(yǔ)句一、 實(shí)驗(yàn)?zāi)康?. 熟悉SQL的數(shù)據(jù)查詢語(yǔ)言,能使用SQL進(jìn)行單表查詢、連接查詢、嵌套查詢、集合查詢和統(tǒng)計(jì)查詢,能理解空值的處理;2. 熟悉數(shù)據(jù)庫(kù)的數(shù)據(jù)更新操作,能使用SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的插入、更新、刪除操作;3. 熟悉SQL支持的有關(guān)視圖的操作,能創(chuàng)建、查詢及取消視圖;4. 了解NULL在數(shù)據(jù)庫(kù)中的特殊含義,掌握使用SQL進(jìn)行與空值相關(guān)的操作;二、 實(shí)驗(yàn)預(yù)習(xí)內(nèi)容在認(rèn)真閱讀教材及實(shí)驗(yàn)指導(dǎo)書(shū)【實(shí)驗(yàn)1.2 數(shù)據(jù)查詢】、【實(shí)驗(yàn)1.3 數(shù)據(jù)更新】、【實(shí)驗(yàn)1.4 視圖】和【實(shí)驗(yàn)1.6 空值和空集的處理】的基礎(chǔ)上,上機(jī)前請(qǐng)預(yù)習(xí)以下內(nèi)容,并在空白處填寫(xiě)相應(yīng)的步驟或命令。1. 使用SCHOOL數(shù)據(jù)庫(kù),在SQL SERVER 2000 的查詢分析器中使用SQL語(yǔ)言完成以下操作。請(qǐng)?jiān)诳瞻滋幪顚?xiě)相應(yīng)的SQL命令。1) 查詢年級(jí)為2001的所有學(xué)生的名稱,按編號(hào)升序排列; select sname from students where grade=2001 order by sid asc2) 查詢所有課程名稱中含有data的課程編號(hào); select cid from courses where cname like %data%3) 統(tǒng)計(jì)所有老師的平均工資; select avg(salary) from teachers4) 查詢至少選了3門(mén)課的學(xué)生編號(hào); select sid from choices group by sid having count(*)=3;5) 查詢學(xué)號(hào)為80009026的學(xué)生的姓名、所選課名及成績(jī); select choices.sname,cname,score from students,choices,courses where choices.cid=courses.cid and choices.sid=students.sid and sid=800090266) 查詢沒(méi)有學(xué)生選的課程編號(hào); select courses.cid from choices,courses where choices.cid=courses.cid and sid is null;7) 查詢既選了C+又選了Java課程的學(xué)生編號(hào); select sid from choices,courses where courses.cid=choices.cid and ame=c+ and sid in (select sid from choices,courses where courses.cid=choices.cid and cname=java)8) 查詢選了C+但沒(méi)選Java課程的學(xué)生編號(hào); select sid from choices,courses where courses.cid=choices.cid and cname=c+ and sid not in (select sid from choices,courses where choices.cid=courses.cid and cname=java) 9) 向STUDENTS表中插入“LiMing”的個(gè)人信息(編號(hào):700045678,名字:LiMing,Email:LX,年級(jí):1992); select sid from choices,courses where courses.cid=choices.cid and cname=c+ and sid not in (select sid from choices,courses where choices.cid=courses.cid and cname=java) 10) 將“LiMing”的年級(jí)改為2002; update students set grade=2002 where sname=liming11) 刪除所有選了Java課程的學(xué)生選課記錄; delete from choices where java=(select cname from courses where courses.cid=choices.cid)12) 求出每門(mén)課的課程號(hào)、選課人數(shù),結(jié)果存入數(shù)據(jù)庫(kù)表T1中。 create table t1 (cid char(10) primary key,rs int) insert into t1 select cid,count(sid) from choices group by cidi. 查詢所有選課記錄的成績(jī)并換算為五分制(注意NULL的情況); select score,score/20 from choices 13) 查詢成績(jī)小于0的選課記錄,統(tǒng)計(jì)總數(shù)、平均分、最大值和最小值(注意查詢結(jié)果中NULL的情況); select count(*),avg(score),max(score),min(score) from choices where score0 14) 按成績(jī)順序排序顯示CHOICES表中所有記錄。(使用ORDER BY排序,注意NULL的情況); select * from choices order by score asc15) 創(chuàng)建視圖V1,顯示學(xué)生姓名、所選課名稱、任課教師名; create view v1 (sname,cname,tname) as select students.sname,ame,teachers.tname from choices,students,teachers,courses where choices.tid=teachers.tid and choices.cid=courses.cid and choices.sid=students.sid16) 取消V1視圖; drop view v12. 使用STC數(shù)據(jù)庫(kù),在SQL SERVER 2000 的查詢分析器中使用SQL語(yǔ)言完成以下操作。請(qǐng)?jiān)诳瞻滋幪顚?xiě)相應(yīng)的SQL命令或其它內(nèi)容。1) 創(chuàng)建視圖V2,顯示計(jì)算機(jī)(CS)系學(xué)生信息;(結(jié)合下面的b)小題,V2視圖創(chuàng)建2次,分別使用/不使用WITH CHECK OPTION選項(xiàng))(1)不加WITH CHECK OPTION(2)加WITH CHECK OPTIONCreate view v2(sno,sname,ssex,sage,sdept) as select * from stu where sdept=csCreate view v2(sno,sname,ssex,sage,sdept) as select * from stu where sdept=csWith check option2) 插入元組(99999,張三,20歲,男,PH)到V2中,運(yùn)行結(jié)果如何?(觀察WITH CHECK OPTION對(duì)結(jié)果的影響);(1)不加WITH CHECK OPTION的結(jié)果(2)加WITH CHECK OPTION的結(jié)果Insert into v2 values(99999,張三,男,20,ph)Insert into v2 values(99999,張三,男,20,ph)with check option違反了PRIMARY KEY 約束 PK_STU_76CBA758。3) 在V2基礎(chǔ)上,查詢所有計(jì)算機(jī)系女生信息; select * from view v2 where ssex= 女3. 結(jié)束本次實(shí)驗(yàn)三、 實(shí)驗(yàn)課后訓(xùn)練1. 掌握SQL SERVER中流控制語(yǔ)句及其它常用編程語(yǔ)句;1) 使用查詢分析器,編寫(xiě)代碼,輸出乘法口訣表。2. 自行練習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)P24【實(shí)驗(yàn)1.2 數(shù)據(jù)查詢】1.2.5自我實(shí)踐部分;3. 自行練習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)P30【實(shí)驗(yàn)1.3 數(shù)據(jù)更新】1.3.5自我實(shí)踐部分;4. 自行練習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)P36【實(shí)驗(yàn)1.4 視圖】1.4.5自我實(shí)踐部分;5. 自行練習(xí)實(shí)驗(yàn)指導(dǎo)書(shū)P49【實(shí)驗(yàn)1.6 空值和空集的處理】1.6.5自我實(shí)踐部分; 答:1.Select * from courses2. select sid from choices3. Select cid from courses where hour88 實(shí)驗(yàn)報(bào)告1SQL SERVER中變量聲明的命令是什么?輸出命令是什么? 答:變量聲明的命令:declare 變量名 類型,局部變量的聲明命令為declare ;而全局變量的聲明命令,必須以標(biāo)記符開(kāi)頭。輸出命令:print局部變量或字符串;select 局部變量as 自定義列名 2.SQL SERVER中實(shí)現(xiàn)分支和循環(huán)的語(yǔ)句分別是什么? 答:實(shí)現(xiàn)分支語(yǔ)句: if-else語(yǔ)句和case-end語(yǔ)句;if-else語(yǔ)句屬于分支結(jié)構(gòu),它與C編程語(yǔ)句的if語(yǔ)句類似,也是根據(jù)條件是否成立來(lái)確定程序的執(zhí)行方向。語(yǔ)法:If(條件) 語(yǔ)句或語(yǔ)句塊Elsecase-end語(yǔ)句計(jì)算一組條件表達(dá)式,并返回其中一個(gè)符合條件的結(jié)果。語(yǔ)法:Case When條件1 then結(jié)果1 When條件2 then結(jié)果2 else 其他結(jié)果EndCase語(yǔ)句表達(dá)結(jié)果“條件1”成立,則執(zhí)行“結(jié)果1”,其余類推。如果when的條件都不匹配,則執(zhí)行else后面的結(jié)果。Else可以省略。如果省略else并且when的條件表達(dá)式的結(jié)果都不為T(mén)RUE,則case-end語(yǔ)句返回null實(shí)現(xiàn)循環(huán)的語(yǔ)句:while循環(huán)語(yǔ)句:while循環(huán)語(yǔ)句可以根據(jù)某些條件重復(fù)執(zhí)行一條SQL語(yǔ)句或一個(gè)語(yǔ)句塊。通過(guò)使用while關(guān)鍵字,可以確保只要制定的條件為T(mén)RUE,就會(huì)重復(fù)執(zhí)行語(yǔ)句,直至指定條件為FALSE為止:語(yǔ)法:While(條件) Begin 語(yǔ)句或語(yǔ)句塊 break| continue End3.在SQL SERVER里使用ORDER BY排序時(shí),NULL值如何處理?使用GROUP BY分組時(shí),NULL值又如何處理的? 答:使用ORDER BY排序,此時(shí)null值往前排,null被看做最小值處理。 使用GROUP BY排序,此時(shí)取null的看做一組,是同一個(gè)值。4.實(shí)驗(yàn)總結(jié)(實(shí)驗(yàn)過(guò)程中出現(xiàn)的問(wèn)題、解決方法、結(jié)果如何或其它) 問(wèn)題:1.進(jìn)行聯(lián)接操作時(shí),連接條件,及各表同屬性分不大清。 2.對(duì)多個(gè)條件,多張表的查詢,聯(lián)接時(shí)連接條件的先后順序總是弄錯(cuò)。 3.對(duì)兩個(gè)條件選其一的情況,不是很能掌握。 4.當(dāng)查詢具有某一特征的復(fù)雜的元組的信息時(shí)只會(huì)最基礎(chǔ)的按條件來(lái),不靈活。 解決辦法:先將要查的信息及其有關(guān)的表列出來(lái),再考慮他們之間的關(guān)系,先做什么后做什么理清楚,兩個(gè)情況選一種滿足可以用in或其他形式表示,與運(yùn)算用union,分類可以用group by或者h(yuǎn)aving語(yǔ)句來(lái)表示條件。 結(jié)果:很有效,不過(guò)在通常在查詢中需要做聯(lián)接運(yùn)算的列名沒(méi)有加表名前綴,導(dǎo)致查詢沒(méi)有意義。實(shí)驗(yàn)三數(shù)據(jù)庫(kù)完整性與安全性一、 實(shí)驗(yàn)?zāi)康?. 理解實(shí)體完整性、參照完整性、用戶自定義完整性的概念,學(xué)習(xí)三類完整性的實(shí)現(xiàn),了解違反完整性的結(jié)果;2. 掌握MS SQL SERVER中的有關(guān)用戶登錄認(rèn)證及管理方法,熟練使用自主存取控制進(jìn)行權(quán)限管理;二、 實(shí)驗(yàn)預(yù)習(xí)內(nèi)容在認(rèn)真閱讀教材及實(shí)驗(yàn)指導(dǎo)書(shū)【2.1 實(shí)體完整性】、【2.2 參照完整性】、【2.3 用戶自定義完整性】、【2.4 觸發(fā)器】、【2.5 綜合案例】和【3.1 用戶標(biāo)識(shí)與鑒別】、【3.2 自主存取控制】、【3.3 視圖機(jī)制在自主存取控制上的應(yīng)用】、【3.4 Public角色在安全性中的應(yīng)用】、【3.8 綜合案例】的基礎(chǔ)上,上機(jī)前請(qǐng)預(yù)習(xí)以下內(nèi)容,并在空白處填寫(xiě)相應(yīng)的步驟或命令。1. 使用SCHOOL數(shù)據(jù)庫(kù)1) 創(chuàng)建一張新表CLASS,包括Class_id(varchar(4),Name(varchar(10),Department(varchar(20)三個(gè)屬性列,其中Class_id為主碼; 2) 執(zhí)行兩次相同的插入操作(0001,01csc,cs),結(jié)果如何;2. 使用SQL命令創(chuàng)建一張學(xué)生互助表,要求:包括學(xué)生編號(hào)、學(xué)生姓名、學(xué)生幫助對(duì)象的編號(hào),每個(gè)學(xué)生有且僅有一個(gè)幫助對(duì)象,幫助的對(duì)象必須是已存在的學(xué)生。3. 使用STC數(shù)據(jù)庫(kù),修改設(shè)置,完成以下2種不同的要求,請(qǐng)寫(xiě)出對(duì)應(yīng)的語(yǔ)句或簡(jiǎn)述操作過(guò)程:1) 當(dāng)更新、刪除STU表中記錄時(shí),若SC表中有此學(xué)生的記錄,則拒絕;2) 當(dāng)更新、刪除STU表中記錄時(shí),若SC表中有此學(xué)生的記錄,則自動(dòng)更新或刪除;4. 使用SQL命令完成以下任務(wù):1) 創(chuàng)建Worker表(表結(jié)構(gòu)見(jiàn)指導(dǎo)書(shū)P73)2) 定義約束U1、U2,其中U1規(guī)定Name字段取值唯一,U2規(guī)定sage字段上限是28;3) 插入一條合法記錄;4) 插入一條違反U2約束的記錄,簡(jiǎn)述觀察到的結(jié)果如何?并分析原因;5) 去除U1約束;6) 修改約束U2,令sage的值大于等于0;7) 創(chuàng)建規(guī)則rule_sex,規(guī)定更新或插入的值只能是M或F,并綁定到Worker的sex字段;8) 插入2條記錄,一條滿足規(guī)則rule_sex,一條違反規(guī)則,觀察結(jié)果。5. 使用查詢分析器創(chuàng)建觸發(fā)器并測(cè)試,請(qǐng)寫(xiě)出相應(yīng)的語(yǔ)句:1) 為Worker表創(chuàng)建觸發(fā)器T1,當(dāng)插入或更新表中數(shù)據(jù)時(shí),保證所操作記錄的sage大于0;2) 為Worker表創(chuàng)建觸發(fā)器T2,禁止刪除編號(hào)為00001的記錄;3) 為Worker表創(chuàng)建觸發(fā)器T3,要求更新一個(gè)記錄時(shí),表中記錄的sage要比老記錄的sage的值大。6. 分別用企業(yè)管理器和查詢分析器實(shí)現(xiàn)用戶的標(biāo)識(shí)并測(cè)試,請(qǐng)寫(xiě)出相應(yīng)的操作過(guò)程或?qū)?yīng)的語(yǔ)句:1) 設(shè)置SQL SERVER的安全認(rèn)證模式;2) 建立名為“LiYong”的登錄用戶、數(shù)據(jù)庫(kù)用戶,默認(rèn)訪問(wèn)SCHOOL數(shù)據(jù)庫(kù),密碼為“abcd”;3) 取消“LiYong”用戶;7. 先以sa帳號(hào)登錄,要實(shí)現(xiàn)如下表的權(quán)限管理,請(qǐng)按先后順序?qū)懗鱿鄳?yīng)的SQL語(yǔ)句(假設(shè)所有用戶尚未定義,其密碼均為123),并加以必要的說(shuō)明。編號(hào)授權(quán)用戶名被授權(quán)用戶名數(shù)據(jù)庫(kù)對(duì)象名允許的操作類型能否轉(zhuǎn)授權(quán)1SAU1StudentsSELECT不能2SAU2StudentsALL不能3SAPUBLICChoicesSELECT不能4SAU3StudentsSELECT能5U3U4StudentsSELECT能6U4U5StudentsSELECT不能7SAU6ChoicesINSERT能8SAU7Students.snameUPDATE不能8. 創(chuàng)建在SCHOOL數(shù)據(jù)庫(kù)中choices上的視圖CS_View,授權(quán)給計(jì)算機(jī)系講授課程號(hào)為10010的數(shù)據(jù)庫(kù)用戶“LiYong”,讓其具有視圖上的SELECT權(quán)限;9. 對(duì)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論