美文网首页
六:约束、索引和视图

六:约束、索引和视图

作者: 项啊丑 | 来源:发表于2020-05-15 21:54 被阅读0次

一:表的约束

表的约束:保证数据的完整性和安全性(例如:性别只能填男女,不能写其他的)

主键约束(primary key):要求主键列唯一,并且不能为空

唯一约束(unique):要求该列唯一,允许为空

非空约束(not null):某类内容不能为空

外健约束(foreign key):用于多表间建立关系

-外键具有保持数据完整性和一致性的机制,目前MySQL只在InnoDB引擎下支持

-(ENGINE=INNODB)

-外键是表中的一列,其值必须在另一个表的主键或者唯一键中列出

-作为主键的表称为主表,作为外键的表称为依赖表

-外键会参照主表的主键或唯一键

-关系型数据库的一个表中有若干个属性(列),若其中某一个属性组能唯一标识一条记录,该属性组就可以成为一个主键

比如:

学生表(学号,姓名,年龄,班级),其中学号是唯一的,学号就是一个主键

成绩表(学号,课程编号,成绩,班级):成绩表中单一一个属性无法唯一标识一条记录,学号和课程编号的组合才可以唯一标识一条记录。所以,学号和课程号的属性组是一个主键

-成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则可以设置成绩表中的学号是成绩表的外键

二:索引

当数据库中存了很多条记录,比如上千万条,查询速度就成了一个问题

1.此时可以建立类似目录的数据库对象,实现快速查询,这就是索引

索引的作用:索引用于快速找出在某个列中有一特定值的行,不实用索引,MySQL必须从第一条记录开始读完整的表,知道找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间

建立一个索引:

1.创建表时,主键会默认带有索引

2.创建一个索引

3.删除一个索引

索引的优缺点

1.优点:

        所有的MySQL列类型(字段类型)都可以被索引,也就是可以给任意字段设置索引

        大大加快数据的查询速度

2.缺点:

        创建索引和维护索引要消耗时间,并且随着数据量的增加所耗费的时间也会增加

        索引也需要占空间,如果我们有大量的索引,索引文件可能会占很多空间

        当对表中的数据进行增删改时,索引也需要动态的维护,降低了数据的维护速度

索引使用原则:并不是每个字段设置索引就好,也不是索引越多越好,而是需要自己合理的使用

1.对经常更新的表就避免对其进行索引,对经常用于查询的字段应该创建索引

2.数据量小的表最好不要使用索引,因为由于数据量小,可能查询全部数据花费的时间比遍历索引的时间还要短,索引就可能不会产生优化效果

3.在不同值少的列上(字段上)不要建立索引,比如性别字段只有男女两个值;相反,在一个字段不同值比较多时(唯一性较好)建立索引

三:视图

视图就是一条select语句执行执行后返回的结果集(显示结果是一个表)

在创建一个视图时,只存放视图的定义,也就是动态检索数据的查询语句,并不存放视图对应的数据,在用户使用视图时才去请求相对应的数据,所以视图称为虚表

视图的作用:专门进行某些查询

- 方便操作:减少复杂的sql语句,增强可读性

- 更加安全:在外界访问你的数据库时,经常不想让你访问它所有的数据,这时候可以建立视图,在视图中写好查询数据,同时限制外界的访问权限只能通过你给定的视图去查询

删除视图:DROP VIEW v_user;

相关文章

  • 六:约束、索引和视图

    一:表的约束 表的约束:保证数据的完整性和安全性(例如:性别只能填男女,不能写其他的) 主键约束(primary ...

  • day39-Python连接MySQL

    一、视图和索引 1.视图 1.创建视图 2.查看视图 3.删除视图 2.索引 1.创建索引 2.删除索引 注意:表...

  • NO.47 视图、序列、索引 、 约束

    为方便测试,创建表emp,包含以下信息: 视图VIEW 视图是数据库对象之一,在SQL语句中体现的角色与表一致。但...

  • 数据库:视图,索引,约束

    视图(view): 从一个或几个基本表中根据用户需要而做成一个虚表 1)视图是虚表,它在存储时只存储视图的定义,而...

  • 索引和视图

  • 10.3 Masonry多视图约束

    Masonry多视图约束 Masonry多视图约束.png

  • day04 索引 约束 触发器

    1 索引 什么是索引 索引的分类 创建索引 删除索引 合理使用索引提升查询效率 2 约束 什么是约束 约束的类型 ...

  • 索引、视图

    索引 主键和UNIQUE约束字段会自动添加索引。 约束字段会自动添加索引。 因此根据主键查询效率较高。尽量根据主键...

  • ScrollView使用Masonry自动布局

    我们将UIScrollView和他的子视图之间的约束分为下面三类: 1、间距类约束:子视图和父视图之间,上,左,下...

  • MySQL一一sql的视图、索引、约束

    一、视图 本质上相当于一张“虚拟表”,可当作独立的一张表进行操作(增、删、改、查) ** 作用:** *...

网友评论

      本文标题:六:约束、索引和视图

      本文链接:https://www.haomeiwen.com/subject/uijkghtx.html