数据库基础
大约 2 分钟
数据库基础
1. 数据库、数据库管理系统、数据库系统、数据库管理员
- 数据库:一种数据的有序集合,存储在计算机中,可以被访问、管理和更新。
- 数据库管理系统(DBMS):用于创建、管理和操作数据库的软件,如 MySQL、PostgreSQL 等。
- 数据库系统:包括数据库、数据库管理系统及相关工具的整体。
- 数据库管理员(DBA):负责数据库的设计、管理和维护的专业人员。
2. 什么是元组、码、候选码、主码、外码、主属性、非主属性
- 元组:数据库表中的一行数据。
- 码:表中能唯一标识一条记录的属性或属性组合。
- 候选码:可以唯一标识元组的所有属性组合。
- 主码:候选码中被选为主键的属性。
- 外码:用于关联其他表的主键的字段。
- 主属性:候选码中包含的属性。
- 非主属性:不是候选码的属性。
3. 什么是 ER 图
- ER 图(实体关系图):用来表示实体及其关系的图表,主要包含:
- 实体:具有独立存在意义的对象。
- 属性:实体的描述性信息。
- 关系:实体间的联系。
4. 数据库范式(1NF、2NF、3NF)
- 1NF(第一范式):表中每列的值必须是原子值。
- 2NF(第二范式):满足 1NF,且每个非主属性完全依赖主键。
- 3NF(第三范式):满足 2NF,且每个非主属性仅依赖主键,不依赖其他非主属性。
5. 主键和外键的区别
- 主键:唯一标识表中每一行数据,不允许为空。
- 外键:用于建立和维护表之间的关系,可以为空。
6. 为什么不推荐使用外键与级联?
- 性能问题:外键会增加写操作的开销。
- 复杂性:级联操作可能导致意外的数据更改或删除。
7. 什么是存储过程?
- 存储过程:存储在数据库中的一组 SQL 语句,用于完成特定任务,类似于编程语言中的函数。
8. DROP、DELETE 与 TRUNCATE 的区别
- DROP:删除表及其结构。
- DELETE:删除表中的部分或全部数据,可以回滚。
- TRUNCATE:清空表中的数据,不能回滚,但保留表结构。
9. 数据库设计的步骤
- 需求分析。
- 概念设计(如 ER 图)。
- 逻辑设计(如关系模式)。
- 物理设计(如索引、存储)。
- 实现与优化。
