天河42期李琼 发表于 2022-6-7 21:25:29

索引,视图,外键的理解

面试题:谈谈你对索引的理解,谈谈你对视图的理解,谈谈你对外键的理解,口语化输出 --提交论坛


索引:利用索引可以提高在一个包含大量数据的表中查询经常想要使用的数据的速度,使用时可以对数据表中某些使用比较频繁的字段添加索引,但需要注意的是要选择一些经常使用的字段,而不是所有字段都要去添加索引;索引有3种类型,分别为普通索引、唯一索引和主键索引,添加了普通索引的字段中的值是可以重复的,也可以为空;添加了唯一索引的字段中的值不可以重复,但可以为空;而添加了主键索引的字段中的值不可重复出现,而且不能为空;其中普通索引和唯一索引可以在同一个表中添加多个,而主键索引在一个表中只能有一个,但是可以放在多个字段中上。最后,3种类型的索引的优先级别是主键索引大于唯一索引大于普通索引的。


视图:视图是由基础表创建出来的一种不负责存储数据的虚拟表,由字段和数据组成,视图中的字段可以来自不同的基础表中的字段;视图的结构的变化是不影响创建出该视图的基础表的结构,但是基础表的结构的变化却是会影响到对应的视图表的结构,还有就是视图表和基础表的数据是相互影响的,其中一个表的数据发生变化(修改、删除)都会引起另一个表的数据对应的改变,当是当视图是由一个复杂的表创建出来的时候,是无法对该视图的数据进行修改的。在日常生活中,用户可以通过操作视图的数据来达到对基础表数据的操作,用户不需要接触到完整的基础表,这样有利于基础表中的敏感数据的保密,还有就是在数据库中的一些复杂的查询语句可以简化加工成视图,减少出错的概率,简化了重复的操作,操作起来更方便;但是也是有不足之处,通过视图只能修改来源简单的基础表的数据,来源复杂的就不允许修改了。



外键:外键约束是约束表与表之间的关系的,使用外键约束让表与表之间关联起来,这样就可以把一个复杂的表简化为多个相对简单的表,且每个表之间相互约束;使用了外键约束的表的数据可以保持的一致性和完整性;体现在父表与子表有主键约束的字段的数据的更改会互相约束,不能随意修改;比如:父表中没有的数据,子表中也无法通过更改和插入的方法添加 ,还有如果子表有的对应字段的值,那将无法父表对应字段的值进行更改和删除。

页: [1]
查看完整版本: 索引,视图,外键的理解