第六章数据库管理系统
- 格式:pdf
- 大小:148.38 KB
- 文档页数:7
信息安全技术使用教程(第版)课后习题第一章(信息安全概述)习题一、1、填空题(1)信息安全是指秘密信息在产生、传输、使用、和存储的过程中不被泄露或破坏(2)信息安全的4个方面是;保密性、完整性、可用性、和不可否认性。
(3)信息安全主要包括系统安全和数据安全俩个方面。
(4)一个完整的信息安全技术体系结构由物理安全技术、基础安全技术、系统安全技术、网络完全技术及应用安全技术组成。
(5)一个常见的网络安全模型是PDRR模型。
(6)木桶原则是指对信息均衡、全面的进行保护。
木桶的最大容积取决于最短的一块木板。
2、思考与解答题:(1)简述信息安全技术面临的威胁。
(2)简述PDRR网络安全模型的工作过程。
第二章(物理安全技术)习题二1、填空题(1)物理安全又称为实体安全、是保护计算机设备、设施(网络及通信线路)免遭地震、火灾、水灾、有害气体和其他环境事故(如电磁污染等)破坏的措施和过程。
(2)物理安全包括环境安全、设备安全电源系统安全和通信线路安全、(3)计算机的电子元器件、芯片都密封在机箱中,有的芯片工作时表面温非常高,一般电子元器件的工作温度在0---45摄氏度。
(4)在放置计算机的房间内,湿度最好保持在40%--60% 之间,湿度过高或过低对计算机的可靠性与安全性都有影响。
2、思考与解答:(1)为计算机系统提供合适的安全环境的目的是什么。
(2)简述计算机机房的外部环境要求、内部环境要求。
第三章(基础安全技术)习题三、1、填空题(1)一般来说,信息安全主要包括系统安全和数据安全俩个方面。
(2)面膜技术是保障信息安全的核心技术、它以很小的代价,对信息提供一种强有力的安全保护。
(3)加密使用某种方法将文字转换成不能直接阅读的形式的过程。
(4)加密一般分为3类,是对称加密、非对称加密和单向散列函数。
(5)从密码学的发展历程来看,共经历了古典密码、对称密钥密码和公开密钥密码。
(6)对称加密算法又称为传统密码算法或单密钥算法,它采用了对称密码编码技术,其特点是文件加密和加密使用相同的密钥。
Solutions Chapter 6Attributes must be separated by commas. Thus here B is an alias of A.6.1.2a)SELECT address AS Studio_AddressFROM StudioWHERE NAME = 'MGM';b)SELECT birthdate AS Star_BirthdateFROM MovieStarWHERE name = 'Sandra Bullock';c)SELECT starNameFROM StarsInWHERE movieYear = 1980OR movieTitle LIKE '%Love%';However, above query will also return words that have the substring Love e.g. Lover. Below query will only return movies that have title containing the word Love.SELECT starNameFROM StarsInWHERE movieYear = 1980OR movieTitle LIKE 'Love %'OR movieTitle LIKE '% Love %'OR movieTitle LIKE '% Love'OR movieTitle = 'Love';d)SELECT name AS Exec_NameFROM MovieExecWHERE netWorth >= 10000000;e)SELECT name AS Star_NameFROM movieStarWHERE gender = 'M'OR address LIKE '% Malibu %';a)SELECT model,speed,hdFROM PCWHERE price < 1000 ;MODEL SPEED HD----- ---------- ------1002 2.10 2501003 1.42 801004 2.80 2501005 3.20 2501007 2.20 2001008 2.20 2501009 2.00 2501010 2.80 3001011 1.86 1601012 2.80 1601013 3.06 8011 record(s) selected.b)SELECT model ,speed AS gigahertz,hd AS gigabytesFROM PCWHERE price < 1000 ;MODEL GIGAHERTZ GIGABYTES ----- ---------- ---------1002 2.10 2501003 1.42 801004 2.80 2501005 3.20 2501007 2.20 2001008 2.20 2501009 2.00 2501010 2.80 3001011 1.86 1601012 2.80 1601013 3.06 8011 record(s) selected.c)SELECT makerFROM ProductWHERE TYPE = 'printer' ; MAKER-----DDEEEHH7 record(s) selected.d)SELECT model,ram ,screenFROM LaptopWHERE price > 1500 ; MODEL RAM SCREEN ----- ------ -------2001 2048 20.12005 1024 17.02006 2048 15.42010 2048 15.44 record(s) selected.e)SELECT *FROM PrinterWHERE color ;MODEL CASE TYPE PRICE----- ----- -------- ------3001 TRUE ink-jet 993003 TRUE laser 9993004 TRUE ink-jet 1203006 TRUE ink-jet 1003007 TRUE laser 2005 record(s) selected.Note: Implementation of Boolean type is optional in SQL standard (feature IDT031). PostgreSQL has implementation similar to above example. Other DBMS provide equivalent support. E.g. In DB2 the column type can be declare as SMALLINT with CONSTRAINT that the value can be 0 or 1. The result can be returned as Boolean type CHAR using CASE.CREATE TABLE Printer(model CHAR(4) UNIQUE NOT NULL,color SMALLINT ,type VARCHAR(8) ,price SMALLINT ,CONSTRAINT Printer_ISCOLOR CHECK(color IN(0,1)));SELECT model,CASE colorWHEN 1THEN 'TRUE'WHEN 0THEN 'FALSE'ELSE 'ERROR'END CASE ,type,priceFROM PrinterWHERE color = 1;f)SELECT model,hdFROM PCWHERE speed = 3.2AND price < 2000;MODEL HD----- ------1005 2501006 3202 record(s) selected.6.1.4a)SELECT class,countryFROM ClassesWHERE numGuns >= 10 ; CLASS COUNTRY------------------ ------------ Tennessee USA1 record(s) selected.b)SELECT name AS shipName FROM ShipsWHERE launched < 1918 ; SHIPNAME------------------HarunaHieiKirishimaKongoRamilliesRenownRepulseResolutionRevengeRoyal OakRoyal Sovereign11 record(s) selected.c)SELECT ship AS shipName, battleFROM OutcomesWHERE result = 'sunk' ; SHIPNAME BATTLE------------------ ------------------ Arizona Pearl Harbor Bismark Denmark Strait Fuso Surigao Strait Hood Denmark Strait Kirishima Guadalcanal Scharnhorst North Cape Yamashiro Surigao Strait 7 record(s) selected.d)SELECT name AS shipNameFROM ShipsWHERE name = class ;SHIPNAME------------------IowaKongoNorth CarolinaRenownRevengeYamato6 record(s) selected.e)SELECT name AS shipNameFROM ShipsWHERE name LIKE 'R%';SHIPNAME------------------RamilliesRenownRepulseResolutionRevengeRoyal OakRoyal Sovereign7 record(s) selected.Note: As mentioned in exercise 2.4.3, there are some dangling pointers and to retrieve all ships a UNION of Ships and Outcomes is required.Below query returns 8 rows including ship named Rodney.SELECT name AS shipNameFROM ShipsWHERE name LIKE 'R%'UNIONSELECT ship AS shipNameFROM OutcomesWHERE ship LIKE 'R%';f) Only using a filter like '% % %' will incorrectly match name such as ' a b ' since % can match any sequence of 0 or more characters.SELECT name AS shipNameFROM ShipsWHERE name LIKE '_% _% _%' ;SHIPNAME------------------0 record(s) selected.Note: As in (e), UNION with results from Outcomes.SELECT name AS shipNameFROM ShipsWHERE name LIKE '_% _% _%'UNIONSELECT ship AS shipNameFROM OutcomesWHERE ship LIKE '_% _% _%' ;SHIPNAME------------------Duke of YorkKing George VPrince of Wales3 record(s) selected.6.1.5a)The resulting expression is false when neither of (a=10) or (b=20) is TRUE.a = 10b = 20 a = 10 OR b = 20NULL TRUE TRUETRUE NULL TRUEFALSE TRUE TRUETRUE FALSE TRUETRUE TRUE TRUEb)The resulting expression is only TRUE when both (a=10) and (b=20) are TRUE.a = 10b = 20 a = 10 AND b = 20TRUE TRUE TRUEThe expression is always TRUE unless a is NULL.a < 10 a >= 10 a = 10 ANDb = 20TRUE FALSE TRUEFALSE TRUE TRUEd)The expression is TRUE when a=b except when the values are NULL.a b a = bNOT NULL NOT NULL TRUE when a=b; else FALSEe)Like in (d), the expression is TRUE when a<=b except when the values are NULL.a b a <= bNOT NULL NOT NULL TRUE when a<=b; else FALSE6.1.6SELECT *FROM MoviesWHERE LENGTH IS NOT NULL;6.2.1a)SELECT AS starNameFROM MovieStar M,StarsIn SWHERE = S.starNameAND S.movieTitle = 'Titanic'AND M.gender = 'M';b)SELECT S.starNameFROM Movies M ,StarsIn S,Studios TWHERE ='MGM'AND M.year = 1995AND M.title = S.movieTitleAND M.studioName = ;SELECT AS presidentName FROM MovieExec X,Studio TWHERE X.cert# = T.presC#AND = 'MGM';d)SELECT M1.titleFROM Movies M1,Movies M2WHERE M1.length > M2.lengthAND M2.title ='Gone With the Wind' ;e)SELECT AS execNameFROM MovieExec X1,MovieExec X2WHERE Worth > WorthAND = 'Merv Griffin' ;6.2.2a)SELECT R.maker AS manufacturer,L.speed AS gigahertzFROM Product R,Laptop LWHERE L.hd >= 30AND R.model = L.model ; MANUFACTURER GIGAHERTZ------------ ----------A 2.00A 2.16A 2.00B 1.83E 2.00E 1.73E 1.80F 1.60F 1.60G 2.0010 record(s) selected.SELECT R.model,P.priceFROM Product R,PC PWHERE R.maker = 'B'AND R.model = P.model UNIONSELECT R.model,L.priceFROM Product R,Laptop LWHERE R.maker = 'B'AND R.model = L.model UNIONSELECT R.model,T.priceFROM Product R,Printer TWHERE R.maker = 'B'AND R.model = T.model ; MODEL PRICE----- ------1004 6491005 6301006 10492007 14294 record(s) selected.c)SELECT R.makerFROM Product R,Laptop LWHERE R.model = L.model EXCEPTSELECT R.makerFROM Product R,PC PWHERE R.model = P.model ; MAKER-----FG2 record(s) selected.SELECT DISTINCT P1.hd FROM PC P1,PC P2WHERE P1.hd =P2.hdAND P1.model > P2.model ; Alternate Answer:SELECT DISTINCT P.hdFROM PC PGROUP BY P.hdHAVING COUNT(P.model) >= 2 ;e)SELECT P1.model,P2.modelFROM PC P1,PC P2WHERE P1.speed = P2.speed AND P1.ram = P2.ramAND P1.model < P2.model ; MODEL MODEL----- -----1004 10121 record(s) selected.f)SELECT M.makerFROM(SELECT maker,R.modelFROM PC P,Product RWHERE SPEED >= 3.0AND P.model=R.modelUNIONSELECT maker,R.modelFROM Laptop L,Product RWHERE speed >= 3.0AND L.model=R.model) MGROUP BY M.makerHAVING COUNT(M.model) >= 2 ; MAKER-----B1 record(s) selected.6.2.3a)SELECT FROM Ships S,Classes CWHERE S.class = C.classAND C.displacement > 35000;NAME------------------IowaMissouriMusashiNew JerseyNorth CarolinaWashingtonWisconsinYamato8 record(s) selected.b)SELECT ,C.displacement,C.numGunsFROM Ships S ,Outcomes O,Classes CWHERE = O.shipAND S.class = C.classAND O.battle = 'Guadalcanal' ;NAME DISPLACEMENT NUMGUNS------------------ ------------ -------Kirishima 32000 8Washington 37000 92 record(s) selected.Note:South Dakota was also engaged in battle of Guadalcanal but not chosen since it is not in Ships table(Hence, no information regarding it's Class isavailable).SELECT name shipName FROM ShipsUNIONSELECT ship shipName FROM Outcomes ; SHIPNAME------------------ArizonaBismarkCaliforniaDuke of YorkFusoHarunaHieiHoodIowaKing George VKirishimaKongoMissouriMusashiNew JerseyNorth CarolinaPrince of Wales RamilliesRenownRepulseResolutionRevengeRodneyRoyal OakRoyal Sovereign ScharnhorstSouth DakotaTenneseeTennesseeWashingtonWest VirginiaWisconsinYamashiroYamato34 record(s) selected.SELECT C1.countryFROM Classes C1,Classes C2WHERE C1.country = C2.country AND C1.type = 'bb'AND C2.type = 'bc' ; COUNTRY------------Gt. BritainJapan2 record(s) selected.e)SELECT O1.shipFROM Outcomes O1,Battles B1WHERE O1.battle = AND O1.result = 'damaged'AND EXISTS(SELECT B2.dateFROM Outcomes O2,Battles B2WHERE O2.battle= AND O1.ship = O2.shipAND B1.date < B2.date) ;SHIP------------------0 record(s) selected.f)SELECT O.battleFROM Outcomes O,Ships S ,Classes CWHERE O.ship = AND S.class = C.class GROUP BY C.country,O.battleHAVING COUNT(O.ship) > 3; SELECT O.battleFROM Ships S ,Classes C,Outcomes OWHERE C.Class = S.classAND O.ship = GROUP BY C.country,O.battleHAVING COUNT(O.ship) >= 3;6.2.4Since tuple variables are not guaranteed to be unique, every relation Ri should be renamed using an alias. Every tuple variable should be qualified with the alias. Tuple variables for repeating relations will also be distinctlyidentified this way.Thus the query will be likeSELECT A1.COLL1,A1.COLL2,A2.COLL1,…FROM R1 A1,R2 A2,…,Rn AnWH ERE A1.COLL1=A2.COLC2,…6.2.5Again, create a tuple variable for every Ri, i=1,2,...,nThat is, the FROM clause isFROM R1 A1, R2 A2,...,Rn An.Now, build the WHERE clause from C by replacing every reference to some attribute COL1 of Ri by Ai.COL1. In addition apply Natural Join i.e. add condition to check equality of common attribute names between Ri and Ri+1 for all i from 0 to n-1. Also, build the SELECT clause from list of attributes L by replacing every attribute COLj of Ri by Ai.COLj.6.3.1a)SELECT DISTINCT makerFROM ProductWHERE model IN(SELECT modelFROM PCWHERE speed >= 3.0);SELECT DISTINCT R.makerFROM Product RWHERE EXISTS(SELECT P.modelFROM PC PWHERE P.speed >= 3.0AND P.model =R.model);SELECT P1.modelFROM Printer P1WHERE P1.price >= ALL(SELECT P2.priceFROM Printer P2) ;SELECT P1.modelFROM Printer P1WHERE P1.price IN(SELECT MAX(P2.price)FROM Printer P2) ;c)SELECT L.modelFROM Laptop LWHERE L.speed < ANY(SELECT P.speedFROM PC P) ;SELECT L.modelFROM Laptop LWHERE EXISTS(SELECT P.speedFROM PC PWHERE P.speed >= L.speed ) ;SELECT modelFROM(SELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer) M1WHERE M1.price >= ALL (SELECT priceFROM PCUNIONSELECT priceFROM LaptopUNIONSELECT priceFROM Printer) ;(d) – contd --SELECT modelFROM(SELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer) M1WHERE M1.price IN(SELECT MAX(price)FROM(SELECT priceFROM PCUNIONSELECT priceFROM LaptopUNIONSELECT priceFROM Printer) M2) ;e)SELECT R.makerFROM Product R,Printer TWHERE R.model =T.model AND T.price <= ALL(SELECT MIN(price)FROM Printer);SELECT R.makerFROM Product R,Printer T1WHERE R.model =T1.model AND T1.price IN(SELECT MIN(T2.price) FROM Printer T2);f)SELECT R1.makerFROM Product R1,PC P1WHERE R1.model=P1.modelAND P1.ram IN(SELECT MIN(ram)FROM PC)AND P1.speed >= ALL(SELECT P1.speedFROM Product R1,PC P1WHERE R1.model=P1.model AND P1.ram IN(SELECT MIN(ram)FROM PC));SELECT R1.makerFROM Product R1,PC P1WHERE R1.model=P1.modelAND P1.ram =(SELECT MIN(ram)FROM PC)AND P1.speed IN(SELECT MAX(P1.speed)FROM Product R1,PC P1WHERE R1.model=P1.model AND P1.ram IN(SELECT MIN(ram)FROM PC));6.3.2a)SELECT C.countryFROM Classes CWHERE numGuns IN(SELECT MAX(numGuns)FROM Classes);SELECT C.countryFROM Classes CWHERE numGuns >= ALL(SELECT numGunsFROM Classes);b)SELECT DISTINCT C.class FROM Classes C,Ships SWHERE C.class = S.classAND EXISTS(SELECT shipFROM Outcomes OWHERE O.result='sunk' AND O.ship = ) ;SELECT DISTINCT C.class FROM Classes C,Ships SWHERE C.class = S.classAND IN(SELECT shipFROM Outcomes OWHERE O.result='sunk' ) ;c)SELECT FROM Ships SWHERE S.class IN(SELECT classFROM Classes CWHERE bore=16) ;SELECT FROM Ships SWHERE EXISTS(SELECT classFROM Classes CWHERE bore =16AND C.class = S.class );SELECT O.battleFROM Outcomes OWHERE O.ship IN(SELECT nameFROM Ships SWHERE S.Class ='Kongo' );SELECT O.battleFROM Outcomes OWHERE EXISTS(SELECT nameFROM Ships SWHERE S.Class ='Kongo' AND = O.ship );SELECT FROM Ships S,Classes CWHERE S.Class = C.ClassAND numGuns >= ALL(SELECT numGunsFROM Ships S2,Classes C2WHERE S2.Class = C2.Class AND C2.bore = C.bore) ;SELECT FROM Ships S,Classes CWHERE S.Class = C.ClassAND numGuns IN(SELECT MAX(numGuns)FROM Ships S2,Classes C2WHERE S2.Class = C2.Class AND C2.bore = C.bore) ;Better answer;SELECT FROM Ships S,Classes CWHERE S.Class = C.ClassAND numGuns >= ALL(SELECT numGunsFROM Classes C2WHERE C2.bore = C.bore) ;SELECT FROM Ships S,Classes CWHERE S.Class = C.ClassAND numGuns IN(SELECT MAX(numGuns)FROM Classes C2WHERE C2.bore = C.bore) ;6.3.3SELECT titleFROM MoviesGROUP BY titleHAVING COUNT(title) > 1 ;6.3.4SELECT FROM Ships S,Classes CWHERE S.Class = C.Class ;Assumption: In R1 join R2, the rows of R2 are unique on the joining columns. SELECT COLL12,COLL13,COLL14FROM R1WHERE COLL12 IN(SELECT COL22FROM R2)AND COLL13 IN(SELECT COL33FROM R3)AND COLL14 IN(SELECT COL44FROM R4) ...6.3.5(a)SELECT ,S.addressFROM MovieStar S,MovieExec EWHERE S.gender ='F'AND Worth > 10000000AND = AND S.address = E.address ;Note: As mentioned previously in the book, the names of stars are unique. However no such restriction exists for executives. Thus, both name and address are required as join columns.Alternate solution:SELECT name,addressFROM MovieStarWHERE gender = 'F'AND (name, address) IN(SELECT name,addressFROM MovieExecWHERE netWorth > 10000000) ;(b)SELECT name,addressFROM MovieStarWHERE (name,address) NOT IN(SELECT name addressFROM MovieExec) ;6.3.6By replacing the column in subquery with a constant and using IN subquery forthe constant, statement equivalent to EXISTS can be found.i.e. replace "WHERE EXISTS (SELECT C1 FROM R1..)" by "WHERE 1 IN (SELECT 1 FROM R1...)"Example:SELECT DISTINCT R.makerFROM Product RWHERE EXISTS(SELECT P.modelFROM PC PWHERE P.speed >= 3.0AND P.model =R.model) ;Above statement can be transformed to below statement.SELECT DISTINCT R.makerFROM Product RWHERE 1 IN(SELECT 1FROM PC PWHERE P.speed >= 3.0AND P.model =R.model) ;6.3.7(a)n*m tuples are returned where there are n studios and m executives. Each studiowill appear m times; once for every exec.(b)There are no common attributes between StarsIn and MovieStar; hence no tuplesare returned.(c)There will be at least one tuple corresponding to each star in MovieStar. Theunemployed stars will appear once with null values for StarsIn. All employedstars will appear as many times as the number of movies they are working in. Inother words, for each tuple in StarsIn(starName), the correspoding tuple fromMovieStar(name)) is joined and returned. For tuples in MovieStar that do nothave a corresponding entry in StarsIn, the MovieStar tuple is returned with nullvalues for StarsIn columns.6.3.8Since model numbers are unique, a full natural outer join of PC, Laptop andPrinter will return one row for each model. We want all information about PCs,Laptops and Printers even if the model does not appear in Product but vice versais not true. Thus a left natural outer join between Product and result above isrequired. The type attribute from Product must be renamed since Printer has atype attribute as well and the two attributes are different.(SELECT maker,model,type AS productTypeFROM Product) RIGHT NATURAL OUTER JOIN ((PC FULL NATURAL OUTER JOIN Laptop) FULL NATURAL OUTER JOIN Printer);Alternately, the Product relation can be joined individually with each ofPC,Laptop and Printer and the three results can be Unioned together. Forattributes that do not exist in one relation, a constant such as 'NA' or 0.0 canbe used. Below is an example of this approach using PC and Laptop.SELECT R.MAKER ,R.MODEL ,R.TYPE ,P.SPEED ,P.RAM ,P.HD ,0.0 AS SCREEN,P.PRICEFROM PRODUCT R,PC PWHERE R.MODEL = P.MODELUNIONSELECT R.MAKER ,R.MODEL ,R.TYPE ,L.SPEED ,L.RAM ,L.HD ,L.SCREEN,L.PRICEFROM PRODUCT R,LAPTOP LWHERE R.MODEL = L.MODEL;6.3.9SELECT *FROM Classes RIGHT NATURALOUTER JOIN Ships ;6.3.10SELECT *FROM Classes RIGHT NATURALOUTER JOIN ShipsUNION(SELECT C2.class ,C2.type ,C2.country ,C2.numguns ,C2.bore ,C2.displacement,C2.class NAME ,FROM Classes C2,Ships S2WHERE C2.Class NOT IN(SELECT ClassFROM Ships)) ;6.3.11(a)SELECT *FROM R,S ;(b)Let Attr consist ofAttrR = attributes unique to RAttrS = attributes unique to SAttrU = attributes common to R and SThus in Attr, attributes common to R and S are not repeated. SELECT AttrFROM R,SWHERE R.AttrU1 = S.AttrU1AND R.AttrU2 = S.AttrU2 ...AND R.AttrUi = S.AttrUi ;(c)SELECT *FROM R,SWHERE C ;6.4.1(a)DISTINCT keyword is not required here since each model only occurs once in PC relation.SELECT modelFROM PCWHERE speed >= 3.0 ;(b)SELECT DISTINCT R.makerFROM Product R,Laptop LWHERE R.model = L.modelAND L.hd > 100 ;(c)SELECT R.model,P.priceFROM Product R,PC PWHERE R.model = P.modelAND R.maker = 'B'UNIONSELECT R.model,L.priceFROM Product R,Laptop LWHERE R.model = L.modelAND R.maker = 'B'UNIONSELECT R.model,T.priceFROM Product R,Printer TWHERE R.model = T.modelAND R.maker = 'B' ;SELECT modelFROM PrinterWHERE color=TRUEAND type ='laser' ;(e)SELECT DISTINCT R.makerFROM Product R,Laptop LWHERE R.model = L.modelAND R.maker NOT IN(SELECT R1.makerFROM Product R1,PC PWHERE R1.model = P.model) ;better:SELECT DISTINCT R.makerFROM Product RWHERE R.type = 'laptop'AND R.maker NOT IN(SELECT R.makerFROM Product RWHERE R.type = 'pc') ;(f)With GROUP BY hd, DISTINCT keyword is not required. SELECT hdFROM PCGROUP BY hdHAVING COUNT(hd) > 1 ;(g)SELECT P1.model,P2.modelFROM PC P1,PC P2WHERE P1.speed = P2.speedAND P1.ram = P2.ramAND P1.model < P2.model ;SELECT R.makerFROM Product RWHERE R.model IN(SELECT P.modelFROM PC PWHERE P.speed >= 2.8)OR R.model IN(SELECT L.modelFROM Laptop LWHERE L.speed >= 2.8)GROUP BY R.makerHAVING COUNT(R.model) > 1 ;(i)After finding the maximum speed, an IN subquery can provide the manufacturer name.SELECT MAX(M.speed)FROM(SELECT speedFROM PCUNIONSELECT speedFROM Laptop) M ;SELECT R.makerFROM Product R,PC PWHERE R.model = P.modelAND P.speed IN(SELECT MAX(M.speed)FROM(SELECT speedFROM PCUNIONSELECT speedFROM Laptop) M)UNIONSELECT R2.makerFROM Product R2,Laptop LWHERE R2.model = L.modelAND L.speed IN(SELECT MAX(N.speed)FROM(SELECT speedFROM PCUNIONSELECT speedFROM Laptop) N) ;Alternately,SELECT COALESCE(MAX(P2.speed),MAX(L2.speed),0) SPEED FROM PC P2FULL OUTER JOIN Laptop L2ON P2.speed = L2.speed ;SELECT R.makerFROM Product R,PC PWHERE R.model = P.modelAND P.speed IN(SELECT COALESCE(MAX(P2.speed),MAX(L2.speed),0) SPEED FROM PC P2FULL OUTER JOIN Laptop L2ON P2.speed = L2.speed)UNIONSELECT R2.makerFROM Product R2,Laptop LWHERE R2.model = L.modelAND L.speed IN(SELECT COALESCE(MAX(P2.speed),MAX(L2.speed),0) SPEED FROM PC P2FULL OUTER JOIN Laptop L2ON P2.speed = L2.speed)SELECT R.makerFROM Product R,PC PWHERE R.model = P.modelGROUP BY R.makerHAVING COUNT(DISTINCT speed) >= 3 ;(k)SELECT R.makerFROM Product R,PC PWHERE R.model = P.modelGROUP BY R.makerHAVING COUNT(R.model) = 3 ;better;SELECT R.makerFROM Product RWHERE R.type='pc'GROUP BY R.makerHAVING COUNT(R.model) = 3 ;6.4.2(a)We can assume that class is unique in Classes and DISTINCT keyword is not required.SELECT class,countryFROM ClassesWHERE bore >= 16 ;(b)Ship names are not unique (In absence of hull codes, year of launch can help distinguish ships).SELECT DISTINCT name AS Ship_NameFROM ShipsWHERE launched < 1921 ;(c)SELECT DISTINCT ship AS Ship_NameFROM OutcomesWHERE battle = 'Denmark Strait'AND result = 'sunk' ;(d)SELECT DISTINCT AS Ship_NameFROM Ships S,Classes CWHERE S.class = C.classAND C.displacement > 35000 ;SELECT DISTINCT O.ship AS Ship_Name,C.displacement ,C.numGunsFROM Classes C ,Outcomes O,Ships SWHERE C.class = S.classAND = O.shipAND O.battle = 'Guadalcanal' ;SHIP_NAME DISPLACEMENT NUMGUNS------------------ ------------ -------Kirishima 32000 8Washington 37000 92 record(s) selected.Note: South Dakota was also in Guadalcanal but its class information is not available. Below query will return name of all ships that were in Guadalcanal even if no other information is available (shown as NULL). The above query is modified from INNER joins to LEFT OUTER joins.SELECT DISTINCT O.ship AS Ship_Name,C.displacement ,C.numGunsFROM Outcomes OLEFT JOIN Ships SON = O.shipLEFT JOIN Classes CON C.class = S.classWHERE O.battle = 'Guadalcanal' ;SHIP_NAME DISPLACEMENT NUMGUNS------------------ ------------ -------Kirishima 32000 8South Dakota - -Washington 37000 93 record(s) selected.(f)The Set opearator UNION guarantees unique results.SELECT ship AS Ship_NameFROM OutcomesUNIONSELECT name AS Ship_NameFROM Ships ;(g)SELECT C.classFROM Classes C,Ships SWHERE C.class = S.classGROUP BY C.classHAVING COUNT() = 1 ;better:SELECT S.classFROM Ships SGROUP BY S.classHAVING COUNT() = 1 ;(h)The Set opearator INTERSECT guarantees unique results.SELECT C.countryFROM Classes CWHERE C.type='bb'INTERSECTSELECT C2.countryFROM Classes C2WHERE C2.type='bc' ;However, above query does not account for classes without any ships belonging to them.SELECT C.countryFROM Classes C,Ships SWHERE C.class = S.classAND C.type ='bb'INTERSECTSELECT C2.countryFROM Classes C2,Ships S2WHERE C2.class = S2.classAND C2.type ='bc' ;SELECT O2.ship AS Ship_Name FROM Outcomes O2,Battles B2WHERE O2.battle = AND B2.date > ANY(SELECT B.dateFROM Outcomes O,Battles BWHERE O.battle = AND O.result ='damaged' AND O.ship = O2.ship);6.4.3a)SELECT DISTINCT R.maker FROM Product R,PC PWHERE R.model = P.modelAND P.speed >= 3.0;b)Models are unique.SELECT P1.modelFROM Printer P1LEFT OUTER JOIN Printer P2 ON (P1.price < P2.price) WHERE P2.model IS NULL ;c)SELECT DISTINCT L.model FROM Laptop L,PC PWHERE L.speed < P.speed ;Due to set operator UNION, unique results are returned.It is difficult to completely avoid a subquery here. One option is to use Views. CREATE VIEW AllProduct ASSELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer ;SELECT A1.modelFROM AllProduct A1LEFT OUTER JOIN AllProduct A2ON (A1.price < A2.price)WHERE A2.model IS NULL ;But if we replace the View, the query contains a FROM subquery. SELECT A1.modelFROM(SELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer) A1LEFT OUTER JOIN(SELECT model,priceFROM PCUNIONSELECT model,priceFROM LaptopUNIONSELECT model,priceFROM Printer) A2ON (A1.price < A2.price) WHERE A2.model IS NULL ;e)SELECT DISTINCT R.makerFROM Product R,Printer TWHERE R.model =T.modelAND T.price <= ALL(SELECT MIN(price)FROM Printer);f)SELECT DISTINCT R1.makerFROM Product R1,PC P1WHERE R1.model=P1.modelAND P1.ram IN(SELECT MIN(ram)FROM PC)AND P1.speed >= ALL(SELECT P1.speedFROM Product R1,PC P1WHERE R1.model=P1.modelAND P1.ram IN(SELECT MIN(ram)FROM PC));6.4.4a)SELECT DISTINCT C1.countryFROM Classes C1LEFT OUTER JOIN Classes C2 ON (C1.numGuns < C2.numGuns) WHERE C2.country IS NULL ;。
计算机专升本中的数据库管理系统数据库管理系统(Database Management System,简称DBMS)是在计算机专业的学习中,一个重要的课程之一。
作为数据库相关专业的学生,掌握数据库管理系统的原理和技术是必不可少的。
本文将对计算机专升本中的数据库管理系统进行介绍和探讨。
一、概述数据库管理系统是一个软件系统,它允许用户对数据库中的数据进行管理和操作。
它提供了一套操作数据库的方法和工具,使得数据的存储、查询、更新等操作更加高效和便捷。
数据库管理系统的核心是数据库,它是组织和存储数据的集合,以及对数据进行管理和操作的工具。
二、数据库管理系统的特点1. 数据的持久化存储:数据库管理系统将数据持久化地存储在硬盘或其他存储介质上,保证数据的安全性和长期保存。
2. 数据的共享和并发控制:数据库管理系统可以支持多个用户同时对数据进行共享和访问,同时也会对并发操作进行控制,保证数据的一致性和完整性。
3. 数据的安全和权限控制:数据库管理系统可以对数据进行权限管理,设置不同用户或用户组的访问权限,以保护数据的安全性。
4. 数据的高效查询和处理:数据库管理系统使用索引等技术来提高数据的查询和处理效率,使得大规模的数据操作更加高效和快速。
5. 数据的完整性和一致性:数据库管理系统通过数据约束等机制,保证数据的完整性和一致性,避免出现数据冗余和不一致的情况。
三、数据库管理系统的结构数据库管理系统通常由三个主要组件组成:数据库、数据库管理和应用程序。
1. 数据库:数据库是数据的集合,它是按照一定的数据模型进行组织和存储的。
常见的数据库模型包括层次模型、网状模型和关系模型等。
2. 数据库管理:数据库管理负责对数据库中的数据进行管理和操作,包括数据的存储、查询、更新等操作。
3. 应用程序:应用程序是通过数据库管理系统来操作数据库的,它可以是一个独立的软件程序,也可以是嵌入在其他应用程序中的一部分。
四、数据库管理系统的应用数据库管理系统广泛应用于各行各业,它为组织和管理大量的数据提供了便利和高效性。
第六章计算机信息系统与数据库一、单项选择题1.数据库系统中,数据的逻辑独立性是指_______。
A.应用程序与数据库中的数据相互独立B.数据库中的数据与其逻辑结构相互独立C.应用程序与数据库的逻辑结构相互独立D.系统的逻辑结构与数据存储结构相互独立【答案】C【解析】数据独立性包括数据的逻辑独立性和数据的物理独立性。
数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构相互独立。
数据的物理独立性是指用户的应用程序与存储在数据库中的数据相互独立。
2.下列实体集的联系中,属于一对多联系的是_______。
A.学生和课程的联系B.学号与学生的联系C.学生与教室座位的联系D.教研室和老师的联系【答案】D【解析】联系有三类: ( 1)一对一联系( 1∶1) :对应实体集A中的每一个实体,实体集B中至多有一个实体与之联系;反之亦然,则称实体集A和实体集B具有1∶1联系。
( 2)一对多联系( 1∶n) :对于实体集A中的每一个实体,实体集B中有n个实体与之联系;而对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B 存在1∶n的联系。
( 3)多对多联系:若对于实体集A中的每一个实体,实体集B中有n个实体与之联系;而对于实体集B中的每一个实体,实体集A中也有m个实体与之联系,则称该两个实体集A、B之间存在m∶n联系。
A选项:一个学生可以选多门课程,一门课程可以有多个学生选择,所以学生和课程之间的联系是“多对多联系”。
B选项:一个学号只能被一个学生使用,反过来讲,一个学生也只能有一个学号,所以学号与学生之间的联系是“一对一联系”。
C选项:一个学生在教室里只能有一个属于他的座位,反过来讲,一个座位也只能被一个学生坐,所以学生与教室座位的联系是“一对一联系”。
D选项:一个教研室可以有多个老师,反过来讲,一个老师只从属于一个教研室,所以教研室和老师的联系是“一对多联系”。
3.数据模型是在数据库领域中定义数据及其操作的一种抽象表示,下面关于数据模型的说法,错误的是________。
第六章信息系统与数据库本章知识点与学习要求I.了解信息系统的结构、分类和发展趋势。
2.了解业务信息处理系统、信息检索系统和信息分析系统的区别和特点。
3.区分数据库、数据库管理系统、数据库系统的不同概念和内容.4.描述数据模型、掌握数据库系统和应用的相关知识。
5.了解并初步掌握信息系统的开发的过程、方法和技术。
6.了解信息系统运行和维护的内容和方法。
7.了解典型信息系统的应用。
8.解释什么是信息化。
信息化建设包括哪些主要内容。
一、判断题1. 信息系统有各种类型,某企业内部用于进行日常业务处理的系统称为信息检索系统。
2.DBMS是DBS的核心软件。
3.DBS是帮助用户建立、使用和管理数据库的一种计算机软件。
4. SQL有两种使用方式,既可以将SQL语句作为命令以交互方式使用.也可以将它嵌入到某高级语言源程序中。
5.SOL语言是为关系数据库配备的过程化语言。
6.SQL语言是一种面向数据库系统的结构化查询语言。
7.从数据管理技术来看,数据库系统与文件系统的重要区别之一是数据无冗余。
8. 对数据库设计的评价、调整等维护工作应由数据库管理员(DBA)来完成。
9.关系模式的主键是该模式的某个属性组,它能惟一确定二维表中的一个元组。
10. 关系模式用R(AI,A2,…,Am)表示,仅仅说明该关系的语法,并不是合乎该语法的每个元组都能成为关系R中的一个元组。
11. 关系模型的逻辑数据结构是二维表关系模式是二维表的结构的描述。
关系是二维表的内容。
12.关系模型中的模式对应于文件系统中的记录。
13.关系数据库系统中的关系模式是静态的,而关系是动态的。
14. 关系数据模型的存取路径对用户透明,可以简化程序员的编程工作,数据独立性好。
15. 关系数据模型的存取路径对用户透明,其意是指用户编程时不用考虑数据的存取路径。
16. 关系数据模型概念单一,E-R图中的实体集、联系和属性都可用关系(即二维表)表示。
17. 关系数据模型是以概率论中的相关概念为基础发展起来的数据模型。
数据库管理系统原理第六章测验一、单选题(共40.00分)1. 关系模式中存在的插入异常、删除异常和更新异常是由于存在于模式中的某些什么问题引起的?()A. 不合适的主码选择B. 不合适的外码依赖C. 不合适的数据依赖D. 不合适的关系依赖正确答案:C2. X→Y,但Y⊆X 则称X→Y是()A. 非平凡的函数依赖B. 平凡的函数依赖C. 非平凡的多值依赖D. 平凡的多值依赖正确答案:B答案解析:就是相同的值互相映射就满足函数依赖定义,但是没意义,不反应新的语义因此称为“平凡”的依赖3. X→Y,但Y⊈X则称X→Y是()A. 非平凡的函数依赖B. 平凡的函数依赖C. 非平凡的多值依赖D. 平凡的多值依赖正确答案:A4. 设K为R<u,f>中的属性或属性组合。
若U完全函数依赖于K ,则K称为R的一个()B. 超码C. 主码D. 候选码正确答案:D二、多选题(共33.00分)1. 在以下关系模式中存在的问题中,可能会同时出现的两个问题是()A. 数据冗余B. 更新异常C. 插入异常D. 删除异常正确答案:A B答案解析:数据冗余,更新数据时,维护数据完整性代价大2. 在选课关系SC(Sno, Cno, Grade,Sdept)中,Sno表示学号,Cno表示课程号, Grade代表成绩,Sdept代表学生所在系,请选择属性Sdept部分函数依赖于(Sno, Cno)的理由()A. Sdept函数依赖于(Sno, Cno)B. Sdept函数依赖于SnoC. Sno是(Sno, Cno)的真子集D. Cno是(Sno, Cno)的真子集正确答案:A B C答案解析:部分函数依赖定义3. 在选课关系SC(Sno, Cno, Grade)中,Sno表示学号,Cno表示课程号, Grade代表成绩,这个关系模式属于哪种范式()B. 2NFC. 第一范式D. 第二范式正确答案:B D答案解析:第二范式定义三、判断题(共27.00分)1. 函数依赖是语义范畴的概念,只能根据数据的语义来确定一个函数依赖。
练习题66.1 名词解释1)事务:事务是构成单一逻辑工作单元的操作集合。
要么完整地执行,要么完全不执行。
2)数据库的一致性:一个事务独立执行的结果,应保持数据库的一致性,即数据不会因事务的执行而遭受破坏。
3)数据库的可恢复性:系统能把数据库从被破坏、不确定的状态,恢复到最近一个正确的状态,DBMS的这种能力称为数据库的可恢复性(Recovery)4)并发操作:在多用户共享系统中,许多事务可能同时对同一数据进行操作,这种操作称为并发操作。
5)封锁:封锁是系统保证对数据项的访问以互斥方式进行的一种手段。
6)X锁:事务T对某数据加了X锁后,其他事务要等T解除X锁后,才能对这个数据进行封锁。
7)S锁:事务T对某数据加了S锁后,仍允许其他事务再对该数据加S锁,但在对该数据的所有S锁都解除之前决不允许任何事务对该数据加X锁。
8)调度:事务的执行次序称为“调度”。
9)串行调度:多个事务依次执行,称为事务的串行调度。
10)并发调度:利用分时的方法,同时处理多个事务,则称为事务的并发调度。
11)可串行化调度:如果一个并发调度的执行结果与某一串行调度的执行结果等价,那么这个并发调度称为“可串行化的调度”。
12)不可串行化调度:如果一个并发调度的执行结果不与某一串行调度的执行结果等价,那么这个并发调度称为“不可串行化调度”。
6.2事务的COMMIT语句和ROLLBACK语句各做什么事情?答:COMMIT(提交):语句表示事务执行成功地结束,此时告诉系统,DB要进入一个新的正确状态,该事务对DB的所有更新都已交付实施(写入磁盘)。
ROLLBACK(“回退”或“回滚”):语句表示事务执行不成功地结束,此时告诉系统,已发生错误,DB可能处在不正确的状态,该事务对DB的所有更新必须被撤消,DB应恢复该事务到初始状态。
6.3试叙述事务的四个性质,并解释每一个性质由DBMS的哪个子系统实现?每一个性质对DBS有什么益处?答:①事务的原子性:是指一个事务对DB的所有操作,是一个不可分割的工作单元。
教案名称:MySQL数据库应用与管理项目化教程(微课版)教案章节:第一章MySQL数据库基础【教学目标】1. 理解数据库的基本概念,掌握数据库的基本操作。
2. 掌握MySQL数据库的安装与配置。
3. 掌握MySQL数据库的基本语法,包括数据类型、运算符、函数等。
【教学内容】1. 数据库的基本概念:数据库、数据库管理系统、数据库系统。
2. MySQL数据库的安装与配置:与安装、配置MySQL。
3. MySQL数据库的基本语法:数据类型、运算符、函数等。
【教学过程】1. 引入:讲解数据库的基本概念,引导学生理解数据库的重要性。
2. 讲解:讲解MySQL数据库的安装与配置步骤,演示安装与配置过程。
3. 实践:让学生动手实践,安装与配置MySQL数据库。
4. 讲解:讲解MySQL数据库的基本语法,包括数据类型、运算符、函数等。
5. 练习:让学生练习使用MySQL数据库的基本语法。
【教学评价】1. 课后作业:让学生完成课后练习,巩固所学知识。
2. 课堂练习:在课堂上让学生动手实践,及时发现问题并解决问题。
章节:第二章MySQL数据库设计与建模【教学目标】1. 掌握数据库设计的基本步骤,能够独立完成数据库设计。
2. 掌握实体-关系模型,能够将现实世界中的问题转化为实体-关系模型。
3. 掌握SQL语言,能够使用SQL语言创建、修改和查询数据库。
【教学内容】1. 数据库设计的基本步骤:需求分析、概念设计、逻辑设计、物理设计。
2. 实体-关系模型:实体、属性、关系、键。
3. SQL语言:创建、修改和查询数据库。
【教学过程】1. 引入:讲解数据库设计的重要性,引导学生理解数据库设计的作用。
2. 讲解:讲解数据库设计的基本步骤,演示数据库设计过程。
3. 实践:让学生动手实践,完成一个简单的数据库设计。
4. 讲解:讲解实体-关系模型,演示实体-关系模型的转化过程。
5. 练习:让学生练习使用SQL语言创建、修改和查询数据库。
第六章信息系统与数据库一、选择题1.以下列出了计算机信息系统抽象结构层次,其中的数据库管理系统和数据库________。
A.属于业务逻辑层B 属于资源管理层C 属于应用表现层D 不在以上所列层次中2. 以下列出了计算机信息系统抽象结构的4个层次,在系统中为实现相关业务功能(包括流程、规则、策略等)而编制的程序代码属于其中的________。
A 基础设施层B 业务逻辑层C 资源管理层D 应用表现层3. 以下列出了计算机信息系统抽象结构的4个层次,系统中的硬件、系统软件和网络属于其中的________。
A.基础设施层B.业务逻辑层C.资源管理层D.应用表现层4. 以下列出了计算机信息系统抽象结构层次,在系统中可实现分类查询的表单和展示查询结果的表格窗口________。
A属于业务逻辑层B属于资源管理层C属于应用表现层D不在以上所列层次中5. 以下关于SQL语言的说法中,错误的是________A.SQL的一个基本表就是一个数据库B .SQL语言支持三级体系结构C.一个基本表可以跨多个存储文件存放D.SQL的一个二维表可以是基本表,也可以是视图6. 信息系统采用B/S模式时,其“查询SQL请求”和“查询结果”的“应答”发生在________之间。
A浏览器和Web服务器B 浏览器和数据库服务器C Web服务器和数据库服务器D 任意两层7. 关系数据库的SQL查询操作由3个基本运算组合而成,其中不包括________ 。
A 连接B 选择C 投影D 比较8. 信息系统采用的B/S模式,实质上是中间增加了________ 的C/S模式。
A Web服务器B 浏览器C 数据库服务器D 文件服务器9. 在信息系统的B/S模式中,ODBC/JDBC是________之间的标准接口。
A Web服务器与数据库服务器B 浏览器与数据库服务器C 浏览器与Web服务器D 客户机与Web服务器10. 计算机信息系统中的B/S三层模式是指________。
可编辑修改精选全文完整版《数据库技术与应用》知识点总结第一章数据库基础1.基本概念:数据:数据泛指对客观事物的数量、属性、位置及其相互关系的抽象表示,以适合于用人工或自然的方式进行保存、传递和处理。
数据是形成信息的源泉,信息是有价值的数据是数据的内涵。
信息:有一定含义的、经过加工处理的、对决策有价值的数据数据库:数据库是长期存储在计算机内、有组织的可共享的数据集合。
数据库管理系统(DBS的核心):专门用于管理数据可的计算机系统软件。
数据库系统:带有数据库的计算机系统,一般由数据库、数据库管理系统(及其开发工具)、相关硬件、软件和各类人员组成。
2.数据管理的发展阶段1.人工管理阶段:没有直接存储设备、操作系统、管理软件2.文件系统阶段:把计算机众多数据组织成相互独立的数据文件3.数据库系统阶段:一定的格式、统一管理、冗余度小4.分布式数据库阶段:物理上分离、逻辑上统一5.面向对象数据库阶段3. 数据模型:(1)基本概念:数据模型:数据库系统的形式框架,用来描述数据的一组概念和定义,包括描述数据、数据联系、数据操作、数据语义以及数据一致性的概念工具。
概念模型:按用户的观点对数据和信息进行建模,是现实世界到信息世界的第一层抽象,强调语义表达功能。
实体:客观存在的并且可以相互区别的“事物”实体集:性质相同的同类实体的集合属性:描述实体的特征域:属性的取值范围主键:用来唯一标识一个元组的某个属性或属性组合联系(1:1,1:n,m:n):实体集之间的关系,反应事物之间的相互关联,联系也是主体,也可具有属性关系模型:采用二维表来表示实体以及实体之间关系的模型。
本质是一张表。
关系、关系模式:1:1关系名(属性1,属性2,……)1:n 将1的主键放入n中学生(班级编号,……)n:m 将实体的主键放入关系的属性中(2)E-R模型:能根据具体问题构建E-R模型、画出E-R图实体集:矩形框属性:椭圆联系:菱形(3)关系模型的数据结构、关系的性质数据查询、数据插入、数据删除、数据修改关系运算:选择(减少个体保留所有属性)、投影(所有个体的部分属性)、联结(4)E-R模型转换为关系模型(5)关系模型的完整性(实体、参照、自定义)实体:主键不能为空参照:外键为空或在其担任主键的实体集中存在自定义:用户自己定义的语义要求第二章A ccess数据库与表的操作1. Access数据库设计的一般步骤2. 基本概念:Access数据库、表、记录、字段3. 使用表设计器创建表(1)字段名命名规则不能空格开头、不能用.!()[]、最长64个字符(2)字段类型:文本、数字、日期/时间、是/否、查阅向导(备选项中选择)(3)字段属性:字段大小、输入掩码(控制数据的输入)、有效性规则(规范、核查)、有效性文本(提示信息)、默认值、索引(搜索或排序的根据,加快查询速度)、必填字段(4)设置主键4.建立表间关系:关联字段、实施参照完整性5.表的复制、更名、删除6.数据的导入、导出第三章查询1.查询的概念和作用查询是根据查询条件从一个或多个表中获取数据的方法浏览、更新、分析数据2.选择查询使用条件从一个或多个表中检索数据,然后按所需顺序显示数据3.条件查询(1)查询条件的表示①条件的组合:and、or、not②取值范围的说明: >、<、>=、<=、<>between… and…In③条件不确定: like*(替代零个一个或多个任意字符)、?(任意单一字符)、#(任意一个数字)、[ ](替代方括号内任意字符)、!(替代方括号内字符以外的任意字符)、-(2)函数①统计函数(SUM,AVG,COUNT,MAX,MIN)②字符串函数(LEN,LEFT,RIGHT,MID)③日期函数(DATE,NOW,YEAR,MONTH,DAY)4.交叉表查询、重复项查询、不匹配项查询:特点、何时适用交叉:对数据库中表和查询进行分类统计,使用的字段必须来源于同一个表或查询重复:对某些怒有相同值得记录进行检索和分类,判断信息正确性不匹配:查找可能的遗漏,在一张表中有另一张表中没有4.参数查询在作为参数字段的条件行中,以[ ]括起与字段名不同的内容5.操作查询:生成表查询、更新查询、删除查询、追加查询第四章 SQL查询select-from-where、insert、update、delete,要求能读懂select:构成查询结果的属性列from:作查询的表where:查询条件insert:将子查询结果插入到指定的表update:数据更新,需要更新的表delete:删除字段数据定义:用于定义和修改基本表、定义视图和定义索引create(建立) drop (删除) alter(修改)数据操纵:用于表或视图的数据进行添加、删除和修改等操作 insert(插入)delete update数据查询:用于从数据库中检索数据 select数据控制:用于控制用户对数据的存取权利 grant(授权) revote(回收权限)第五章窗体1.窗体的概念和作用概念:通过灵活多样的控件使用构成了用户与数据库的交互界面,从而完成显示、输入和编辑数据等事物作用:可作为浏览、编辑、输入输出表或查询中数据的交互界面可作为组织、控制整个系统中对象的外观界面2.创建窗体的三种方法自动创建、窗体向导、设计视图3.窗体的构成窗体页眉、页面页眉、主体、页面页脚、窗体页脚4.窗体的控件(1)类型:结合型控件、非结合型控件、计算型控件(2)常用控件:文本框,命令按钮,列表框和组合框,标签,选项组,选项按钮,子窗体/子报表(3)常用属性:名称、标题记录源:窗体的数据来源,一般为表或查询控件来源:控件所显示数据的来源,通常是与控件结合的字段行来源:组合框、列表框的列表选项来源5.主/子窗体:主窗体内套有子窗体,便于在同一窗体中显示不同表中相关联的数据第六章报表1.报表的概念和作用:与窗体的功能比较、区别报表用于对数据库中的数据进行浏览、分析、汇总和输出;窗体用于浏览、编辑、输入、输出2.报表的构成:报表页眉、页面页眉、组页眉、主体、组页脚、页面页脚、报表页脚3.排序和分组报表中的数据(对最多10个字段分组)汇总项:可以添加多个字段的汇总,并且可以对同一字段执行多种类型的汇总分组间隔项:确定记录如何分组在一起,可以自定义标题项:更改汇总字段的标题,可以用于列标题还可用于标记页眉与页脚的汇总字段有/无页眉节选项:用于添加或移除每个组前面的页眉节4.标签报表:特点:在一页中显示多个标签,通过标签报表,用户可以查看到多个且数据格式相一致的标签。
课后巩固练习一、单选题第一章数据库基础知识1.DBS是( A )的简写。
A. 数据库系统B. 数据库管理系统C. 数据库D. 操作系统2. ORDBS的中文意思是 ( C )A.面向对象的数据库系统B.数据库管理系统C.对象关系数据库系统D.关系数据库系统3.DB是( D )的简写A. 数据库系统B. 数据库管理系统C. 数据D. 数据库4.DBMS是( D )的简写A. 数据库系统B. 数据库C. 数据D. 数据库管理系统5.在数据库的三级模式结构中,描述数据库中全局逻辑结构和特征的是( B )A. 外模式B. 模式C. 内模式D. 存储模式6.在数据库的三级模式结构中,模式有( A )个A. 1B. 2C. 3D. 任意7.在数据库系统中,数据独立性是指( C )。
A)用户与计算机系统的独立性 B)数据库与计算机的独立性C)数据与应用程序的独立性 D)用户与数据库的独立性8.要保证数据库的物理独立性,需要修改的是( B )。
A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式9.( B)的映像技术提供了模式变化而应用程序不变的方法,从而保证了数据的逻辑独立性A. 模式/内模式B.外模式/模式C. 外模式/内模式D.数据库/操作系统10.( B )的映像技术提供了内模式变化而应用程序不变的方法,从而保证了数据的物理独立性A.外模式/模式B. 模式/内模式C. 外模式/内模式D.数据库/操作系统11.要保证数据库的逻辑独立性,需要修改的是( C )。
A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式12. 位于用户和数据库之间的一层数据管理软件是 ( C ) 。
A.DBSB.DBC.DBMSD.MIS13. 数据视图属于三级模式中的 ( A )A. 外模式B. 模式C. 内模式D. 存储模式14.基本表属于三级模式中的 ( B )A. 外模式B. 模式C. 内模式D. 存储模式15.在数据操纵语言(DML)的基本功能中,不包括的是( B )。