Python教程:什么是三级模式和二级映像?

美国国家标准学会(American National Standards Institute,ANSI)所属的标准计划与需求委员会(Standards Planning and Requirements Committee,SPARC)在1971年公布的研究报告中提出了ANSI-SPARC体系结构,即三级模式结构(或称为三层体系结构)。ANSI-SPARC最终没有成为正式标准,但它仍然是理解数据库管理系统的基础。三级模式是指数据库管理系统从三个层次来管理数据,分别是外部层(ExternalLevel)、概念层(Conceptual Level)和内部层(Internal Level)。这三个层次分别对应三种不同类型的模式,分别是外模式(External Schema)、概念模式(Conceptual Schema)和内模式(Internal Schema)。在外模式与概念模式之间,以及概念模式与内模式之间,还存在映像,即二级映像,具体如图所示。

Python教程:什么是三级模式和二级映像?

三级模式和二级映像

在图1-2中,外模式面向应用程序,描述用户的数据视图(View);内模式(又称为物理模式、存储模式)面向物理上的数据库,描述数据在磁盘中如何存储;概念模式(又称为模式、逻辑模式)面向数据库设计人员,描述数据的整体逻辑结构。

由于三级模式比较抽象,为了更好地理解,下面将计算机中常用的Excel电子表格类比成数据库,并假设有一个商城使用电子表格来保存商品信息。

(1)概念模式。概念模式类似于表格的列标题,它描述了商品表中包含哪些信息,如图所示。

Python教程:什么是三级模式和二级映像?

商品信息表格

上图中,表的横向称为行,纵向称为列,第一行就是列标题,用来描述该列的数据表示什么含义。实际上,概念模式在数据库中描述的信息还有很多,如多张表之间的联系、表中每一列的数据类型和长度等,读者在后面的学习中就会接触到这些内容。

(2)内模式。在将Excel表格另存为文件时,可以选择保存的文件路径、保存类型(如XLS、XLSX、CSV等格式)等,这些与存储相关的描述信息相当于内模式。在数据库中,内模式描述数据的物理结构和存储方式,如堆文件、索引文件、散列(Hash)文件等。

(3)外模式。在打开一个电子表格后,默认会显示表格中所有的数据,这个表格称为基本表。在将数据提供给其他用户时,出于权限、安全控制等因素的考虑,只允许用户看到一部分数据,或不同用户看到不同的数据,这样的需求就可以用视图来实现。下图是视图和基本表的关系。

Python教程:什么是三级模式和二级映像?

视图与基本表

在上图中,基本表中的数据是实际存储在数据库中的,而视图中的数据是查询或计算出来的。由此可见,外模式可以为不同用户的需求创建不同的视图,且由于不同用户的需求不同,数据的显示方式也会多种多样。因此,一个数据库中会有多个外模式,而概念模式和内模式则只有一个。

通过前面的分析可知,三级模式是数据的三个抽象级别,每个级别关心的重点不同。为了使三级模式之间产生关联,数据库管理系统在三级模式之间提供了二级映像功能。二级映像是一种规则,它规定了映像双方如何进行转换。通过二级映像,体现了逻辑和物理两个层面的数据独立性。具体解释如下。

(1)逻辑独立性。外模式/概念模式映像体现了逻辑独立性。逻辑独立性是指当修改了概念模式,不影响其上一层的外模式。例如,将图1-4中基本表的“库存”和“销量”拆分到另一张表中,此时概念模式发生了更改,但可以通过改变外模式/概念模式的映像,继续为用户提供原有的视图,如图所示。

Python教程:什么是三级模式和二级映像?

视图与基本表

由此可见,逻辑独立性能够让使用视图的用户感觉不到基本表的改变。其实,逻辑独立性带来的好处还有很多,随着后面的学习,读者会有更深入的体会。

(2)物理独立性。概念模式/内模式映像体现了物理独立性。物理独立性是指修改了内模式,不影响其上层的概念模式和外模式。例如,在Excel中将.xls文件另存为.xlsx文件,虽然更换了文件格式,但是打开文件后显示的表格内容一般不会发生改变。在数据库中,更换更先进的存储结构,或者创建索引以加快查询速度,内模式会发生改变。此时,只需改变概念模式/内模式映像,就不会影响到原有的概念模式。

另外,物理独立性使得用户不必了解数据库内部的存储原理,即可正常使用数据库来保存数据。数据库管理系统会自动将用户的操作转换成物理级数据库的操作。

多学一招:数据库相关的人员

数据库系统涉及一些人员,主要包括数据库管理员(Database Administrator,DBA)、应MySQL数据库原理、设计与应用用程序员(Application Programmer)和最终用户(End User)。关于这些人员的具体解释如下。

(1)数据库管理员。负责管理和维护数据库,参与数据库的设计、测试和部署。数据库管理员需要对数据库系统非常精通,且应具有较高的技术水平和较深的资历。

(2)应用程序员。负责为最终用户设计和编写程序,并进行调试和安装,以便最终用户利用应用程序来对数据库进行存取操作。

(3)最终用户。一般为非计算机专业人员,通过应用程序访问数据库。例如,在12306网站订票的用户、在一些购物网站购买商品的用户,他们可能对数据库完全不了解,在使用浏览器、客户端等应用程序时,间接地访问了数据库。

免责声明:文章内容来自互联网,本站仅作为分享,不对其真实性负责,如有侵权等情况,请与本站联系删除。
转载请注明出处:Python教程:什么是三级模式和二级映像? https://www.dachanpin.com/a/cyfx/11106.html

(0)
上一篇 2023-05-12 02:54:23
下一篇 2023-05-12 02:55:27

相关推荐

  • 徐建国在大学生创业社区调研

      徐建国对大学生创业社区引入人人投、一起创、火星创投等创业投资机构、开展创业活动等工作给予肯定。他指出,大学生创业社区在推动“大众创业、万众创新”实践中,充分发挥平台作用,点燃了大学生创业热情。社区平台和利好政策吸引了一批国内知名院校大学生回乡并入驻社区创业,同时影响和带动了一批外地大学生来我市创业兴业。徐建国强调,要进一步引领大学生创业者以科技创新驱动和…

    创业分享 2023-05-22
    89
  • 大学生包子店老板想给学弟学妹讲讲创业故事

    睡2天大街、啃3天馒头 感动师傅学到了技术 “我没办法,只能向朋友和同学借钱,不少人不愿意借我,他们不是不支持我创业,而是觉得我毫无经验,很难保证创业成功。最终经过我的不断争取,终于凑够了钱。不过,那种伸手向别人借钱的滋味真不好受。”郜坤说,“所谓苦尽甘来,6月12日,第一家店开业第一天生意就非常好,20天后开了第二家店,现在我已经还清了所有的债务,每天能有…

    创业分享 2023-05-29
    56
  • 绝地求生下载更新慢怎么办 绝地求生Steam更新速度慢解决办法

      1、打开Steam客户端   多尝试一下节点的更换,看看速度就知道怎么更新快了。   A5创业项目春季招商 好项目招代理无忧   绝地求生下载更新慢怎么办 绝地求生Steam更新速度慢解决办法,绝地求生正式服更新慢怎么办呢?今天就是绝地求生正式服上线的日子了,很多玩家都翘首以盼准备更新游戏了,但是很多玩家发现自己的steam更新速度很慢,这怎么办呢?很多…

    创业分享 2023-05-19
    105
  • 嘉御基金卫哲:创业者如何成为1%的幸存者

    第二个是数量,我们看过太多的创业团队拿到钱后,选取轻资产的项目越来越多,但我觉得人给组织带来冲击,还真的不是成本,而是管理的混乱和低效。一定要问自己你对团队数量是怎么规划的,有了资金后,缺人就扩充。 我今天分享三个方面的内容,创业人最重要的是找人、找钱、找方向,在这里经常会犯三个错误,让你成为99%的死亡者,作为投资人如何判断创业者找人、找钱、找方向的问题,…

    创业分享 2023-05-20
    58
  • 复合油加盟怎么选,oubang欧邦将是你创业的好伙伴

    毕业工作几年后,想自己创业,于是用攒的钱加上朋友家的赞助的钱开了一家川菜馆。在忙好装修请好大厨之后,燃料成了一个非常重要的问题。之前没接触过燃料,所以自己也是下了一番功夫去了解市场。 做饭店的,对卫生环境的要求是非常严苛的,市面上传统的燃料,燃烧废气太多了,我的店铺又开在市区,对环境污染这块要求更是严格,丝毫不敢马虎。所以我一直在寻找一款环保燃料。如果用传统…

    2023-05-13
    57

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信