可以副作用于业务和快速分析定位问题php
在软件开发中会遇到不少问题,追根究底它就是一个数据库里数据的问题,就好比说咱们要去验证注册来源对不对,若是咱们不去查库的话,我不知道有这个字段的存在,虽然它需求里面说了这么一段话,但实际我从页面上去作功能测试的时候,我并不能看到这个注册来源到底存得对不对,因此咱们要去看数据库。web
一、关系型数据库sql
关系型数据库:关系型数据库的官方解释比较难理解,其实简单点来说,关系型数据库就是以行和列的形式储存数据的组织结构,这里体现为二维结构的表,并且多个表之间可能会存在一些关系。数据库
1)Oraclejson
Oracle是美国oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,oracle数据库的特色是安全、高速、稳定、并发性好,这些特色都使得不少大企业都选择数据库的时候坚决果断的选择了oracle。api
早些年的时候,世界500强几乎100%都是oracle的用户。可是oracle是收费的,并且不便宜,这也使得不少初创公司或者中小型企业是彻底没有能力去负担这笔开支,而放弃使用oracle,转而选择简便易用,更轻量级且免费开源的MySQL。缓存
2)MySQL安全
MySQL是一种开发源代码的关系型数据库管理系统,而且由于其速度,可靠性和适用性备受中小型企业的青睐。虽然早期版本不支持事物操做、子查询、外键、存储过程和视图等功能。服务器
可是从02年发布的4.0beta版以来,MySQL外使用innoDB做为默认引擎,对事物处理能力及数据缓存能力又来极大的提升,05年的5.0版本有添加了存储过程、服务端游标、触发器、查询优化以及分布式事物功能。数据结构
3)MariaDB
MariaDB数据库是MySQL的一个分支,由开源社区在维护,开发MariaDB有一部分缘由是由于担忧甲骨文收购MySQL后,会有将MySQL闭源的意图,所以社区采用分支的方式来避开这个风险。
MariaDB彻底兼容MySQL,包括API和命令行,是MySQL的完美替代品,储存引擎方面,MariaDB使用的是xtraDB替代了MySQL的InnoDB。
4)Sqlserver
Sqlserver是由Microsoft开发和推广的数据库,它最初是由Microsoft、Sybase和Ashton-tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。
Ms SQL server主要面向中小型企业。其最大的优点是在于集成了Ms公司的各种产品及资源,提供了强大的可视化界面、高度集成的管理开发工具,在快速构建商业智能(BI)方面很有的建树。
二、非关系型数据库
非关系型数据库:非关系型数据库的数据结构跟关系型的彻底不一样,它主要是以键值对的形式去存储数据。
1)Memcached
Memcached是以livejournal旗下Danga Interactive 公司的Brad Fitzpatric为首开发的一款软件,它的出现很好的解决一系列数据库瓶颈问题,由于在web应用中频繁,集中的访问数据库,就会带来高并发带来的一系列问题。
好比致使数据库负担加剧、响应恶化、网站显示延迟等重大影响这些问题,而有了memcached提供的数据缓存机制,这些问题就都不是问题了。
2)Redis
Redis是一个key-value存储系统。和memcached相似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、和hash(哈希类型)等。Redis是一个高性能的key-value数据库。
Redis的出现,很大程度补偿了memcached这类key/value储存的不足,在部分场合能够对关系数据库起到很好的补充做用。
3)MongoDB
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构很是松散,是相似json的bson格式,所以课程储存比较复杂的数据库类型。
Mongo最大的特色是他支持的查询语言很是强大,其语法有点相似于面向对象的查询语言,几乎均可以实现相似关系数据库表单查询的绝大部分功能,并且还支持对数据库创建索引。
1)建立/删除库、建立/删除表、查看库、查看表
2) 备份、还原数据
3)存储过程 、视图
4)导入、导出数据
5)数据库基础配置 :修改密码、添加用户等
6)数据库连接工具:如 WorkBench Navicat phpMyAdmin 等
7)基本的增删改查 语句
8) 稍微复杂点的SQL :多表查询、子查询 等等
9) 至少得知道常见的数据库:Mysql MSSQL Oracle Memcached Redis Mongodb
10) 数据库的安装、部署:你至少得会本身在服务器或本身电脑上安装个数据库
接口测试和接口文档生成工具:apipost