一、视图
视图是由一个或者多个表组成的虚拟表,并不在数据库中以存储的数据值集形式存在。
优点
1.简单性 视点集中
数据看到的即是需要的。试图不仅可以简化用户对数据的理解,也可以简化操作。
那些经常使用的查询可以被定义为视图,从而用户不必为以后的操作每次指定全部的条件。
2.安全性 定制数据
通过视图用户只能查询和修改他们所见到的数据。而不能授权到数据库特定行和特定列上。
3.逻辑数据独立性
视图可以帮助用户屏蔽真实表结构变化带来的影响。
缺点
1.影响性能
SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义的,
那么即使是视图的一个简单查询,SQL Server也会把它变成一个复杂的结合体,想要花费一定的时间。
2.修改限制
当用户试图修改试图的某些行时,SQL Server必须把它转化成对基本表的某些行的修改。
主键是表中一个或者多个字段,它的值用于唯一的标识表中的某一条记录。
特点:
1.一个表中只能有一个主键,如果在其他字段上建立主键,则原来的主键就会取消。
2.主键的值不可重复也不可为空(NULL)
作用:
1.保证实体的完整性。
2.加快数据库的操作速度。
3.插入数据的时候不允许主键重复的记录存在
4.Access自动按主键的顺序显示表中的记录,如果没有定义主键,则按输入记录的顺序显示。
建立原则;
1.主键应当是对用户没有意义的。
2.永远不要更新主键。
3.主键不应包含动态变化的数据。如时间戳、创建时间列、修改时间列等。
4.主键应当有计算机自动生成,如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行意外的意义。
三、索引
在关系数据库中,索引是一种单独的、物理的数对数据库表中一列或多列的值进行排序的一种存储结构。
索引的作用类似图书的目录,可以根据目录中的页码快速找到所需的内容。
四种索引:普通索引、唯一索引、主键索引、聚集索引
唯一索引尽管有助于定位信息,但是为了获得最佳性能建议改用主键索引。
作用:
1.快速取数据
2.保证数据记录的唯一性
3.实现表与表之间的参照完整性
4.在使用order by group by子句进行数据检索时,利用索引可以减少排序和分组的时间。
缺点:
1.索引需要占物理空间
2.当对表中的数据进行增加、删除、修改的时候,索引也要动态的维护,降低了数据的维护速度。
索引占用磁盘空间,并且降低增加删除修改的的速度,所以并非所有的数据库都以相同的方式使用索引。
只有当经常查询索引列中的数据时,才需要在表上创建索引。如果应用程序非常频繁地更新数据或磁盘
空间有限,则可能需要限制索引数量。表中的数据越多,索引的优越性越明显。
四、主键、唯一索引
1.主键是一种约束,唯一索引是一种索引,两者是不同的
2.为表创建主键时将自动创建主键索引,主键索引是唯一索引的特定类型,主键包含唯一索引,但唯一索引不一定是主键。
3.主键不能为空NULL,索引可以为空
视图是由一个或者多个表组成的虚拟表,并不在数据库中以存储的数据值集形式存在。
优点
1.简单性 视点集中
数据看到的即是需要的。试图不仅可以简化用户对数据的理解,也可以简化操作。
那些经常使用的查询可以被定义为视图,从而用户不必为以后的操作每次指定全部的条件。
2.安全性 定制数据
通过视图用户只能查询和修改他们所见到的数据。而不能授权到数据库特定行和特定列上。
3.逻辑数据独立性
视图可以帮助用户屏蔽真实表结构变化带来的影响。
缺点
1.影响性能
SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由一个复杂的多表查询所定义的,
那么即使是视图的一个简单查询,SQL Server也会把它变成一个复杂的结合体,想要花费一定的时间。
2.修改限制
当用户试图修改试图的某些行时,SQL Server必须把它转化成对基本表的某些行的修改。
对于简单视图来说,是很方便的,但是对于较复杂的视图可能是不可修改的。
主键是表中一个或者多个字段,它的值用于唯一的标识表中的某一条记录。
特点:
1.一个表中只能有一个主键,如果在其他字段上建立主键,则原来的主键就会取消。
2.主键的值不可重复也不可为空(NULL)
作用:
1.保证实体的完整性。
2.加快数据库的操作速度。
3.插入数据的时候不允许主键重复的记录存在
4.Access自动按主键的顺序显示表中的记录,如果没有定义主键,则按输入记录的顺序显示。
建立原则;
1.主键应当是对用户没有意义的。
2.永远不要更新主键。
3.主键不应包含动态变化的数据。如时间戳、创建时间列、修改时间列等。
4.主键应当有计算机自动生成,如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行意外的意义。
三、索引
在关系数据库中,索引是一种单独的、物理的数对数据库表中一列或多列的值进行排序的一种存储结构。
索引的作用类似图书的目录,可以根据目录中的页码快速找到所需的内容。
四种索引:普通索引、唯一索引、主键索引、聚集索引
唯一索引尽管有助于定位信息,但是为了获得最佳性能建议改用主键索引。
作用:
1.快速取数据
2.保证数据记录的唯一性
3.实现表与表之间的参照完整性
4.在使用order by group by子句进行数据检索时,利用索引可以减少排序和分组的时间。
缺点:
1.索引需要占物理空间
2.当对表中的数据进行增加、删除、修改的时候,索引也要动态的维护,降低了数据的维护速度。
索引占用磁盘空间,并且降低增加删除修改的的速度,所以并非所有的数据库都以相同的方式使用索引。
只有当经常查询索引列中的数据时,才需要在表上创建索引。如果应用程序非常频繁地更新数据或磁盘
空间有限,则可能需要限制索引数量。表中的数据越多,索引的优越性越明显。
四、主键、唯一索引
1.主键是一种约束,唯一索引是一种索引,两者是不同的
2.为表创建主键时将自动创建主键索引,主键索引是唯一索引的特定类型,主键包含唯一索引,但唯一索引不一定是主键。
3.主键不能为空NULL,索引可以为空
4.一个表中仅有一个主键,索引可以有多个
作用:保证数据的一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表想成关联,外键只能引用外表中的列的值或使用空值。
数据量大,并发度高 性能要求高,安全自己控制的系统可以不使用外键。
性能要求不高,数据安全要求高的系统使用外键。
外键的使用,如对下两张表进行操作
1.插入
2.删除