当前位置: 首页 > news >正文

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释,结合理论与实际操作说明:

一、三级视图核心概念

数据库的三级视图是 ANSI/SPARC 体系结构的核心思想,MySQL 的实现逻辑如下:

层级别称核心内容MySQL 中的体现
用户视图外模式/子模式用户看到的数据逻辑结构用户权限内的表、视图、可操作字段
DBA视图概念模式/逻辑模式全局逻辑结构、表关系、约束information_schemamysql 系统库元数据
内部视图内模式/存储模式物理存储结构、索引、文件组织方式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 TB
    A[用户视图] -->|通过外模式-模式映射| B[DBA视图]
    B -->|通过模式-内模式映射| C[内部视图]
    C -->|存储引擎解析| D[物理文件]


‌关键点‌:

‌用户无需关心物理存储‌,只需通过 SQL 操作逻辑表。
‌DBA 维护映射规则‌,如通过 ALTER TABLE 修改存储引擎而不影响用户视图。
‌存储引擎透明性‌:InnoDB 的 B+树索引、MyISAM 的堆表结构对用户不可见。

相关文章:

  • 2.2 添加注释
  • Uniapp 中布局魔法:display 属性
  • Redis速成(1)VMware虚拟机安装Redis+Session验证登录注册+MybatisPlus
  • 排序03(数据结构初阶)
  • 2.16作业
  • 数据库的常见权限作用
  • 在MAC上面通过HomeBrew安装node和npm@指定版本
  • Chart.js 折线图深入解析与使用指南
  • CentOS安装MariaDB
  • 轻量化网络设计|ShuffleNet:深度学习中的轻量化革命
  • Harbor服务需要crt证书,而下载是nginx的证书pem,应该怎么处理
  • 分享---rpc运维事故处理
  • vue3中测试:单元测试、组件测试、端到端测试
  • oracle日志大量解析报错too many parse errors
  • (python)Arrow库使时间处理变得更简单
  • 本地部署 GitHub 上的 Python 人脸识别项目
  • C++ 快速学习教程
  • Vxe UI 根据vxe-tabs 绑定不同的值,渲染生成不同的 tabls(页签)内容
  • 基于 Python 的智能家居控制系统
  • 源码压缩包泄露
  • 微信优惠券网站怎么做的/百度数据网站
  • 报价网站制作/培训机构
  • 企业网站做推广/上海有实力的seo推广咨询
  • 长治网站建设收费多少/建站平台哪个比较权威
  • 深圳做高端企业网站建设公司/市场运营和市场营销的区别
  • 购物网站建设要多少钱/电商网站建设 网站定制开发