DBMS 中的数据独立性:物理和逻辑示例

数据库管理系统中的数据独立性是什么?
数据独立性是指数据库管理系统(DBMS)的一项属性,它允许您在数据库系统的某一层级更改数据库模式,而无需更改更高层级的模式。数据独立性有助于将数据与所有使用该数据的程序隔离开来。
您可以利用这些存储的数据进行计算和展示。在许多系统中,数据独立性是系统组件的一项基本功能。
数据独立性类型
In DBMS 数据独立性有两种类型:
- 物理数据独立性。
- 逻辑数据独立性。
这两种类型都基于数据库的分层设计,因此最好先了解这些层次结构。
数据库的层级
在学习数据独立性之前,回顾一下数据库层次结构非常重要。数据库分为三个层次,如下图所示:
- 物理/内部
- 概念
- 外置

这些层与下文详细描述的层相同。 数据库管理系统模式以大学数据库为例。在不同的层级,其实现方式如下:
| 架构类型 | 技术实施 |
|---|---|
| 外部架构 |
观点1: 课程信息(cid:int,cname:string) 观点2: 学生信息(id:int,name:string) |
| 概念图式 |
Students(id: int, name: string, login: string, age: integer) Courses(id: int, cname: string, credits: integer) Enrolled(id: int, grade: string) |
| 物理架构 |
|
物理数据独立性
物理数据独立性有助于将概念层与内部或物理层分离。它允许您提供数据库的逻辑描述,而无需指定物理结构。与逻辑独立性相比,实现物理数据独立性更容易。
有了物理独立性,您可以更改物理存储结构或设备,而不会对概念架构产生任何影响。任何更改都会被映射吸收。ping 在概念层面和内部层面之间。物理数据的独立性是通过数据库内部层面的存在以及从概念层面到内部层面的转换来实现的。
物理数据独立性下的变化示例
由于物理上的独立性,以下所有更改都不会影响概念层:
- 使用新的存储设备,例如硬盘或磁带。
- 修改数据库中的文件组织方式。
- 切换到不同的数据结构。
- 更改访问方式。
- 修改索引。
- 压缩技术的改变或 哈希算法.
- 更改数据库位置,例如从 C 盘更改为 D 盘。
逻辑数据独立性
逻辑数据独立性是指在不改变以下各项的情况下改变概念模式的能力:
- 外部景观。
- 外部API或程序。
任何更改都会被地图吸收。ping 逻辑数据独立性介于外部层面和概念层面之间。与物理数据独立性相比,实现逻辑数据独立性更具挑战性。
逻辑数据独立性下的变化示例
由于逻辑上的独立性,以下所有更改都不会影响外部层:
- 无需重写现有应用程序,即可添加、修改或删除新的属性、实体或关系。
- 将两条记录合并为一条。
- 将现有记录拆分为两个或多个记录。
物理数据独立性和逻辑数据独立性的区别
| 逻辑数据独立性 | 物理数据独立性 |
|---|---|
| 主要涉及数据定义的结构或变更。 | 主要关注数据的存储。 |
| 困难之处在于,数据检索主要取决于逻辑结构。 | 易于检索。 |
| 与身体上的独立相比,这很难实现。 | 与逻辑独立性相比,这很容易实现。 |
| 如果新增或删除字段,则需要在应用程序中进行相应更改。 | 物理层面的改变通常不需要应用程序层面的改变。 |
| 当数据库的逻辑结构发生变化时,逻辑层面的修改就显得尤为重要。 | 为了提高性能,可能需要也可能不需要进行内部层面的修改。 |
| 与概念框架有关。 | 关注内部架构。 |
| 例如:添加、修改或删除新属性。 | 例如:压缩技术、哈希算法、存储设备等方面的变化。 |
数据独立性的重要性
- 帮助您提高数据质量。
- 降低数据库系统维护成本。
- 强制执行标准并提高数据库安全性。
- 您无需更改应用程序中的数据结构。
- 允许开发人员专注于数据库的总体结构,而不是内部实现。
- 大幅降低数据库不一致性。
- 允许您在物理层面上进行修改,以提高系统性能。
