【牛客刷题】数据库专项错题记录一

1.数据库中,下列说法 ______ 是不正确的
A.数据库避免了一切数据的重复
B.若系统是完全可以控制的,则系统可确保更新时的一致性
C.数据库中的数据可以共享
D.数据库减少了数据冗余

答案:A
A: 数据避免不了数据表中的id自增字段的的数据重复,若系统没有生成id插入数据表,应用数据库自增的策略,别免不了不同数据表会有相同的id编号,完全过于绝对   
B: 若系统完全可控则就可以保证系统的绝对安全,也就可以实现数据更新的一致性,但是现实我们只能通过一些技术提高系统的安全性,例如通过事务保证操作数据库的安全性    
C: 数据库可以实现共享,可以实现多用户共享 数据库    
D: 数据库可是通过关联数据表,查询数据,避免了同一表中存储过多的重复数据,是数据库的数据表更简洁 

2.关系模型中的关系模式至少是?
A.1NF
B.2NF
C.3NF
D.BCNF

答案:A
范式是数据库逻辑模型的设计规范(规则),因为逻辑设计后就是物理设计,牵扯到具体的数据实施。如果没有一个合理的规范,数据库的数据将不规范,不利于以后的使用操作。 
 第一范式(1NF) 所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。即实体中的某个属性有多个值时,必须拆分为不同的属性。简而言之,第一范式就是无重复的域。 一般设计中都必须满足第一范式(1NF)。
 第二范式(2NF)  在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖) 。简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键。 
第三范式(3NF)  在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖) 简而言之,第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。
巴斯-科德范式(BCNF)  在3NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主码子集的依赖) 事实上是对第三范式的修正,使数据库冗余度更小。定义:关系模式R∈1FNF,若X→Y且Y不是X的子集时X必含有码,则R∈BCNF。一个满足BCNF的关系模式有:  所有非主属性对每一个码都是完全函数依赖。 所有主属性对每一个不包含它的码也是完全函数依赖。 没有任何属性完全函数依赖于非码的任何一组属性。

若R∈BCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R∈3NF。一般关系型数据库设计中,达到BCNF就可以了! 几乎所有的关系模式都符合第一范式,但是具体的数据库设计里,表最好达到第三范式(不包含部分函数依赖和传递函数依赖)
通俗易懂:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 

3.在高并发,事物等场景下,MYSQL5.6数据库默认使用哪种存储引擎?
A.Myisam
B.InnoDB
C.Memory
D.ndbCluster

答案:B
Mysql在V5.1之前默认存储引擎是MyISAM;在此之后默认存储引擎是InnoDB
InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比 较低,也可以使用。如果数据表主要用来插入和查询记录,则MyISAM引擎能提供较高的处理效率
MEMORY:所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数据库只使用在相对较小的数据库表。如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存中的Memory引擎,MySQL中使用该引擎作为临时表,存放查询的中间结果
如果只有INSERT和SELECT操作,可以选择Archive,Archive支持高并发的插入操作,但是本身不是事务安全的。Archive非常适合存储归档数据,如记录日志信息可以使用Archiv
注意,同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询的临时表,可以选择MEMORY存储引擎

在这里插入图片描述
4.数据库的三级模式?

模式也称为逻辑模式或概念模式;
外模式也称为用户模式;
内模式也称为物理模式或存储模式。
内模式(也称存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储),索引的组织方式,数据是否压缩存储,数据是否加密,数据存储记录结构的规定,一个数据库只有一个内模式。

5.ALTER和Modify的区别
alter 是针对表整体,modify是对表中的某一项字段进行修改

1、增加字段:ALTER TABLE 表名 ADD 字段名 字段类型; 
2、删除字段:ALTER TABLE 表名 DROP COLUMN 字段列名; 
3、增加约束:ALTER TABLE 表名 ADD CHECK(字段名<>'')或者 ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(字段名);
4、删除约束:ALTER TABLE 表名 DROP CONSTRAINT 约束名;   
5、修改字段缺省值:ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 默认值
6、修改字段数据类型:ALTER TABLE 表名 ALTER COLUMN 字段名TYPE l类型; 
7、重命名字段:ALTER TABLE 表名 RENAME COLUMN 旧字段名TO 新字段名; 
8、重命名表:ALTER TABLE 表名 RENAME TO 新表名

6.对所有的视图都可以进行下面哪一个操作?
A.插入
B.选择
C.更新
D.删除

答案:B
1.视图是一个虚表,    
2.视图就是封装了一条复杂查询的sql语句集,    
3.它与真实表保持同步,也就是修改视图会影响真实
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值