数据抽象


用于数据抽象的图像

对于要使用的系统,它必须有效地检索数据。效率的需求使LED设计人员使用复杂的数据结构来表示数据库中的数据。由于许多数据库系统用户不是计算机训练,开发人员通过多个级别的抽象隐藏用户的复杂性,以简化用户’与系统的互动:


  • 物理水平:最低级别的抽象描述了如何实际存储数据。物理级别详细描述了复杂的低级数据结构。
  • 逻辑级别:下一个更高级别的抽象描述了数据库中存储的数据,以及这些数据之间存在的关系。因此,逻辑水平在少量相对简单的结构方面描述了整个数据库。虽然在逻辑级别的简单结构的实现可以涉及复杂的物理级结构,但是逻辑级别的用户不需要意识到这种复杂性。数据库管理员,谁必须决定保留在数据库中的哪些信息,使用逻辑抽象级别。
  • 查看级别:最高级别的抽象仅描述了整个数据库的一部分。尽管逻辑级别使用更简单的结构,但由于存储在大型数据库中的信息各种信息,复杂性仍然存在。数据库系统的许多用户不需要所有这些信息;相反,他们只需要访问数据库的一部分。存在视图抽象级别以简化与系统的交互。系统可以为同一数据库提供许多视图。

下图显示了三级抽象之间的关系。

用于数据抽象的图像


对编程语言中数据类型的概念进行类比可以阐明抽象级别的区别。大多数高级编程语言支持记录类型的概念。例如,以一种类似于帕斯卡语的语言,我们可能会声明如下记录:

类型客户=记录
   客户ID:字符串;
   客户名称:字符串;
   客户 - 街:弦;
   客户城:字符串;
结尾;

此代码定义了一个名为4个字段的新记录类型。每个字段都有一个名称和与之关联的类型。银行企业可能有几种这样的记录类型,包括 
帐户,具有字段帐号和余额
员工,员工员工姓名和薪水

在物理级别,客户,帐户或员工记录可以被描述为连续的存储位置块(例如,单词或字节)。语言编译器隐藏了程序员的这种细节。同样,数据库系统隐藏了来自数据库程序员的许多最低级别的存储细节。另一方面,数据库管理员可能知道数据的物理组织的某些细节。 
在逻辑级别,每个这样的记录由类型定义描述,如在先前的代码段中,并且也定义了这些记录类型的相互关系。程序员使用编程语言在此抽象级别工作。同样,数据库管理员通常在此抽象级别工作。

最后,在视图级别,计算机用户看到一组隐藏数据类型详细信息的应用程序。类似地,在视图级别,定义了几个数据库的视图,数据库用户看到这些视图。除了隐藏数据库的逻辑级别的细节外,视图还提供了一种安全机制,以防止用户访问数据库的某些部分。例如,银行中的柜员只看到具有关于客户账户信息的数据库的那部分;他们无法访问有关员工薪水的信息。



没意见

供电 博主.