许多人在使用数据库,但他们实际上并不了解静态SQL和动态SQL之间的区别。它们的目的是获取查询的输出,无论是静态的还是动态的。在本文中,您将通过详细讨论了解静态与动态SQL查询、SQL语句的处理方式、动态DBMS(数据库管理系统)、静态与动态报告以及应用程序的嵌入式SQL示例。
嵌入式或静态SQL查询是那些在执行或运行时不会更改并且可以硬编码(其中数据或参数不能更改)到不同应用程序中的指令。
考虑一个嵌入式应用程序的示例,其中语句主要嵌入在C++源文件中,其中预处理器将语句转换为对运行时库的调用。它可移植到其他环境,并为每个操作环境提供相同的功能。
嵌入式SQL应用程序由SQL语句组成,这些语句在编译之前被转换为C或C++代码。如图所示,运行时的应用程序使用SAPIQ接口库,该库称为DBLIB,用于与数据库服务器进行通信。DBLIB是一个动态链接库(DLL),可以在所有主要平台上共享。
顾名思义,它是一种允许专业人员构建可在运行时动态更改的SQL语句的技术。动态查询是可以在执行或运行时构造的语句;例如,应用程序可能允许用户在执行时运行他们自己的查询。
什么是动态数据库管理系统?
动态DBMS是一个具有“基于值”的对象关系的数据库,它在检索时指定,并且在检索期间发现相关记录的位置。
下列关于静态和动态报表的说法不准确的是?
打印的销售分析是动态报告的一个例子,是关于静态和动态报告的错误陈述。以下关于报告的陈述属实:
在继续下一步之前,有必要了解结构化查询语言语句是如何处理的。
1.解析语句
例如,用户想要运行以下查询:
DBMS会将查询解析为单个单词,称为标记,以确保语句没有拼写错误和语法错误。这将很快完成,因为在解析语句时无需访问数据库。
2.验证声明
数据库管理系统将检查表(在我们的示例表A和B的情况下)是否存在于数据库(系统目录)中?用户是否有权运行这些语句?DBMS验证列名没有歧义并且存在。

DBMS通过探索不同的方式来优化语句。可以使用索引(主键)来加快搜索速度吗?数据库管理系统应该先对第一个表应用搜索条件,然后将其连接到第二个表,还是应该从连接开始,然后使用条件?在探索了所有可能的条件之后,DBMS会选择一个更合适的。它可能会为同一个查询探索数千种可能的不同方式,因此它是一个CPU密集型过程。
4.访问计划或二进制形式
在此步骤中,将生成SQL语句的访问计划或二进制形式。
5.访问计划的执行
在最后一步,将执行访问计划。
嵌入式SQL和动态SQL之间的基本区别
本文来源:国外服务器--mysql静态表和动态表区别(SQL语言主要包括三类语句)
本文地址:https://www.idcbaba.com/guowai/3386.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



