软件测试--数据库基础知识
一、为什么要学习数据库
能够反作用于业务和快速分析定位问题
在软件开发中会遇到很多问题,追根究底它就是一个数据库里数据的问题,就比如说我们要去验证注册来源对不对,如果我们不去查库的话,我不知道有这个字段的存在,虽然它需求里面说了这么一段话,但实际我从页面上去做功能测试的时候,我并不能看到这个注册来源到底存得对不对,所以我们要去看数据库。
二、常见数据库
1、关系型数据库
关系型数据库:关系型数据库的官方解释比较难理解,其实简单点来讲,关系型数据库就是以行和列的形式储存数据的组织结构,这里体现为二维结构的表,而且多个表之间可能会存在一些关系。
1)Oracle
Oracle是美国oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,oracle数据库的特点是安全、高速、稳定、并发性好,这些特点都使得很多大企业都选择数据库的时候毫不犹豫的选择了oracle。
早些年的时候,世界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)方面颇有的建树。
2、非关系型数据库
非关系型数据库:非关系型数据库的数据结构跟关系型的完全不同,它主要是以键值对的形式去存储数据。
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
软件测试--数据库基础知识相关推荐
- 软件测试教程基础知识,零基础如何学软件测试
原标题:零基础如何学软件测试 一.软件测试需要哪些知识 很多人都在各大论坛提问"我是零基础该如何学习软件测试".关于这个问题首先应该给零基础定一个范围,到底什么样才是零基础,从来没 ...
- java学习与总结:MySQL和数据库基础知识
文章目录 MySQL MySQL数据库索引数据结构 B树和B+树的区别 MySQL一条数据是怎么保存到数据库的 WAL : WRITE AHEAD LOG binlog 和 redo log 流程 M ...
- 1.0 MySQL数据库基础知识
MySQL数据库基础知识 MYSQL介绍 MySQL分支版本的发展 MySQL. Oracle. SQLServer的市场区别 MYSQL数据库使用上的结构 MYSQL体系架构图 MYSQL体系架构- ...
- oracle数据库中基础知识,oracle数据库基础知识
oracle数据库基础知识 -- End loop --1 declare pnum number(4):=0; begin while pnum < 10 loop dbms_output.p ...
- oracle数据库基础知识总结,oracle数据库基础知识学习笔记
oracle数据库基础知识学习笔记 一.oracle数据库类型: Char: 字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...
- numeric比较大小 数据库_数据库基础知识个人整理版-强烈推荐
<数据库基础知识个人整理版-强烈推荐>由会员分享,可在线阅读,更多相关<数据库基础知识个人整理版-强烈推荐(20页珍藏版)>请在人人文库网上搜索. 1.数据库知识要点总结第一章 ...
- 一幅长文细学GaussDB(二)——数据库基础知识
文章目录 2 数据库基础知识 2.1 数据库管理简介 数据库管理 数据库管理工作范围 对象管理 制定数据库对象命名规范 备份和恢复 灾难恢复 备份方式 数据库安装 数据库卸载 数据库迁移 数据库扩容 ...
- Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构
第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...
- 软考 程序员教程-第三章 数据库基础知识
软考 程序员教程-第三章 数据库基础知识 第三章 数据库基础知识 3.1 基本概念 数据库系统(DataBase System,DBS)由数据库(DataBase,DB).硬件.软件和人员4大部分组成 ...
最新文章
- 这个冬天,将是共享单车最艰难的时刻
- 怎么做网络营销在网站优化中能快速提升搜索引擎信任的方法!
- day03-正则表达式
- cgo的几种使用方式
- Linux(一) 概述 、 系统安装与分区
- git tag 功能笔记
- linux C 学习 简单字符串逆序输出
- Mysql递归查询,无限级上下级菜单
- OpenCV学习(二十四 ):角点检测(Corner Detection):cornerHarris(),goodFeatureToTrack()
- 爱奇艺开源轻量级插件化方案 Neptune
- vs使用安装devexpress教程
- nofllow html5,NoFollow:高亮显示nofollow标签
- Mac突然中文输入法框不见了??
- 启动oracle时报错:PuTTY X11 proxy: unable to connect to forwarded X server: Network error:
- 项目管理,如何从疲于奔命中解脱出来?
- C++ vector详细用法
- Xib文件使用(一)——xib文件解析
- IDEA自动重写的equals方法分析
- 神经性皮炎有哪些种类
- 【树莓派入门】从零开始在树莓派上运行YOLOV5项目实战教程
热门文章
- oracle dba开头的表,oracle中以dba_、user_、v$_、all_、session_、index_开头的常用表和视图...
- python中urllib.parse啥意思_python-urllib.parse模块简述
- cp210x驱动运行不了怎么解决_【问题】解决Android8.0以上运行不了uiautomatorviewer的办法...
- 理想的人才梯队体系特征:40页人才梯队建设实施方案,果断收藏
- Java设计模式学习总结(13)——结构型模式之享元模式
- Java基础学习总结(79)——Java本地接口JNI详解
- turtle生成二叉树
- python用http协议传数据_《Python网络爬虫》1.3 HTTP协议基础知识
- Oracle ORA-02069: 此操作的 global_names 参数必须设置为 TRUE
- JS三大经典变量命名法