前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL审核 | PawSQL的审核规则体系

SQL审核 | PawSQL的审核规则体系

作者头像
PawSQL
发布2024-08-20 20:00:39
1170
发布2024-08-20 20:00:39
举报

如上文所述,PawSQL审核引擎的设计目标是使用尽量少的审核规则,覆盖尽可能全的SQL语法和结构,确保尽量高的审核正确率。

PawSQL,公众号:PawSQLPawSQL审核 | SQL审核引擎的设计目标

基于以上的三个目标,PawSQL设计了自己的SQL审核规则体系。

PawSQL的审核规则体系是以SQL对数据库的操作类型分成三大类,即对象设计、对象操作和数据操作。

即使我们通过抽象化、参数化尽量减少审核的规则,PawSQL的整个规则体系也包含了171个审核规则,这些规则对于大多数的数据库都是适用的。

1. 对象设计审核

数据库对象的设计是数据库架构和开发过程中的一个重要环节,它涉及到创建和管理存储、组织和检索数据所需的结构,它描述的是数据库的静态信息。数据库对象设计是确保数据库系统高效、安全、可靠运行的基础。它影响数据完整性、一致性、准确性、可维护性、性能等各个方面。一个精心设计和优化的数据库对象结构对于任何依赖于数据存储和检索的组织来说都是至关重要的。

对象设计的审核的审核对象虽然是SQL语句,但是其实它是对SQL操作的结果进行审核。它们和SQL语句的类型没有一一对应的关系,譬如审查规则`小数建议使用精确浮点数decimal或number`,它既检查CREATE TABLE语句, 也检查ALTER TABLE ADD COLUMN,和 ALTER TABLE MODIFY COLUMN.

PawSQL中对于对象设计的审核规则是按照数据库对象来进行组织的,当前的版本共计25个审核规则:

2. 对象操作审核

数据库对象的操作通常指的是对数据库中的各种对象的增、删、改等行为。这些操作包括但不限于对表、视图、索引、存储过程、触发器等对象的管理。某些针对数据库对象的修改可能会影响现有应用程序的兼容性,需要重新设计索引和查询。在高并发环境下,结构修改可能会暂时影响服务可用性。

PawSQL审核规则体系中对象操作主要是捕获这其中可能对数据库带来负面影响的操作,并提供警示信息。PawSQL审核规则体系中对象操作的规则集共计15个。

3. 数据操作审核

SQL中的数据操作包括DML语句和DQL语句,主要涉及数据的插入(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)等操作。这些数据操作语句的不恰当写法可能会导致SQL在正确性、安全性、可维护性、性能方面的各种问题,PawSQL针对数据操作语句从这四个角度共设计了85个审核规则。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PawSQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档