数据库基础

不同的数据库中字符串连接符不同:
1、oracle数据库中的连接符为||,例如连接字符串AB、CD可以使用“AB”||“CD”;
2、SQLSERVER 数据库连接符为+,例如连接字符串AB、CD可以使用“AB”+“CD”;
3、MYSQL数据库中连接符为+,例如连接字符串AB、CD可以使用“AB”+“CD”;

SQL聚集函数是以一个集合(集或者多重集)为输入,返回单个值的函数。SQL提供了五个聚集函数:

  • 平均值:avg
  • 最小值:min
  • 最大值:max
  • 总和:sum
  • 计数:count

而Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。

范式

  • 第一范式(1NF)
    指数据库表的每一列数据项都不可分割,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。
  • 第二范式(2NF)
    要求数据库表中的每个实例或行必须可以被唯一地区分。要求实体的属性完全依赖于主关键字
    所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。简而言之,第二范式就是非主属性依赖于主关键字。
  • 第三范式(3NF)
    在满足第二范式的基础上,不存在传递函数依赖,那么就是第三范式。简而言之,第三范式就是属性不依赖于其它非主属性。

常用的关系数据库

  • Oracle
  • MySql
  • MariaDB
  • PostgreSQL

NoSQL

  • redis
  • mongodb
  • hbase
  • Cassandrs
  • pika

NewSQL

  • TiDB
  • OceanBase

数据库事务特性

  • A 原子性
  • C 一致性
  • I 隔离性
  • D 持久性

本地事务数据库断电的这种情况,它是怎么保证数据一致性的呢?使用SQL Server来举例,在执行事务的时候数据库首先会记录下这个事务的redo操作日志,然后才开始真正操作数据库,在操作之前首先会把日志文件写入磁盘,那么当突然断电的时候,即使操作没有完成,在重新启动数据库时候,数据库会根据当前数据的情况进行undo回滚或者是redo前滚,这样就保证了数据的强一致性。

发表评论