数据库练习1

1.在关系代数中,对一个关系做投影操作后,新关系的元组个数( )原来关系的元组个数。

答案:小于或等于

解析:投影结果如果有相同元祖,则会默认使用distinct关键字消除重复元祖

2.定义数据库模式、数据库结构以及数据特性等功能是通过(  )来实现的。

答案:数据描述语言DDL

解析:数据定义语言

3.下列涉及空值的操作,不正确的是( )

答案:WHERE AGE = NULL

解析:where后面判断是否为null,用。字段 is null 或者is not null

4.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的(      )。

答案:属性

解析:自然连接要求两个关系中进行比较的分量必须是相同的属性组,并且把结果中重复的属性列删除。而等值连接并不去掉重复的属性列。

5.已知成绩关系如图所示。

执行 SQL 语句:

SELECT COUNT ( DISTINCT 学号)

FROM 成绩

WHERE 分数> 60

查 询结果中包含的元组数目是 ( )。

                                                                       成绩

学号

课程号

分数

S1

C1

80

S1

C2

75

S2

C1

null

S2

C2

55

S3

C3

90

答案:2

解析:COUNT 和 DISTINCT 经常被合起来使用,目的是找出表格中有多少笔不同的资料 ,这里选出大于60分里的,共有多少项,其中DISTINCT表示多项重复的按一项计算。

6.对表进行水平方向的分割,用的运算是()。

答案:选择

解析:选择是将表进行水平分割的运算,其目的是为了保留某些符合条件的元组。投影是对表进行垂直分割的运算,其目的是实现属性的筛选。

7.已知成绩关系如下表(CMB_TEST)所示:

员工号(EMP_ID)

培训课程号(CLASS_ID)

考核得分(GRADE)

E1

B1

80

E1

B2

70

E2

B1

NULL

E2

B2

55

E3

B3

90

执行如下SQL语句: SELECT COUNT(DISTINCT EMP_ID) FROM CMB_TEST WHERE GRADE>60;则其查询结果是:

答案:2

解析:COUNT 和 DISTINCT 经常被合起来使用,目的是找出表格中有多少位不同的员工 ,这里选出大于60分里的,共有多少项,其中DISTINCT表示多项重复的按一项计算。

8.若系统在允许过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为 (  )。

答案:系统故障

解析:

1、事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障。它发生在单个事务的局部范围内,实际上就是程序的故障。

事务故障更多的是非预期的,不能由事务程序处理的情况,主要有:

①逻辑上的错误,如运算溢出、死循环、非法操作、地址越界等等;

②违反完整性限制的无效的输入数据;

③违反安全性限制的存取权限;

④资源限定,如为了解除死锁、实施可串化的调度策略等而ABORT一个事务;

⑤用户的控制台命令。

2、系统故障是指系统在运行过程中,由于某种原因,造成系统停止运行,以致事务在执行过程中以非正常的方式终止,致使内存中的信息丢失,而存储在外存上的数据未受影响。

3、介质故障是指外存储设备故障,主要有磁盘损坏,磁头碰撞盘面,突然的强磁场干扰,数据传输部件出错,磁盘控制器出错等。

9.下列关于数据库设计的叙述中,正确的是( )。

答案:在需求分析阶段建立数据字典

解析:

按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:

⑴需求分析:分析用户的需求,包括数据、功能和性能需求;

⑵概念结构设计:主要采用E-R模型进行设计,包括画E-R图;

⑶逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;

⑷数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;

⑸数据库的实施:包括编程、测试和试运行;

⑹数据库运行与维护:系统的运行与数据库的日常维护。

数据字典:是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。

10.哪些字段适合建立索引?

答案:主键,外键,WHERE子句中的字段

主键,外键,建立索引其实也是为了更好的查询,归根结底还是为了在查询和排序,分组时去使用,也就是where,order by ,group by三个地方。

主键和外键建立索引是因为相对的这两个值比较能确定一些数据,所以比较适合建立索引;

where条件中的字段适合建立索引是因为要在查询过程中减少数据检索,需要使用索引;

而select中的字段是否建立索引本质是没有意义的,没什么必要。

 
 
 
 

你可能感兴趣的:(数据库)