Github搬运(本人的)数据库系统概念与实现(一)
数据库系统 何为数据库系统,根据《耶鲁大学》的《数据库系统概念》我们可以知道,数据库系统是一些互相关联的数据以及一组使得用户可以访问和修改这些数据的程序的集合 数据库系统的主要目的是为用户提供数据的抽象视图,换言之,数据库系统隐藏了关于数据存储和维护的一些细节。 数据抽象 由于许多数据库系统的用户并不会对数据库进行专业化的操作,所以身为数据库系统的开发人员应该通过以下几个层次来为用户屏蔽复杂性,以简化用户和数据库系统的交互操作 物理层 此为数据库最低层次的抽象,描述了数据实际上是怎么存储的,物理层详细描述复杂的底层数据结构 逻辑层 描述了数据库中存储什么数据以及这些数据间存在什么样的关系,因此逻辑词就可以通过少量相对简单的结构描述了整个数据库 虽然在物理层方面会涉及很多复杂的底层数据结构但逻辑词的用户不比知道这样的复杂性,这被称为 物理数据独立性 (physical data independence) 数据库管理员使用抽象的逻辑层必须确定数据库中应该保存哪些信息 视图层 描述了整个数据库的一部分,由于一个大型数据库中所存储的信息的多样性,有些时候,用户并不会关注所有的信息,而只需访问数据库的一部分 视图层抽象的定义正是为了使这样的用户与数据库系统的交互更加简单,数据库系统可以为同一数据库提供多个视图 总结 数据库系统为数据库开发者屏蔽了许多物理层的最底层的存储细节