📜  DBMS 中的阻抗失配

📅  最后修改于: 2021-09-09 16:17:02             🧑  作者: Mango

阻抗失配这个术语用来指代由于数据库模型和编程语言模型之间的差异而出现的问题。实用的关系模型有 3 个组件,它们是:

  1. 属性及其数据类型
  2. 元组

问题:
由于阻抗不匹配,可能会出现以下问题:

  1. 可能出现的第一个问题是数据类型不匹配意味着编程语言属性数据类型可能与数据模型中的属性数据类型不同。因此,非常有必要为每种宿主编程语言进行绑定,为每种属性类型指定兼容的编程语言类型。必须有不同的数据类型,例如,我们在不同的编程语言中有不同的数据类型,例如 C 中的数据类型不同于Java ,都不同于 SQL 数据类型。
  2. 可能出现的第二个问题是因为大多数查询的结果是元组的集合或多组,每个元组由一系列属性值组成。在程序中,需要访问各个元组中的各个数据值以进行打印或处理。因此,需要绑定以将作为表的查询结果数据结构映射到编程语言中的适当数据结构。需要一种机制来循环查询结果中的元组,以便一次访问单个元组并从元组中提取单个值。
    提取的值通常被复制到适当的程序变量中以供程序进一步处理。

    游标或迭代器是一个变量,用于循环查询结果中的元组。每个元组中的各个值被提取到适当数据类型的不同或唯一程序变量中。

当设计一种特殊的数据库编程语言使用与数据库模型(例如 Oracle 的 PL/SQL)相同的数据模型和数据类型时,阻抗不匹配就不是什么问题。

示例 – UGC NET CS 2016 Aug – III |问题 7