数据库基础

文章介绍了关系型数据库和非关系型数据库的基本概念、优缺点。关系型数据库以二维表形式存储数据,支持SQL查询,适用于复杂查询;而非关系型数据库(NoSQL)数据结构灵活,适合大规模数据和高并发场景。SQL包括DQL、DML、DDL、DCL和TCL等语言,事务具有原子性、一致性、隔离性和持久性。此外,文章还提及了数据库的三大范式和主从复制的不同模式。
摘要由CSDN通过智能技术生成

什么是关系型数据库,什么是非关系型数据库

关系型数据库是将复杂的数据结构用较为简单的二维表来表示,由二维表及其之间的联系所组成的一个数据组。在该类型数据库中,对数据的操作基本上都建立在一张或多张表上,采用结构化查询语言(SQL)对数据库进行操作,关系型数据库是比较主流的数据库技术。

优点:

  1. 易于维护:使用二维表的表结构,格式一致;
  2. 使用方便:SQL语言通用,关系型数据库都可以使用SQL进行操作;
  3. 复杂操作:可用于一个表以及多个表之间非常复杂的查询。

缺点:

  1. 读写性能比较差,尤其是海量数据的高效率读写;
  2. 固定的表结构,灵活度稍欠;
  3. 高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

非关系型数据库也称之为NoSQL(Not Only SQL)数据库,是一种数据结构化存储方法的集合,可以是文档或者键值对等。

优点:

  1. 格式灵活:存储数据的格式可以是key, value形式, 文档形式, 图片形式等等.
  2. 使用灵活,应用场景广泛,而关系型数据库则只支持基础的类型
  3. 速度快:使用内存存储数据,而关系型数据库只能使用硬盘
  4. 高扩展性

缺点:

  1. 不提供sql支持,学习和使用成本较高
  2. 数据结构相对复杂,复杂查询方面稍欠
  3. 只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,关系型数据库显的更为合适
  4. 不适合持久存储海量数据

SQL分类

DQL 数据查询语言:主要用于数据的查询

DML 数据操作语言:主要用于对数据的增加、修改、删除

DDL 数据定义语言:主要针对数据库对象(数据库、表、索引、视图)进行创建、修改、删除

DCL 数据控制语言:用来授予或者回收访问数据库的权限 

TCL 事务控制语言:用于数据库的事务管理  


事务的四大特性

原子性:一个事务要么全部提交成功要么全部失败回滚,不能只执行其中的一部分操作

一致性:事务必须是数据库从一个一致状态到另一个一致状态

隔离性:事务的隔离性是指在并发环境下,多个并发的事务之间应该相互各路,互不干扰

持久性:一旦事务提交,那么它对数据库中对应数据的状态变更就会永久保存到数据库中,及时发生系统崩溃,只要数据库可以重新启动,那么就一定能回复到事务成功结束的状态


数据库三大范式

第一范式:数据库表里面的字段都是单一属性的,都是不可再分的最小数据单元

第二范式:在第一范式的基础上更进一步,确保表中的每列都和主键相关,一张表只能描述一件事

第三范式:在第二范式的基础上,非主键列只能依赖于主键,不能依赖于其他非主键,通俗来讲消除表字段之间的传递依赖


主从复制:

数据从Mysql数据库服务器主节点复制到一个或者多个从结点

  • 同步复制:主节点的变化必须等待从节点复制完成
  • 异步复制:主节点只需要完成自己的数据库操作,不用管从节点是否完成操作
  • 半同步赋值:主节点值胥保证一个从节点操作成功,就返回结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值