Javaguide冷数据
什么是数据库, 数据库管理系统, 数据库系统, 数据库管理员?(冷数据)
数据库是信息的集合,数据库管理系统是操纵和管理数据库的大型软件。数据库系统由软件,数据库和数据管理员组成。数据库管理员管理数据库系统。
什么是元组, 码, 候选码, 主码, 外码, 主属性,非主属性?
元组是表中的一行,码是唯一标识实体的属性集,候选码是能唯一标识元组且不可再分的属性集,主码是选定的候选码,用于唯一标识元组,外码(外键)是一个关系中引用另一个关系的主码的属性,主属性是出现在任何候选码中的属性,非主属性是不包含在任何候选码中的属性。纯恶心!
主键和外键有什么区别?
主键不能重复,外键可重复。
为什么不推荐使⽤外键与级联?
它们增加了数据库操作的复杂性,降低了系统在高并发和分布式环境下的性能,并且不利于进行数据库的分库分表操作。
什么是 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锁)确保事务独占访问权限,用于数据修改,防止其他事务同时读取或修改同一数据,共享锁与共享锁兼容,但排他锁与任何其他锁都不兼容。
意向锁有什么用?
意向锁是一种表级锁,不会和行级共享锁和独占锁冲突, 目的是快速判断表里是否有记录被加锁,如果没有意向锁,加独占表锁时,要遍历表所有记录,效率很低。