热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

数据库系统的基本概念(第一章)数据抽象的级别

数据抽象过程根据数据抽象的级别定义了四种模型:概念模型:表达用户需求观点的数据全局逻辑结构的模型特点:1表达了数据的整体逻辑结构
数据抽象过程

根据数据抽象的级别定义了四种模型:

概念模型:表达用户需求观点的数据全局逻辑结构的模型

特点:

  1>表达了数据的整体逻辑结构,它是系统用户对整个应用项目涉及的数据的全面描述

  2>从用户需求的观点出发,对数据建模

  3>独立于硬件和软件,即概念模型不依赖于硬件设备和实现时的DBMS软件

  4>是数据库设计人员与用户进行交流的工具     

逻辑模型:表达计算机实现观点的DB全局逻辑结构的模型(主要有层次、网状、关系模型等三种)

特点:

  1>表达了DB的整体逻辑结构,但它是设计人员对整个应用项目数据库的全面描述

  2>是从数据库实现的观点出发,对数据进行建模

  3>独立于硬件,但是依赖于软件

  4>是数据库设计人员与应用程序之间进行交流的工具

层次模型:用树形(层次)结构表示实体类型及实体间联系的数据模型

特点:

  记录之间的联系通过指针来实现,查询效率高

缺点:

  1>只能表示1:N联系,虽然系统有多种辅助手段实现M:N联系但比较复杂

  2>由于层次顺序的严格和复杂,引起数据的查询和更新操作很复杂,因此程序的编写也比较复杂

网状模型:用有向图结构表示实体间联系的数据模型称为网状模型

特点:

  记录之间的联系通过指针实现,M:N联系也容易实现(一个M:N联系可拆成俩个1:N联系),查询效率较高

缺点:

  数据结构复杂,编程复杂

关系模型:用二维表格表达实体集

特点:

  1>关系模型与层次、网状模型的最大区别使用关键码而不是用指针导航的数据

  2>数据结构简单,用户易懂,只需用简单的查询语句就可以对数据库进行操作,而不涉及村存储结构访问技术等细节

三种逻辑模型的比较图:

外部模型:表达用户使用观点的DB局部逻辑结构的模型

 外部模型中的模式称为“视图”(View),视图只是一个定义,视图中的数据可以从逻辑模型的数据库中得到

特点:

  1>外部模型是逻辑模型的一个逻辑子集

  2>外部模型独立于硬件,依赖于软件

  3>外部模型反应了用户使用数据库的观点

 优点:

  1>简化了用户的观点,只针对具体用户应用需要的数据而设计的,与该用户无关的数据就不必放入,只关心并提取数据库中有用的数据

   2>有助于数据库的安全性保护,用户不能看的数据,不放入外部模型,提高了安全性

  3>是对概念模型的支持

内部模型:表达DB物理结构的模型

内部模型又称为物理模型,是数据库最底层的抽象,它描述数据在磁盘或磁带上面的存储方式(文件的结构)、存取设备(外存的空间分配)和存取方法(主索引和辅助索引)

数据抽象的过程也是数据库设计的过程,具体步骤如下:

1>根据用户的要求,设计数据库的概念模型,这是一个“综合”的过程

2>根据转换规则,把概念模型转换成数据库的逻辑模型,这时候一个“转换”的过程

3>根据用户的业务特点,设计不同的外部模型,给程序员使用,也就是应用程序使用的数据库的外部模型,外部模型与逻辑模型之间的对应称为映像

4>数据库实现时,要根据逻辑模型设计其内部模型,内部模型与逻辑模型之间的对应性称为映像

 三层模式和两级映像

三层模式体系结构

用户(或应用程序)到数据库之间,DB的数据结构有三个层次:外部模型、逻辑模型和内部模型

数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言(TCL)

1>外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述

2>逻辑模式是数据库中全部数据的整体逻辑结构的描述

3>内模式是数据库在物理存储方面的描述,定义所有内部记录类型,索引和文件的组织方式,以及数据控制方面的细节

三层模式体系结构具有以下特点:

  1>用户使用DB的数据操纵语言(DML)语句对数据库进行操作,实际上是对外模式的外部记录进行操作

  2>逻辑模式必须不涉及到存储存储结构,访问技术等细节

  3>内模式并不涉及到物理设备的约束

两级映像

由于三层模式的数据结构可能不一致,即记录类型,字段类型的命名和组成可能不一样,需要三层模式之间的映像来说明外部记录,逻辑记录和内部记录之间的对应性

1>外模式/逻辑模式映像存在于外模式和逻辑模式之间,用于定义外模式和逻辑模式之间的对应性

2>逻辑模式/内模式映像存在于逻辑模式和内模式之间,用于定义逻辑模式和内模式之间的对应性

高度的数据独立性

指应用程序和数据库的数据结构之间相互独立,不受影响,数据独立性分为物理数据独立性和逻辑数据独立性两种

物理数据独立性

如果数据库的内模式要修改,即数据库的物理结构有所变化,那么只要对逻辑模式/内模式映像(对应性)作相应的修改,可以是逻辑模式尽可能保持不变

逻辑数据独立性

如果数据库的逻辑模式要修改,如增加记录类型或增加数据项,那么只要对外模式/逻辑模式映像作相应的修改,可使外模式和应用程序尽可能保持不变

转:https://www.cnblogs.com/luxiaojun/p/8297934.html



推荐阅读
  • Python中调用Java代码的方法与实践
    本文探讨了如何在Python环境中集成并调用Java代码,通过具体的步骤和示例展示了这一过程的技术细节。适合对跨语言编程感兴趣的开发者阅读。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • MVC框架下使用DataGrid实现时间筛选与枚举填充
    本文介绍如何在ASP.NET MVC项目中利用DataGrid组件增强搜索功能,具体包括使用jQuery UI的DatePicker插件添加时间筛选条件,并通过枚举数据填充下拉列表。 ... [详细]
  • Spring Boot 初学者指南(第一部分)
    本文介绍了Spring Boot框架的基础知识,包括其设计理念、主要优势以及如何简化传统的J2EE开发流程。 ... [详细]
  • Flask中路由的基础定义与应用
    本文介绍了如何在Flask框架中通过装饰器为视图函数指定访问路径,并详细讲解了带参数路由及指定请求方法的实现方式。 ... [详细]
  • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
  • Cadence SPB 16.5 安装指南与注意事项
    本文提供了详细的 Cadence SPB 16.5 安装步骤,包括环境配置、安装过程中的关键步骤以及常见问题的解决方案。适合初次安装或遇到问题的技术人员参考。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 深入解析Android Activity生命周期
    本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ... [详细]
  • HTML download 属性详解及应用
    本文探讨了 HTML 中 download 属性的应用场景及其在不同浏览器中的实现方式,通过示例代码展示了如何利用 JavaScript 实现文件下载功能。 ... [详细]
  • 解决Win7中BAT文件无法设置管理员权限的问题
    本文介绍了一种通过创建快捷方式并使用其高级属性中的“以管理员身份运行”选项来解决Windows 7系统下BAT文件无法直接设置为管理员权限的方法。 ... [详细]
  • 重新审视Kubernetes的必要性
    近期,我注意到不少人误以为我是Kubernetes的推广者。实际上,我只是分享了一些适合用Kubernetes解决的案例。本文旨在探讨Kubernetes的适用场景,并提供一些替代方案。 ... [详细]
  • 酷家乐 Serverless FaaS 产品实践探索
    本文探讨了酷家乐在 Serverless FaaS 领域的实践与经验,重点介绍了 FaaS 平台的构建、业务收益及未来发展方向。 ... [详细]
  • 探讨并提供解决方案以应对 'view is not in the window hierarchy' 的错误提示。 ... [详细]
  • Navicat Premium中MySQL用户管理:创建新用户及高级设置
    本文作为Navicat Premium用户管理系列的第二部分,主要介绍如何创建新的MySQL用户,包括设置基本账户信息、密码策略、账户限制以及SSL配置等。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有