数据库原理第二章练习讲解

合集下载

数据库原理及应用 chp2课后习题答案

数据库原理及应用 chp2课后习题答案
第 2 章 关系数据库
2.1 试述关系模型的三个组成部分。 答:关系模型的三个组成部分为关系结构、关系操作和关系完整性约束。 在关系模型中,无论是实体集,还是实体集之间的联系均由单一的关系表示。关系模式
可以形式化地表示为:R(U,D,Dom,F),其中 R 为关系名,U 为组成该关系的属性集 合,D 为属性组 U 中属性所来自的域,Dom 为属性向域的映像的集合,F 为属性间数据的 依赖关系集合。
2.5 假定关系 R 和 S 分别有 n 和 m 个元组,试说明下列运算结果中的最小和最大元组个数:
(1) R U S
(2)R

(3)σ F (R) × S ,其中 F 是条件表达式 (4) Π L (R) − S ,其中 L 是属性集合
答:
(1) R U S 的结果,最大元组个数为 m+n,最小为 m( R ⊇ S )个或者 n( R ⊆ S )
属性)为候选码。当一个关系有多个候选码时,应选定其中的一个候选码为主码;而如果关 系中只有一个候选码,这个惟一的候选码就是主码。
设 F 是基本关系 R 的一个或一组属性,但不是关系 R 的主码(或候选码)。如果 F 与基 本关系 s 的主码 KS 相对应,则称厅是基本关系 R 的外码。
2)给定一组域 D1,D2,…, Dn.这些域中可以有相同的部分,则 D1,D2,…, Dn 的笛卡地积为:D1×D2×…×Dn﹦{(dl,d2,…,dn)∣di∈Di,i=1,2, …,n}。
说明:SC 自乘之后,同一个学号下两个课程号不同的元组 若修改为:检索至少选修一门课的学生学号
πSNO(SC)
(7) 检索全部学生都选修的课程的课程号和课程名;
π (C CNO,CNAME
(πSNO,CNO(SC)÷πSNO(S)))

数据库原理 第二章 关系数据库期末习题与答案

数据库原理 第二章 关系数据库期末习题与答案

1、一个关系只能有一个()。

A.超码B.外码C.候选码D.主码正确答案:D2、在教务管理数据库中,关系数据库模式为S(SNO,SN,Sex,Age,Dept),SC(SNO,CNO,SCORE),S为学生关系,SC为选课关系,则分数大于等于60分的学生学号的关系代数为()A.B.C.D.正确答案:C3、有两个关系R和S,分别含有15个和10各元组,则在RUS,R-S,RnS中不可能出现的元组情况是()A.15,5,10B.18,7,7C.21,11,4D.25,15,0正确答案:B4、关系运算中花费时间可能最长的是()A.选取B.投影D.差正确答案:C二、填空题1、传统集合运算执行交、并、差运算的时候,参与运算的关系必须是()的关系。

正确答案:相容2、当对两个关系R和S进行自然连接运算时,要求R和S含有一个或多个共有的()。

正确答案:域或属性3、实体的完整性是对()的约束。

正确答案:主码或主键4、参照完整性规则是对()的约束。

正确答案:外键或外码5、根据关系规范化的要求,关系模式的任何属性()。

正确答案:不可再分或唯一三、判断题1、关系代数的运算对象和运算结果都是关系。

(对)2、关系R中有n条元组,关系S中有m条元组,则关系R和关系S的广义笛卡尔乘积上有n+m条元组。

(错)3、从关系规范化的角度,籍贯可以作为关系模式的属性。

(错)4、关系表中的元组是可以交换顺序的。

(对)5、“并”操作在实际应用中可用于删除关系中的元组。

(错)。

(完整版)数据库系统基础教程第二章答案解析

(完整版)数据库系统基础教程第二章答案解析

For relation Accounts, the attributes are:acctNo, type, balanceFor relation Customers, the attributes are:firstName, lastName, idNo, accountExercise 2.2.1bFor relation Accounts, the tuples are:(12345, savings, 12000),(23456, checking, 1000),(34567, savings, 25)For relation Customers, the tuples are:(Robbie, Banks, 901-222, 12345),(Lena, Hand, 805-333, 12345),(Lena, Hand, 805-333, 23456)Exercise 2.2.1cFor relation Accounts and the first tuple, the components are:123456 → acctNosavings → type12000 → balanceFor relation Customers and the first tuple, the components are:Robbie → firstNameBanks → lastName901-222 → idNo12345 → accountExercise 2.2.1dFor relation Accounts, a relation schema is:Accounts(acctNo, type, balance)For relation Customers, a relation schema is:Customers(firstName, lastName, idNo, account) Exercise 2.2.1eAn example database schema is:Accounts (acctNo,type,balance)Customers (firstName,lastName,idNo,account)A suitable domain for each attribute:acctNo → Integertype → Stringbalance → IntegerfirstName → StringlastName → StringidNo → String (because there is a hyphen we cannot use Integer)account → IntegerExercise 2.2.1gAnother equivalent way to present the Account relation:Another equivalent way to present the Customers relation:Exercise 2.2.2Examples of attributes that are created for primarily serving as keys in a relation:Universal Product Code (UPC) used widely in United States and Canada to track products in stores.Serial Numbers on a wide variety of products to allow the manufacturer to individually track each product.Vehicle Identification Numbers (VIN), a unique serial number used by the automotive industry to identify vehicles.Exercise 2.2.3aWe can order the three tuples in any of 3! = 6 ways. Also, the columns can be ordered in any of 3! = 6 ways. Thus, the number of presentations is 6*6 = 36.Exercise 2.2.3bWe can order the three tuples in any of 5! = 120 ways. Also, the columns can be ordered in any of 4! = 24 ways. Thus, the number of presentations is 120*24 = 2880Exercise 2.2.3cWe can order the three tuples in any of m! ways. Also, the columns can be ordered in any of n! ways. Thus, the number of presentations is n!m!Exercise 2.3.1aCREATE TABLE Product (maker CHAR(30),model CHAR(10) PRIMARY KEY,type CHAR(15));CREATE TABLE PC (model CHAR(30),speed DECIMAL(4,2),ram INTEGER,hd INTEGER,price DECIMAL(7,2));Exercise 2.3.1cCREATE TABLE Laptop (model CHAR(30),speed DECIMAL(4,2),ram INTEGER,hd INTEGER,screen DECIMAL(3,1),price DECIMAL(7,2));Exercise 2.3.1dCREATE TABLE Printer (model CHAR(30),color BOOLEAN,type CHAR (10),price DECIMAL(7,2));Exercise 2.3.1eALTER TABLE Printer DROP color;Exercise 2.3.1fALTER TABLE Laptop ADD od CHAR (10) DEFAULT ‘none’; Exercise 2.3.2aCREATE TABLE Classes (class CHAR(20),type CHAR(5),country CHAR(20),numGuns INTEGER,bore DECIMAL(3,1),displacement INTEGER);Exercise 2.3.2bCREATE TABLE Ships (name CHAR(30),class CHAR(20),launched INTEGER);Exercise 2.3.2cCREATE TABLE Battles (name CHAR(30),date DATE);Exercise 2.3.2dCREATE TABLE Outcomes (ship CHAR(30),battle CHAR(30),result CHAR(10));Exercise 2.3.2eALTER TABLE Classes DROP bore;Exercise 2.3.2fALTER TABLE Ships ADD yard CHAR(30); Exercise 2.4.1aR1 := σspeed ≥ 3.00 (PC)R2 := πmodel(R1)model100510061013Exercise 2.4.1bR1 := σhd ≥ 100 (Laptop)R2 := Product (R1)R3 := πmaker (R2)makerEABFGExercise 2.4.1cR1 := σmaker=B (Product PC)R2 := σmaker=B (Product Laptop)R3 := σmaker=B (Product Printer)R4 := πmodel,price (R1)R5 := πmodel,price (R2)R6: = πmodel,price (R3)R7 := R4 R5 R6model price1004 6491005 6301006 10492007 1429Exercise 2.4.1dR1 := σcolor = true AND type = laser (Printer)R2 := πmodel (R1)model30033007Exercise 2.4.1eR1 := σtype=laptop (Product)R2 := σtype=PC(Product)R3 := πmaker(R1)R4 := πmaker(R2)R5 := R3 – R4Exercise 2.4.1fR1 := ρPC1(PC)R2 := ρPC2(PC)R3 := R1 (PC1.hd = PC2.hd AND PC1.model <> PC2.model) R2R4 := πhd(R3)Exercise 2.4.1gR1 := ρPC1(PC)R2 := ρPC2(PC)R3 := R1 (PC1.speed = PC2.speed AND PC1.ram = PC2.ram AND PC1.model < PC2.model) R2R4 := πPC1.model,PC2.model(R3)Exercise 2.4.1hR1 := πmodel(σspeed ≥ 2.80(PC)) πmodel(σspeed ≥ 2.80(Laptop))R2 := πmaker,model(R1 Product)R3 := ρR3(maker2,model2)(R2)R4 := R2 (maker = maker2 AND model <> model2) R3R5 := πmaker(R4)Exercise 2.4.1iR1 := πmodel,speed(PC)R2 := πmodel,speed(Laptop)R3 := R1 R2R4 := ρR4(model2,speed2)(R3)R5 := πmodel,speed (R3 (speed < speed2 ) R4)R6 := R3 – R5makerBExercise 2.4.1jR1 := πmaker,speed(Product PC)R2 := ρR2(maker2,speed2)(R1)R3 := ρR3(maker3,speed3)(R1)R4 := R1 (maker = maker2 AND speed <> speed2) R2R5 := R4 (maker3 = maker AND speed3 <> speed2 AND speed3 <> speed) R3R6 := πmaker(R5)makerFGhd25080160PC1.model PC2.model1004 1012makerBEmakerADEExercise 2.4.1kR1 := πmaker,model(Product PC)R2 := ρR2(maker2,model2)(R1)R3 := ρR3(maker3,model3)(R1)R4 := ρR4(maker4,model4)(R1)R5 := R1 (maker = maker2 AND model <> model2) R2R6 := R3 (maker3 = maker AND model3 <> model2 AND model3 <> model) R5R7 := R4 (maker4 = maker AND (model4=model OR model4=model2 OR model4=model3)) R6R8 := πmaker(R7)makerABDEExercise 2.4.2aπmodelσspeed≥3.00PCExercise 2.4.2bπmakerσhd ≥ 100 ProductLaptopExercise 2.4.2cσmaker=B πmodel,priceσmaker=B πmodel,price σmaker=Bπmodel,priceProduct PC Laptop Printer ProductProductExercise 2.4.2dPrinter σcolor = true AND type = laserπmodelExercise 2.4.2e σtype=laptop σtype=PC πmakerπmaker –Product ProductExercise 2.4.2fρPC1ρPC2 (PC1.hd = PC2.hd AND PC1.model <> PC2.model)πhdPC PCExercise 2.4.2gρPC1ρPC2PC PC(PC1.speed = PC2.speed AND PC1.ram = PC2.ram AND PC1.model < PC2.model)πPC1.model,PC2.modelExercise 2.4.2hPC Laptop σspeed ≥ 2.80σspeed ≥ 2.80πmodelπmodel πmaker,modelρR3(maker2,model2)(maker = maker2 AND model <> model2)makerExercise 2.4.2iPCLaptopProductπmodel,speed πmodel,speed ρR4(model2,speed2)πmodel,speed(speed < speed2 )–makerExercise 2.4.2jProduct PC πmaker,speed ρR3(maker3,speed3)ρR2(maker2,speed2)(maker = maker2 AND speed <> speed2)(maker3 = maker AND speed3 <> speed2 AND speed3 <> speed)πmakerExercise 2.4.2kπmaker(maker4 = maker AND (model4=model OR model4=model2 OR model4=model3)) (maker3 = maker AND model3 <> model2 AND model3 <> model)(maker = maker2 AND model <> model2)ρR2(maker2,model2)ρR3(maker3,model3)ρR4(maker4,model4)πmaker,modelProduct PCExercise 2.4.3aR1 := σbore ≥ 16 (Classes)R2 := πclass,country (R1)Exercise 2.4.3bR1 := σlaunched < 1921 (Ships)R2 := πname (R1)KirishimaKongoRamilliesRenownRepulseResolutionRevengeRoyal OakRoyal SovereignTennesseeExercise 2.4.3cR1 := σbattle=Denmark Strait AND result=sunk(Outcomes)R2 := πship (R1)shipBismarckHoodExercise 2.4.3dR1 := Classes ShipsR2 := σlaunched > 1921 AND displacement > 35000 (R1)R3 := πname (R2)nameIowaMissouriMusashiNew JerseyNorth CarolinaWashingtonWisconsinYamatoExercise 2.4.3eR1 := σbattle=Guadalcanal(Outcomes)R2 := Ships (ship=name) R1R3 := Classes R2R4 := πname,displacement,numGuns(R3)name displacement numGuns Kirishima 32000 8Washington 37000 9Exercise 2.4.3fR1 := πname(Ships)R2 := πship(Outcomes)R3 := ρR3(name)(R2)R4 := R1 R3nameCaliforniaHarunaHieiIowaKirishimaKongoMissouriMusashiNew JerseyExercise 2.4.3gFrom 2.3.2, assuming that every class has one ship named after the class.R1 := πclass (Classes) R2 := πclass (σname <> class (Ships)) R3 := R1 – R2Exercise 2.4.3hR1 := πcountry (σtype=bb (Classes)) R2 := πcountry (σtype=bc (Classes)) R3 := R1 ∩ R2Exercise 2.4.3iR1 := πship,result,date (Battles (battle=name) Outcomes)R2 := ρR2(ship2,result2,date2)(R1)R3 := R1 (ship=ship2 AND result=damaged AND date < date2) R2R4 := πship (R3)No results from sample data.Exercise 2.4.4aσbore ≥ 16πclass,countryClassesExercise 2.4.4bNorth Carolina Ramillies Renown Repulse Resolution Revenge Royal Oak Royal Sovereign Tennessee Washington Wisconsin Yamato Arizona Bismarck Duke of York Fuso Hood King George V Prince of Wales Rodney Scharnhorst South Dakota West Virginia Yamashiro class Bismarck country Japan Gt. Britainπnameσlaunched < 1921ShipsExercise 2.4.4cπshipσbattle=Denmark Strait AND result=sunkOutcomesExercise 2.4.4dπnameσlaunched > 1921 AND displacement > 35000Classes Ships Exercise 2.4.4eσbattle=Guadalcanal Outcomes Ships(ship=name)πname,displacement,numGunsExercise 2.4.4f Ships Outcomesπnameπship ρR3(name)Exercise 2.4.4g Classes Shipsπclass σname <> class πclass–Exercise 2.4.4hClasses Classesσtype=bb σtype=bcπcountry πcountry∩Exercise 2.4.4iBattles Outcomes (battle=name)πship,result,dateρR2(ship2,result2,date2)(ship=ship2 AND result=damaged AND date < date2)πshipExercise 2.4.5The result of the natural join has only one attribute from each pair of equated attributes. On the other hand, the result of the theta-join has both columns of the attributes and their values are identical.Exercise 2.4.6UnionIf we add a tuple to the arguments of the union operator, we will get all of the tuples of the original result and maybe the added tuple. If the added tuple is a duplicate tuple, then the set behavior will eliminate that tuple.Thus the union operator is monotone.IntersectionIf we add a tuple to the arguments of the intersection operator, we will get all of the tuples of the originalresult and maybe the added tuple. If the added tuple does not exist in the relation that it is added but does exist in the other relation, then the result set will include the added tuple. Thus the intersection operator is monotone.DifferenceIf we add a tuple to the arguments of the difference operator, we may not get all of the tuples of the originalresult. Suppose we have relations R and S and we are computing R – S. Suppose also that tuple t is in R but not in S. The result of R – S would include tuple t. However, if we add tuple t to S, then the new result will not have tuple t. Thus the difference operator is not monotone.ProjectionIf we add a tuple to the arguments of the projection operator, we will get all of the tuples of the original result and the projection of the added tuple. The projection operator only selects columns from the relation and does not affect the rows that are selected. Thus the projection operator is monotone.SelectionIf we add a tuple to the arguments of the selection operator, we will get all of the tuples of the original result and maybe the added tuple. If the added tuple satisfies the select condition, then it will be added to the newresult. The original tuples are included in the new result because they still satisfy the select condition. Thusthe selection operator is monotone.Cartesian ProductIf we add a tuple to the arguments of the Cartesian product operator, we will get all of the tuples of the original result and possibly additional tuples. The Cartesian product pairs the tuples of one relation with the tuples ofanother relation. Suppose that we are calculating R x S where R has m tuples and S has n tuples. If we add a tuple to R that is not already in R, then we expect the result of R x S to have (m + 1) * n tuples. Thus the Cartesianproduct operator is monotone.Natural JoinsIf we add a tuple to the arguments of a natural join operator, we will get all of the tuples of the original result and possibly additional tuples. The new tuple can only create additional successful joins, not less. If, however, the added tuple cannot successfully join with any of the existing tuples, then we will have zero additionalsuccessful joins. Thus the natural join operator is monotone.Theta JoinsIf we add a tuple to the arguments of a theta join operator, we will get all of the tuples of the original result and possibly additional tuples. The theta join can be modeled by a Cartesian product followed by a selection onsome condition. The new tuple can only create additional tuples in the result, not less. If, however, the addedtuple does not satisfy the select condition, then no additional tuples will be added to the result. Thus the theta join operator is monotone.RenamingIf we add a tuple to the arguments of a renaming operator, we will get all of the tuples of the original result and the added tuple. The renaming operator does not have any effect on whether a tuple is selected or not. In fact, the renaming operator will always return as many tuples as its argument. Thus the renaming operator is monotone.Exercise 2.4.7aIf all the tuples of R and S are different, then the union has n + m tuples, and this number is the maximum possible.The minimum number of tuples that can appear in the result occurs if every tuple of one relation also appears in the other. Then the union has max(m , n) tuples.Exercise 2.4.7bIf all the tuples in one relation can pair successfully with all the tuples in the other relation, then the natural join has n * m tuples. This number would be the maximum possible.The minimum number of tuples that can appear in the result occurs if none of the tuples of one relation can pairsuccessfully with all the tuples in the other relation. Then the natural join has zero tuples.Exercise 2.4.7cIf the condition C brings back all the tuples of R, then the cross product will contain n * m tuples. This number would be the maximum possible.The minimum number of tuples that can appear in the result occurs if the condition C brings back none of the tuples of R. Then the cross product has zero tuples.Exercise 2.4.7dAssuming that the list of attributes L makes the resulting relation πL(R) and relation S schema compatible, then the maximum possible tuples is n. This happens when all of the tuples of πL(R) are not in S.The minimum number of tuples that can appear in the result occurs when all of the tuples in πL(R) appear in S. Then the difference has max(n–m , 0) tuples.Exercise 2.4.8Defining r as the schema of R and s as the schema of S:1.πr(R S)2.R δ(πr∩s(S)) where δ is the duplicate-elimination operator in Section 5.2 pg. 2133.R – (R –πr(R S))Exercise 2.4.9Defining r as the schema of R1.R - πr(R S)Exercise 2.4.10πA1,A2…An(R S)Exercise 2.5.1aσspeed < 2.00 AND price > 500(PC) = øModel 1011 violates this constraint.Exercise 2.5.1bσscreen < 15.4 AND hd < 100 AND price ≥ 1000(Laptop) = øModel 2004 violates the constraint.Exercise 2.5.1cπmaker(σtype = laptop(Product)) ∩ πmaker(σtype = pc(Product)) = øManufacturers A,B,E violate the constraint.Exercise 2.5.1dThis complex expression is best seen as a sequence of steps in which we define temporary relations R1 through R4 that stand for nodes of expression trees. Here is the sequence:R1(maker, model, speed) := πmaker,model,speed(Product PC)R2(maker, speed) := πmaker,speed(Product Laptop)R3(model) := πmodel(R1 R1.maker = R2.maker AND R1.speed ≤ R2.speed R2)R4(model) := πmodel(PC)The constraint is R4 ⊆ R3Manufacturers B,C,D violate the constraint.Exercise 2.5.1eπmodel(σLaptop.ram > PC.ram AND Laptop.price ≤ PC.price(PC × Laptop)) = øModels 2002,2006,2008 violate the constraint.Exercise 2.5.2aπclass(σbore > 16(Classes)) = øThe Yamato class violates the constraint.Exercise 2.5.2bπclass(σnumGuns > 9 AND bore > 14(Classes)) = øNo violations to the constraint.Exercise 2.5.2cThis complex expression is best seen as a sequence of steps in which we define temporary relations R1 through R5 that stand for nodes of expression trees. Here is the sequence:R1(class,name) := πclass,name(Classes Ships)R2(class2,name2) := ρR2(class2,name2)(R1)R3(class3,name3) := ρR3(class3,name3)(R1)R4(class,name,class2,name2) := R1 (class = class2 AND name <> name2) R2R5(class,name,class2,name2,class3,name3) := R4 (class=class3 AND name <> name3 AND name2 <> name3) R3The constraint is R5 = øThe Kongo, Iowa and Revenge classes violate the constraint.Exercise 2.5.2dπcountry(σtype = bb(Classes)) ∩ πcountry(σtype = bc(Classes)) = øJapan and Gt. Britain violate the constraint.Exercise 2.5.2eThis complex expression is best seen as a sequence of steps in which we define temporary relations R1 through R5 that stand for nodes of expression trees. Here is the sequence:R1(ship,bat tle,result,class) := πship,battle,result,class(Outcomes (ship = name) Ships)R2(ship,battle,result,numGuns) := πship,battle,result,numGuns(R1 Classes)R3(ship,battle) := πship,battle(σnumGuns < 9 AND result = sunk (R2))R4(ship2,battle2) := ρR4(ship2,battle2)(πship,battle(σnumGuns > 9(R2)))R5(ship2) := πship2(R3 (battle = battle2) R4)The constraint is R5 = øNo violations to the constraint. Since there are some ships in the Outcomes table that are not in the Ships table, we are unable to determine the number of guns on that ship.Exercise 2.5.3Defining r as the schema A1,A2,…,A n and s as the schema B1,B2,…,B n:πr(R) πs(S) = øwhere is the antisemijoinExercise 2.5.4The form of a constraint as E1 = E2 can be expressed as the other two constraints.Using the “equating an expression to the empty set” method, we can simply say:E1– E2 = øAs a containment, we can simply say:E1⊆ E2 AND E2⊆ E1Thus, the form E1 = E2 of a constraint cannot express more than the two other forms discussed in this section.。

数据库第二章课后习题解答

数据库第二章课后习题解答

第3部分习题及其解答第一章的两道题3-2 习题22.6 分别把习题1.10、习题1.11的ER图转换成关系模型数据结构。

【参考答案】1.习题1.10的ER图可转换成如下的关系模型数据结构。

①程序员(编号,,性别,年龄,单位,职称),其中编号是关键字;②程序(程序名称,,专利号,价格),其中程序名称是关键字;③设计(编号,程序名称,开始时间,结束时间),其中(编号,程序名称)是关键字。

2.习题1.11的ER图可转换成如下的关系模型数据结构。

①工厂(工厂名称,厂址,联系),其中工厂名称是关键字;②产品(产品号,产品名,规格,单价),其中产品号是关键字;③工人(工人编号,,性别,职称,工厂名称,雇用期,月薪),其中工人编号是关键字,工厂名称是外关键字,雇用期和月薪是联系属性;④生产(工厂名称,产品号,月产量),其中(工厂名称,产品号)是关键字,生产关系是表示联系的。

2.8 判断下列情况,分别指出它们具体遵循那一类完整性约束规则?1.用户写一条语句明确指定月份数据在1~12之间有效。

2.关系数据库中不允许主键值为空的元组存在。

3.从A关系的外键出发去找B关系中的记录,必须能找到。

【解答】1.用户用语句指定月份数据在1~12之间有效,遵循用户定义的完整性约束规则。

2.关系数据库中不允许主键值为空的元组存在,遵循实体完整性约束规则;3.从A关系的外键出发去找B关系的记录,必须能找到,遵循引用完整性约束规则。

2.9 判断下列情况,分别指出他们是用DML还是用DDL来完成下列操作?1.创建“学生”表结构。

2.对“学生”表中的学号属性,其数据类型由“整型”修改为“字符型”。

3.把“学生”表中学号“021”修改为“025”。

【解答】1.创建“学生”表结构,即定义一个关系模式,用DDL完成。

2.修改“学生”表中学号属性的数据类型,即修改关系模式的定义,用DDL完成。

3.修改“学生”表中学号属性的数据值,即对表中的数据进行操作,用DML完成。

数据库系统原理第二章基本概念及课后习题有答案

数据库系统原理第二章基本概念及课后习题有答案

数据库系统原理第二章基本概念及课后习题有答案一、数据库系统生存期1.数据库系统生存期:数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。

2.数据库系统生存期分七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。

3.规划阶段三个步骤:系统调查、可行性分析、确定数据库系统总目标。

4.需求分析阶段:主要任务是系统分析员和用户双方共同收集数据库系统所需要的信息内容和用户对处理的需求,并以需求说明书的形式确定下来。

5.概念设计阶段:产生反映用户单位信息需求的概念模型。

与硬件和DBMS无关。

6.逻辑设计阶段:将概念模型转换成DBMS能处理的逻辑模型。

外模型也将在此阶段完成。

7.物理设计阶段:对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。

数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。

8.数据库的实现:包括定义数据库结构、数据装载、编制与调试应用程序、数据库试运行。

二、ER模型的基本概念ER模型的基本元素是:实体、联系和属性。

2.实体:是一个数据对象,指应用中可以区别的客观存在的事物。

实体集:是指同一类实体构成的集合。

实体类型:是对实体集中实体的定义。

一般将实体、实体集、实体类型统称为实体。

3.联系:表示一个或多个实体之间的关联关系。

联系集:是指同一类联系构成的集合。

联系类型:是对联系集中联系的定义。

一般将联系、联系集、联系类型统称为联系。

4.同一个实体集内部实体之间的联系,称为一元联系;两个不同实体集实体之间的联系,称为二元联系,以此类推。

5.属性:实体的某一特性称为属性。

在一个实体中,能够惟一标识实体的属性或属性集称为实体标识符。

6. ER模型中,方框表示实体、菱形框表示联系、椭圆形框表示属性、实体与联系、实体与其属性、联系与其属性之间用直线连接。

实体标识符下画横线。

联系的类型要在直线上标注。

注意:联系也有可能存在属性,但联系本身没有标识符。

数据库原理与应用第2章答案解析主编肖海蓉、任民宏

数据库原理与应用第2章答案解析主编肖海蓉、任民宏

数据库原理与应⽤第2章答案解析主编肖海蓉、任民宏第2章关系数据库基础2.1关系的概念2.2关系数据模型2.2.1关系模型及其要素2.2.2关系的性质及类型2.3关系代数2.3.1关系代数概述2.3.2传统的集合运算2.3.3专门的关系运算2.3.4关系代数运算实例分析及查询优化2.4关系演算2.4.1元组关系运算2.4.2域关系运算本章⼩结习题2第2 章关系数据库基本理论课后习题参考答案1、选择题(1)~(4):C、A、C、B(5)~(8):D、B、C、C(9)~(12):C、A、D、C2、简答题1)定义并解释下列术语,说明它们之间的联系。

答:候选码:在关系中可以唯⼀标识⼀个元组的属性或属性组。

主码:如果⼀个关系中有多个候选码,则选定其中最⼩属性组为主码;主码⼀般⽤下划横线标⽰。

外码:如果属性 X 不是关系R2 的主码,⽽是另⼀关系R1 的主码,则该属性X 称为关系R2 的外码;外码⼀般⽤波浪线标⽰。

域:域是⼀组具有相同数据的值的集合。

笛卡尔积:设定⼀组域 D1,D2,D3,…,D n,这些域中允许有相同的, D1,D2,D3,…,D n 的笛卡尔积为:D1×D2×D3×…×D n={(d1,d2,d3,…,d n)∣d i∈D i ,i=1,2,…,n} 即诸域 D1,D2,D3,…,D n 中各元素间的⼀切匹配组合构成的集合。

其中每个元素(d1,d2,d3,…,d n)称为⼀个元组,元素中的每个值 d i(i=1,2,…,n)称为⼀个分量。

关系:笛卡尔积 D1×D2×D3×…×D n 的⼦集称为域D1,D2,D3,…,D n 上的⼀个 n 元关系,表⽰为:R(D1,D2,D3,…,D n);关系是笛卡尔积的⼦集,故关系也是⼀张⼆维表,关系中每个元素(d1,d2,d3,…,d n)是关系的元组,对应⼆维表中的⾏,关系中的每个域 D i(i=1,2,…,n)对应表中的⼀列即属性。

(完整版)数据库第二章关系代数习题

(完整版)数据库第二章关系代数习题

1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下列查询语句:S C SCS# SNAME AGE SEX1 李强23 男2 刘丽22 女5 张友22 男C# CNAME TEACHERk1 C语言王华k5 数据库原理程军k8 编译原理程军S# C# GRADE1 k1 832 k1 855 k1 922 k5 905 k5 845 k8 80(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。

(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。

(4) 检索”李强”同学不学课程的课程号(C#)。

(5) 检索至少选修两门课程的课程号(S#)。

(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。

(8) 检索选修课程号为k1和k5的学生学号(S#)。

(9) 检索选修全部课程的学生姓名(SNAME)。

(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。

(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。

(12)检索没有一门课程成绩不及格的学生学号,姓名。

答:本题各个查询语句对应的关系代数表达式表示如下:(1) ΠC#,CNAME(σTEACHER ='程军'(C))(2) ΠS#,SNAME(σAGE>21^SEX ='男'(S))(3) ΠSNAME(S(ΠS#,C#(SC)÷ΠC#(σTEACHER ='程军'(C))))(4) ΠC#(C)-ΠC#(σSNAME ='李强'(S)∞SC)(5) ΠS# (σ1=4^2≠5 (S C×SC))(6) ΠC#,CNAME(C∞(ΠS#,C#(SC)÷ΠS#(S)))(7) ΠS# (SC∞ΠC# (σTEACHER ='程军'(C)))(8) ΠS#,C#(SC)÷ΠC#(σC#=’K1’VC#=’K5’ (C))(9) ΠSNAME(S∞(ΠS#,C#(SC)÷ΠC#(C)))(10) ΠS#,C#(SC)÷ΠC#(σC#=’2’ (S C))(11) ΠS#,SNAME(S∞ΠS#(SC∞(σCNAME ='C语言'(C))))(12)П学号,姓名(学生)-П学号,姓名(σ分数<60(学生∞学习))。

数据库课后答案 第二章(数据库系统基本原理)

数据库课后答案 第二章(数据库系统基本原理)

《数据库技术及应用基础教程》第二章参考答案--责任人:袁圆、董婧灵、娄振霞一、选择题1~5:CDCCD 6~10:BDCCA 11~15:AD,ABCA 16:B二、填空题:1.数据库、数据库系统软件、数据库系统用户2. 关系名(属性名1,属性名2,属性名3,…)3.列4. 能标识独一实体的属性或属性组5.一张或几张表(或视图),结构,数据6. 使关系中的每一个属性为不可再分的单纯形域(消除“表中表”),使关系中所有非主属性对任意一个侯选关键字不存在部分函数依赖(使关系中所有非主属性都完全函数依赖于任意一个侯选关键字),使关系中所有非主属性对任意一个侯选关键字不存在传递函数依赖7.需求分析阶段,概念结构设计阶段,逻辑结构设计阶段,数据库物理设计阶段,数据库实施阶段,数据库运行和维护阶段8.数据库应用系统(DBAS)9.安全性、完整性、并发控制和数据恢复10.发生故障后,故障前状态11.授权12.事务13.事务中包括的各个操作一旦开始执行,则一定要全部完成14.封锁,共享锁,排他锁15. 一致性,正确性16.系统自动完成三、简答题1、试述数据模型的概念、数据模型的作用和数据模型的三个要素。

答:数据模型是现实世界数据特征的一种抽象,一种表示实体类型及实体类型间联系的模型。

数据模型可以抽象、表示、处理现实中的数据和信息。

数据模型的三要素分别是:(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。

(2)数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的集合,操作及操作规则。

(3)数据的约束条件:是一组完整性规则的集合。

也就是说,对于具体的应用娄必须遵循特定的语义约束条件,以保证数据的正确、有效和相容。

2、试述网状、层次数据库的优缺点。

答:网状数据库的优点:(1)能更直接的描述现实世界;(2)具有良好的性能,存取效率更好。

网状数据库缺点:(1)结构复杂,应用系统越大数据库结构越复杂;(2)用法复杂,用户不易理解。

第02章关系数据库(习题课)

第02章关系数据库(习题课)

课程名
教师姓名
办公室
SC表
学号
课程号
成绩
(1) π2,6,7(籍贯=‘上海’(S ⊳⊲SC)) (2) π2,6,7(S ⊳⊲ SC ⊳⊲ 课程名=‘操作系统’(C)) (3) π2,4(S ⊳⊲ (π1,2 (SC) ÷π1 (C) )
15
6.设有3个关系运算是S、C和SC,试用关系代数表达式表 示下列查询语句: SC表 Sname Sage Sex S表 Sno
等价的关系表达式是_______.
A.π3,4(R⊳⊲S) C.π3,4(R ⊳⊲S).
1=1
B. π2,3(R 1=3 ⊳⊲S) D.π3,4(1=1( R×S))
14
5.设有3个关系运算是S、C和SC,将下列关系代数表达式 用汉字表示出来,并求其结果。 S表
学号 姓名 年龄 性别 籍贯
C表
课程号
课程号
课程名
教师姓名
办公室
学号
课程号
成绩
(1) π2,6,7(籍贯=‘上海’(S ⊳⊲SC)) 查询籍贯是上海的学生姓名和选修课程的课号及成绩
26
练习
5.设有3个关系运算是S、C和SC,将下列关系代数表达式 用汉字表示出来,并求其结果。 S表 C表 SC表
学号 姓名 年龄 性别 籍贯
课程号
课程名
1 2 3 李强 刘丽 张友 Cname C语言 数据库系统 编译原理 23 22 21 男 女 男 Teacher 王华 程军 程军 Sno Cno Gread
1
2 5 2
K1
K1 K1 K1
83
85 92 90
C表
Sdept AO(1) .
P.李勇

《数据库原理及应用》教学课件 第二章关系数据库基础

《数据库原理及应用》教学课件 第二章关系数据库基础

01
列是同质的,即每一列中的分量必须来自同一个域且必须是同 一类型的数据。
02
不同的属性可来自同一个域,但不同的属性有不同的名字。
03
列的顺序可以任意交换,但交换时应连同属性名一起交换,否则 将得到不同的关系。
13
2.1 关系模型
04 05 06
2.1.3 关系的性质
元组的顺序可任意交换。在关系数据库中,可以按照各种排序 要求对元组的次序重新排列。
关系中不允许出现相同的元组。关系中的一个元组表示现实世界 中的一个实体或一个实体间的联系,如果元组重复则表示实体或 实体间的联系重复,这样不仅会造成数据库中数据的冗余,也可 能造成数据查询与统计的结果出现错误。
关系中的每一个分量必须是不可再分的数据项,即所有属性值都 是一个单独的值,而不是值的集合。
例如,在没有重名学生的情况下,学生关系中的属性“学号”与“姓名” 都是学生关系的候选码。如果选定属性“学号”作为数据操作的依据,则属 性“学号”为主码;如果选定属性“姓名”作为数据操作的依据,则属性 “姓名”为主码。
22
2.2 关系模型的完整性约束
2.2.1 关系的码
03 主属性与非主属性
包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。 例如,在没有重名学生的情况下,学生关系的属性“学号”与“姓名”都是学生关系的候选码, 则它们都是学生关系的主属性。而属性“性别”与“系别”不包含在任一候选码中,则它们都是学 生关系的非主属性。 在最简单的情况下,关系的候选码只包含一个属性;在最极端的情况下,关系的候选码是所有 属性的组合,这时称为全码。 例如,设有关系演出(演奏者编号,乐器编号,演播室编号),其中的3个属性分别为演奏者 关系、乐器关系及演播室关系的主码,它们共同唯一标识了一个演出,则演出关系的主码为它们的 组合,即为全码。

数据库系统原理第二章上PPT课件

数据库系统原理第二章上PPT课件

第2章 数据模型
概念模型能够方便、 准确地表示出信息世 界中的常用概念。 概念模型的表示方法很多, 最常用的是 P.P.S.Chen于1976年提出的实体-联系方法 (Entity―Relationship) 既用E―R图来描述现实世界的概念模型(也称 为E―R模型)。
第2章 数据模型
实体―联系(E―R) 模型: 现实世界由一组称作实体的基本对象及这些对 象间的联系组成。
第2章 数据模型
例如, 全体学生是一个实体集, 全部课程 也是一个实体集。 实体集可以相交。
例如, 某些教师在本校在职学习, 那么他 们既是教师, 也是学生, 学生实体集和教师实体集是相交的。
第2章 数据模型
2. 属性(attribute) 实体具有的若干特征。 实体通过一组属性来表示, 例如学生具有姓名、 学号等属性。 每个属性都有其取值的范围, 在E-R模型中称 为域。 例如, “姓名”的域是10字符组成的所有字符 串的集合, 属性“学号:的域是所有6位正整数的集合。
4. 键(key) 如何相互区别给定实体集中的实体或给定 联系集中的联系? (1) 实体集的超键--能够惟一标识实体的属性或属性组称为实 体集的超键。
例如, 实体集课程的课程号属性可以将不同 课程区分开来, 因此, 课程号是一个超键。
第2章 数据模型
第2章 数据模型
2.1 实体联系模型 2.2 关系模型 习题2
第2章 数据模型
整体 概述
一 请在这里输入您的主要叙述内容

请在这里输入您的主要 叙述内容
三 请在这里输入您的主要叙述内容
第2章 数据模型
2.1 实体―联系模型
根据模型应用的不同目的, 分为两个层次: 1、概念模型(信息模型)---按用户的观点对 数据和信息建模, 主要用于数据库设计; 2、数据模型----按计算机系统的观点对数据建 模, 主要用于DBMS的实现。 (网状模型、 层次模型、 关系模型、对象模型)

数据库原理练习

数据库原理练习

A .外码C.主码第二章关系数据库一、选择题:1、对于关系模型叙述错误的是_ _。

A •建立在严格的数学理论、集合论和谓词演算公式基础之一B •微机DBMS绝大部分采取关系数据模型C •用二维表表示关系模型是其一大特点D •不具有连接操作的DBMS也可以是关系数据库管理系统2、关系模式的任何属性 _______ 。

A •不可再分B •可再分C •命名在该关系模式中可以不唯一D •以上都不是3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是 _________ 。

A . R1 (学号,姓名,性别)B. R2 (学号,姓名,班级号)C. R3 (学号,姓名,宿舍号)D . R4 (学号,姓名,简历)4、关系数据库中的码是指。

A .能唯一关系的字段B.不能改动的专用保留字C.关键的很重要的字段 D •能惟一表示元组的属性或属性集合5、根据关系模式的完整性规则,一个关系中的“主码”。

A •不能有两个B.不能成为另外一个关系的外码C.不允许为空 D •可以取值6关系数据库中能唯一识别元组的那个属性称为___________ oA •唯一性的属性B.不能改动的保留字段C.关系元组的唯一性 D •关键字段7、在关系R (R#,RN,S#)和S (S#,SN,SD)中,R的主码是R#,S的主码是S#,贝U S#在R 中称为oB.候选码D .超码8、关系模型中,一个码是 ______ oA .可由多个任意属性组成B. 至多由一个属性组成C. 可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成D. 以上都不是9、一个关系数据库文件中的各条记录—A .前后顺序不能任意颠倒,一定要按照输入的顺序排列B .前后顺序可以任意颠倒,不影响库中的数据关系C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同D .前后顺序不能任意颠倒,一定要按照码段的顺序排列10、关系数据库管理系统应能实现的专门关系运算包括一A .排序、索引、统计B.选择、投影、连接C.关联、更新、排序 D .显示、打印、制表11、同一个关系模型的任意两个元组值—A .不能全同B.可全同C.必须全同 D .以上都不是C. i (r j)(R S)D. i j(R S)B.笛卡儿积操作D .无意义的操作12、自然连接是构成新关系的有效方法。

数据库原理教程习题答案解析(全)

数据库原理教程习题答案解析(全)

0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。

典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。

银行使用数据库存储客户基本信息、客户存贷款信息等。

典型的数据处理包括处理客户存取款等。

超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。

典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。

1.2 DBMS是数据库管理系统的简称,是一种重要的程序设计系统。

它由一个相互关联的数据集合和一组访问这些数据的程序组成。

数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。

数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。

数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。

数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。

数据库模式是数据库中使用数据模型对数据建模所产生设计结果。

对于关系数据库而言,数据库模式由一组关系模式构成。

数据字典是DBMS维护的一系列内部表,用来存放元数据。

所谓元数据是关于数据的数据。

1.3 DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。

(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。

(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。

(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。

(5)数据库的建立和维护:提供实用程序,完成数据库数据批量装载、数据库转储、介质故障恢复、数据库的重组和性能监测等。

《数据库系统原理》习题-第二章关系数据模型

《数据库系统原理》习题-第二章关系数据模型

第二章 关系数据模型一、选择题1.常见的数据模型是A.层次模型、网状模型、关系模型B.概念模型、实体模型、关系模型C.对象模型、外部模型、内部模型D.逻辑模型、概念模型、关系模型答案:A2. 一个结点可以有多个双亲,结点之间可以有多种联系的模型是A.网状模型B.关系模型C.层次模型D.以上都有答案:A3.层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小C)联系的复杂程度D)数据之间的联系答案:D4.层次模型不能直接表示A)1:1关系B)1:m关系C)m:n关系D)1:1和1:m关系答案:C5.层次数据模型的基本数据结构是A.树B.图C.索引D.关系答案:A6.层次模型实现数据之间联系的方法是A.连接B.指针C.公共属性D.关系答案:B7.用二维表结构表示实体以及实体间联系的数据模型称为A.网状模型B.层次模型C.关系模型D.面向对象模型答案:C8.关系数据模型的基本数据结构是A.树B.图C.索引D.关系答案:D9.下面关于关系性质的说法,错误的是A.表中的一行称为一个元组B.行与列交叉点不允许有多个值C.表中的一列称为一个属性D.表中任意两行可能相同答案:D10.下列所述数据模型概念,不正确的是A)不同记录型的集合B)各种记录型及其联系的集合C)E-R图表示的实体联系模型D)数据库的概念模型答案:A11.关系数据模型A)只能表示实体之间1:1联系B)只能表示实体之间1:m联系C)只能表示实体之间m:n联系D)可以表示实体间的任意联系答案:D12.存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,简化程序员和数据库开发建立工作的模型是A.网状模型B.关系模型C.层次模型D.以上都有答案:B13.对关系模型叙述错误的是A)在严格的数学理论、集合论和谓词基础之上B)微机DBMS绝大部分采取关系数据模型C)用二维表表示关系模型是其一大特点D)不具有连接操作的DBMS也可以是关系数据库系统答案:D14.关系数据模型是目前最重要的一种数据模型,它的三个要素分别是A.实体完整性、参照完整性、用户自定义完整性B.数据结构、关系操作、完整性约束C.数据增加、数据修改、数据查询D.外模式、模式、内模式答案:B15.实体是信息世界中的术语,与之对应的数据库术语为A)文件B)数据库C)字段D)记录答案:D16.同一个关系模型的任两个元组值A)不能全同B)可全同C)必须全同D)以上都不是答案:A17.在通常情况下,下面关系中不可以作为关系数据库的关系是A)R1(学生号,学生名,性别)B)R2(学生号,学生名,班级号)C)R3(学生号,学生名,宿舍号)D)R4(学生号,学生名,简历)答案:D18.一个关系数据库文件中的各条记录A)前后顺序不能任意颠倒,一定要按照输入的顺序排列B)前后顺序可以任意颠倒,不影响库中的数据关系C)前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同 D)前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列答案:B19.下面的选项不是关系数据库基本特征的是A. 不同的列应有不同的数据类型B. 不同的列应有不同的列名C. 与行的次序无关D. 与列的次序无关答案:A20.关系模式的任何属性A)不可再分B)可再分C)命名在该关系模式中可心不惟一D)以上都不对答案:D21.关系中任何一列的属性取值A)可以再分成更小的数据项,并可取自不同域中的数据B)可以再分成更小的数据项,不能取自不同域 中的数据C)不可再分的数据项,只能取自同一域 中的数据D)不可再分的数据项,可取自大在不同域中数据答案:C22.关系模型中,一个关键字是A)可由多个任意属性组成B)至多由一个属性组成C)可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D)以上都不是答案:C23.关系数据库中的关键字是指A)能惟一决定关系的字段B)不可改动的专用保留字C)关键的很重要的字段D)能惟一标识元组的属性或属性集合答案:D24.一个关系只有一个A. 候选关键字B.外关键字C.超关键字D.主关键字答案:D25.关系模型中,一个关键字是A. 可以由多个任意属性组成B. 至多由一个属性组成C. 由一个或多个属性组成,其值能够惟一标识关系中一个元组D. 以上都不是答案:C26.有一名为”销售”实体,含有:商品名、客户名、数量等属性,该实体主键A)商品名B)客户名C)商品名+客户名D)商品名+数量答案:C27.有殒为”列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主键是A)车次B)日期C)车次+日期D)车次+情况摘要答案:C28.在订单管理系统中,客户一次购物(一张订单)可以订购多种商品。

数据库原理与应用教程-(第二版)习题参考答案

数据库原理与应用教程-(第二版)习题参考答案

第2章习题参考答案第6小题三简答题(1)查询T1老师所授课程的课程号和课程名。

(2)查询年龄大于18岁男同学的学号、姓名、系别。

(3)查询“李力”老师所授课程的课程号、课程名和课时。

(4)查询学号为S1的同学所选修课程的课程号、课程名和成绩。

(5)查询“钱尔”同学所选修课程的课程号、课程名和成绩。

(6)查询至少选修“刘伟”老师所授全部课程的学生姓名。

(7)查询“李思”同学未选修的课程的课程号和课程名。

(8)查询全部学生都选修了的课程的课程号和课程名。

(9)查询选修了课程号为C1和C2的学生的学号和姓名。

(10)查询选修全部课程的学生的学号和姓名。

(11)查询选修课程包含“程军”老师所授课程之一的学生学号。

(12)查询选修课程包含学号S2的学生所修课程的学生学号。

第3章习题参考答案一、选择题1. B2. A3. C4. B5. C6. C7. B8. D9. A 10. D二、填空题1. 结构化查询语言(Structured Query Language)2. 数据查询、数据定义、数据操纵、数据控制3. 外模式、模式、内模式4. 数据库、事务日志5. NULL/NOT NULL、UNIQUE约束、PRIMARY KEY约束、FOREIGN KEY约束、CHECK约束6. 聚集索引、非聚集索引7. 连接字段8. 行数9. 定义10. 系统权限、对象权限11. 基本表、视图12.(1)INSERT INTO S VALUES('990010','李国栋','男',19)(2)INSERT INTO S(No,Name) VALUES('990011', '王大友')(3)UPDATE S SET Name='陈平' WHERE No='990009'(4)DELETE FROM S WHERE No='990008'(5)DELETE FROM S WHERE Name LIKE '陈%'13.CHAR(8) NOT NULL14.o=o15.ALTER TABLE StudentADD SGrade CHAR(10)三、设计题1.(1) 查找在“高等教育出版社”出版,书名为“操作系统”的图书的作者名。

数据库第二章课后习题解答

数据库第二章课后习题解答

数据库第二章课后习题解答(共14页)-本页仅作为预览文档封面,使用时请删除本页-第3部分习题及其解答第一章的两道题23-2 习题2分别把习题、习题的ER图转换成关系模型数据结构。

【参考答案】1.习题的ER图可转换成如下的关系模型数据结构。

①程序员(编号,姓名,性别,年龄,单位,职称),其中编号是关键字;②程序(程序名称,版权,专利号,价格),其中程序名称是关键字;③设计(编号,程序名称,开始时间,结束时间),其中(编号,程序名称)是关键字。

2.习题的ER图可转换成如下的关系模型数据结构。

①工厂(工厂名称,厂址,联系电话),其中工厂名称是关键字;②产品(产品号,产品名,规格,单价),其中产品号是关键字;③工人(工人编号,姓名,性别,职称,工厂名称,雇用期,月薪),其中工人编号是关键字,工厂名称是外关键字,雇用期和月薪是联系属性;④生产(工厂名称,产品号,月产量),其中(工厂名称,产品号)是关键字,生产关系是表示联系的。

判断下列情况,分别指出它们具体遵循那一类完整性约束规则1.用户写一条语句明确指定月份数据在1~12之间有效。

2.关系数据库中不允许主键值为空的元组存在。

33.从A关系的外键出发去找B关系中的记录,必须能找到。

【解答】1.用户用语句指定月份数据在1~12之间有效,遵循用户定义的完整性约束规则。

2.关系数据库中不允许主键值为空的元组存在,遵循实体完整性约束规则;3.从A关系的外键出发去找B关系的记录,必须能找到,遵循引用完整性约束规则。

判断下列情况,分别指出他们是用DML还是用DDL来完成下列操作1.创建“学生”表结构。

2.对“学生”表中的学号属性,其数据类型由“整型”修改为“字符型”。

3.把“学生”表中学号“021”修改为“025”。

【解答】1.创建“学生”表结构,即定义一个关系模式,用DDL完成。

2.修改“学生”表中学号属性的数据类型,即修改关系模式的定义,用DDL 完成。

3.修改“学生”表中学号属性的数据值,即对表中的数据进行操作,用DML 完成。

《数据库原理及应用》第2章 部分习题解答

《数据库原理及应用》第2章 部分习题解答

★关系演算补充内容* 把谓词演算应用于到关系运算中就是关系演算,它分为元组关系演算与域关系演算。

* 谓词演算1)个体是可以独立存在的物体2)谓词是用于刻划个体性质或关系3)一个谓词可以与一个个体相联,此种谓词称为一元谓词,一元谓词刻划一个个体的性质。

4)a,b,...表示个体,一个一元谓词可表示为F(a) 一个谓词中个体是可以变化的,如“...是大学生”,可以是“王强是大学生”,也可以变为“李华是大学生”,令F(x)表示x是大学生,又令“王强”为a,“李华”为b,则“王强是大学生,李华也是大学生”可写为F(a)∧F(b)* 现谓词演算用于关系,元组为个体,关系为个体域,则 R(u)即表示u是关系R中的元组* 元组关系演算表达式{t|φ(t)},表示所有使φ为真的元组集合,即描述了一个关系。

P6910、设有学生-课程关系数据库,它由三个关系组成,它们的模式是:学生S(学号S#,姓名SN,所在系SD,年龄SA)、课程C(课程号C#,课程名CN,先修课号PC#)、SC (学号S#,课程号C#,成绩G)。

请用关系代数与ALPHA语言分别写出下列查询:(1) 检索学生的所有情况。

S S SC C(2) 检索学生年龄大于等于20岁的学生姓名。

πSN(σSA>=20(S))(3) 检索先修课号为C2的课程号。

πC#(σPC#=’C2’(C))(4) 检索课程号C1的成绩为A的所有学生姓名。

πSN(σC#=’C1’∧G=’A’(SC C))(5) 检索S1修读的所有课程名及先修课号。

πCN,PC# (σS#=’S1’(SC S))(6) 检索年龄为23岁的学生所修读的课程名。

πCN (σSA=23(S SC C))(7) 检索至少修读了S5修读的一门课的学生的姓名。

πSN (S SCπC# (σS#=’S5’(SC)))(8) 检索修读了S4所修读的所有课程的学生的姓名。

πSN (S(πS#,C# (SC)÷πC# (σS#=’S4’(SC))))(9) 检索选修所有课程的学生的学号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章关系数据库一、选择题:1、对于关系模型叙述错误的是。

A.建立在严格的数学理论、集合论和谓词演算公式基础之一B.微机DBMS绝大部分采取关系数据模型C.用二维表表示关系模型是其一大特点D.不具有连接操作的DBMS也可以是关系数据库管理系统2、关系模式的任何属性。

A.不可再分B.可再分C.命名在该关系模式中可以不唯一D.以上都不是3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是。

A.R1(学号,姓名,性别)B.R2(学号,姓名,班级号)C.R3(学号,姓名,宿舍号)D.R4(学号,姓名,简历)4、关系数据库中的码是指。

A.能唯一关系的字段B.不能改动的专用保留字C.关键的很重要的字段D.能惟一表示元组的属性或属性集合5、根据关系模式的完整性规则,一个关系中的“主码”。

A.不能有两个B.不能成为另外一个关系的外码C.不允许为空D.可以取值6、关系数据库中能唯一识别元组的那个属性称为。

A.唯一性的属性B.不能改动的保留字段C.关系元组的唯一性D.关键字段7、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为。

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、自然连接是构成新关系的有效方法。

一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的 。

A .元组B .行C .记录D .属性13、设关系R (A ,B ,C )和S (B ,C ,D ),下列各关系代数表达式不成立的是 。

A .)()(S R D A ππB .R S ⋃C .)()(S R B B ππ⋂D .R S14、有两个关系R 和S ,分别包含15个和10个元组,则在R S ⋃,R-S ,R ⋂S中不可能出现的元组数目情况是 。

A .15,5,10B .18,7,7C .21,11,4D .25,15,015、取出关系中的某些列,并消去重复元组的关系代数运算称为 。

A .取列运算B .投影运算C .连接运算D .选择运算16、设W=R S ,且W ,R ,S 的元组个数分别为p,m,n ,那么三者之间满足 。

A .p<(m+n)B .p<=(m+n)C .p<(m*n)D .p<=(m*n)17、设关系R 和S 的属性个数分别为2和3,那么R S (1<2)等价于 。

A .)*(21S R <σB .)*(41S R <σC .)(21S R <σD .)(21S R <σ18、设关系R 和S 的属性个数为r 和s ,那么R S (i θj )与下式 等价。

A .)*)((S R j r i +θσB .)*(S R j i θσC .))((S R j r i +θσD .)(S R j i θσ19、参加差运算的两个关系 。

A .属性个数可以不同B .属性个数必须相同C .一个关系包含另一个关系的属性D .属性名必须相同20、两个关系在没有公共属性时,其自然连接操作表现为 。

A .结果为空关系B .笛卡儿积操作C .等值连接操作D .无意义的操作21、有关系:R (A ,B ,C )(主码为A )和S (D ,A )(主码为D ,外码为A )参照于R的A属性。

关系R和S的元组如图所示:指出关系S中违反完整性规则的元组是。

A.(1,2)B.(2,null)C.(3,3) D.(4,1)22、设有属性A,B,C,D,以下表示中不是关系的是。

A.R(A)B.R(A,B,C,D)C.R(A*B*C*D)D.R(A,B)23、关系运算中花费时间可能最长的运算是。

A.投影B.选择C.笛卡儿积D.除二、填空题:1、关系操作的特点是操作。

2、关系模型的完整性规则包括、和。

3、连接运算是由和操作组成的。

4、自然连接运算是由、和组成。

5、关系模型由、和组成。

6、关系模式是关系的,相当于。

7、在一个实体表示的信息中,称为码。

8、传统的集合运算施加于两个关系时,这两个关系的必须相等,必须取自同一个域。

9、关系模式是对关系的描述。

10、在关系中能唯一标识元组的属性或属性集称为关系模式的。

11、一个关系模式可以形式化地表示为。

12、关系数据库模式是的集合。

13、一个关系模式的定义主要包括关系名、、、和主关系键。

14、在关系中选作元组标识的候选键称为。

15、关系模型的三类完整型规则包括:、、。

16、关系键的值的约束条件称为实体完整性。

17、实体完整性规则定义了关系中,不存在没有被标识的元组。

18、参照完整性规则定义了的引用规则,不引用不存在的实体;与关系键对应可实现两个关系的关联。

19、关系运算可分为和两大类,其中关系演算又可分为和两类。

20、关系代数中四类传统的集合运算分别为:__________、__________、_________和广义笛卡儿积运算。

21、关系代数中专门的运算操作包括 、 、 、 和除法运算五种操作。

22、关系操作的特点是 操作。

23、在传统集合运算中,假定有关系R 和S ,运算结果为RS 。

如果RS 中的元组属于R 或者属于S ,则RS 是 运算的结果;如果RS 中的元组属于R 而不属于S ,则RS 是运算的结果。

如果RS 中的元组既属于R 又属于S ,则RS 是 运算的结果。

24、在专门关系运算中,从表中按照要求取出指定属性的操作称为 ;从表中选出满足某种条件的元组的操作称为 ;将两个关系中满足一定条件的元组连接到一起构成新表的操作称为 。

三、应用题:1、设有如图所示的关系R ,W 和D ,计算:(1)R1=)(,R T Y π(2)R2=)(5R e T P =∧>σ(3)W R R =3(4))*((4]5[]3[]6[],1[],2[D R R ==σπ(5)D R R ÷=52、设有如图所示的关系S ,SC ,C ,试用关系代数表达式表示下列查询语句:(1(2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。

(3)检索至少选修“程军”老师所授全部课程的学生姓名。

(4)检索“李强”同学不学课程的课程号。

(5)检索至少选修两门课程的学生学号(S#)。

(6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。

(7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。

(8)检索选修课程号为K1和K5的学生学号(S#)。

(9)检索选修全部课程的学生姓名(SNAME)。

(10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。

(11)检索选修课程名为“C语言”的学生学号(S#)和姓名(SNAME)。

3、已知一个关系数据库的模式如下:S (SNO,SNAME,SCITY)P (PNO,PNAME,COLOR,WEIGHT)J (JNO,JNAME,JCITY)SPJ (SNO,PNO,JNO,QTY)供应商S由供应商代码SNO、供应商姓名SNAME、供应商所在城市SCITY组成;零件P由零件代码PNO、零件名PNAME、颜色COLOR、重量WEIGHT 组成;工程项目J由工程项目代码JNO、工程项目名JNAME、和所在城市JCITY 组成;供应情况SPJ由供应商代码SNO、零件代码PNO、工程项目代码JNO、供应数量QTY组成。

用关系代数表达式表示下面的查询要求:(1)找出向北京的供应商购买重量大于30的零件工程名。

(2)求供应工程J1零件的供应商代码(3)求供应工程J1零件P1的供应上代码(4)求供应工程J1零件为红色的供应商代码(5)求没有使用天津供应商生产的红色零件的工程项目代码(6)求至少用了供应商S1所供应的全部零件的工程项目代码4、设有下列关系模式:STUDENT(SNO,SNAME,AGE,SEX,DNO)其中,SNO表示学号,CNAME表示姓名,AGE表示年龄,SEX表示性别,DNO表示院系号。

SC(SNO,CNO,GRADE),其中SNO表示学号,CNO表示课程号,GRADE表示成绩。

COURSE(CNO,CNAME),其中CNO表示课程号,CNAME表示课程名。

请用关系代数表示下列查询:1)检索年龄小于16的女学生的学号和姓名。

2)检索成绩大于85分的女学生的学号、姓名。

3)检索选修课程为C1或C2的学生的学号4)检索至少选修了课程号为C1和C2的学生的学号。

5)检索选修课程号为C1的学生的学号,姓名,课程名和成绩。

6)检索选修了全部课程的学生的学号、姓名和年龄。

第二章 答案一、选择题:1、D .2、A .3、D .4、D .5、C .6、D .7、A .8、C .9、B .10、B . 11、A . 12、D . 13、B . 14、B . 15、B . 16、D . 17、B .18、A . 19、B . 20、B . 21 C . 22、C . 23、C .二、填空题:1、集合2、实体完整性规则、参照完整性规则、用户自定义的完整性规则3、笛卡儿积、选择4、笛卡儿积、选择、投影5、数据结构、数据操作、完整性约束6、框架、记录格式7、能唯一标识实体的属性或属性组8、属性个数、相对应的属性值9、结构10、关系键11、R (A1,A2,…,An )其中R 为关系名,A1,A2,…An 为属性名。

12、一组关系模式13、属性名, 属性类型, 属性长度14、 关系键15、实体完整性规则 参照完整性规则,用户定义完整性规则16、不能取空值或部分空值17、不能有重复的元组18、外部关系键与关系键 外部关系键19、关系代数 关系演算 元组演算 域演算20、并运算 差运算 交运算21、选择运算 投影运算 连接运算 自然连接22、集合23、并 差 交24、投影 选择 连接三、应用题:1、设有如图所示的关系R ,W 和D ,计算:(1)R1=)(,R T Y π(2)R2=)(5R e T P =∧>σ(3)W R R =3(4))*((4]5[]3[]6[],1[],2[D R R ==σπ(5)D R R ÷=52、设有如图所示的关系S ,SC ,C ,试用关系代数表达式表示下列查询语句:(1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME )。

相关文档
最新文档