个性化阅读
专注于IT技术分析

数据库管理系统常见问题|S3

在GATE 2012考试中提出了以下问题。

1)考虑以下数据项P和Q初始化为零的事务:

T1: read (P) ;
    read (Q) ;
    if P = 0 then Q : = Q + 1 ;
    write (Q) ;
T2: read (Q) ;
    read (P) ;
    if Q = 0 then P : = P + 1 ;
    write (P) ;

T1和T2用于并发执行的任何非串行交织都会导致

(A)可序列化的时间表

(B)不可冲突的时间表可序列化

(C)可序列化的冲突时间表

(D)无法绘制优先图的时间表

答案(B)

如果发生以下情况, 则两个或多个动作发生冲突:

1)动作属于不同的交易。

2)至少一个动作是写操作。

3)动作访问相同的对象(读或写)。

如果满足以下条件, 则说时间表S1和S2是冲突等效的:

1)进度表S1和S2都涉及同一组事务(包括每个事务中的动作顺序)。

2)S1和S2中每对冲突动作的顺序相同。

当日程表与一个或多个串行日程表冲突等效时, 该日程表被称为可冲突序列化。

资源:时间表的Wiki页面

在给定的情况下, 有两种可能的串行时间表:

1)T1跟着T2

2)T2之后是T1。

在这两个串行计划中, 其中一个事务首先读取其他事务写入的值。因此, T1和T2的任何非串行交织都不会冲突可序列化。

2)考虑以下关系A, B, C。以下关系代数表达式的结果包含多少个元组?假设A U B的架构与A的架构相同。

数据库管理系统|S31
Table A
Id   Name    Age
----------------
12   Arun    60
15   Shreya  24
99   Rohit   11


Table B
Id   Name   Age
----------------
15   Shreya  24
25   Hari    40
98   Rohit   20
99   Rohit   11


Table C
Id   Phone  Area
-----------------
10   2200   02  
99   2100   01

(A)7

(B)4

(C)5

(D)9

答案(A)

Result of AUB will be following table

Id   Name    Age
----------------
12   Arun    60
15   Shreya  24
99   Rohit   11
25   Hari    40
98   Rohit   20

The result of given relational algebra expression will be

Id   Name    Age  Id   Phone Area
---------------------------------
12   Arun    60   10   2200   02 
15   Shreya  24   10   2200   02   
99   Rohit   11   10   2200   02 
25   Hari    40   10   2200   02 
98   Rohit   20   10   2200   02 
99   Rohit   11   99   2100   01
98   Rohit   20   99   2100   01

3)考虑上面的表A, B和C。以下SQL查询的结果包含多少个元组?

SELECT A.id 
FROM   A 
WHERE  A.age> ALL (SELECT B.age 
                    FROM   B 
                    WHERE  B. name = "arun")

(A)4

(B)3

(C)0

(D)1

答案(B)

” ALL”的含义是A.Age应该大于子查询返回的所有值。表B中没有名称为” arun”的条目。因此, 子查询将返回NULL。如果子查询返回NULL, 则条件对于A的所有行都为true(请参见

这个

有关详细信息)。因此, 选择了表A的所有行。

请参阅门角适用于所有上一年的论文/解决方案/说明, 课程提纲, 重要日期, 注释等。

如果你发现任何答案/解释不正确, 或者你想分享有关上述主题的更多信息, 请写评论。

赞(1)
未经允许不得转载:srcmini » 数据库管理系统常见问题|S3

评论 抢沙发

评论前必须登录!