MySQL 面试题, 说说数据库三大范式?
MySQL 面试题, 说说数据库三大范式?
QA
Step 1
Q:: 说说数据库三大范式?
A:: 数据库的三大范式是为了消除数据库中的数据冗余,提高数据库的设计质量。
1. 第一范式(1
NF):要求每个字段都是原子的,不可再分。
2. 第二范式(2NF):在满足1
NF的基础上,要求数据库表中的每个非主属性完全依赖于主键,而不能只依赖于主键的一部分。
3. 第三范式(3NF):在满足2
NF的基础上,要求数据库表中的每个非主属性都不依赖于其他非主属性。
Step 2
Q:: 什么是主键和外键?
A:: 主键是表中的一个或多个字段,其值唯一标识表中的每一行。外键是一个表中的字段,它引用另一个表中的主键,建立两表之间的关系。
Step 3
Q:: 索引的作用是什么?
A:: 索引通过减少数据库查询时间来提高检索速度。它类似于书的目录,通过索引,数据库可以快速找到所需的数据行。
Step 4
Q:: 什么是事务?它的ACID属性是什么?
A:: 事务是一组操作,要么全部执行,要么全部不执行。ACID属性包括:
1.
原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成。
2.
一致性(Consistency):事务完成时,数据库必须从一种一致性状态转变到另一种一致性状态。
3.
隔离性(Isolation):并发事务的执行不会互相影响。
4.
持久性(Durability):事务完成后,其效果在数据库中是永久的。
Step 5
Q:: 什么是视图?
A:: 视图是基于一个或多个表的虚拟表,通过视图可以简化复杂查询、提高数据安全性和管理简化。
用途
面试这些内容是为了评估候选人在数据库设计和优化方面的知识和能力。在实际生产环境中,良好的数据库设计可以提高系统的性能和可维护性,确保数据的完整性和一致性,优化查询速度,减少数据冗余,并帮助应对复杂的业务逻辑需求。\n相关问题
🦆
什么是数据库的反范式化?什么时候会使用?▷
🦆
数据库的连接有哪些类型?▷
🦆
什么是数据库的死锁?如何预防和解决?▷
🦆
什么是数据库的分区?▷