企业SQL面试知识点:数据库对象与操作

需积分: 50 17 下载量 186 浏览量 更新于2024-09-09 1 收藏 389KB PDF 举报
"尚硅谷——企业SQL面试复习与测试" 在SQL面试中,了解和掌握数据库对象是至关重要的。以下是对这些关键概念的详细说明: 1. 表 (Table): - 表是数据库中最基本的数据存储单元,由行和列构成,用于存储结构化的数据。每一列代表一种数据类型,每一行则表示一个特定实体的一组属性。 2. 视图 (View): - 视图是基于一个或多个表的虚拟表,它是由`SELECT`语句定义的。视图并不实际存储数据,而是存储查询逻辑。当对视图执行数据操作(如INSERT, UPDATE, DELETE)时,会直接影响到其基础表。例如,创建了一个计算部门平均工资的视图`emp_vu`,更新视图的记录将改变基础表`employees`的数据。 3. 序列 (Sequence): - 序列提供了一种自动生成有序整数的方法,通常用于主键生成。`CREATE SEQUENCE`语句定义了序列的起始值、增长量、最大值等参数。`nextval`返回序列的下一个值,`currval`返回当前序列的值。在示例中,`emp_id_seq`被创建并用于`emp`表的`id`字段插入。 4. 索引 (Index): - 索引是一种特殊的数据结构,加速查询速度。通过在表的特定列上创建索引,可以快速定位到数据行。创建索引有两种方式:自动(通过设置主键或唯一性约束)和手动(使用`CREATE INDEX`语句)。索引可以显著提高查询效率,但也可能占用额外的存储空间,并可能影响到数据插入和更新的速度。 5. 同义词 (Synonym): - 同义词提供了一个别名,使得用户可以以不同的名称访问表或视图,简化数据库对象的引用。它们在不同命名空间或权限环境之间特别有用。 6. 存储过程 (Procedure) 和 存储函数 (Function): - 存储过程是一组预先编译的SQL语句,可封装业务逻辑并在需要时调用。它们可以接受参数,返回结果,并执行复杂的操作。而存储函数与存储过程类似,但通常会返回一个值。 7. 触发器 (Trigger): - 触发器是数据库响应特定事件(如INSERT, UPDATE, DELETE)时自动执行的预定义SQL代码。它们用于实现业务规则或数据验证,可以在数据修改前或后执行。 在SQL中,DDL(Data Definition Language)用于定义数据库结构,如创建、修改、删除表,以及重命名等操作。这些操作是不可回滚的,意味着一旦执行,就无法撤销,因此在使用时需要谨慎。 在面试中,熟悉这些概念并能熟练运用是展示SQL技能的关键。例如,能够创建和管理索引以优化查询性能,理解视图的用途及其对数据的影响,以及如何利用序列生成唯一标识等。此外,理解如何使用存储过程和触发器来增强数据库的功能性和安全性,也是评估候选人能力的重要方面。在Java开发中,这些SQL知识对于与数据库交互的后端开发尤其重要。