SQL审核
信息
SQL审核以SQL开发规范为指导,通过静态代码分析、质量规则检查和优化建议等功能,帮助开发人员发现和修复SQL语句中潜在的质量缺陷、性能瓶颈和安全隐患,从而提高SQL代码的正确性、效率、可读性、可维护性和安全性。
设计目标
PawSQL审核规则体系的设计目标有以下三个:
- 使用尽量少的审核规则
- 覆盖尽量多的SQL结构
- 确保尽量高 的审核正确率
PawSQL的SQL审核规则体系
基于以上的三个目标,PawSQL设计了自己的SQL审核规则体系。PawSQL的审核规则体系是以SQL对数据库的操作类型分成三大类,即对象设计、对象操作和数据操作。它们和SQL语句的类型没有一一对应的关系,譬如对象设计中的审查规则小数建议使用精确浮点数decimal或number
,它即检查CREATE TABLE, 也检查Alter Table Add COLUMN,和 alter table modify column.
信息
即使我们通过抽象化、参数化尽量减少审核的规则,PawSQL的整个规则体系也包含了对象设计、对象操作和数据操作三个大类,共171个审核规则,这些规则对于大多数的数据库都是适用的。
🗃️ 对象设计
7 个项目
📄️ 对象操作
数据库对象的操作通常指的是对数据库中的各种对象的增、删、改等行为。这些操作包括但不限于对表、视图、索引、存储过程、触发器等对象的管理。某些针对数据库对象的修改可能会影响现有应用程序的兼容性,需要重新设计索引和查询。在高并发环境下,结构修改可能会暂时影响服务可用性。
📄️ 数据操作
SQL中的数据操作包括DML语句和DQL语句,主要涉及数据的插入(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)等操作。这些数据操作语句的不恰当写法可能会导致SQL在正确性、安全性、可维护性 、性能方面的各种问题,PawSQL针对数据操作语句从这四个角度共设计了85个审核规则。