物理和逻辑数据独立的区别
物理数据的独立性
物理数据独立性基本上用于将概念层与内部/物理层分开。实现物理数据独立性是很容易的。有了这种独立性,用户能够改变物理存储结构或对概念模式有影响的设备。
物理数据独立性下的变化实例 :
- 它是通过使用新的存储设备,如硬盘或磁带。
- 修改数据库中的文件组织技术
- 切换到不同的数据结构。
- 改变访问方法。
- 修改索引。
- 改变压缩技术或散列算法。
- 改变数据库的位置,比如从C盘到D盘。
逻辑数据独立性:
逻辑数据独立性是用来改变概念方案而不改变以下东西 –
- 外部视图
- 外部API或程序
逻辑数据独立性下的变化实例 :
- 增加/修改/删除一个新的属性、实体或关系是可能的,而不需要重写现有的应用程序。
- 将两条记录合并为一条
- 打破现有记录,即把记录分成两个或更多的记录。
为什么逻辑数据独立与物理数据独立相比更难实现?
逻辑数据独立性更难实现,因为应用程序在很大程度上依赖于它们所访问的数据的逻辑格式,因此概念层面的变化可能需要改变整个程序的应用。当涉及到物理数据独立性时,改变数据库的位置或修改文件组织或使用新的存储设备等……将不需要在更高的逻辑水平上进行改变。
物理数据独立和逻辑数据独立之间的区别 :
物理数据的独立性 | 逻辑数据的独立性 |
---|---|
物理数据的独立性主要关注的是数据如何被存储到系统中。 | 逻辑数据的独立性主要关注的是结构或变化的数据定义。 |
物理数据的独立性很容易被检索。 | 逻辑数据的独立性很难检索,因为数据主要依赖于数据的逻辑结构。 |
与逻辑独立性相比,物理数据的独立性很容易实现物理数据的独立性。 | 与物理独立性相比,实现逻辑数据独立性并不容易。 |
物理层面上的任何变化,都不需要在应用层面上进行改变。 | 在逻辑层面的改变需要在应用层面进行改变。 |
在内部层面所做的修改可能需要也可能不需要,以提高结构的性能。 | 只要要改变数据库的逻辑结构,在逻辑层面上所做的修改就很重要。 |
物理数据的独立性与内部模式有关。 | 逻辑数据的独立性关注的是概念性的模式。 |
例子:压缩技术、哈希算法和存储设备等的改变。 | 例子:添加/修改或删除一个新属性。 |