T-SQL

T-SQL 知识量:16 - 67 - 243

4.1 认识数据库对象><

数据表- 4.1.1 -

在T-SQL中,数据表是由列和行组成的二维表。每个列都有一个名称,表示数据的特定属性或字段。行则包含这些列的实例或值。T-SQL的数据表概念包括以下几个方面:

  • 表是数据库中存储数据的基本单元,由列和行组成。每列代表一个数据字段,每行代表一个数据记录。

  • 数据类型:在T-SQL中,每个列都必须指定一个数据类型,用于定义该列可以存储的数据的类型。常见的数据类型包括整数、浮点数、字符串、日期等。

  • 数据表可以包含约束、索引等来保证数据的一致性和查询效率。例如,主键约束确保表中的主键列唯一,外键约束关联两个表之间的关系。

  • 数据表之间可以通过关系来建立关联。这些关系可以是父子关系、一对多关系或多对多关系等。通过关联关系,可以从多个表中检索相关数据并进行联合操作。

  • T-SQL提供了丰富的查询语句和操作符,用于从数据表中检索和操作数据。例如,SELECT语句用于选择数据,INSERT语句用于向表中插入数据,UPDATE语句用于更新数据,DELETE语句用于删除数据等。

视图- 4.1.2 -

T-SQL的视图是一个虚拟表,其内容由查询定义。与物理表不同,视图中的数据没有物理表现形式,除非为其创建一个索引。视图可以看作定义在SQL Server上的虚拟表,正如其名字的含义一样,是另一种查看数据的入口。常规视图本身并不存储实际的数据,而仅仅存储一个Select语句和所涉及表的metadata。

通过视图,客户端不再需要知道底层table的表结构及其之间的关系,因为视图提供了一个统一访问数据的接口。在创建视图时,需要为其指定一个名称和查询。SQL Server只保存视图的元数据,用户描述这个对象,以及它所包含的列、安全、依赖等。

索引- 4.1.3 -

T-SQL的索引是数据库搜索引擎用来加速数据检索的唯一表格。它是表中数据的一种指标,类似于书末的索引。索引包含由表或视图中的一列或多列生成的键,这些键存储在一个结构(B树)中,使SQL Server可以快速有效地查找与键值关联的行。

索引的选择可以帮助加快WHERE子句出现时的查询速度,但它会减慢数据输入速度,并且包含更新和语句。不会对索引数据产生或删除任何影响。创建索引包括一个index create语句,该语句提供索引的名称,并以升序或降序指向索引,以指定索引中的表和列。

每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序。只有当表包含聚集索引时,表中的数据行才按排序顺序存储。如果表具有聚集索引,则该表称为聚集表。如果表没有聚集索引,则其数据行存储在一个称为堆的无序结构中。

存储过程- 4.1.4 -

T-SQL的存储过程是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指定存储过程的名称并给出参数来执行。存储过程中可以包含逻辑控制语句和数据操纵语句,它可以接受参数、输出参数、返回单个或多个结果集以及返回值。由于存储过程在创建时即在数据库服务器上进行了编译并存储在数据库中,所以存储过程运行要比单个的SQL语句块要快。同时由于在调用时只需用提供存储过程名和必要的参数信息,所以在一定程度上也可以减少网络流量、简单网络负担。

触发器- 4.1.5 -

T-SQL的触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录、更新记录或者删除记录时被自动地激活。

触发器是一种由事件触发的特殊类型的存储过程,当对一个表进行操作(如INSERT、DELETE、UPDATE)时,就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。