相对于文件存储,三级抽象与两级数据独立性是使用DBMS的最大优势之一。
数据库的三级抽象分为:
- 物理抽象:描述数据在磁盘上的存储方式。
- 逻辑抽象:描述数据的类型、长度、结构等。
- 外抽象:描述用户所看到的应该是什么样。
:::info
举个例子,假设存在一个学生选课管理数据库:
这个数据库存储在非排序文件中。这是物理抽象。
学生表包括学生姓名,char类型,长度20,blablabla。这是逻辑抽象。
经过数据库管理员修改,访问数据库的人只能看到学生与对应的选课,不能看到其他隐私信息。这是外抽象。
:::
数据库的两级数据独立性分为:
- 逻辑数据独立性:即使数据库的逻辑结构改变了,通过改变映射,仍然可以提供给用户相同的数据。(类似封装?)
- 物理数据独立性:当数据的物理结构发生变化时,提供给用户的数据不受影响。