关于MySQL表设计,测试人员可以关注哪些点

news/2024/11/8 20:15:55/文章来源:https://www.cnblogs.com/ailiailan/p/18535863

测试人员关注数据库表设计是“测试左移”的一种手段,可以把有关数据库的潜在bug消灭在系统测试之前,从而提高交付效率。

以MySQL为例,QA可从以下方面对数据库表设计做测试的左移:

1、数据表功能

表结构

  • 确保每张表都有主键,且主键值唯一且非空,以保证表中每行数据的唯一性和可识别性
  • 检查外键约束是否有效,即外键值必须是对应主键表中存在的值,避免出现孤立数据或无效关联
  • 表之间存在关联的,验证表与表之间的关联关系是否正确建立(如主键和外键的设置是否准确,关联字段的数据类型和长度是否一致)
  • 评估数据表结构对业务变化的适应性(是否能够灵活地进行调整和扩展,以满足不断变化的业务需求)

表字段

  • 字段的数据类型是否符合业务要求(比如数据量大的字段类型设计成int,使用unsignedint或bigint)
  • 字段的长度设计是否合理(是否有合理的buffer,兼容后续新业务)
  • 不同表,相同含义的字段命名是否统一(多分参与开发时,歧义少,也就降低了bug出现的可能性)
  • 不同表,相同含义字段的类型、长度是否一致(不一致时,可能会出现表A正常落库,表B因不能正常落库而发生bug)
  • 敏感字断是否经过加密处理(如银行卡号,身份正号,手机号等)
  • 约束条件是否符合业务要求(接口设计字段可以空,但表设计字段NOT NULL,提交的时候显然会报错)
  • 冗余字段是否贴合实际业务要求(很多时候,RD为了提高扩展性,设计很多无效的字断,会拉低CURD性能)
  • 字段有默认值的,检查默认值是否符合业务要求
  • 日期字断需要特别关注,是否业务上对日期格式的要求

2、数据表性能

  • 对于查询操作会操作的表,是否有设计索引(经常用于查询条件、连接条件或排序的字段,需创建索引)
  • 索引的创建是否合理,是否能有效提高查询性能(设计索引的字段应为查询条件的过滤字段)
  • 索引是否过度创建(合理的索引可以提高查询性能,但过多的索引会拉低增删改的性能)
  • 视图是否合理创建(如果新增表参与联表查询,考虑是否可以使用视图来提高查询速度)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/829003.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql ubuntu 卸载

mysql 卸载 :引用https://developer.aliyun.com/article/1306777 在 Ubuntu 系统中,MySQL 是一种常用的关系型数据库服务器。有时,我们可能需要完全卸载 MySQL 服务器,包括所有配置文件和数据,以便重新安装或切换到其他数据库服务器。本文将详细介绍在 Ubuntu 中如何完全卸…

MySQLMonitor: 黑盒测试Mysql实时监控辅助工具

MySQLMonitor MySQL实时监控工具(代码审计、黑盒测试辅助工具)使用 1.自行打包使用 git clone https://github.com/fupinglee/MySQLMonitorcd MySQLMonitormvn clean package -DskipTests=true打开target下的jar文件即可执行 2.直接下载使用 https://github.com/fupinglee/My…

初始mysql以及创建

mysql是一个客户端服务器结构的程序 mysql的服务器是真正的本体,负责保存和管理数据,数据都是保存在硬盘上 数据库服务器上可以把很多有业务上联系的表放在一起,构成一个逻辑上的数据集合登陆mysql 打开终端输入mysql -u root -p,然后显示这个就说明mysql客户端连接到了服务…

【论文阅读笔记】Transformer——《Attention Is All You Need》

论文地址:https://arxiv.org/pdf/1706.03762 代码地址:https://github.com/huggingface/transformers目录IntroductionBackgroundModel ArchitectureEncoderLN and BNDecoderAttentionMulti-head AttentionFeed-ForwardPostion Encoding IntroductionRNN,LSTM 处理时序信息的…

Trivy : 容器安全利器

在当今数字化时代,容器化技术已经成为软件开发和部署的重要组成部分。然而,随着容器数量的增加,安全问题也日益突出。为了确保容器环境的安全,我们需要一款强大的工具来检测容器中的漏洞。今天,我将为大家介绍一款优秀的容器漏洞扫描工具:Trivy Container Scanner。本文将…

Hive3.1.2搭建文档包含详细步骤及相关截图以及常见问题解决

hive-3.1.2分布式搭建文档 1、下载,上传,解压,配置环境变量# 1、解压(解压到上级目录) tar -zxvf apache-hive-3.1.2-bin.tar.gz -C..# 2、重名名 mv apache-hive-3.1.2-bin hive-3.1.2# 3、配置环境变量 vim /etc/profile# 4、在最后增加配置 export HIVE_HOME=/usr/loca…

dbeaver连接MySQL出现了 Public Key Retrieval is not allowed 错误

问题现象出现这个错误的原因 错误提示“Public Key Retrieval is not allowed”通常出现在尝试使用SSL(Secure Sockets Layer)连接到MySQL数据库时。这可能是由于以下原因之一导致的:MySQL服务器配置:MySQL服务器可能没有正确配置以允许公钥检索。 检查MySQL服务器的my.cnf…

进销存系统是什么?企业如何用好进销存系统?

很多老板都知道,面对激烈的竞争环境,进销存管理已经成为企业运营中不可或缺的一部分。无论是商品的采购、销售,还是库存管理,进销存系统的有效运作都直接影响着企业的资金流动、客户满意度以及市场竞争力。因此,如何高效地应用进销存管理系统,不仅关乎日常运营的顺畅,更…

【linux内核】 BCC Tools命令汇总

什么是BCC Tools 直接通过BPF指令编写BPF 程序是非常繁琐的事情,尤其对于运维人员来说,花70%的时间来编写一个BPF程序来实现一个检查点,不如花70%的时间来熟悉别人已经写好的BPF程序,并且把别人的BPF程序有效的串联起来形成自己分析问题的套路,等有了闲暇时间再去尝试突破…

20222311 2024-2025-1 《网络与系统攻防技术》实验四实验报告

1. 实验内容 1.1恶意代码文件类型标识、脱壳与字符串提取 对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下: (1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具; (2)使用…

进销存系统怎么实施?进销存的实施流程解析

很多老板都知道,企业的日常运营中,进销存管理是至关重要的核心环节之一。它涉及到企业的采购、库存、销售等多个方面,直接影响企业的资金流动、库存控制及客户满意度。因此,如何有效实施进销存管理系统,已成为许多企业提升运营效率、降低成本、优化资源配置的重要任务。 随…