面试复习之数据库

本文介绍了数据库的基础概念,包括主码、主属性和非主属性,强调了主键和外键在数据完整性和关联表中的作用。进一步探讨了数据库的规范化,如1NF、2NF和3NF,以及BCNF,旨在解决数据冗余和异常问题。此外,讨论了索引的重要性,虽然能提升查询速度,但过度使用可能导致性能下降。事务的ACID特性确保了数据库操作的原子性、一致性、隔离性和持久性。理解这些基本概念对于数据库管理和优化至关重要。
摘要由CSDN通过智能技术生成

数据库

基础概念
主码:从候选码中选择一个。
主属性:包含在任何一个候选码中的属性。
非主属性:不包含在任何码中的属性。

主键
唯一标识一条记录,不能有重复的,不允许为空
用来保证数据完整性
主键只能有一个

外键
表的外键是另一表的主键, 外键可以有重复的, 可以是空值
用来和其他表建立联系用的
范式
规范化过程是为了解决数据冗余、删除异常、插入异常、更新异常等问题。
(1)第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个属性都是不可再分的数据项,则称关系模式R是第一范式。
(2)第二范式(2NF):当且仅当关系模式R是第一范式(1NF),且每一个非主属性完全依赖候选键(没有不完全依赖)时,则称关系模式R是第二范式
(3)第三范式(3NF):当且仅当关系模式R是第二范式(2NF),且R中没有非主属性传递依赖于候选键时,则称关系模式R是第三范式。
(4)BC范式(BCNF):设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每个依赖的决定因素必定包含R的某个候选码。

索引
索引是一张表,该表保存了主键与索引字段,并指向实体表的记录。
索引可以提高mysql的检索速度,但过多的使用索引将会造成滥用。因此索引也会有它的缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。
建立索引会占用磁盘空间的索引文件。
索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构。索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要。
语句
CREATE INDEX indexName ON table_name (column_name)

事务
包括ACID
事务(Transaction)是并发控制的基本单位。所谓的事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。事务是数据库维护数据一致性的单位,在每个事务结束时,都能保持数据一致性。

  1. 原子性(Atomicity)
    事务被视为不可分割的最小单元,要么全部提交成功,要么全部失败回滚。
  2. 一致性(Consistency)
    事务执行前后都保持一致性状态。在一致性状态下,所有事务对一个数据的读取结果都是相同的。
  3. 隔离性(Isolation)
    一个事务所做的修改在最终提交以前,对其它事务是不可见的。
  4. 持久性(Durability)
    一旦事务提交,则其所做的修改将会永远保存到数据库中。即使系统发生崩溃,事务执行的结果也不能丢失。可以通过数据库备份和恢复来保证持久性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值