【文章內(nèi)容簡介】
按出版社統(tǒng)計(jì)其出版圖書總數(shù)。(3) 刪除索引ITS。*三個(gè)關(guān)系R、。R S T A B C A D E D F a1 b1 20 a1d1 15 d2 12 a1 b2 22 a2d2 18 d3 13 a2 b1 18 a1d2 24 a2 b3a2 、S和T試用SQL語句實(shí)現(xiàn)如下操作:(1) 將R 、S和T三個(gè)關(guān)系按關(guān)聯(lián)屬性建立一個(gè)視圖RST;(2) 對(duì)視圖RST按屬性A 分組后,求屬性C和E的平均值。有關(guān)系R 和S R S A B A C a1 b1 a1 40a2 b2 a2 50a3 b3 a3 55 關(guān)系R和S試用SQL語句實(shí)現(xiàn):(1) 查詢屬性C>50時(shí),R中與相關(guān)聯(lián)的屬性B之值。(2) 當(dāng)屬性C=40時(shí),將R 中與之相關(guān)聯(lián)的屬性B值修改為b4。*:R S A B C C D E a1b1 c1 c1 d1e1 a2b2 c2 c2d2e2 a3b3 c2 c3 d3e2 關(guān)系R和S執(zhí)行如下SQL語句:(1) CREATE SQL VIEW H(A,BC,C,D,E)AS SELECT A, B, , D, EFEOM R, SWHERE =。(2) SELECT B , D, EFROM HWHERE C=’C2’試給出:(1)視圖H;(2)對(duì)視圖H的查詢結(jié)果10.已知學(xué)生表S和學(xué)生選課表SC。其關(guān)系模式如下:S(SNO,SN,SD,PROV)SC(SNO,CN,GR)其中,SNO為學(xué)號(hào),SN為姓名,SD為系名,PROV為省區(qū),CN為課程名,GR為分?jǐn)?shù)。試用SQL語句實(shí)現(xiàn)下列操作:(1) 查詢“信息系”的學(xué)生來自哪些省區(qū)。(2) 按分?jǐn)?shù)降序排列,輸出“英語系”學(xué)生選修了“計(jì)算機(jī)”課程的學(xué)生的姓名和分?jǐn)?shù)。*四. 綜合題1. 用SQL為供銷數(shù)據(jù)庫(圖2_17)創(chuàng)建四個(gè)表:供應(yīng)商,零件,工程項(xiàng)目,供應(yīng)情況.2. 請(qǐng)為三建工程項(xiàng)目建立一個(gè)供應(yīng)商情況的視圖,包括供應(yīng)商號(hào)Sno,零件號(hào)Pno,:(1) 找出三建工程項(xiàng)目使用各種零件代碼及數(shù)量。(2) 找出供應(yīng)商S1的供應(yīng)情況.3. 根據(jù)本章習(xí)題四中的第一小題建立的表,用SQL語言完成以下操作:(1) 把對(duì)S的INSERT權(quán)限授予用戶張勇,并允許他將此權(quán)限授予其他用戶。(2) 把對(duì)SPJ表和修改QTY屬性的權(quán)限授予用戶李天明.4. 對(duì)本章習(xí)題四中的第一小題用SQL語言完成以下操作:(1) 找出所有供應(yīng)商的姓名和所在城市。(2) 找出所有零件的名稱,顏色和重量。(3) 找出使用供應(yīng)商S1所供應(yīng)零件的工程號(hào)碼。(4) 找出工程項(xiàng)目J2使用的各種零件的名稱及其數(shù)量。(5) 找出上海廠商供應(yīng)的所有零件號(hào)碼。(6) 找出使用上海產(chǎn)的零件的工程的名稱。(7) 找出沒有使用天津產(chǎn)的零件的工程號(hào)碼。(8) 把全部紅色零件的顏色改為藍(lán)色。(9) 有S5供給J4的零件P6改為由S3供應(yīng),請(qǐng)做必要的修改。(10)從供應(yīng)商關(guān)系中刪除S2記錄,并從供應(yīng)情況關(guān)系中刪除相應(yīng)的記錄。(11) 請(qǐng)將(S2,J6,P4,200)插入供應(yīng)情況關(guān)系.Ⅲ、答案4.答: :用戶 SQL 視圖1 視圖2 外層 基本表1 基本表2 基本表3 基本表4 概念層 存儲(chǔ)文件s1 存儲(chǔ)文件s2 存儲(chǔ)文件s3 存儲(chǔ)文件s4 內(nèi)層圖 SQL語言支持的三級(jí)結(jié)構(gòu) 在概念層,對(duì)應(yīng)概念模式的概念記錄型的基本表?;颈硎沁@樣的一種表,它本身實(shí)際存在,在Visual FoxPro 中沒個(gè)表在存儲(chǔ)中可用一個(gè)存儲(chǔ)文件來表示(在ORACLE中多個(gè)表存儲(chǔ)在一個(gè)文件中),一個(gè)基本表就是一個(gè)關(guān)系,它不是由其他表導(dǎo)出的表?;颈硎鞘褂肅REATE TABLE語句建立的。 在外層,用戶所看到的可以是基本表,也可以是視圖。視圖是一個(gè)虛擬表,它是由一個(gè)或幾個(gè)基本表導(dǎo)出的表,它不直接存在與物理存儲(chǔ)器上的表。視圖是使用CREATE SQL VIEW語句建立的。在內(nèi)層,每個(gè)基本表用一個(gè)存儲(chǔ)文件來表示,即用一組類型相同的存儲(chǔ)記錄值來表示。DBA可以對(duì)物理存儲(chǔ)文件進(jìn)行操作。6.(1)USE TS INDEX ON BNO TO ITS(2)SELECT PUB,COUNT(BNO) FROM TS GROUP BY PUB(3)DELETE FILE 7.(1)CREATE SQL VIEW RSTAS SELECT ,B,C,E,F(xiàn)FROM R,S,TWHERE = AND =(2)SELECT AVG(C),A AVG(E)FROM RSTGROUP BY A8.(1)SELECT BFROM R,SWHERE = AND C50(2)UPDATE R SET B =‘b4’ WHERE A IN(SELECT A FROM S WHERE C=40)9.:視圖H 對(duì)視圖H的查詢結(jié)果 A B C D E B D Ea1 b1 c1 d1 e1 b1 d2e2 a2 b2 c2 d2 e2 b2 d2e2 a3 b3c3 d3e3 視圖H及其查詢結(jié)果10.(1)SELECT DISDINCT PROVFROM SWHERE SD=“信息系”(2)SELECT SN,GR FROM S,SC WHERE SD=“英語系”AND CN=“計(jì)算機(jī)”AND = ORDER BY GR DESC:四.綜合題1.設(shè)有一個(gè)供應(yīng)商,零件,工程項(xiàng)目,供應(yīng)情況數(shù)據(jù)庫SPJ,并有如下關(guān)系:供應(yīng)商關(guān)系模式S為S(Sno,Sname,Status,City)其中屬性的含義分別為:供應(yīng)商代碼,供應(yīng)商名,供應(yīng)商狀態(tài),供應(yīng)上所在城市;CREATE TABLE S(Sno CHAR(3) NOT NULL UNIQUE, Sname CHAR(30) UNIQUE, Status CHAR(8), City CHAR(20))。零件關(guān)系模式J為J(Jno,Jname,City)其中屬性的含義分別為:工程號(hào),工程名,工程項(xiàng)目所在城市; CREATE TABLE J(Jno,CHAR(4) NOT NULL UNIQUE, Jname CHAR(30), City CHAR(20))。工程項(xiàng)目關(guān)系模式P為P(Pno,Pname,Color,Weight)輕重屬性的含義分別為:零件代碼,零件名稱,零件的顏色,零件的重量; CREATE TABLE P(Pno CHAR(3) NOT NULL UNIQUE, Pname CHAR(20), Color CHAR (2) Weight INT)。供應(yīng)情況關(guān)系模式SPJ為SPJ(Sno CHAR(3) NOT NULL, Pno CHAR(3) NOT NULL, Jno CHAR(4) NOT NULL, Qty INT, PRIMARY KEY (Sno,Pno,Jno), FPREIGNKEY(Sno) REFERENCES S(Sno), FPREIGNKEY(Pno) REFERENCES P(Pno), FPREIGNKEY(Jno) REFERENCES J(Jno),上例中,“PRIMARY KEY ”定義的關(guān)系中的主碼,“FOREIGNKEY REFERENCES”定義關(guān)系中的外碼。:三建工程項(xiàng)目建立一個(gè)供應(yīng)商情況的視圖如下:CREATE VIEW VSP AS SELECT Sno, FROM SPJ WHERE Jno IN(SELECT JnoFROM JWHERE Jname=‘三建’)(1) 找出三建工程項(xiàng)目使用各種零件代碼及數(shù)量; SELECT Pno,Qty FROM V—SPJ(2) 找出供應(yīng)商S1的供應(yīng)情況 SELECT * FROM V—SPJWHERE SNO =‘S1’(1) GRANT INSERT ON TABLE S TO 張勇 WITH GRANT OPTION;(2) GRANT UPDATE(Qty)ON TABLE SPJ TO 李天明(1) SELECT Sname ,CityFROM S。(2) SELECT Pname ,Color,WeightFROM P。 (3) SELECT DISTINCT(Jno)FROM SPJ。WHERE Sno=’S1’(4)方法一: SELECT Jname,Q tyFROM P,SPJWHERE = AND =’j2’。方法二:SELECT Jname,QtyFROM PWHERE pno IN(SLEECT PnoFEOM SPJ WHERE jno=‘j2‘);(5)找出上海廠商供應(yīng)的所有零件號(hào)碼。方法1:(聯(lián)結(jié)查詢) SELECT Disdinct(Pno)FROM S,SPJWHERE = =‘上海‘;方法2:(嵌套查詢)SELECT Distinct(Pno)FROM SPJWHERE Sno IN(SELECT Pno FROM SWHERE City=‘上?!唬?)找出使用上海產(chǎn)的零件工程的名稱。方法1:(聯(lián)結(jié)查詢) SELECT JnameFROM S,SPJ,JWHERE = AND = =‘上?!环椒?:(嵌套查詢)SELECT JnameFROM JWHERE Jno IN(SELECT Sno FROM SWHERE City=‘上?!?;(7)找出沒有使用天津產(chǎn)的零件的工程的號(hào)碼。方法 1:(聯(lián)結(jié)查詢) SELECT JnoFROM S,SPJWHERE = AND ’天津’;方法 2:(嵌套查詢) SELECT JnoFROM SPJWHERE Sno IN (SELECT SnoFROM SWHERE City’天津’);(8)解:Update P SET Color=’藍(lán)’ Where Color=’紅’;(9)解: Update SPJ SET Sno=’S3’ Where Sno=’S5’AND Jno=’j4’AND Pno=’P6’。(10) 解: DELETE FROM S Where Sno=’S2’。 DELETE FPOM SPJ Where Sno=’S2’。(11) 解: INSERT INTO SPJ VALUES (‘S2’,’J6’,’P4’,200)。第四章 關(guān)系數(shù)據(jù)理論Ⅰ