1 数据库与数据库系统一样吗? 数据库与数据库系统不一样。数据库是指相互关联的数据的集合,口语中的\"数据库系统\"一般强调的是\"数据库管理系统\",即DBMS。真正的数据库系统是由数据库、数据库管理系统(DBMS)及其开发工具、数据库应用、数据库管理员和最终用户等构成的一个综合系统。
2 数据查询语言和数据操纵语言是一回事吗? 数据操纵是指对存储在数据库中的信息进行检索、向数据库中插入新的信息、从数据库中删除信息以及修改存储在数据库中的信息。数据操纵语言(Data Manipulation Language,英文缩写为DML)就是对数据进行上述操作的语言。查询是用来对信息进行检索的语句。DML中涉及信息检索的那一部分称作查询语言。但在实际当中不严格区分查询语言和数据操纵语言,有时就简单地称为数据查询语言。
3 属性是用来描述实体集的,还是用来描述实体的? 属性是用来描述实体集的,具体到实体集中的每个实体而言就是这些属性的具体取值。形式化地说,实体集的属性是将实体集中的实体映射到域的函数。
4 在确定用实体集还是联系集时,一个可采用的原则是什么? 在确定用实体集还是联系集时一个可采用的原则就是:当描述发生在实体间的行为时最好采用联系集。
5 关系和表是一回事吗? 严格地说,关系和表不一样。关系是一系列域上的笛卡尔积的子集,是一个集合。既然关系是集合就不允许在集合中有重复的元组。按照课件的解释表可以看成是由一行一行的内容组成的一个格式,每个表有多个列,每列有唯一的列名,而每个表也有一个唯一的名字。值得注意的是在关系数据库系统中,表中允许有重复的行存在,即允许有重复的记录。
6 NULL是表示一个属性值非法吗? 不对,NULL是一个合法的属性值。它表示该属性的值为空值,空值的含义有两层意思,一是表示属性没有值;二是表示属性的值未知。当属性值未知时还有两种情况,一是值缺失,表示属性有值,但是我们目前还没有该值的信息;二是不知道该属性有没有值。
7 在关系代数和SQL中对查询结果的重复行的处理一样吗? 不一样。关系代数的运算结果仍然是一个关系,绝对不允许重复的元组在关系代数的结果中出现。而在SQL中,去掉查询结果中的重复行是一件非常耗时的操作,因此允许在SQL的查询结果中保留重复的行。可以通过DISTINCT选项说明SQL的查询结果是否要保留重复的行。
8 数据库中的视图和关系有什么区别? 视图是虚关系,在DBMS中只保存定义视图的SQL语句,而不保存视图的具体数据。当在查询中用到视图时,DBMS会根据其保存的视图的定义(即SQL语句)来得到有关的数据。如果在DBMS中保存视图的数据,这样的视图称之为实体化视图。而关系在DBMS中不仅存储有其定义,而且还存储有实实在在的数据。
9 对于同一个查询,用SQL表达式表示的查询结果和用关系代数表达式表示的查询结果一样吗? 严格地讲这两种表达式表示的结果应该一样,但要注意的是由于SQL在处理重复的行时非常耗时,所以如果在SQL语句中没有指明DISTINCT选项时,查询结果将保留重复的行。而关系代数表达式的运算结果是一个关系,因此结果肯定不会有重复的元组存在。
10 在同一个SQL语句中的having子句和where子句中的条件是什么样的关系? 如果在同一个查询中同时存在where子句和having子句,那么首先应该用where子句中的条件进行选择,满足where条件的记录通过group by子句形成分组;然
后在每个分组上应用having子句,不符合having条件的分组将被抛弃掉!having子句主要是针对分组进行条件。having子句中的条件只有在形成分组后才起作用,因此可以在having子句中使用聚集函数。
11 where子句中的子查询和from子句中的子查询有什么区别? SQL提供了嵌套子查询的机制,子查询是嵌套在另一个查询中的select-from-where表达式。where子句中的子查询的目的是为了:⑴集合成员资格的确认;⑵集合的比较;⑶集合基数的测试。而from子句中的子查询被定义成一个关系,这个关系就是派生关系,派生关系是临时关系,可以像使用普通关系一样使用临时关系,但是查询完成之后临时关系就不复存在。
序号 问题 解答
12 函数依赖α→β在关系r(R)上是满足的,但在关系模式R上不一定是成立的!为什么? 假设有如下的关系模式:
Customer-schema = (customer-name, customer-street, customer-city)
和关系:
customer(Customer-schema)
对于关系customer来说,由于关系中的记录个数有限,因此函数依赖:
customer-street→customer-city
可能是满足的,即客户所在的街道函数确定客户所在的城市。但是对关系模式Customer-schema来说,上述函数依赖却不一定成立!因为现实生活中,不同的城市具有相同名字的街道是很有可能的事情。
13 在数据库设计中,如果已经确定使用某种关系型的商业数据库管理系统,那么数据库的物理设计的任务是什么呢? 在选定DBMS的情况下,那么从大的方面来讲数据库的物理设计的任务就是:确定数据的划分与分布、确定是否使用簇集技术、确定应该建立哪些索引、在有可能的情况下调整DBMS的某些系统参数以解决数据库应用的性能问题。
14 文件组织和文件中记录的组织一样吗? 不一样。文件在逻辑上是记录的序列,这些记录被映射到磁盘的物理块上。文件由操作系统作为一种基本的数据结构提供。将数据库映射到文件的方法有两种:⑴定长记录:使用多个文件,每个文件只存储同样长度的记录;⑵变长记录:使用一个文件,使之能够容纳不同长度的记录。 上面讲述的是数据库中的文件组织,即如何在文件中存储记录。而文件中记录的组织是指如何在文件中组织(或安排)这些记录。常用的几种方法是:
⑴堆文件组织
⑵顺序文件组织
⑶散列文件组织
⑷聚集文件组织--簇集(clustering)文件组织
⑸B+树文件组织
15 搜索码和码是一回事吗? 搜索码是指用于在文件中查找记录的属性或属性集,与码的概念完全不同。搜索码根本不具有码的任何性质,任何属性集都可以作为搜索码。简单地说码是关系中可以唯一确定一条记录的属性集,不是任何属性集都可以成为码的。一般在检索记录时都用码作为检索的条件,所以很容易将搜索码与码混淆。
16 存储桶和物理块有什么不同? 块是一个盘片的一条磁道内几个连续的扇区构成的序列。这里的块也称物理块,一般简称块,是磁盘I/O的基本单位。而存储桶是由1至32个物理块构成的一种存储结构。结合索引文件组织,存储桶用于数据文件中数据单元的存储和传输。与物理块不同的是,存储桶只能包含整记录,即记录可以跨块存储但不能跨桶存储。
17 在查询优化中,是不是只要为每个关系运算选择一个代价最小的算法,整个关系代数表达式的代价就最小呢? 一般来说,简单地为每个关系运算选择一个代价最小的算法,整个表达式的代价也可能最小。但这样做往往是事与愿违(例如,索引嵌套循环连接并不是实现连接运算代价最小的算法,但是它可以提供把结果流水地传给下一个运算的机会)!因此,必须采用一定的查询优化策略才能满足需要。DBMS中的查询优化方法包括基于代价的优化和启发式优化方法。
序号 问题 解答
18 在DBMS中,并发执行和并行执行一样吗(事务的并发调度和并行调度的区别与此问题类似)? 要注意数据库系统中的\"并发执行\"并不是真正意义上的\"并行执行\"。首先,从用户的角度来看,这两种方式的结果是类似的,都是在一段时间内完成
了多项任务。但是并发执行一般来说是单CPU进行处理,靠分时来造成同时执行的假相。针对数据库中事务的并发执行就是利用了计算机的磁盘I/O可以和CPU处理并行工作的特性,将不同事务的指令放在一起交叉执行。而并行执行一般是用多个CPU同时进行处理,是真正意义上的同时执行。深入的讨论在《操作系统》课程中可以找到。
在单处理机系统中,事务的并行执行实际上是这些事务的并行操作轮流交叉运行。这种并行执行方式称为交叉并发方式。虽然单处理机系统中的并行事务并没有真正地并行运行,但是减少了处理机的空闲时间,提高了系统的效率。
在多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行。这种并行执行方式称为同时并发方式。
19 串行调度与冲突可串行化调度一样吗? 串行调度与冲突可串行化调度描述的是不同的事情。串行调度由来自各个事务的指令序列组成,其中属于同一事务的指令在调度中紧挨在一起。对于有n个事务的事务组,共有n!个可能的串行调度方案。而冲突可串行化调度是指如果调度S(任意的一个调度,不一定是串行调度)可以经过一系列非冲突指令的交换变成一个串行调度S',则称S是冲突可串行化的调度。
20 在两阶段封锁协议中,事务的封锁点是不是事务中最后一个加锁指令执行的时刻?是不是事务中第一个解锁指令的执行时刻呢? 都不是。事务的封锁点应该是该事务获得最后一个锁的时刻。
21 为什么锁提升只能发生在事务的增长阶段,而锁降级只能发生在事务的缩减阶段? 因为锁提升就相当于给事务加某些特征的锁,例如将共享锁提升为排他锁,因此提升只能发生在事务的增长阶段;而锁降级就相当于给事务解部分锁,所以锁降级只
能发生在事务的缩减阶段。
22 在一个局域网中,有多台服务器都装有RDBMS,它们是否构成了一个分布式数据库系统? 不是。这样的系统只能看作是一个分散式的数据库系统,因为对于每一台服务器上的RDBMS来说,都不具有分布式DBMS(即DDBMS)的特征。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务