数据库_错题解析_11.6

来源:互联网 发布:网络水军怎么看 编辑:程序博客网 时间:2024/06/05 00:14

1.在 R(U) 中,如果 X → Y ,并且对于 X 的任何一个真子集 X’ ,都有 X’ → Y ,则(C )。
A.Y函数依赖于X
B.Y对X完全函数依赖
C.Y对X部分函数依赖
D.R属于2NF
准备知识:范式的定义
第一范式(1NF)
定义:如果一个关系模式 R 的所有属性的域都是原子的,我们称这个关系模式 R 属于第一范式(First Normal Form,1NF)。
第二范式(2NF)
定义:如果一个关系模式 R 中的每个属性 A 都满足下列准则之一,我们称这个关系模式 R 属于第二范式(Second Normal Form,2NF)。
·它出现在一个候选码中。
·它没有部分依赖于一个候选码。
第三范式(3NF)
定义:如果一个具有函数依赖集F的关系模式R,对于F+中所有函数依赖满足下列准则之一,我们称这个关系模式 R 属于第三范式(Third Normal Form,3NF)。
·α -> β是一个平凡的函数依赖。
·α 是 R 的一个超码。
·β - α 中的每个属性 A 都包含于 R 的一个候选码中。
它没有部分依赖于一个候选码。
函数依赖知识
完全函数依赖:在一张表中,若X->Y,且对于X的任何一个真子集(假如属性组X包含超过一个属性的话),X’->Y不成立,那么我们称Y对于X完全函数依赖,记作XF->Y。

部分函数依赖:假如 Y 函数依赖于 X,但同时 Y 并不完全函数依赖于 X,那么就称 Y 的部分函数依赖于 X,记作XP->Y。

传递函数依赖:假如 Z 函数依赖于 Y,且 Y 函数依赖于 X(),那么久称 Z 传递函数依赖于 X,记作 XT->Z。

由此可见,Y不完全依赖X且由于R(U)中存在部分函数依赖,所以A,B,D错误。

2.数据库管理系统能实现对数据库中数据表、索引等对象的定义、修改、删除,这类语言称为?
正确答案: A
A.数据定义语言(DDL)
B.数据操纵语言(DML)
C.数据查询语言(DQL)
D.数据控制语言(DCL)
解析:.
1.select语句—>查询
2.数据操纵语言(DML语句data manipulation language)
insert, update, delete
3.数据定义语言(DDL语句data definition language)
create(创建), alter(修改), drop(删除), rename(重命名), truncate (删除 表中的数据)
4.[事务]控制语句(TCL语句transction control) commit(提交), rollback(回滚), savepoint(记录点,用来回滚)
5.数据控制语言(DCL语句data control language)grant【授权】, revoke【回收】

**3.**MYSQL实现主从复制的日志是哪种?
正确答案: C
A.READ LOG
B.UNDO LOG
C.BINLOG
D.GENERAL LOG
解析:mysql主从复制的原理:
(1).master将数据改变记录到二进制日志(binary log)中,也即是配置文件log-bin指定的文件(这些记录叫做二进制日志事件,binary log events)
(2).slave将master的binary log events拷贝到它的中继日志(relay log)
(3).slave重做中继日志中的事件,将改变反映它自己的数据(数据重演)
注:MySQL5.6开始主从复制有两种方式:基于日志(binlog);基于GTID(全局事务标示符)。

4.现有表book,主键bookid设为标识列。若执行语句:select * into book2 from book, 以下说法正确的是?
正确答案: A D
A.若数据库中已存在表book2, 则会提示错误。
B.若数据库中已存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识。
C.若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为主键。
D.若数据库中不存在表book2, 则语句执行成功,并且表book2中的bookid自动设为标识。
解析:select into from 和 insert into select都是用来复制表。
两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建。insert into select from 要求目标表存在