数据库
Posted whirlwind
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库相关的知识,希望对你有一定的参考价值。
什么是事务?
事务是数据库的一个单元,应用程序中一系列逻辑相关的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。
主要任务式确保数据一致性,是程序员可更加灵活地执行对数据库地操作,避免数据库出现数据错误。
由一组DML语句组成,完成一个相应地功能。
4个特性--ACID:
原子Atomicity:事务是数据库执行的最小单元,所包含的操作,要么全部成功,要么全部失败回滚;
一致Consistency:执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态;
隔离Isolation:一个事务的执行不能干扰其他事务;
持久Durability:事务一旦提交,改变为永久。
主键和外键的作用
主键:能保证设置主键的列非空且唯一.另外,在定义主键时,如果这列之前没有索引,系统会为其创建唯一性索引
外键:能保证设置外键的列取值必须匹配父表中已有的值.通过外键可以与同一张表的列建立引用关系,也可以与不同表的列建立引用关系
主键和索引的区别
主键时为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引;
数据表中只允许有一个主键,但是可以有多个索引;
使用主键数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率;
索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描;
主键也可以由多个字段组成,组成复合主键,同时主键肯定也是唯一索引;
唯一索引则标识该索引值唯一,可以由一个或几个字段组成,一个表可以有多个唯一索引.
什么是约束?
防止无效的数据进入到表中,保护数据的实体完整性;
定义在表级,如果表和表之间有从属关系,约束也可以防止表的删除;
强制用户在插入、更新或删除数据时必须遵循一定的规则;
可以在创建表的时候定义,也可以在表创建之后定义;
不显式命名
什么是视图?
定义:一个或几个基表或视图中导出的虚表,是表现数据的逻辑子集或数据的组合。基于表或另一个视图的逻辑表,一个视图并不包含真实的数据,它提供了另一个视角查看或改变表中的数据。
把相关信息通过多表查询的方式连接成一个大的逻辑表方便用户使用。
相同的数据可以展现不同的视图。
视图对update操作限制,原因:初始View定义的Select语句里如果包含了GROUP BY,DISTINCT,LIMIT或HAVING等命令时;如果视图里数据来自多张字表时。
什么是索引?
索引,建立索引的优缺点
同书前目录,可通过目录/索引快速查询到所需内容数据。
索引是数据库对象,通过指针的形式提高查询的速度。
如果没有给表建立索引,那么查询表中的记录,将会发生全表扫描,速度会比较慢。
索引提供了对表中行的直接和快速的访问,目的是通过索引的路径快速定位数据,以减少磁盘输入输出操作,提高速度。
存储过程及其优点?
Stored Procedure,是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。
优点:允许标准组件式编程;能够实现较快的执行速度;减轻网络流量;可被视为一种安全机制来充分利用。
什么是触发器?
是一个数据库对象,是一个特殊的过程,是当特定的事件发生时隐式的执行
--比如在一个表上发生插入、更新或删除的事件,数据库触发器会隐式执行
--可以被定义在表或视图上,也可以被定义在数据库或方案上,针对数据库的触发器对所有的用户其作用,而针对方案的触发器仅对指定用户起作用
以上是关于数据库的主要内容,如果未能解决你的问题,请参考以下文章