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-17
  • 关于增加全国妇联为推进大众创业万众创新部际联席会议成员单位的

    国家发展改革委关于增加全国妇联为推进大众 创业万众创新部际联席会议成员单位的通知 发改高技〔2018〕414号 推进大众创业万众创新部际联席会议各成员单位:   为全面贯彻党中央、国务院实施创新驱动发展战略、推进大众创业万众创新的战略部署,加强统筹协调,形成工作合力,经商推进大众创业万众创新部际联席会议全体成员单位同意,现增加全国妇联为推进大众创业万众创新部…

    创业分享 2023-05-19
  • 展示创新成果分享创业经验

    展示创新成果分享创业经验 2018年09月12日 09:59:19 来源:四川日报 记者 袁婧 编辑:蔡晓慧   本报讯(记者袁婧)9月11日上午,2018“千人计划”专家创新创业论坛在成都举行。省委常委、组织部部长王正谱出席论坛并致辞。   王正谱在致辞中表示,一部四川发展史就是一部依靠人才治蜀兴川的奋斗史。从2014年起坚持每年在海科会期间举办“千人计划…

    2023-05-13
  • 口袋校园胡余雷:怎么解决企业开发流程中的管理混乱

    “小作坊”的管理问题 胡余雷是华为云软件开发服务最早一批用户之一。 6) Knowhow管理:能够进行文件、知识的积累管理 5) 提醒功能:能够及时提醒相关作业事项 胡余雷对团队流程进行了规范。 胡余雷,一名技术总监兼售前经理,有10年工作经验,主要从事软件解决方案和互联网行业,2017年入职苏州天宫担任研发负责人。 2) 配置管理:提供代码托管功能 在将问…

    创业分享 2023-05-13
  • 毕业求职,别让“香饽饽”变“冷馒头”(深聚焦·今天,我们该怎

      武汉大学文学院应届硕士毕业生晏丘婷——   晏丘婷,武汉大学文学院2012级硕士应届毕业生。今年10月份开始,一直忙于海撒简历、奔波应聘。不久前,被两个单位认可,一个是北京某互联网金融公司,任内刊编辑,一个是无锡市某公立高中,做一名语文教师。   万欢,从小就是个性格独立要强的孩子,总想着自己能闯出一片天地,与众不同。   与万欢一样,毕业于高水平院校,…

    创业分享 2023-05-18

发表回复

登录后才能评论

联系我们

在线咨询: QQ交谈

邮件:362039258@qq.com

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