文章图片
【数据库|看到这个数据库设计,我终于明白了我和其他软测人的差距】
文章图片
文章图片
文章图片
01
测试人员为什么要懂数据库设计?
- 更精准的掌握业务 , 针对接口测试、Web 测试 , 都是依照项目/产品需求进行用例设计 , 如果掌握数据库设计知识 , 能直接面对开发的数据表 , 更好、更精准的理解业务逻辑;有的项目中 , 测试人员还会参与到数据库设计的评审中
- 更正确的数据库断言 , 面对接口测试、接口自动化测试 , 能针对业务特点 , 快速的构建数据库断言语句
- 数据库测试与验证 , 包括数据有效性的验证 , 设计是否合理(比如是否有插入异常、更新异常、删除异常) , 数据库压力测试 , 数据库同步验证等
- 走向测试开发的基础 , 如果想逐步成长 , 进入测试开发的工作中 , 数据库设计是必须要掌握的基础技能
02
如何进行数据库设计?
要进行数据库设计 , 需要掌握一些基础技能 , 包括:
- 数据库基础知识 , 包括基本常识、常用概念
- 数据库设计步骤 , 掌握如何分析需求 , 完成概念模型、逻辑模型、物理模型
- 范式 , 熟悉常用的规范及要求
- 实战 , 掌握根据需求绘制 E-R 图、物理模型设计 , 并落地到数据库产品
数据(Data):承载各类软件业务中重要的载体都称之为数据 , 数据的类型包括数值、文本、图片、音频、视频等
数据库(DB , Database ):存放上述各类数据的场所或仓库 , 提供持久化 , 不易丢失;并且有合理的组织形式 , 可管理 , 还能共享
数据库管理系统(DBMS , Database Management System):对数据加进行管理 , 提供对数据库的存储管理、安全控制、备份、审计等处理
基本常识二
关系型数据库:传统的数据落地存储模式 , 建立在严格的数据概念基础上 , 数据间有规范化的关系 , 支持 ACID 特性;常见的产品有 MySQL、Oracle、DB2、SQL Server 等
非关系型数据库:随着互联网的快速发展 , 异构数据、大数据的到来 , 高可扩展和高伸缩性的需求增加 , 产生了各种的非关系型数据库;其特点是非关系型、分布式、扩展方便 , 但不能完全满足 ACID 特性;
常见的非关系型数据库有:
- 键值型:Memcached、Redis , 多用于缓存
- 列分组型:Hbase 等 , 多用于日志和一些博客平台
- 文档型:MongoDB 等 , 表结构可动态变化 , 多用于不同结构的日志处理
- 图数据库:Neo4j 等 , 一般做推荐引擎或关系图谱
数据表:也称二维表 , 基础的数据保存单位 , 由列(字段)和行(记录)组成 , 如下图
字段:规范数据表结构的最小单元 , 尽量做到不可再分 , 如下图的浅蓝底部分
- 本周华为小米相继报出的新闻,让我看到中国科技公司未来发展希望
- 微信新功能上线!网友:这个太实用
- 数据库|OPPO悄悄上新机,骁龙8核+5000mAh电池,256G仅售1599元
- 微信终于上线这个新功能!网友:史诗级更新……
- 这个新格式比JPEG强50倍,但它还是干不掉30年前的JPEG
- 新年新气象。|深度 | 创造“世界记录”!江苏这个王牌实验室为何收获多?
- 终于!微信这个新功能上线,60秒长语音不用从头再听了
- 数据库|丁磊致歉“鱼眼观察”作者并回应:已撤回删稿函
- 蓝牙音箱|音质超棒,防水又耐摔,蓝牙音箱就应该是雷登X15这个样子
- 酷比魔方|还是来了!央视正式表态,联想和柳传志不想看到的情况出现了