当前位置: 首页 > 后端技术 > PHP

【分享】软件测试--数据库基础知识

时间:2023-03-29 20:41:58 PHP

1、为什么要学习数据库对业务做出反应,快速分析定位问题?软件开发中会遇到很多问题。归根结底是数据库中数据的问题。比如我们要验证注册来源,如果不去查数据库,不知道这个字段的存在。虽然在需求中说了这么一段话,但是我真正从页面做功能测试的时候,看不到注册源是否保存正确,只好去数据库了。二、常见数据库1、关系型数据库Relationaldatabase:关系型数据库官方解释比较难懂。其实,简单来说,关系型数据库就是一种以行和列的形式存储数据的组织结构,体现在二维的结构化表中,多个表之间可能存在某种关系。1)OracleOracle是美国甲骨文公司(Oracle)提供的一组以分布式数据库为核心的软件产品。oracle数据库的特点是安全、高速、稳定、并发性好。我毫不犹豫地选择了oracle。早些年,世界500强企业几乎100%都是甲骨文用户。但是oracle是收费的,而且并不便宜,这也让很多初创公司或者中小企业完全负担不起这笔费用,而不是使用oracle,而是选择易用、轻量、免费开源MySQL。2)MySQLMySQL是一种开源代码的关系型数据库管理系统,以其速度、可靠性和适用性而深受中小企业的青睐。虽然早期版本不支持事务操作、子查询、外键、存储过程和视图。但是,自2002年发布的4.0beta版本以来,MySQL已经使用innoDB作为默认引擎,大大提高了事务处理能力和数据缓存能力。2005年的5.0版本增加了存储过程、服务器端游标、触发服务器、查询优化、分布式事务等功能。3)MariaDBMariaDB数据库是MySQL的一个分支,由开源社区维护。发展MariaDB的部分原因是甲骨文在收购MySQL后会有关闭MySQL的意图。因此,社区使用分支来规避这种风险。MariaDB完全兼容MySQL,包括API和命令行,是MySQL的完美替代品。在存储引擎方面,MariaDB使用的是xtraDB而不是MySQL的InnoDB。4)SqlserverSqlserver是微软开发和推广的数据库。最初由微软、Sybase和Ashton-tate联合开发,1988年推出第一个OS/2版本。MsSQLserver主要面向中小型企业。其最大的优势在于整合了Ms公司的各种产品和资源,提供了强大的可视化界面、高度集成的管理和开发工具,在商业智能(BI)的快速建设中立下了汗马功劳。2、非关系数据库非关系数据库:非关系数据库的数据结构与关系数据库完全不同。它主要以键值对的形式存储数据。1)MemcachedMemcached是livejournal旗下DangaInteractive的BradFitzpatric开发的一款软件。并发带来的一系列问题。比如数据库的负担、响应的变差、网站显示的延迟等主要影响这些问题,但是有了memcached提供的数据缓存机制,这些问题都不是问题。2)RedisRedis是一个key-value存储系统。与memcached类似,支持相对较多的存储值类型,包括string(字符串)、list(链表)、set(集合)、hash(散列类型)。Redis是一个高性能的键值数据库。Redis的出现很大程度上弥补了memcached等key/value存储的不足,在某些场合可以对关系型数据库起到很好的补充作用。3)MongoDBMongoDB是介于关系型数据库和非关系型数据库之间的产物。它是非关系数据库中功能最强的,与关系数据库最相似。它支持的数据结构非常松散,是一种类似于json的bson格式,所以课程存储是一种比较复杂的数据库类型。Mongo最大的特点就是它支持的查询语言非常强大。它的语法有点类似于面向对象的查询语言。几乎可以实现大部分类似于关系型数据库表单查询的功能,同时还支持数据库的索引。3.数据库的学习方法1)建/删库、建/删表、查看库、查看表2)备份和恢复数据3)存储过程、视图4)导入导出数据5)数据库基本配置:修改密码、添加用户等6)数据库链接工具:如WorkBench、Navicat、phpMyAdmin等7)基本的增删改查语句8)稍微复杂的SQL:多表查询、子查询等。9)至少会常用的数据库:MysqlMSSQLOracleMemcachedRedisMongodb10)数据库安装部署:至少要在服务器或自己的电脑上安装一个数据库接口测试和接口文档生成工具:apipost