目录
在数据库领域,表、主键、索引、视图都是核心概念,这些在面试中常常被提问,以考察候选人的数据库基础知识。下面是对每个概念的解释和示例:
表 (Table)
数据库表是存储数据的基础结构,由行和列组成。每列代表一个数据字段,而每行代表一个数据记录。
假设有一个员工表 Employees
:
SQL 语句创建表:
CREATE TABLE Employees (
ID int NOT NULL,
Name varchar(255) NOT NULL,
Position varchar(255),
Salary decimal,
PRIMARY KEY (ID)
);
主键 (Primary Key)
主键是一列或一组列,其值唯一标识表中的每行。主键的值必须唯一,且不能为 NULL。
在上面的 Employees
表中,ID
列可以作为主键:
ALTER TABLE Employees
ADD PRIMARY KEY (ID);
索引 (Index)
索引是数据库表的数据结构,它可以加快数据检索速度。索引存储在表的列上,使得对数据的查询更快。
为 Employees
表的 Name
列创建索引:
CREATE INDEX idx_name
ON Employees (Name);
视图 (View)
视图是基于 SQL 语句的结果集的可视化表。它是一个虚拟表,由查询结果组成,本身不包含数据。
创建一个视图,显示所有薪资超过 80000 的员工:
CREATE VIEW HighSalaryEmployees AS
SELECT Name, Position
FROM Employees
WHERE Salary > 80000;
使用视图:
SELECT * FROM HighSalaryEmployees;
面试准备
在面试中,你可能会被要求解释这些概念,或者被问到如何在特定情况下使用它们。例如,你可能需要说明何时使用索引、如何选择合适的主键,或者如何通过视图简化复杂的查询。准备这些概念时,重点理解每个概念的用途和好处,以及它们在实际数据库设计和查询中的应用。