參加上海市計算機等級考試(一級)尚需要再掌握以下的內(nèi)_第1頁
參加上海市計算機等級考試(一級)尚需要再掌握以下的內(nèi)_第2頁
參加上海市計算機等級考試(一級)尚需要再掌握以下的內(nèi)_第3頁
參加上海市計算機等級考試(一級)尚需要再掌握以下的內(nèi)_第4頁
參加上海市計算機等級考試(一級)尚需要再掌握以下的內(nèi)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、參加上海市計算機等級考試(一級)尚需要再掌握以下的內(nèi)容:1. 理論題: 數(shù)據(jù)庫部分包括兩部分內(nèi)容:第一部分數(shù)據(jù)庫,第二部分編程序(用VB)考試時由考生任選一部分。2. 操作題: 多媒體操作;Flash動畫制作.,用Photoshop處理圖象。這里介紹理論題補充內(nèi)容第一部分的要點。 第一部分 數(shù)據(jù)庫技術(shù)(注:本部分內(nèi)容包括:概念,SQL語言,將分幾次介紹)(5.數(shù)據(jù)更新-視圖-數(shù)據(jù)控制本節(jié)介紹如何對數(shù)據(jù)表進行插入、修改、刪除、與數(shù)據(jù)庫的一致性 );四、關(guān)系模型及SQL語言(續(xù))5、數(shù)據(jù)更新(重點,用命令操作)數(shù)據(jù)的更新是指數(shù)據(jù)的插入、刪除、修改操作。(1) 插入數(shù)據(jù)INSERT語句插入數(shù)據(jù)有兩種

2、基本方式:一種是一次插入一個元組,另一種是一次插入一個查詢結(jié)果表 插入一個元組INSERT語句的格式:INSERTINTO <表名> (<屬性列1>,<屬性列2>) (注:方括號內(nèi)為可選項)VALUES (< 常量1>,< 常量2>)意思是:把常量1、常量2等的值插入到表中對應(yīng)的屬性列1、屬性列2等 中去。注意點:若所有列都要插入,則列名可以不寫,但輸入時值的順序與列名要一 一對應(yīng)。 例43:將一個選課記錄(99001,2)插入到SC表中。 INSERTINTO SC(Sno,Cno)VALUES (99001,2 )注:沒有出現(xiàn)的屬

3、性值為空值。插入子查詢結(jié)果格式為:INSERTINTO <表名> (<屬性列1>,<屬性列2>) 子查詢作用是:可以將一個基表中的數(shù)據(jù)成批插入到另一個基表中。例44:(從SC表中)找出每個學(xué)生所有已考課程的平均成績,并將結(jié)果存入數(shù)據(jù)庫。(a)首先創(chuàng)建一個存放結(jié)果的基表SavgGrade(表名任意選)。CREATE TABLE SavgGrade (創(chuàng)建一個表,表名為SavgGrade) ( Sno CHAR(6), ( 表中有兩個屬性)AvgGrade SMALLINT )(b) 再將查詢的結(jié)果插入到新表中。INSERTINTO SavgGrade ( Sn

4、o , AvgGrade ) (把查詢的結(jié)果插入到SavgGrade表) SELECT Sno , Avg(Grade) (子查詢:從SC表中查詢學(xué)號和平均分) FROM SC WHERE Grade IS NOT NULL (條件是:成績不為空) GROUP BY Sno (還要按學(xué)號分組顯示)(2) 修改數(shù)據(jù)UPDATE語句修改語句的一般格式為:UPDATE <表名>SET <列名1> = <表達式1 > , <列名2> = <表達式2 > WHERE <條件> 意思是:根據(jù)WHERE條件的要求,對表中的數(shù)據(jù)進行修改,

5、用SET后面表達式的值修改相應(yīng)列原有的值。 修改一個元組例45:將(S表中)學(xué)號Sno為99001的學(xué)生的年齡Sage改為19歲。UPDATE SSET Sage=19WHERE Sno = 99001 修改多個元組例46:將(S表中)所有學(xué)生的年齡增加1歲。 UPDATE SSET Sage= Sage + 1用子查詢來表達修改條件例47:將(SC表中)“C語言”課程的所有成績Grade都置為零。UPDATE SCSET Grade=0最后一句最后一句WHERE Cno IN ( SELECT CnoFROM CWHERE Cname= C語言 )(注意:最后一句 不能只寫成 WHERE C

6、name= C語言,因為在SC表中沒有Cname,只有Cno。所以先要通過C表從Cname查到Cno,再由Cno在SC中找到成績進行修改。)(3) 刪除數(shù)據(jù)刪除數(shù)據(jù)語句的一般格式: DELETE FROM < 表名> WHERE <條件> 意思是:刪除掉符合條件的元組。刪除一個元組例48:將99001號學(xué)生的2號課程選課記錄刪除。DELETE FROM SC WHERE Sno= 99001 AND Cno=2 (條件)刪除多個元組例49:將99001號學(xué)生的所有選課記錄刪除。DELETE FROM SC WHERE Sno= 99001 (條件)用子查詢來表達刪除條件

7、例50:刪除所有“C語言”的選課記錄。DELETE FROM SC WHERE Sno IN (SELECT Cno (條件) FROM CWHERE Cname = C語言)(4) 更新數(shù)據(jù)與數(shù)據(jù)庫的一致性在對一個表中的一條記錄進行修改后,在其它表中相關(guān)的記錄也應(yīng)作相應(yīng)的變化,這就是更新數(shù)據(jù)與數(shù)據(jù)庫的一致性問題。由于關(guān)系模型中的實體完整性和參照完整性是必須滿足的完整性約束條件,關(guān)系數(shù)據(jù)庫系統(tǒng)一般都自動支持。6、 視圖(重點,用命令操作)在SQL數(shù)據(jù)庫中,視圖(VIEW)從邏輯上看,屬于外模式。視圖是從一個或幾個基表(或視圖)導(dǎo)出的表,它本身不獨立存儲在數(shù)據(jù)庫中,即數(shù)據(jù)庫中只存放視圖的定義而不

8、存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍然存放在對應(yīng)的基表中,因此視圖是一個虛表,但它在概念上與基表等同,用戶可以在視圖上再定義視圖。(1)定義視圖格式為:CREATE VIEW <視圖名> (<列名1> ,<列名2> ) AS <子查詢> 通常子查詢中不應(yīng)含有 ORDER BY 子句和DISTINCT短語。 例51:建立計算機系(CS)全體學(xué)生的視圖。(意思是:創(chuàng)建一個自己命名的CS_S 視圖,它所包含的列,與從S表中查詢出的系別等于計算機的學(xué)生的信息包括學(xué)號Sno、姓名Sname、性別Ssex和年齡Sage)CREATE VIEW CS_S AS SE

9、LECT Sno , Sname , Ssex , SageFROM SWHERE Sdept = CS 本例中,視圖的列名與SELECT后的列名相同。例52:建立選修了“數(shù)據(jù)庫”課程的所有學(xué)生的視圖。(分析:相當(dāng)于建立這樣一個視圖,里面包含選了“數(shù)據(jù)庫”課程的學(xué)生的信息學(xué)號Sno、姓名Sname、性別Ssex和年齡Sage,及成績Grade。這些信息是從三 個表S、C、SC中經(jīng)過查詢匯總過來的) CREATE VIEW S_DBS (Sno , Sname , Ssex , Sage,Grade) ASSELECT S.Sno, Sname , Ssex , Sage (注:S.Sno表示S

10、no是表S中的主碼)FROM S、C、SCWHERE S.Sno = SC.Sno AND SC.Cno = C.Cno AND Cname=數(shù)據(jù)庫本例中,多個表中有相同的列,必須指出視圖的列名。為了查詢的方便,在WHERE的條件中還要指明有關(guān)聯(lián)的外碼和相應(yīng)主碼,如S.Sno = SC.Sno 表示S和SC表中的Sno都是表示學(xué)號的。例53:建立“數(shù)據(jù)庫”課程成績在80分以上的所有學(xué)生的視圖。(分析:本例在上例的基礎(chǔ)上進行操作,即在視圖S_DBS上查詢結(jié)果后創(chuàng)建新的視圖。)CREATE VIEW S_DBS80 ASSELECT S.Sno, Sname , Ssex , SageFROM S

11、_DBS WHERE Grade >80例54:建立一個視圖,它包含每一個學(xué)生的學(xué)號及所有已考課程的平均成績。CREATE VIEW S_AV(Sno,AVG_G) (注:AVG_G是存放平均成績的列名)AS SELECT Sno , AVG(Grade) (從SC表查詢學(xué)號和平均成績) FROM SC WHERE Grade IS NOT NULL (條件是成績不為空)GROUP BY Sno (最后一行表示還要按學(xué)號分組顯示,因為同一學(xué)號有幾門課程的成績)(2)刪除視圖刪除視圖的語句格式為: DROP VIEW <視圖名> 例55:刪除視圖S_DBS80 DROP VIE

12、W S_DBS80(3)查詢視圖定義視圖后,就可以像基表一樣對其進行查詢了。例56:查詢計算機選修了1號課程的學(xué)生的學(xué)號和姓名。 SELECT SC. Sno , Sname FROM CS _S, SC (CS _S是在例51中建立的視圖) CS _S .Sno = SC. Sno AND Cno=1 (最后一行WHERE意思是:條件是CS _S視圖中的Sno與SC表中的Sno是有關(guān)系的,并且課程號Cno為1)視圖為虛表,只有定義沒有數(shù)據(jù),其數(shù)據(jù)仍存放在對應(yīng)的基表中,因此對視圖的查詢最終是轉(zhuǎn)換為對基表的查詢。即本例實際上是按以下語句查詢:SELECT SC. Sno , Sname FROM

13、 S, SC (S, SC都是基表) WHERE S .Sno = SC. Sno AND Sdept=CS AND Cno=1例57:查詢平均成績在80分以上的學(xué)生的學(xué)號。SELECT Sno FROM S_AVG (注:S_AVG是在例54中建立的視圖)WHERE AVG_G >80 (注:AVG_G是在例54建立的視圖S_AVG中存放平均成績的列名)本例轉(zhuǎn)換后的查詢語句為:SELECT SnoFROM SC (注:這里轉(zhuǎn)換為到基表SC中查詢)GROUP BY Sno (按學(xué)號分組進行查詢)HAVING AVG(Grade)>80 (分組還有條件:平均成績大于80) (4)更新

14、視圖更新視圖是指通過視圖進行數(shù)據(jù)的插入、刪除和修改。對視圖的更新最終還是轉(zhuǎn)換為對其基表的更新。例58: (在CS_S視圖中)刪除計算機系(CS)中年齡為20歲的學(xué)生記錄。DELETEFROM CS_S (注:CS _S是在例51中建立的視圖)WHERE Sage =20轉(zhuǎn)換為對基表S的刪除:DELETEFROM SWHERE Sage =20 AND Sdept = CS必須要特別說明的是:更新視圖有許多限制,對視圖的許多更新操作是無法有意義地轉(zhuǎn)換成對應(yīng)基表的更新。例如對視圖S_AVG(例54、57)要修改它的AVG_G(例54中平均成績 的列名)列,是無法轉(zhuǎn)換成對基表SC的修改的。更深入的討

15、論請看專門的(5) 視圖的作用歸納如下:l 視圖在邏輯上屬于外模式,視圖對重構(gòu)數(shù)據(jù)庫提供了一定程度的邏輯獨立性。l 對不同的用戶可以定義不同的視圖,使機密數(shù)據(jù)不出現(xiàn)在不應(yīng)看到數(shù)據(jù)的用戶視圖上。l 視圖機制使得用戶可將注意力集中在所關(guān)心的數(shù)據(jù)上,使數(shù)據(jù)結(jié)構(gòu)看起來簡單、清晰。l 視圖機制能使得不同的用戶以不同的方式看待同一數(shù)據(jù)。7數(shù)據(jù)控制(重點,用命令操作)SQL中數(shù)據(jù)庫控制功能主要有:u 數(shù)據(jù)庫的安全性與完整性 完整性控制主要體現(xiàn)在create table和alter table語句中,可以在其中定義主碼、外碼、不允許空值等約束條件。 安全性控制方法是:將“某個用戶對某類數(shù)據(jù)所擁有的某種操作權(quán)限

16、”存入數(shù)據(jù)庫系統(tǒng),當(dāng)有非法用戶存取數(shù)據(jù)或合法用戶進行非法訪問時,系統(tǒng)根據(jù)權(quán)限情況進行檢查,如超越權(quán)限就拒絕執(zhí)行用戶的操作。u 并發(fā)控制u 數(shù)據(jù)庫恢復(fù)等下面僅討論安全性控制的實現(xiàn)方法。(1) 授權(quán)例59:把查詢S表的權(quán)限授權(quán)給用戶ZHANG. GRANT SELECT ON TABLE S TO ZHANG 例60:把對S表和C表的全部權(quán)限 (all privileges) 授給用戶XU 和 LU。GRANT ALL PRIVILEGES ON TABLE S, C TO XU , LU例61:把對SC表的查詢 權(quán)限授權(quán)給所有用戶GRANT SELECT ON TABLE SC TO PUBLIC例62:把查詢S表和修改 學(xué)生學(xué)號的權(quán)限授權(quán)給用戶WANG。GRANT UPDATE (Sno) , SELECT ON TABLE S TO WANG例63:把對SC表的插入權(quán)限授給用戶ZHU,并允許他將此權(quán)限再授給其他用戶。GRANT INSERT ON TABLE SC TO ZHU WITH GRANT OPTION(2) 收

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論