Java教程

数据库基础知识整理

本文主要是介绍数据库基础知识整理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数据库基础

五个基本的关系代数操作:并、差、笛卡尔积、选择、投影

https://www.www.zyiz.net/i/i/?n=15&i=blog/711762/201609/711762-20160927102253766-615053468.pngimage

完整性

  1. 实体完整性:要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不允许为“空”(NULL)或重复。

主键

  1. 参照完整性:对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一,就会影响数据的完整性。如删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录。对于更新、插入或删除表间数据的完整性。

外键

  1. 自定义完整性

事务

1、什么是事务

事务是数据库并发控制的基本单位,可以看作是一系列SQL语句的集合

事务必须要么全部执行成功,要么全部执行失败(回滚)

比如从A转账到B 100元,A-100,B+100如果B执行失败,A的操作不能凭空减少100,故进行回滚操作

2、事务的ACID四个特性:

  • 事务的原子性(Atomicity)是指一个事务要么全部执行,要么不执行。也就是说一个事务不可能只执行了一半就停止了。比如你从银行取钱,这个事务可以分成两个步骤(1)存折减款,(2)拿到现金。不可能存折钱少了,而钱却没拿出来。这两步必须同时完成,要么就都不完成。

  • 事务的一致性(consistency)是指事务的运行并不改变数据库中数据的一致性。例如,完整性约束了a+b=10,一个事务改变了a,那么b也应该随之改变。

  • 事务的独立性(或隔离性Isolation:隔离性指的是事务间是相互独立的,不会互相影响)是指两个以上的事务不会出现交错执行的状态。因为这样可能会导致数据不一致。

  • 事务的持久性(Durability)是指事务运行成功以后,就系统的更新是永久的。不会无缘无故的回滚。

函数依赖

  1、主码:又称为主键、主关键字,注意:主码是个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)

  2、关键字:又称为候选码;

    3、候选关键字:候选码去掉主码剩下的部分即为候选关键字;

  4、码=超键:唯一标识实体的属性或属性组合;

 

依赖基本

  这里我选择使用我理解的方式用尽可能通俗的方式解释一下

完全函数依赖:码A完全依赖码B,则无论码B中有多少个属性,不能存在码B拆除了一部分还能决定码A的情况;

部分函数依赖:与完全函数依赖对应,就是码A依赖码B,把码B拆吧拆吧还能攒出来一个决定码A的小码B;

传递函数依赖:就是码A依赖码B,码C依赖码A,

       类似这种可以接起来的情况:

       B—> A,   A —>C

       如果A不决定B,那么就满足传递函数依赖(A决定B就变成直接依赖了)

 

关系范式基本概念

  1NF:属性不可拆分——所有关系数据库中的关系都要满足第一范式

  2NF:在第一范式基础上,

       非主属性完全依赖主键(主码),即消除非主属性部分函数依赖;

  3NF:在第二范式基础上,

     非主属性不存在传递依赖候选键;

   BCNF:在第三范式基础上,

     主属性也消除掉传递依赖,即所有属性都不存在传递依赖;

这篇关于数据库基础知识整理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!