物理数据的独立性

物理数据独立性基本上用于将概念层与内部/物理层分开。实现物理数据独立性是很容易的。有了这种独立性,用户能够改变物理存储结构或对概念模式有影响的设备。

物理数据独立性下的变化实例 :

  • 它是通过使用新的存储设备,如硬盘或磁带。
  • 修改数据库中的文件组织技术
  • 切换到不同的数据结构。
  • 改变访问方法。
  • 修改索引。
  • 改变压缩技术或散列算法。
  • 改变数据库的位置,比如从C盘到D盘。

逻辑数据独立性:

逻辑数据独立性是用来改变概念方案而不改变以下东西 –

  • 外部视图
  • 外部API或程序

逻辑数据独立性下的变化实例 :

  • 增加/修改/删除一个新的属性、实体或关系是可能的,而不需要重写现有的应用程序。
  • 将两条记录合并为一条
  • 打破现有记录,即把记录分成两个或更多的记录。

为什么逻辑数据独立与物理数据独立相比更难实现?

逻辑数据独立性更难实现,因为应用程序在很大程度上依赖于它们所访问的数据的逻辑格式,因此概念层面的变化可能需要改变整个程序的应用。当涉及到物理数据独立性时,改变数据库的位置或修改文件组织或使用新的存储设备等……将不需要在更高的逻辑水平上进行改变。

物理数据独立和逻辑数据独立之间的区别 :

物理数据的独立性 逻辑数据的独立性
物理数据的独立性主要关注的是数据如何被存储到系统中。 逻辑数据的独立性主要关注的是结构或变化的数据定义。
物理数据的独立性很容易被检索。 逻辑数据的独立性很难检索,因为数据主要依赖于数据的逻辑结构。
与逻辑独立性相比,物理数据的独立性很容易实现物理数据的独立性。 与物理独立性相比,实现逻辑数据独立性并不容易。
物理层面上的任何变化,都不需要在应用层面上进行改变。 在逻辑层面的改变需要在应用层面进行改变。
在内部层面所做的修改可能需要也可能不需要,以提高结构的性能。 只要要改变数据库的逻辑结构,在逻辑层面上所做的修改就很重要。
物理数据的独立性与内部模式有关。 逻辑数据的独立性关注的是概念性的模式。
例子:压缩技术、哈希算法和存储设备等的改变。 例子:添加/修改或删除一个新属性。