第二讲-数据库的抽象[通俗易懂]

第二讲-数据库的抽象[通俗易懂]本讲主要针对数据库概念的提出与发展进行讲解。 上次回顾:什么是数据库、数据库系统?数据库管理系统扮演的角色是什么? 重点难点: 1、如何抽象一个数据库系统:三级模式两层映像、两个独立性 2、数据模型、

第二讲-数据库的抽象

本讲主要针对数据库概念的提出与发展进行讲解。

上次回顾:什么是数据库、数据库系统?数据库管理系统扮演的角色是什么?

重点难点:

1、如何抽象一个数据库系统:三级模式两层映像、两个独立性

2、数据模型、关系模式、视图

3、层次/网状

 

数据库的层次化抽象

三级模式:

1、用户层次 / 外部层次(User Level or External Level)

该层次是在DBAP或者客户的视角下的抽象,在这个层次上,用户可以访问部分的数据,例如一个图书借阅系统会有不同的使用者,学籍管理员、图书采买员等。

2、逻辑层次 / 全局层次(Logic level or Global Level)

该层次能够看到数据库全部的数据,在这个层次下可以看到各个数据之间的关系及限制约束

3、物理层次 / 内部层次

在该层次上主要讨论数据的存储路径、存储方式、索引方式

 

数据(视图)与数据的结构——模式

从模式(schema)到视图(view)

模式是视图的抽象或者说模式是视图的结构

模式描述了数据的组织方式,是对数据库中数据所进行的一种结构性的描述

第二讲-数据库的抽象[通俗易懂]

 

 

小结:

第二讲-数据库的抽象[通俗易懂]

 

 

三级层次视图——两层映像

1、EC映像(External Schema-Conceptual Schema Mapping)

将外模式映射为概念模式,从而支持实现数据概念视图向外部视图的转换 —-便于用户观察和使用

2、C-I Mapping:Conceptual Schema-Internal Schema Mapping 

—-将概念模式映射为内模式,从而支持实现数据概念视图向内部视图的转换 —-便于计算机进行存储和处理

逻辑数据独立性 当概念模式变化时,可以不改变外部模式(只需改变E-C Mapping),从而无需 改变应用程序

物理数据独立性 当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping) ,从而不改 变外部模式

数据模型

数据模型-模式-视图

数据模型是模式的抽象

模式是数据的抽象,规定数据库的数据必须按照规定的模式存放,例如关系模型中数据均以表的结构进行存放

常见的数据模型包含树状模型、网状模型、关系模型

后来发展出新的模型包含XML数据库、对象数据库等

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6239.html

(0)
上一篇 2023-04-14
下一篇 2023-04-14

相关推荐

  • Python列表添加元素详解

    Python列表添加元素详解Python是一门高级动态语言,常用于数据处理、Web开发、人工智能等领域。其中列表是Python中的一种常用数据结构,可以动态地添加、删除和修改元素。在这篇文章中,我们将详细介绍Python列表添加元素的方法。

    2024-08-31
    23
  • MySQL通讯协议(3)连接阶段[亲测有效]

    MySQL通讯协议(3)连接阶段[亲测有效][TOC] MySQL通讯协议(3)连接阶段 MySQL 连接生命周期 graph TD A[开始] –> |连接|B(ConnectionState) B –> |认证成功|C(Command…

    2023-02-13
    147
  • redis 实战-redis 事务

    redis 实战-redis 事务redis 实战-redis 事务 1.描述 redis 事务单独的隔离操作:事务中的所有命令都会序列化、按顺序执行。事务在执行过程中,不会被其他客户端发送过来的命令请求所打断。 redis 事务没有

    2023-02-14
    154
  • mysql进阶知识_什么是MySQL

    mysql进阶知识_什么是MySQLMYSQL(进阶篇)——一篇文章带你深入掌握MYSQL 我们在上篇文章中已经学习了MYSQL的基本语法和概念 在这篇文章中我们将讲解底层结构和一些新的语法帮助你更好的运用MYSQL 温馨提醒:该文章大

    2023-05-30
    155
  • 使用conda删除包的方法

    使用conda删除包的方法Python众所周知是一门非常流行的编程语言。它有许多供应商提供的不同发行版,其中的Anaconda是最受欢迎的发行版之一。Anaconda提供了众多内置的包和巨大的包管理系统,使得使用Python变得更加容易。Anaconda提供的conda包管理器可以轻松安装和解除安装各种Python包。在本文中,我们将详细介绍如何使用conda删除包。

    2024-07-18
    41
  • 技术分享 | MySQL:从库出现 system lock 的原因[亲测有效]

    技术分享 | MySQL:从库出现 system lock 的原因[亲测有效]作者:高鹏(网名八怪) 文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。 本文来源:转载自公众号-老叶茶馆 *爱可生开源社区出…

    2023-02-10
    137
  • redis 数据操作_redis数据

    redis 数据操作_redis数据2022-09-21 (2)hash操作: ①设置多个hash值,(hmset): 查看说明: help hmset hmset person name A age 1 ②获得多个hash值,(hmg

    2023-06-07
    153
  • 初识MongoDB(1)「建议收藏」

    初识MongoDB(1)「建议收藏」基本简介 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类型javascript面向对象的查询语言,它是一个买你想几核的,模式自由

    2023-03-26
    767

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注