SQL语言是一种广泛使用的结构化查询语言,它主要用于关系数据库管理系统中。SQL语言的形式语义是指其语义的数学描述,使用精确的数学模型和逻辑来定义SQL语句的含义。这种形式化有助于证明不同SQL语句是否等价,消除自然语言描述中可能存在的模糊性或二义性。
SQL标准定义了SQL的语义规则,但它并不完美地处理了不完全信息问题。在数据库系统中,数据的不完全性通常是指数据库中存在空值的情况,即某些数据尚未给出或者无法确定。为了解决这一问题,文中提出了利用中介逻辑谓词演算系统MFM来构造一个形式的三值谓词演算模型,即EPM模型。MFM系统是一种三值逻辑系统,它不仅包括传统的真、假值,还引入了一个表示未知或不确定的第三值。这使得该系统能够更好地处理包含空值的情况。
在研究中,作者提出了两个主要步骤来形式化SQL查询:
a) 定义一个表达能力不低于SQL的形式模型,由于基于MFM系统,因此称之为扩展三值谓词演算(EPMC);
b) 定义一套语法驱动的从SQL到EPMC的转化规则。
通过这种方法,作者能够将SQL查询转化为EPMC模型,并进一步通过这个模型来完整地定义SQL查询的形式语义。
文章提到了中介逻辑谓词演算系统MFM的一些关键特点,包括其原始联结词:合取(^)、析取(V)、蕴含(一)以及否定(-1)。此外,它还使用了一元联结词来表示未知的命题。这种三值逻辑系统允许我们表示传统二值逻辑系统无法表达的不确定状态。
此外,文章指出,为了形式化SQL查询,有必要为查询定义等价关系,并且要研究MFM系统的范式。这是为了确保转换规则能够准确地映射SQL查询到三值谓词演算模型中,而且这些规则需要足够灵活,以处理所有可能的查询结构。
文章提到,自从SQL语言诞生以来,许多学者已经提出了不同的方法来形式化SQL,其中一位名为M NEGRI的学者在“Formal Semantics of SQL Queries”中提到的方法已经将SQL89标准的查询部分完全形式化。这表明对于SQL形式化语义的研究是一个持续不断发展的领域,并且在数据库理论研究中占据着重要位置。