网站首页 > 精选文章 正文
成年人的世界不讲虚的,要聊就聊金钱和妹纸,是有些俗了哈哈哈......鉴于我也才脱单不久,妹纸帮你们搞不定了,所以就只能聊聊如何赚钱,如何提高收入了。
IT圈做技术,除了上班,业余时间搞副业也可以提高部分收入。不过这个说实话,我目前做公众号也还没赚到什么钱,算是刚起步。所以还没资格跟大家讲这个。
所以就聊聊主业,基本上就一条路了,就是想办法跳槽加薪。前几篇文章也陆续提到一些收入相关的,基本上靠在一家公司涨薪是很难了,最快的途径就是跳槽。
而跳槽究竟能涨多少薪水呢?很多hr在发jd的时候都会给一个薪水区间,然后说视能力而定,而能力又是一个很虚的东西,所以说白了能涨多少薪水就看你面试表现怎么样?
所以,不管聊什么,只要你能在短短的一两个小时内,能忽悠住面试官,让他觉得你很牛,很有实力。那么,你就很大概率可以通过面试,并且要到一个不错的薪水。
所以,我准备出一个文章系列就是【面试必备篇】系列,专门讲每一块技能,包括linux,数据库,接口测试,自动化,性能等面试会考的知识点,而且尽可能的给出答案,供大家面试前参考。
当然了,除此之外,我还整理了很多视频资源,电子书资源给到大家,也包括我B站会录制一些讲解视频。需要的可以留言。
所以希望大家可以充分利用好这些资源,靠自学也可以转行成为一名软件测试工程师,乃至自学成为中高级测试工程师,甚至架构师,当然,我本人目前也是在学习进阶中。
废话就不多说了,今天就先开始聊聊数据库。
如果你是转行的对数据库目前了解不多,可以推荐你先看下我之前写的一篇入门文章
软件测试如何自学数据库?
数据库在面试中属于必考内容,基本上考得最多的就是手写sql,会给你出一个场景题,比如分数啊,班级课程啊之类的,一般是多表查询语句居多。当然这是对一些中小公司来说。
对一些大厂来说,除了最基本的手写sql语句之外,还会要求你对数据库有深刻认识,主要就包括一些概念理论。
关于如何手写sql,我公众号提供的视频资源,也包括大家在B站上随手一搜,到处都是。
所以本文暂时不写怎么写sql,当然后面,我有可能会找几道经典的多表查询面试题案例和大家分析。
本文主要科普一些作为一枚测试,应该知道的一些数据库理论知识,知道这些面试不仅很加分,而且可以加深你对数据库的理解,而不仅仅停留在只会手写几个sql上面。
当然对于数据库理论知识的学习,肯定不需要像开发那么深入,但是一些基本的需要知道并掌握,简单来说,看我接下来的文章搞明白完全够用了。
一.数据库分类
数据库主要分两种,一种是关系型数据库,比如大家熟悉的oracle,mysql等,另一种是非关系性数据库主流的有mongodb和redis等。
目前企业中使用最多的就是oracle和mysql数据库,推荐大家先学这两个。
非关系性数据库大家需要重点知道的就是redis,又叫缓存数据库,这个也是日常工作使用非常多的。
一般大型网站,它的数据并不是存在关系性数据库里的,而是存在缓存里的,缓存是存在内存里的,这样它的访问速度就会特别快。
存在数据库的,是存在硬盘上的,从硬盘上读数据肯定没有从内存读数据快。所以,缓存应用一般是为了提高访问速度。
简单来说,就是比如一个查询,第一次查询完之后可以将返回结果存到缓存中去,同样的查询条件再次查询时就可以直接从缓存中读取。redis就是这样一种缓存数据库。
二.主键,外键
数据库中的主键是在一张表中可以唯一标识一条记录的字段。且在一个表中只能有一个主键而且不能够重复,也不能为空值。
举几个例子:
1.学生表(学号,姓名,班级)
因为每个学生学号唯一,所以学号就是一个主键。
2.课程表(课程id,课程名)
由于课程id是唯一的,所以它就是一个主键。
3.成绩表(学号,程程id,成绩)
在成绩表中任何一个字段都无法标识一条记录,需要学号和课程id组合起来才可以标识,因此它俩组合起来是一个外键。
再来说说外键,外键主要用于建立和另一张表的关联,是确定另一张表记录的字段。外键是另一张表的主键。可以有多个且重复,也可以是空值。
在上面的例子中,学号不是成绩表中的主键但它是学生表中的主键,因此我们就可以称成绩表中的学号是学生表的外键。
三.索引
简单来说,索引就是关系性数据库中,和表相关的一种数据库结构,它就好比是一本书的目录,当你想查找某个内容时,就可以根据目录快速定位到。
对于现在企业的大型数据库来说,基本都有索引,它可以加快对应表的sql执行速度,从而大大提升数据库性能.
从性能测试的角度来说,它可以减少数据库瓶颈,从而提升系统的并发能力,也就是提升TPS。
四.事务
事务是并发控制的基本单位,所谓的事务,就是一系列操作,这些操作要么都执行成功,要么就是执行失败。
以最经典的A账户向B账户转账200元举例:
总共需要两步:A账户减少200元,B账户增加200元。
假想一下假如A账户减少200元后,系统发生故障,B账户却没有增加钱怎么办呢?
这就引入了事务这个概念,这两个操作合起来就是一个事务,是一个整体,要么都执行成功,要么都执行失败,这样就避免出现这种情况。
五.存储过程
简单来说,就是一个大型项目,会多次涉及和数据库的连接,这时会一次次使用sql语句来连接数据库。
如果这个时候使用存储过程只需要连接一次就可以了,从而省去大量的sql语句。
对于很简单的sql,存储过程没什么优势,但是对于复杂系统,复杂逻辑时,存储过程可以大大提升运行速度。
除此之外,存储过程还具备减少网络传输,可维护性高,提升安全性,高扩展性等优点。
以上就是一些数据库常用到的概念,可能开发每天都需要打交道,但是对于测试来说也最好掌握,至少知道什么意思,面试会很加分,而不是仅仅会写一些sql。
最后,关于软件测试学习,offer选择等等,都可以通过后台私信交流。需要学习资料或者帮忙修改简历也可以私信!!也可百度搜索“特斯汀软件测试腾讯课堂”或关注公众号“特斯汀软件测试”,里面涵盖很多精彩免费视频或干货知识
猜你喜欢
- 2025-07-24 数据库设计规范——3. SQL语句(sql数据库程序设计)
- 2025-07-24 数据库事务以及事务的四个特性(数据库中的事务)
- 2025-07-24 一文快速掌握MongoDB(mongodb 入门)
- 2025-07-24 为啥不推荐使用外键?(为什么不能添加外键约束)
- 2025-07-24 阿里云代理商:关系型数据库与NoSQL数据库的区别与选择
- 2025-07-24 多对多关系的数据库设计(数据库中多对多的关系设计)
- 2025-07-24 Java面试题:数据库优化策略有哪些?
- 2025-07-24 【推荐】一款实用且跨平台的数据库管理神器,支持Web浏览器
- 2025-07-24 数据库系统原理:数据插入(数据库插数据语句)
- 2025-07-24 GBASE南大通用示例,使用 INDEX DISABLED 创建外键约束
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)