数据库复习第六章习题.docx
- 格式:docx
- 大小:350.22 KB
- 文档页数:12
电大数据库系统及应用,形考册第6章,习题与参考答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--第6章习题与参考答案一.单项选择题1.下列关于视图的说法,正确的是(B)。
A.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含(A)。
A.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的(A)。
A.外模式B.内模式C.模式D.其他4.下列关于视图的说法,正确的是(B)。
A.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句5.创建视图的主要作用是(D)。
A.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据6.设有学生表(学号,姓名,所在系)。
下列建立统计每个系的学生人数的视图语句中,正确的是(D)。
A.CREATE VIEW v1ASSELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系B.CREATE VIEW v1ASSELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系C.CREATE VIEW v1(系名,人数) ASSELECT 所在系, SUM(*) FROM 学生表 GROUP BY 所在系D.CREATE VIEW v1(系名,人数) ASSELECT 所在系, COUNT(*) FROM 学生表 GROUP BY 所在系7.设用户在某数据库中经常需要进行如下查询操作:SELECT * FROM T WHERE C1='A' ORDER BY C2设T表中已在C1列上建立了主键约束,且该表只建有该约束。
第5章数据库完整性一、选择题:1、在数据库系统中,保证数据及语义正确和有效的功能是( D )A.并发控制 B.存取控制 C.安全控制 D.完整性控制2、关于主键约束以下说法错误的是(C)A. 一个表中只能设置一个主键约束B.允许空值的字段上不能定义主键约束C.允许空值的字段上可以定义主键约束D.、可以将包含多个字段的字段组合设置为主键3、在表或视图上执行除了(D)以外的语句都可以激活触发器。
A.InsertB. DeleteC. UpdateD.Create4、数据库的__B_ _是指数据的正确性和相容性。
A.安全性B.完整性C.并发控制D.恢复5、在数据库的表定义中,限制成绩属性列的取值在0到100的范围内,属于数据的_____C___约束。
A、实体完整性B、参照完整性C、用户自定义D、用户操作二、填空题1.数据库的完整性是指数据的①实体完整性 . ②参照完整性__和③用户定义完整性。
2、实体完整性是指在基本表中,。
答案:主属性不能取空值3、参照完整性是指在基本表中,。
答案:外码可以是空值或者另一个关系主码的有效值4、为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS 就。
答案:拒绝此操作第6章关系数据理论一、选择题1、关系规范化中的删除操作异常是指①A ,插入操作异常是指② D 。
A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是 A 。
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除;异常以及 C 的缺陷。
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失4、当关系模式R(A,B)已属于3NF,下列说法中 B 是正确的。
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和C都是5、关系模型中的关系模式至少是 A A.1NF B.2NF C.3NF D.BCNF6、在关系DB中,任何二元关系模式的最高范式必定是 D A.1NF B.2NF C.3NF D.BCNF7、候选关键字中的属性称为 B 。
第一章参考复习题一、填空1. 计算机进行数据管理主要分为3个阶段:(人工管理阶段)、(文件系统管理阶段)和(数据库系统管理阶段)。
2. 数据库系统管理阶段主要特点有5个:(数据共享)、(数据结构化)、(数据独立性)、(可控数据冗余度)和(统一数据控制功能)。
3. 常用的数据库的数据模型有4种:(层次模型)、(网状模型)、(关系模型)和(面向对象模型)。
4. 实体集之间的联系有3种:(一对一)、(一对多)和(多对多)。
5. Sql Server是(客户机/服务器)关系型数据库管系统;客户机负责组织与用户的(交互)和(显示)数据;服务器负责数据的(存储)和(管理)。
6. MSSQL Server服务是SQL Server 2008的核心主件,是管理服务器上的(数据)文件。
7. DBMS的含义(数据库管理系统)。
8. 数据完整性分为4类:(实体完整性)、(域完整性)、(引用完整性)和(用户自定义完整性)。
9. 在SQL Server 2008中,引用完整性通过(FOREIGN KEY )约束实现,它以外键与(主键)或外键与(唯一键)之间的关系为基础。
10. 在SQL Server 2008中,域完整性指特定列的数据(有效性)。
11. 实体完整性是将行定义为特定表的(唯一性实体)。
12. SQL Server 2008主要功能有4个:(保护数据库咨询)、(简化服务器的管理操作)、(增加应用程序稳定性优化系统执行效能与预测功能)和(优化系统执行效能与预测功能)。
13. SQL Server 2008主要特点有3个:(可信任)、(高效)和(智能)。
14. SQL Server 2008有( SQL Server)或(Windows)两种身份验证。
15. 数据冗余是指数据之间的(重复)。
16. 数据完整性是为了保证数据库中的数据(. 准确)和有(. 意义),一般通过数据库(.表结构)的设计和(约束)来实现。
17. SSMS的主要工具包括(对象资源管理)和(查询编辑器)。
第六章6.1.1Attributes 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 %';6.1.3a)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 ID T031). 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 Outcomes WHERE 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 shipName FROM 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 TRUEc)The 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 = ;c)SELECT AS presidentNameFROM 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.b)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 ;----- ------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.d)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.speedAND P1.ram = P2.ramAND P1.model < P2.model ; MODEL MODEL----- -----1004 10121 record(s) selected.f)FROM(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 is available).c)SELECT name shipNameFROM ShipsUNIONSELECT ship shipNameFROM Outcomes ;SHIPNAME------------------ArizonaBismarkCaliforniaDuke of YorkFusoHarunaHieiHoodIowaKing George VKirishimaKongoMissouriMusashiNew JerseyNorth CarolinaPrince of WalesRamilliesRenownRepulseResolutionRevengeRodneyRoyal OakRoyal SovereignScharnhorstSouth DakotaTenneseeTennesseeWashingtonWest VirginiaWisconsinYamashiroYamato34 record(s) selected.d)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 distinctly identified this way.Thus the query will be likeSELECT A1.COLL1,A1.COLL2,A2.COLL1,…FROM R1 A1,R2 A2,…,Rn AnWHERE 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);b)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 ) ;d)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.model AND 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 );d)SELECT O.battleFROM Outcomes O WHERE O.ship IN(SELECT nameFROM Ships SWHERE S.Class ='Kongo' );SELECT O.battleFROM Outcomes O WHERE EXISTS(SELECT nameFROM Ships SWHERE S.Class ='Kongo' AND = O.ship );e)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 for the 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 studio will appear m times; once for every exec.(b)There are no common attributes between StarsIn and MovieStar; hence no tuples are returned.(c)There will be at least one tuple corresponding to each star in MovieStar. The unemployed stars will appear once with null values for StarsIn. All employed stars will appear as many times as the number of movies they are working in. In other words, for each tuple in StarsIn(starName), the correspoding tuple from MovieStar(name)) is joined and returned. For tuples in MovieStar that do not have a corresponding entry in StarsIn, the MovieStar tuple is returned with null values for StarsIn columns.6.3.8Since model numbers are unique, a full natural outer join of PC, Laptop and Printer 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 versa is not true. Thus a left natural outer join between Product and result above is required. The type attribute from Product must be renamed since Printer has a type 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 of PC,Laptop and Printer and the three results can be Unioned together. For attributes that do not exist in one relation, a constant such as 'NA' or 0.0 can be 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' ;(d)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 ;(h)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) SPEEDFROM 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)(j)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 ;(e)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' ;(i)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 ;d)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.maker FROM 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.country FROM Classes C1LEFT OUTER JOIN Classes C2 ON (C1.numGuns < C2.numGuns) WHERE C2.country IS NULL ;。
第6章习题与参考答案一.单项选择题1.下列关于视图的说法,正确的是(B)。
A.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含(A)。
A.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的(A)。
A.外模式B.内模式C.模式D.其他4.下列关于视图的说法,正确的是(B)。
A.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句5.创建视图的主要作用是(D)。
A.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据6.设有学生表(学号,姓名,所在系)。
下列建立统计每个系的学生人数的视图语句中,正确的是(D)。
A.CREATE VIEW v1ASSELECT 所在系, COUNT(*) FROM 学生表GROUP BY 所在系B.CREATE VIEW v1ASSELECT 所在系, SUM(*) FROM 学生表GROUP BY 所在系C.CREATE VIEW v1(系名,人数) ASSELECT 所在系, SUM(*) FROM 学生表GROUP BY 所在系D.CREATE VIEW v1(系名,人数) ASSELECT 所在系, COUNT(*) FROM 学生表GROUP BY 所在系7.设用户在某数据库中经常需要进行如下查询操作:SELECT * FROM T WHERE C1='A' ORDER BY C2设T表中已在C1列上建立了主键约束,且该表只建有该约束。
为提高该查询的执行效率,下列方法中可行的是(C)。
A.在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引B.在C1和C2列上分别建立一个非聚集索引C.在C2列上建立一个非聚集索引D.在C1和C2列上建立一个组合的非聚集索引8.下列关于索引的说法,正确的是(C)。
第六章习题答案一、选择填空1、A2、C3、D4、B5、D6、A7、C8、A9、D 10、A11、C 12、A 13、B 14、C 15、C 16、D 17、B 18、C 19、A 20、D21、C 22、B二、判断下列描述的正确性,对者划√,错者划×。
1、√2、×3、×4、×5、√6、√7、×8、√9、×10、√11、√12、√13、√14、√15、×16、√17、√18、√19、√20、×21、×22、×三、分析下列程序的输出结果。
1、运行该程序输出结果如下所示。
Default constructor calledConstructor calleda=0,b=0a=4,b=82、运行该程序输出结果如下所示。
a=7,b=93、运行该程序输出结果如下所示。
1044、运行该程序输出结果如下所示。
1035,789.5045、运行该程序输出结果如下所示。
1{}{0,1,2,3,4,5,6,7,8}1{11,12,13,14,15,16,17,18,19}{19,18,17,16,15,14,13,12,11}6、运行该程序输出结果如下所示。
Starting1:Default constructor called.Default constructor called.Default constructor called.Eding1:Starting2:Constructor: a=5,b=6Constructor: a=7,b=8Constructor: a=9,b=10Ending2:Destructor called.a=9,b=10Destructor called.a=7,b=8Destructor called.a=5,b=6Destructor called.a=5,b=6Destructor called.a=3,b=4Destructor called.a=1,b=27、运行该程序输出结果如下所示。
第6章习题与参考答案一.单项选择题1.下列关于视图的说法,正确的是〔B。
A.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含〔A。
A.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的〔A。
A.外模式B.内模式C.模式D.其他4.下列关于视图的说法,正确的是〔B。
A.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句5.创建视图的主要作用是〔D。
A.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据6.设有学生表〔学号,姓名,所在系。
下列建立统计每个系的学生人数的视图语句中,正确的是〔D。
A.CREATE VIEW v1ASSELECT 所在系, COUNT<*> FROM 学生表GROUP BY 所在系B.CREATE VIEW v1ASSELECT 所在系, SUM<*> FROM 学生表GROUP BY 所在系C.CREATE VIEW v1<系名,人数> ASSELECT 所在系, SUM<*> FROM 学生表GROUP BY 所在系D.CREATE VIEW v1<系名,人数> ASSELECT 所在系, COUNT<*> FROM 学生表GROUP BY 所在系7.设用户在某数据库中经常需要进行如下查询操作:SELECT * FROM T WHERE C1='A' ORDER BY C2设T表中已在C1列上建立了主键约束,且该表只建有该约束。
为提高该查询的执行效率,下列方法中可行的是〔C。
A.在C1列上建立一个聚集索引,在C2列上建立一个非聚集索引B.在C1和C2列上分别建立一个非聚集索引C.在C2列上建立一个非聚集索引D.在C1和C2列上建立一个组合的非聚集索引8.下列关于索引的说法,正确的是〔C。
1.选择题(1)(C)允许用户定义一组操作,这些操作通过对指定的表进行删除、插入和更新命令来执行或触发。
A.存储过程B.视图C.触发器D.索引(2)SQL Server为每个触发器创建了两个临时表,它们是( B )。
A.Updated和Deleted B.Inserted和DeletedC.Inserted和Updated D.Seleted和Inserted(3)SQL Server中存储过程由一组预先定义并被(C)的Transact-SQL语句组成。
A.编写B.解释C.编译D.保存(4)下列可以查看表的行数以及表使用的存储空间信息的系统存储过程是( A )。
A.sq_spaceused B.sq_dependsC.sq_help D.sq_rename2.填空题(1)存储过程(stored procedure)是SQL Server服务器中(一组预编译的)Transact-SQL 语句的集合。
(2)SQL Server中的存储过程具有如下(的系统存储过程、用户自定义存储过程、临时存储过程、远程存储过程、扩展存储过程5 )种类型。
(3)创建存储过程实际是对存储过程进行定义的过程,主要包含存储过程名称及其(参数)和存储过程的主体两部分。
(4)触发器主要用于强制复杂的(业务规则)或要求。
(5)当某个表被删除后,该表上的(所有触发器)将自动被删除。
3.问答题(1)使用存储过程的主要优点有哪些?答:存储过程的主要优点有:- 实现模块化编程,一个存储过程可以被多个用户共享和重用。
- 可以加快程序的运行速度。
- 可以减少网络的流量。
- 可以提高数据库的安全性(2)存储过程分哪两类?各有何特点?答:存储过程最常见的主要分为系统存储过程和用户自定义存储过程两类,此外还有临时存储过程、远程存储过程和扩展存储过程:- 系统存储过程由系统自动创建,主要存储在master数据库中,一般以sp_为前缀,系统存储过程完成的功能主要是从系统表中获取信息,通过系统存储过程,SQL Server中的许多管理性或信息性的活动都可以被顺利地完成。
第六章关系数据理论第六章讲解关系数据理论。
这是关系数据库的又一个重点。
学习本章的目的有两个。
一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。
另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。
因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。
一、基本知识点本章讲解关系数据理论,内容理论性较强,分为基本要求部分(《概论》6.1~6.3)和高级部分《概论》6.4)。
前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。
①需要了解的:什么是一个“不好”的数据库模式;什么是模式的插入异常和删除异常;规范化理论的重要意义。
②需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念,码、候选码、外码的概念和定义,多值依赖的概念);范式的概念;从lNF 到4NF的定义;规范化的含义和作用。
③需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。
④难点:各个级别范式的关系及其证明。
二、习题解答和解析1.理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依赖、4NF。
解析解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
答函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。
1.数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了3个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
2.模式是数据库中全体数据的逻辑结构和特征的描述,反映的是数据的结构及其联系。
它的一个具体值称为其的一个实例,反映的是数据库某一时刻的状态。
3.在数据库的三级模式体系结构中,模式与内模式之间的映象实现了数据库的物理独立性,模式与外模式之间的映象实现了数据库的物理独立性。
4.数据字典包括的主要内容有数据项、数据结构、数据流、数据存储和加工。
5.能唯一标识实体的属性集称为码。
6.数据模型通常包括数据结构、数据操作和完整性约束条件3个要素。
7.SQL全称是结构化查询语言。
8.并发控制的主要方法是采用了封锁机制,其类型有排他锁和共享锁两种。
9.数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为一定范围内的各种用户共享。
10.数据库系统是由计算机硬件、数据库、数据库管理系统、应用程序系统和数据库管理员五部分组成。
11.E-R模型是对现实世界的一种抽象,它的主要成分是实体集、联系和属性。
12.关系数据库的标准语言是SQL语言,该语言的功能主要包括数据定义功能、数据操纵功能、数据控制功能。
13.若事务T对数据对象A加了S锁,则其他事务只能对数据A再加S锁,不能加X锁,直到事务T释放A上的锁。
14.数据库应用系统的设计应该具有对数据进行收集、存储、加工、抽取和传播等功能,即包括数据设计和处理设计,而数据设计是系统设计的基础和核心。
15.在ORDER BY子句的选择项中,DESC代表降序输出;省略DESC时,代表升序输出。
16.数据库管理系统是位于用户与操作系统之间的一个数据管理软件,它主要包括数据定义功能、数据操纵功能、数据库的运行管理和数据库的建立与维护功能等基本功能。
17.数据库管理系统必须提供的数据控制和保护功能包括安全性保护、完整性控制、故障恢复、并发控制和事务支持。
⽣理学⽣理学试题库复习题(第六章.docx 《⽣理学试题库复习题(第六章_第七章)》考试时间:120分钟考试总分:100分遵守考场纪律,维护知识尊严,杜绝违纪⾏为,确保考试结果公正。
1、组织换⽓是指:()A.肺泡与⽓道之间的⽓体交换B.肺泡与⽑细⾎管⾎液之间的⽓体交换C.组织细胞与⽑细⾎管⾎液之间的⽓体交换D.细胞器之间的⽓体交换2、参与平静呼吸的肌⾁是:()A.膈肌与肋间内肌B.膈肌与肋间外肌C.膈肌与腹壁肌D.肋间外肌与肋间内肌3、平静呼⽓末胸内压:()A.低于⼤⽓压B.等于⼤⽓压C.⾼于⼤⽓压D.⽐吸⽓中期负压绝对值⼤4、实现肺通⽓的组织器官是:() A.肺泡 B.呼吸道 C.胸廓 D.呼吸道、肺泡和胸廓姓名:________________ 班级:________________ 学号:________________--------------------密----------------------------------封 ----------------------------------------------线-------------------------5、肺通⽓是指:()A.⽓道与外界环境间的⽓体交换B.⽓道与肺部间的⽓体交换C.肺部与外界环境间的⽓体交换D.肺与⾎液间的⽓体交换6、关于平静吸⽓和平静呼⽓时⽐较的叙述,下列哪项是正确的?()A.胸内压相等D.肺内压相等7、肺通⽓所遇到的弹性阻⼒来⾃:()A.胸廓B.⽓道C.肺组织和胸廓D.肺的弹性纤维8、肺通⽓时构成⾮弹性阻⼒的主要成分是:()A.肺弹性纤维回缩⼒B.⽓道阻⼒C.肺泡表⾯张⼒D.惯性阻⼒9、维持胸内负压的必要条件是:()A.吸⽓肌收缩B.呼⽓肌收缩C.肺内压⾼于⼤⽓压D.胸膜腔密闭10、平静呼⽓末肺内的⽓量为:()A.余⽓量B.肺活量C.功能余⽓量D.补吸⽓量+余⽓量11、肺活量等于:()A.肺总容量余⽓量B.功能余⽓量余⽓量C.补吸⽓量+补呼⽓量D.补吸⽓量+潮⽓量12、肺总容量等于:()A.肺活量+功能余⽓量B.深吸⽓量+功能余⽓量C.肺活量+潮⽓量D.补吸⽓量+补呼⽓量13、平静吸⽓末肺内的⽓量是:()A.补吸⽓量D.潮⽓量+功能余⽓量14、潮⽓量为500ml,呼吸频率为13次/分,⽆效腔⽓量为150ml,则肺泡通⽓量为每分钟:()A.7LB.4.2LC.4.55LD.3L15、下列哪项能引起呼吸道⼝径增⼤?()A.呼⽓时B.⼉茶酚胺C.跨⽓道壁压变⼩D.胸内负压绝对值降低16、决定肺部⽓体交换⽅向的主要因素是:()A.⽓体的分压差B.⽓体的溶解度C.⽓体与⾎红蛋⽩的亲和⼒D.⽓体的分⼦量17、关于⽓体扩散速率的叙述,下列哪项是正确的?()A.与⽓体溶解度呈反⽐B.与扩散⾯积呈正⽐C.与扩散距离呈正⽐D.与⽓体分⼦量呈正⽐18、⼆氧化碳分压从低到⾼的顺序⼀般为:()A.呼出⽓<组织细胞<静脉⾎<肺泡⽓B.呼出⽓<肺泡⽓<静脉⾎<组织细胞C.呼出⽓<肺泡⽓<组织细胞<静脉⾎D.静脉⾎<呼出⽓<肺泡⽓<组织细胞19、肺表⾯活性物质的主要成分是:()A.胆固醇B.⽢油酯C.溶⾎卵磷脂D.⼆棕榈酰卵磷脂20、组成呼吸膜的层次有:()A.⽑细⾎管内⽪、基膜、肺泡上⽪细胞D.⽑细⾎管内⽪、间隙、肺泡上⽪、液体分⼦21、对肺泡⽓分压变化起缓冲作⽤的是:()A.肺活量B.潮⽓量C.余⽓量D.功能余⽓量22、呼出⽓与肺泡⽓的成分主要差别是:()A.呼出⽓CO2含量多于肺泡⽓B.呼出⽓CO2及O2含量多于肺泡⽓C.呼出⽓O2含量多于肺泡⽓D.呼出⽓O2含量少于肺泡⽓23、造成呼出⽓中CO2含量低于肺泡⽓的原因是:()A.潮⽓量B.⽆效腔中的新鲜空⽓C.肺泡腔中的新鲜空⽓D.补吸⽓中的新鲜空⽓24、肺泡⽓中容积百分⽐最⾼的是:()A.O2B.CO2C.N2D.⽔蒸⽓25、⽣理⽆效腔与解剖⽆效腔的容量差等于:()A.肺泡⽆效腔⽓量B.功能⽆效腔⽓量C.余⽓量D.功能余⽓量26、肺通⽓的原功⼒是:()A.肺内压与胸内压的压⼒差B.肺内压与⼤⽓压的压⼒差C.呼吸运动D.胸内压与⼤⽓压的压⼒有效期27、当肺表⾯活性物质增加时,主要使下列哪项减⼩?()A.肺组织的弹性回缩⼒28、吸⼊⽓中容积百分⽐最⾼的是:()A.O2B.CO2C.N2D.⽔蒸⽓29、影响⽓道阻⼒最重要的因素是:()A.呼吸道的长度B.呼吸道⼝径C.⽓流形式D.呼吸运动30、每次呼吸时吸⼊或呼出的⽓量称为:()A.潮⽓量B.补吸⽓量C.补呼⽓量D.余⽓量31、可使⽓道平滑肌舒张的化学因素是:()A.前列腺素F2αB.⼉茶酚胺C.组胺D.慢反应物质32、最⼤呼⽓末尚存留于肺中不能再呼出的⽓量称为:()A.⽆效腔⽓量B.余⽓量C.功能余⽓量D.吸⽓贮备量33、反映单位时间内充分发挥全部通⽓能⼒所达到的通⽓量称为:()A.每分肺泡通⽓量B.最⼤通⽓量C.肺活量D.深吸⽓量34、下列哪种情况下胸廓的弹性回缩⼒向外?()A.平静呼⽓末35、平静呼吸时,下列哪种情况下肺内压⾼于⼤⽓压?()A.整个呼吸过程B.吸⽓初C.吸⽓末D.呼⽓初36、体内氧分压最⾼的是:()A.动脉⾎B.肺泡⽓C.组织液D.细胞内液37、CO2扩散速度快于O2的主要原因是:()A.CO2溶解度⼤B.CO2分⼦量⼤C.CO2分压差⼤D.CO2属主动转运38、决定每分肺泡通⽓量的主要因素是:()A.余⽓量B.肺活量C.潮⽓量、呼吸频率与⽆效腔⽓量D.潮⽓量、余⽓量与⽆效腔⽓量39、肺顺应性降低时呈现呼吸浅快,主要与下列哪项有关?()A.肺扩张反射B.肺缩⼩反射C.化学感受性反射D.压⼒感受性反应40、若⼈为保持脑脊液pH不变,则⽤含⾼浓度CO2的⼈⼯脑脊液灌流脑室不再引起通⽓加强,表明:()A.CO2可直接兴奋呼吸中枢B.CO2可直接兴奋中枢化学感受器C.CO2可通过改变脑脊液H+浓度⽽兴奋呼吸中枢D.CO2通过改变脑脊液H+浓度⽽兴奋中枢化学感受器41、100ml⾎液所能携带氧的最⼤量取决于⾎液:()A.氧分压42、100ml⾎液中Hb所能结合的最⼤氧量称为()A.Hb的氧含量B.Hb的氧容量C.Hb氧饱和度D.氧的利⽤系数43、P50是指:()A.使Hb氧饱和度达50%时的PO2B.PO2为6.7 kPa(50mmHg)时的氧饱和度C.PCO2为6.7 kPa(50mmHg)时的氧饱和度D.PO2为正常值的50%的氧饱和度44、下列哪种情况可导致氧离曲线右移()A.PCO2增⾼B.pH值升⾼C.温度降低D.2,3DPG降低45、动脉⾎低PO2对呼吸的兴奋是通过:()A.直接刺激呼吸中枢B.刺激中枢化学感受器C.刺激颈动脉体、主动脉体化学感受器D.刺激颈动脉窦、主动脉⼸压⼒感受器46、Hb的氧缓冲功能主要与下列哪项有关?()A.波尔效应B.何尔登效应C.氧离曲线形状D.pH值47、切断兔颈部的双侧迷⾛神经后,呼吸常出现:()A.变快、变深B.变快、变浅C.变慢、变深D.变慢、变浅48、⾎红蛋⽩的⾎氧容量主要取决于()A.Hb浓度D.2,3DPG浓度49、CO2在⾎液中运输的主要形式是:()A.物理溶解B.形成碳酸氢盐C.形成氨基甲酸⾎红蛋⽩D.与⾎浆蛋⽩结合50、中枢化学感受器最敏感的刺激物是:()A.脑脊液中的CO2B.脑脊液中的H+C.脑脊液PO2降低D.⾎液中的CO251、动脉⾎H+浓度增⾼兴奋呼吸的作⽤主要不是通过中枢化学感受器⽽实现的,其原因是:()A.中枢化学感受器对H+不敏感B.H+对中枢化学感受器有抑制作⽤C.H+难以通过⾎脑屏障D.脑脊液有强⼤的缓冲系统,缓冲了脑脊液pH的变化52、产⽣节律呼吸的基本中枢在:()A.脊髓B.延髓C.脑桥D.中脑53、在下列哪个平⾯横断脑⼲后仍能保持正常呼吸节律?()A.脊髓与延髓之间B.延髓与脑桥之间C.脑桥与中脑之间D.脑桥中、下部之间54、波尔效应是指:()A.酸度对Hb氧亲和⼒的影响B.PCO2对Hb氧亲和⼒的影响C.温度对Hb氧亲和⼒的影响D.2,3DPG对Hb氧亲和⼒的影响55、⾎红蛋⽩的氧含量主要取决于:()A.pH值D.PO256、下列指标中含有余⽓量的是:()A.功能余⽓量B.补呼⽓量C.肺活量D.肺总容量57、膈肌收缩时可出现下列哪些现象?()A.肺内压升⾼B.胸廓隆起C.产⽣吸⽓动作D.胸腔容积增⼤58、下列哪些因素使呼吸道平滑肌收缩?()A.迷⾛神经兴奋B.交感神经兴奋C.组胺增多D.5羟⾊胺增多59、下列哪些能使⽓体扩散速率减慢?()A.通⽓/⾎流⽐值减⼩B.肺⽔肿C.肺⾎流减少D.⽓体分压差增加60、肺内压:()A.指胸膜空内的压⼒B.在呼吸暂停,呼吸道畅通时与⼤⽓压相等C.吸⽓初低于⼤⽓压D.呼⽓初低于⼤⽓压61、吸⽓时:()A.胸内负压增⼤B.肺内压不变C.淋巴回流增加D.静脉回流量增加62、引起⽀⽓管平滑肌收缩的因素有:()A.变态反应D.肾上腺素63、下列哪些情况下呼吸道⼝径变⼤?()A.交感神经兴奋B.⼄酰胆碱C.胸内负压绝对值增⼤D.跨⽓道壁压变⼩64、肺通⽓的弹性阻⼒来⾃:()。
《数据库系统概论》第六章关系数据理论复习题及答案一、选择题1、关系规范化中的删除操作异常是指①,插入操作异常是指②。
A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入答案:①A ②D2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是。
A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑答案:A3、规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及冗余度大的缺陷。
A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失答案:C4、当关系模式R(A,B)已属于3NF,下列说法中是正确的。
A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A 和C都是答案:B5、关系模型中的关系模式至少是。
A.1NF B.2NF C.3NF D.BCNF 答案:A 6、在关系DB中,任何二元关系模式的最高范式必定是。
A.1NF B.2NF C.3NF D.BCNF 答案:D7、在关系模式R中,若其函数依赖集中所有候选关键字都是决定因素,则R最高范式是。
A.2NF B.3NF C.4NF D.BCNF 答案:C8、候选关键字中的属性称为。
A.非主属性 B.主属性 C.复合属性 D.关键属性答案:B9、消除了部分函数依赖的1NF的关系模式,必定是。
A.1NF B.2NF C.3NF D.4NF 答案:B10、关系模式的候选关键字可以有①,主关键字有②。
A.0个B.1个 C.1个或多个 D.多个答案:①C ②B 11、关系模式的分解不惟一。
A.惟一 B.不惟一答案:B12、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式? 。
部门(部门号,部门名,部门成员,部门总经理)A.部门总经理 B.部门成员 C.部门名 D.部门号答案:B二、填空题1、在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为。
第 6 章习题与参考答案.单项选择题1.下列关于视图的说法,正确的是(B)。
A.视图与基本表一样,也存储数据B.对视图的操作最终都转换为对基本表的操作C.视图的数据源只能是基本表D.所有视图都可以实现对数据的增、删、改、查操作2.在视图的定义语句中,只能包含(A)。
A.数据查询语句B.数据增、删、改语句C.创建表的语句D.全部都可以3.视图对应数据库三级模式中的( A )。
A.外模式B.内模式C.模式D.其他4.下列关于视图的说法,正确的是(B)。
A.通过视图可以提高数据查询效率B.视图提供了数据的逻辑独立性C.视图只能建立在基本表上D.定义视图的语句可以包含数据更改语句5.创建视图的主要作用是( D)。
A.提高数据查询效率B.维护数据的完整性约束C.维护数据的一致性D.提供用户视角的数据6.设有学生表(学号,姓名,所在系)。
下列建立统计每个系的学生人数的视图语句中,正确的是( D)。
A . CREATE VIEW v1ASSELECT 所在系 , COUNT(*) FROM 学生表 GROUP BY 所在系B .CREATE VIEW v1ASSELECT 所在系 , SUM(*) FROM 学生表 GROUP BY 所在系C.CREATE VIEW v1(系名,人数) ASSELECT 所在系 , SUM(*) FROM 学生表 GROUP BY 所在系D . CREATE VIEW v1(系名,人数) ASSELECT 所在系 , COUNT(*) FROM 学生表 GROUP BY 所在系7.设用户在某数据库中经常需要进行如下查询操作:SELECT * FROM T WHERE C1='A' ORDER BY C2设 T 表中已在 C1 列上建立了主键约束,且该表只建有该约束。
为提高该查询的执行效率,下列方法中可行的是( C)。
A.在 C1列上建立一个聚集索引,在 C2 列上建立一个非聚集索引B.在 C1 和 C2 列上分别建立一个非聚集索引C.在 C2 列上建立一个非聚集索引D.在 C1 和 C2 列上建立一个组合的非聚集索引8.下列关于索引的说法,正确的是(C)。
第六章习题一、选择题:为了作图方便,本章用匸二)形框代替CD’形框表示实体的属性。
1.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它是数据库设计的—阶段。
A.需求分析B.概念设计C.逻辑设计D.物理设计答案:B2.E-R图是数据库设计的工具之一,它适用于建立数据库的—oA.概念模型B.逻辑模型C.结构模型D.物理模型答案:A3.在关系数据库设计屮,设计关系模式是—的任务。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段答案:C4.数据库物理设计完成后,进入数据库实丿施阶段,下列各项中不属于实施阶段的工作是—。
A.建立库结构B.扩充功能C.加载数据D.系统调试答案:B5.数据库概念设计的E-R方法中,用属性描述实体的特征,属性在E-R图中,用—表示。
A.矩形B.四边形C.菱形D.椭圆形答案:D6.在数据库的概念设计中,最常用的数据模型是—。
A形象模型 B.物理模型C.逻辑模型D.实体联系模型答案:D7.在数据库设计中,在概念设计阶段可用E-R方法,其设计出的图称为—oA.实物示意图B.实用概念图C.实体表示图D.实体联系图答案:D8.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是—0A. M端实体的关键字B. N端实休的关键字C. M端实体关键字与N端实体关键字组合D.重新选取其他属性答案:C9.当局部E-R图合并成全局E-R图时可能出现冲突,不属于合并冲突的是—oA.属性冲突B.语法冲突C.结构冲突D.命名冲突答案:B10.E・R图屮的主要元素是①、②和局性。
A.记录型B.结点C.实体型D.表E.文件F.联系G.有向边答案:©C ②F11.数据库逻辑设计的主要任务是—。
A.建立E-R图和说明书B.创建数据库说明C.建立数据流图D.把数据送入数据库答案:B12.E-R图中的联系可以与____ 实体有关。
A. 0个B. I个C. 1个或多个D.多个答案:C13.概念模型独立于—oA. E-R模型B.硬件设备和DBMSC.操作系统和DBMSD. DBMS答案:B14.如果两个实体之间的联系是m:n,则—引入第三个交叉关系。
A.需要B.不需耍C.可有可无D.合并两个实体答案:A15.数据流程图(DFD)是用于描述结构化方法屮—阶段的工具。
A.可行性分析B.详细设计C.需求分析D.程序编码答案:C16.E-R图是表示概念模型的有效工具之一,如图6.2所示的局部E-R图中的菱形框“表示” 的是—。
图6.2 E-R图A.联系B.实体C.实体的属性D.联系的属性答案:A17.图6.3所示的E-R图转换成关系模型,可以转换为—关系模式。
图6.3 E-R图A. 1个B. 2个C. 3个D. 4个答案:c1. ____________________________ 需求分析阶段得到的结果是 OA.数据字典描述的数据需求B. E ・R 图表示的概念模型C.某个DBMS 所支持的数据模型D.包括存储结构和存取方法的物理结构答案:A2. 概念结构设计阶段得到的结果是 __________ oA.数据字典描述的数据需求B. E-R 图表示的概念模型C.某个DBMS 所支持的数据模型D.包扌舌存储结构和存取方法的物理结构答案:B3. 逻辑结构设计阶段得到的结果是 __________ oA.数据字典描述的数据需求B. E-R 图表示的概念模型C.某个DBMS 所支持的数据模型 答案:C 4. 数据库物理设计阶段得到的结果是_A.数据字典描述的数据需求C.某个DBMS 所支持的数据模型D.包括存储结构和存取方法的物理结构 答案:D5. 一个实体型转换为一个关系模式。
关系的码为 ____________ 。
A.实体的码B.二个实体码的组合C. n 端实体的码D.每个实体的码答案:A6. 一个n 联系转换为一个关系模式。
关系的码为 ________________A.实体的码B.各实体码的组合C. n 端实休的码D.每个实体的码答案:B7. 一个1: n 联系可以转换为一个独立的关系模式,关系的码为 _____________A.实体的码B.各实体码的组合C. n 端实体的码D.每个实体的码答案:C二、填空题:1. E-R 数据模型一•般在数据库设计的—阶段使用。
答案:概念设计2. 数据模型是用来描述数据库的结构和语义的,数据模型有概念数据模型和结构数据模型两类,E-R 模型是—模型。
答案:概念数据3. 数据库设计的儿个步骤是—。
答案:需求分析,概念设计,逻辑设计,物理设计,编码和调试 D.包括存储结构和存収方法的物理结构B. E-R 图表示的概念模型4.“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计屮的—设计阶段。
答案:物理5.在数据库设计中,把数据需求写成文档,它是各类数据描述的集合,包括数据项、数据结构、数据流、数据存储和数据加工过程等的描述,通常称为—。
答案:数据字典6.数据库应用系统的设计应该具冇对于数据进行收集、存储、加工、抽取和传播等功能,即包括数据设计和处理设计,而—是系统设计的基础和核心。
答案:数据设计7.数据库实施阶段包括两项重要的工作,一项是数据的—,另一•项是应用程序的编码和调试。
答案:载入8.在设计分E-R图时,由于各个子系统分别有不同的应用,而且往往是rfl不同的设计人员设计的,所以各个分E-R图Z间难免有不一致的地方,这些冲突主要有①、②和③三类。
答案:①属性冲突②命名冲突③结构冲突9.E-R图向关系模型转化要解决的问题是如何将实体和实体Z间的联系转换成关系模式,如何确定这些关系模式的—0答案:属性和码10.在数据库领域里,统称使用数据库的各类系统为—系统。
答案:数据库应用11.数据库逻辑设计小进行模型转换时,首先将概念模型转换为①,然后将②转换为③。
答案:①与特定的DBMS无关的,但为一般的关系模型、网状模型或层次模型所表示的一般模型②一般模型③特左DBMS支持的逻辑模型三、简答题和综合题:1.某大学实行学分制,学生可根据自己的情况选修课程。
每名学生町同时选修多门课程,每门课程可由多位教师讲授;每位教师可讲授多门课程。
其不完整的E-R图如图6.4所示。
⑴指出学生与课程的联系类型,完善E-R图。
⑵指出课程与教师的联系类型,完善E-R图。
⑶若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系?⑷在原E-R图上补画教师与学生的联系,并完善E-R图。
图6.4 E-R图答:(1)学纶与课程的联系类型是多对多联系。
(2)课程与教师的联系类型是多对多联系。
(3)学生与教师的联系类型是一对多联系。
(4)完善本题E-R图的结果如图6.5所示。
图6.5 E-R图2.将如图6.6所示的OR图转换为关系模式,棱形框中的属性自己确定。
解:木题的E・R图转换为如下关系模式:单位(单位号,地址,电话)3.假定一个部门的数据库包括以下的信息:职工的信息:职工号、姓名、住址和所在部门。
部门的信息:部门所有职工、经理和销售的产品。
产品的信息:产品名、制造商、价格、型号及产品内部编号。
制造商的信息:制造商名称、地址、牛产的产品名和价格。
试画出这个数据库的E-R图。
解:本题对应的E-R图如图6.7所示。
4.设有商业销售记账数据库。
一个顾客(顾客姓名,单位,电话号码)可以买多种商品, 一种商品(商品名称,型号,单价)供应多个顾客。
试画出对应的E-R图。
解:本题对应的E-R图如图6.8所示。
图6.8 E-R图5.某医院病房计算机管理中需要如下信息:科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医牛,病房号其中,一个科室冇多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只冇一个。
完成如下设计:(1)设计该计算机管理系统的E-R图;(2)将该E-R图转换为关系模型结构;(3)指出转换结果中每个关系模式的候选码。
解:(1)本题的E-R图如图6.9所示。
(2)对应的关系模型结构如F:科室(科名,科地址,科电话)病房(病房号,床位号,科室名)医牛(工作证号,姓名,职称,科室名,年龄)病人(病历号,姓名,性别,诊治,主管医牛,病房号)(3)每个关系模式的候选码如F:科室的候选码是科名;病房的候选码是科室名十病房号;医生的候选码是工作证号;学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师名上述实体屮存在如下联系:(1)一个学生可选修多门课程,一门课程可为多个学生选修;(2)一个教师可讲授多门课程,一门课程可为多个教师讲授; (3)一个单位可有多个教师,一个教师只能属于一个单位。
试完成如下工作:(1)分别设计学生选课和教师任课两个局部信息的结构E-R图。
(2)将上述设计完成的E-R图合并成一个全局E-R图。
(3)将该全局E・R图转换为等价的关系模型表示的数据库逻辑结构。
解:(1)学生选课局部E-R图如图6.10所示,教师任课局部E-R图如图6.11所示。
(2)合并的全局E-R图如图6.12所示。
为避免图形复杂,卜•面给出各实体属性:单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程名(3)该全局E-R图转换为等价的关系模烈表示的数据廓逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)图6」0学牛选课局部E-R图图6.11教师任课局部E-R图图6.12合并的全局E-R 图课程(课程编号,课程名,单位名)学牛(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)7. 图6.13给出(a )、(b )和(c )三个不同的局部模型,将其合并成一个全局信息结构, 并设置联系实体屮的属性(允许增加认为必要的属性,也可将有关基本实体的属性选作联系 图6.13各局部的E-R 图各实体构成如下: 部门:部门号,部门名, 职员:职员号,职员名,设备处:单位号,电话,地址工人:工人编号,姓名,年龄,性别设备: 设备号, 名称, 位置, 价格零件: 零件号, 名称, 规格, 价格厂商: 单位号, 名称, 电话, 地址解:汇总后的E ・R 图如图6.14所示。
各类实体的属性为:部门:部门'部门名,电话,地址职工:职工号,职工名,职务,年龄,性别设备:设备号,名称,规格,价格零件:零件号,名称,规格,价格•八 实体的属性)。