什么是数据库, 数据库管理系统, 数据库系统, 数据库管理员?(冷数据)

数据库是信息的集合,数据库管理系统是操纵和管理数据库的大型软件。数据库系统由软件,数据库和数据管理员组成。数据库管理员管理数据库系统。

什么是元组, 码, 候选码, 主码, 外码, 主属性,非主属性?

元组是表中的一行,码是唯一标识实体的属性集,候选码是能唯一标识元组且不可再分的属性集,主码是选定的候选码,用于唯一标识元组,外码(外键)是一个关系中引用另一个关系的主码的属性,主属性是出现在任何候选码中的属性,非主属性是不包含在任何候选码中的属性。纯恶心!

主键和外键有什么区别?

主键不能重复,外键可重复。

为什么不推荐使⽤外键与级联?

它们增加了数据库操作的复杂性,降低了系统在高并发和分布式环境下的性能,并且不利于进行数据库的分库分表操作。

什么是 ER 图?

提供了表示实体类型 属性 和联系的方法。

数据库范式了解吗?

第一范式(1NF)要求属性不可再分,第二范式(2NF)基于1NF消除非主属性对主码的部分函数依赖,第三范式(3NF)在2NF的基础上消除非主属性对主码的传递函数依赖。

什么是存储过程?

一组为了完成特定功能的SQL语句集合,它们被编译并存储在数据库中,可以通过简单的调用来执行复杂的业务逻辑,提高了SQL执行效率但可能限制了系统的可移植性。

drop、delete 与 truncate 区别?

DROP 删除表及其结构,TRUNCATE (截断)重置表并删除所有行但保留表结构和自增计数器重新从1开始,而 DELETE 删除一行或所有行但不重置表结构或自增计数器,并且支持事务回滚。

数据库设计包含哪几步?

需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。

有哪些常见的关系型数据库呢?

MySQL,Oracle,SQL Server,SQLite。

MyISAM 和 InnoDB 如何选择?

通常情况下,推荐使用 InnoDB 存储引擎,因为它提供了事务支持、更好的并发性能和数据崩溃恢复能力。

什么是事务?

事务是数据库管理系统中的一个核心概念,它确保了一组操作要么全部成功执行,要么全部失败回滚。从而保持数据的一致性、隔离性、持久性。

行级锁有什么注意事项?

用行级锁时,务必确保 WHERE 子句中涉及的字段是索引字段,以避免因全表扫描导致的性能问题和锁定过多记录,同时也需注意索引的有效性和查询优化器的行为,以免触发意外的全表扫描。

共享锁和排他锁你了解吗?

共享锁(S锁)允许多个事务对同一数据进行读取,而排他锁(X锁)确保事务独占访问权限,用于数据修改,防止其他事务同时读取或修改同一数据,共享锁与共享锁兼容,但排他锁与任何其他锁都不兼容。

意向锁有什么用?

意向锁是一种表级锁,不会和行级共享锁和独占锁冲突, 目的是快速判断表里是否有记录被加锁,如果没有意向锁,加独占表锁时,要遍历表所有记录,效率很低。