最近在复习(其实相对于学习了emmm)数据库,对一些以前学习的时候不知道的盲点知识有了新的了解,小白一枚,感谢各位大佬轻喷,有什么不对的希望各位大佬多多指正。
-
层次和网状数据模型为什么用的较少?
这两种模型与底层实现的联系过于紧密,似的模型的构造和使用过于复杂。但是需要说明的是这两种模型的效率比关系模型要高(参考自王珊的数据库系统概论)。 -
关系数据模型优于其他数据模型的部分?
坚实的数学基础
简洁的表示形式
支持非过程化的数据库语言 -
强实体集和弱实体集?
一般地,如果一个实体集的任何属性集都不足以形成该实体集的码,则称该实体集为弱实体集。与此相对,存在码的实体集称为强实体集(参考自范明的数据库原理教程,但是王珊的书中好像没有提到,不知道是不是重点?)。 -
使用Group By子句后的select语句有什么要求?
对于带Group By子句的SELECT语句, SELECT子句中的结果列必须是Group By子句中的分组列或聚集函数。 -
嵌套查询?
一个查询嵌套在另一个查询中的查询成为嵌套查询,前者为子查询,后者为父查询。子查询中不能使用ORDER BY子句。
不相关子查询的查询条件不依赖于父查询,而相关子查询的查询条件依赖于父查询。 -
视图
视图是一种命名的导出表,是从一个或几个基本表(或视图)导出的表。但是视图的数据并不物理地存储在数据库中(物化视图除外)。
SQL标准不提供修改视图定义的操作(模式也不可以)。用户若想修改这些对象,只能先将它们删除然后重建。
定义视图的查询表达式中不包含DISTINCT短语和ORDER BY子句。
一般来说,使用聚集函数定义的视图是不可更新的,而行列子集视图是可更新的。但是二者之间的准确边界并不清楚,不同系统限制不同,需要注意。写在最后
这些只是我这个小白认为的稍微比较重要的知识以及之前没有注意到的盲点知识,如果有错误的地方或者不同的意见欢迎大家留言评论,谢谢大家。