基于 MySQL 数据库对三级视图(用户视图、DBA视图、内部视图)的详细解释
基于 MySQL 数据库对三级视图(用户视图、DBA视图、内部视图)的详细解释,结合理论与实际操作说明:
一、三级视图核心概念
数据库的三级视图是 ANSI/SPARC 体系结构的核心思想,MySQL 的实现逻辑如下:
| 层级 | 别称 | 核心内容 | MySQL 中的体现 |
|---|---|---|---|
| 用户视图 | 外模式/子模式 | 用户看到的数据逻辑结构 | 用户权限内的表、视图、可操作字段 |
| DBA视图 | 概念模式/逻辑模式 | 全局逻辑结构、表关系、约束 | information_schema、mysql 系统库元数据 |
| 内部视图 | 内模式/存储模式 | 物理存储结构、索引、文件组织方式 | InnoDB/MyISAM 存储引擎的物理文件、缓存机制 |
二、用户视图(外模式)
1. 定义
用户视角下可见的数据集合,权限隔离是核心特性。
2. MySQL 实现
权限控制:通过 GRANT/REVOKE 限制用户对表、字段的访问。
操作示例:
-- 创建用户并限制访问权限
CREATE USER 'user1'@'%' IDENTIFIED BY 'password';
GRANT SELECT ON db1.employee TO 'user1'@'%'; -- 仅允许查询 employee 表-- 用户登录后只能看到授权对象
SHOW DATABASES; -- 仅显示有权限的数据库
SELECT * FROM salary; -- 无权访问时报错:ERROR 1142 (42000)
三、DBA视图(概念模式)
1. 定义
DBA 或开发者看到的全局逻辑结构,包括所有表、字段、约束、用户权限等。
2. MySQL 实现
系统库 information_schema:存储元数据(表、列、索引等)。
操作示例:
-- 查看所有数据库中的表
SELECT table_name, table_type
FROM information_schema.tables
WHERE table_schema = 'db1';-- 查看用户权限
SELECT * FROM mysql.user WHERE user = 'user1'; -- 用户密码、权限字段
四、内部视图(内模式)
1. 定义
数据在磁盘的物理存储形式,由存储引擎(如 InnoDB)实现。
2. MySQL 实现
物理文件结构:
.frm:表结构定义文件(MySQL 8.0 后移除,元数据存于系统表)
.ibd:InnoDB 表的数据和索引文件(独立表空间模式)
操作示例:
-- 查看数据存储路径
SHOW VARIABLES LIKE 'datadir'; -- 输出如 /var/lib/mysql/-- 查看 InnoDB 存储细节
SHOW ENGINE INNODB STATUS; -- 事务、锁、缓冲池状态
五、三级视图关系总结
graph TBA[用户视图] -->|通过外模式-模式映射| B[DBA视图]B -->|通过模式-内模式映射| C[内部视图]C -->|存储引擎解析| D[物理文件]

关键点:
用户无需关心物理存储,只需通过 SQL 操作逻辑表。
DBA 维护映射规则,如通过 ALTER TABLE 修改存储引擎而不影响用户视图。
存储引擎透明性:InnoDB 的 B+树索引、MyISAM 的堆表结构对用户不可见。
相关文章:
基于 MySQL 数据库对三级视图(用户视图、DBA视图、内部视图)的详细解释
基于 MySQL 数据库对三级视图(用户视图、DBA视图、内部视图)的详细解释,结合理论与实际操作说明: 一、三级视图核心概念 数据库的三级视图是 ANSI/SPARC 体系结构的核心思想,MySQL 的实现逻辑如下: …...
[Web 信息收集] Web 信息收集 — 手动收集 IP 信息
关注这个专栏的其他相关笔记:[Web 安全] Web 安全攻防 - 学习手册-CSDN博客 0x01:通过 DNS 服务获取域名对应 IP DNS 即域名系统,用于将域名与 IP 地址相互映射,方便用户访问互联网。对于域名到 IP 的转换过程则可以参考下面这篇…...
跨AWS账户共享SQS队列以实现消息传递
在现代分布式系统中,不同的服务和组件通常需要进行通信和协作。Amazon Simple Queue Service (SQS)提供了一种可靠、可扩展且完全托管的消息队列服务,可以帮助您构建分布式应用程序。本文将介绍如何在一个AWS账户(账户A)中创建SQS队列,并授权另一个AWS账户(账户B)中的用户和角色…...
DeepSeek 202502 开源周合集
DeepSeek 本周的开源项目体现了其在 AI 技术栈中的深厚积累,从硬件协同优化(FlashMLA)、通信库(DeepEP)、核心计算(DeepGEMM)到推理模型(DeepSeek-R1),覆盖了…...
springai系列(二)从0开始搭建和接入azure-openai实现智能问答
文章目录 前言1.从0开始搭建项目2.进入微软openai申请key3.配置application.yaml4.编写controller5.测试源码下载地址总结 前言 之前使用openai的官网的api需要科学上网,但是我们可以使用其他的代理间接实现使用chatgpt的相关模型,解决这个问题。比如:本…...
Apache部署Vue操作手册(SSL部分)
1. Apache配置(windows版本) 1.1 httpd.conf 配置 找到apache配置文件 httpd.conf,将下面两条文件的注释#去掉,如果没搜到就新增这两条配置。一个是开启ssl模块,一个是引用专门的ssl配置文件。 LoadModule ssl_modu…...
人类驾驶的人脑两种判断模式(反射和预判)-->自动驾驶两种AI模式
一种模式是直觉模式,判断是基于条件反射,视觉感知 触发到 直接条件反射(从经历中沉淀形成的神经信息闭环),类似现在自动驾驶技术的传统AI模式。 另一种模式是物理时空图式推理模式,判断是基于预判预测&…...
Docker和K8S中pod、services、container的介绍和关系
在容器化技术中,Docker、Kubernetes(K8S)、Pod、Service 和 Container 是核心概念,理解它们的关系对构建和管理现代应用至关重要。以下是详细的分步解释: 1. 核心概念定义 (1) Container(容器)…...
【uniapp】在UniApp中实现持久化存储:安卓--生成写入数据为jsontxt
在移动应用开发中,数据存储是一个至关重要的环节。对于使用UniApp开发的Android应用来说,缓存(Cache)是一种常见的数据存储方式,它能够提高应用的性能和用户体验。然而,缓存数据在用户清除缓存或清除应用数…...
DeepSeek-R1本地部署保姆级教程
一、DeepSeek-R1本地部署配置要求 (一)轻量级模型 ▌DeepSeek-R1-1.5B 内存容量:≥8GB 显卡需求:支持CPU推理(无需独立GPU) 适用场景:本地环境验证测试/Ollama集成调试 (二&a…...
Python常见面试题的详解25
1. 什么是 MD5 加密,有什么特点 要点 定义:MD5 是一种广泛应用的哈希函数,它能够把任意长度的输入数据经过特定算法处理,转化为长度固定为 128 位的哈希值,通常以 32 位十六进制字符串的形式呈现,主要用于验…...
DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级
在近两年由AI引发的生产力革命的背后,一场关乎数字世界秩序的攻防战正在上演:AI生成的深度伪造视频导致企业品牌声誉损失日均超千万,批量生成的侵权内容使版权纠纷量与日俱增,黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…...
阿里开源正式开园文生视频、图生视频模型-通义万相 WanX2.1
简介 发布时间与背景 通义万相 Wan2.1 模型于 2025年1月 发布,并迅速登顶视频生成领域权威评测 Vbench 的榜首,超越了包括 Sora、HunyuanVideo、Minimax 等国内外知名模型,并于这周开源。它是阿里云在 AI 视频生成领域的最新成果࿰…...
【Python爬虫(73)】用Python爬虫开启交通数据宝藏,畅行出行未来
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取,还涉及数据处理与分析。无论是新手小白还是进阶开发…...
和鲸科技携手四川气象,以 AI 的力量赋能四川气象一体化平台建设
气象领域与农业、能源、交通、环境科学等国计民生关键领域紧密相连,发挥着不可替代的重要作用。人工智能技术的迅猛发展,为气象领域突破困境带来了新的契机。AI 技术能够深度挖掘气象大数据中蕴含的复杂信息,助力人类更精准地把握自然规律&am…...
spring boot 2.7 + seata +微服务 降级失败问题修复
文章引流 一个简单而使用的API管理工具 版本号 spring boot 2.7.17 spring-cloud-dependencies 2021.0.8 spring-cloud-circuitbreaker-resilience4j 2.1.7 spring-cloud-starter-alibaba-seata 2021.1 jdk 1.8原因分析 未配置属性 feign.circuitbreaker.enabledtrue # 未…...
python-leetcode-最长公共子序列
1143. 最长公共子序列 - 力扣(LeetCode) class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:m, n len(text1), len(text2)dp [[0] * (n 1) for _ in range(m 1)]for i in range(1, m 1):for j in range(1, n …...
centos 7 停更后如何升级kernel版本 —— 筑梦
centos 6/7 内核升级(bios/uefi两种引导方式) —— 筑梦之路_centos7 更新efi-CSDN博客 此处主要说明kernel rpm离线包可以从哪里下载,安装升级参考之前的文章 # 历史kernel版本rpm包http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/…...
WPF-3天快速WPF入门并达到企业级水准
嘿,小伙伴们!如果你已经有一定的C#开发基础,但想快速掌握WPF开发,达到企业级水准,那接下来的这个三天快速入门计划绝对适合你!虽然听起来有点挑战,但别担心,只要跟着这个高强度、结构…...
爬虫反爬:CSS位置偏移反爬案例分析与实战案例
文章目录 1. 反爬机制概述2. 反爬原理3. 案例分析4. 破解思路5. 实战样例样例1:使用Python和Selenium破解CSS位置偏移反爬样例2:电商网站商品列表CSS位置偏移反爬破解 6. 总结 1. 反爬机制概述 CSS位置偏移反爬是一种常见的反爬虫技术,通过C…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟
众所周知 摄像头取流推流显示前端延迟大 传统方法是服务器取摄像头的rtsp流 然后客户端连服务器 中转多了,延迟一定不小。 假设相机没有专网 公网 1相机自带推流 直接推送到云服务器 然后客户端拉去 2相机只有rtsp ,边缘服务器拉流推送到云服务器 …...
