数据库面试题整理.docxVIP

  • 3
  • 0
  • 约1.27万字
  • 约 28页
  • 2020-03-26 发布于江西
  • 举报
数据库部分 1、数据库三范式是什么? 第一范式(1NF): 字段具有原子性,不可再分。所有关系型数据库系统都满足第一范式)数据库表中的字 段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必须作为一个整体,无法 区分哪部分是姓,哪部分是名,如果要区分出姓和名,必须设计成两个独立的字段。 第二范式(2NF): 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式 (2NF)必须先满足第一范式(1NF)。要求数据库表中的每个实例或行必须可以被惟一 地区分。通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为 主关键字或主键。第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖 是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一 部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分 通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属 性非部分依赖于主关键字。 第三范式(3NF): 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要 求一个数据库表中不包含已在其它表中已包含的非主关键字信息。 所以第三范式具有如下特征: ,每一列只有一个值 ,每一行都能区分。 ,每一个表都不包含其他表已经包含的非主关键字信息。 例如,帖子表中只能出现发帖人的 id,而不能出现发帖人的 id,还同时出现发帖人姓名, 否则,只要出现同一发帖人 id 的所有记录,它们中的姓名部分都必须严格保持一致,这 就是数据冗余。 2、说出一些数据库优化方面的经验? 关键字段建立索引。 使用存储过程,它使 SQL 变得更加灵活和高效。 备份数据库和清除垃圾数据。 SQL 语句语法的优化。 清理删除日志。 3、union 和 union all 有什么不同? UNION  在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行 排 序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见 的是过程表与历史表 UNION。这个 SQL 在运行时先取出两个表的结果,再用排序空间 进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行 排序。 而 UNION ALL 只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有 重复的数据,那么返回的结果集就会包含重复的数据了。 从效率上说,UNION ALL 要比 UNION 快很多,所以,如果可以确认合并的两个结果 集中不包含重复的数据的话,那么就使用 UNION ALL, 4.分页语句 取出 sql 表中第 31 到 40 的记录(以自动增长 ID 为主键) sql server 方案 1: selecttop 10 * from t where id not in (select top 30 id from t order by id ) orde byid sql server 方案 2: selecttop 10 * from t where id in (select top 40 id from t order by id) order by iddesc mysql 方案: select * from t order by id limit 30,10 oracle 方案: select * from (select rownum r,* from t where r=40) wherer30 分页技术(直接利用 sql 语句进行分页,效率最高和最推荐的) mysql: sql = select * from articles limit +(pageNo-1)*pageSize + , + pageSize; oracle: sql = select * from +(selectrownum r,* from + (select* from articles order by postime desc) +whererownum= +pageNo*pageSize +) tmp +wherer +(pageNo-1)*pageSize; sqlserver: sql = select top 10 * from id not id(select top + (pageNo- 1)*pageSize + id from articles) 5.用一条 SQL 语句查询出每门课都大于 80 分的学生姓名 name kecheng fenshu 张三 张三 李四 李四 王五 王五 王五 语文 数学 语文 数学 语文 数学 英语 81 90 81 100 90 准

文档评论(0)

1亿VIP精品文档

相关文档