外键约束 (Foreign Key Constraint)
定义:
外键约束是数据库中的一种完整性约束,用于确保两个表之间的数据引用完整性和一致性。它强制实施引用完整性,通过限制在一个表(子表或引用表)中的外键列中的值,这些值必须是在另一个表(父表或被引用表)的主键列中存在的。
作用:
确保数据引用完整性:确保在子表中引用的数据在父表中确实存在。
级联操作:当父表中的记录被删除或更新时,可以自动更新或删除子表中相关的记录。
存储过程 (Stored Procedure)
定义:
存储过程是用户定义的一组为了完成特定功能的SQL语句集合,这些语句被编译并存储在数据库中,可以由指定用户通过指定的名字和参数(如果有)来调用执行。
作用:
封装复杂的SQL逻辑:将复杂的SQL逻辑封装在存储过程中,使得调用更加简单和清晰。
提高性能:存储过程在首次执行时会被编译并存储在数据库中,之后的调用可以直接执行编译后的代码,提高执行效率。
安全性:可以限制对基础数据的直接访问,只允许通过存储过程来访问和操作数据。
触发器 (Trigger)
定义:
触发器是一种特殊的存储过程,它基于某个事件(如INSERT、UPDATE或DELETE操作)来自动执行或激活。当数据库表中的数据满足触发器定义的条件时,触发器会自动执行预先定义好的SQL语句集合。
作用:
维护数据完整性:确保在数据修改时满足特定的业务规则或约束。
自动化任务:在数据发生变化时自动执行某些操作,如记录日志、发送通知等。
联表查询 (Join)
定义:
联表查询是SQL中用于从两个或多个表中检索数据的方法。它基于这些表之间的某些相关列之间的关系,将这些表中的数据组合起来,形成一个结果集。
类型:
INNER JOIN(内连接):返回两个表中满足连接条件的记录。
LEFT JOIN(左连接):返回左表中的所有记录,以及右表中满足连接条件的记录。如果右表中没有匹配的记录,则结果集中对应的字段将为NULL。
RIGHT JOIN(右连接):与LEFT JOIN相反,返回右表中的所有记录,以及左表中满足连接条件的记录。
FULL JOIN(全连接):返回左表和右表中的所有记录,如果某一边没有匹配的记录,则结果集中对应的字段将为NULL。
视图 (View)
定义:
视图是一个虚拟的表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
作用:
简化复杂的SQL查询:将复杂的查询逻辑封装在视图中,使得调用更加简单和清晰。
安全性:可以限制对基础数据的直接访问,只允许通过视图来访问和操作数据。
数据抽象:为不同的用户或应用提供不同的数据展示方式。