数据库面试

1.数据库三级模式指的是什么?

数据库领域公认的标准结构是三级模式结构,它包括外模式、概念模式、内模式

外模式(用户模式/子模式)

外模式又称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据记录进行操作。外模式反映了数据库的用户观。

模式(概念模式/逻辑模式)

模式又称概念模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。

内模式(存储模式/物理模式)

内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
 
可以有多个外模式,但是模式和内模式是唯一的。
 
传统的集合运算:并,差,交,笛卡儿积。
专门的关系运算:选择,连接,投影,除运算
 
 
2.超码,主码,候选码是什么?
  • 超码:唯一标识一个实体,如学号
  • 候选码:子集不能再唯一标识某个实体的超码变成候选码
  • 主码:被dba选中的候选码,一般是极小变化的属性
 
3.Archivelog状态是什么?
Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)
归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。
 
4.视图是什么?
 
视图是从一个或几个基本表(或视图)导出的表。它与基本表不同,是一个虚表,数据库中只存放视图的定义,不存放视图对应的数据,这些数据仍存在原来的基本表中。所以基本表中的数据发生变化,从视图中查询出的数据也就随之变化,那么视图就是一个窗口,透过它可以看到数据库中自己感兴趣的数据及其变化。
视图一经定义,就可以和基本表一样被查询、被删除。也可以在一个视图之上再定义新的视图,但对视图的更新(增,删,改)操作则有一定的限制。 
 
5.数据库隔离级别?
 
未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据。
提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别 (不重复读)
可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读
串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞 
 
 
基本操作注意事项:
 
1.WHERE里面不能有聚集函数,聚集函数必须在HAVING 后面
原文地址:https://www.cnblogs.com/umrx/p/7571042.html