数据库期末复习(一)
数据库期末复习一基本概念DBMSDBMS数据库管理系统是用户/应用程序与数据库之间的接口。应用程序通过DBMS访问数据用户也通过DBMS操作数据。DDL和DMLDDL数据定义语言用于定义数据库的三级模式结构外模式、概念模式、内模式以及各种约束如CREATE、ALTER、DROP。DML数据操作语言用于对数据库中的数据进行操作增、删、改、查如SELECT、INSERT、UPDATE、DELETE。三级模式结构这三个概念是数据库三级模式结构的核心也是数据库管理系统DBMS实现数据独立性的关键。它们分别从**“用户怎么看”、“全局逻辑怎么组织”和“物理磁盘怎么存”**三个层次来描述数据。以图书馆比较1. 外模式External Schema—— “用户视角”定义又称子模式或用户模式是某个特定用户或应用程序所能看到的数据视图。核心特点一个数据库可以有多个外模式。它只为特定用户展示他们感兴趣或有权访问的部分数据并隐藏了其他无关数据。实现语言由**DDL数据定义语言**中的视图定义部分来定义。图书馆类比你是前来借书的普通读者。你看到的不是整个仓库而是图书馆的前台检索系统和阅览室。你只能看到书名、作者和是否在架对应你权限内的数据看不到图书的采购成本或供应商信息隐藏敏感字段。实际例子学生查询成绩只能看到分数不能看到教务老师的修改日志或者电商APP的“订单页面”只展示用户自己的订单详情而不涉及全量数据库。2. 概念模式Conceptual Schema—— “全局管理者视角”定义又称逻辑模式是数据库中全体数据的整体逻辑结构和特征的描述。核心特点它不涉及数据在磁盘上的具体存储方式只关注“这个数据库里有哪些实体、它们有哪些属性、实体之间是什么关系”比如学生选课一个学生对应多门课一门课对应多个学生。一个数据库只有唯一一个概念模式。实现语言由DDL来定义CREATE TABLE, ALTER TABLE等。图书馆类比这是馆长或总管理员眼中的全局图景。馆长清楚图书馆所有藏书不管在哪个书库、所有读者信息、所有借阅记录以及“读者-图书”之间的借阅规则但不关心每本书具体摆在哪一排货架的哪个螺丝钉位置。实际例子数据库设计阶段的ER图实体关系图转化而来的关系模型定义了Student表、Course表和SC选课表及其主外键约束。3. 内模式Internal Schema—— “存储工程师视角”定义又称存储模式是数据在数据库内部物理结构上的存储方式。核心特点它描述了数据在磁盘、磁带等存储介质上是如何存放的包括记录如何存储定长/变长、索引如何建立B树/Hash、数据是否压缩、存储位置等。一个数据库也只有唯一一个内模式。实现语言由DDL中的物理存储参数来定义不同数据库语法不同。图书馆类比这是仓库搬货员或系统架构师眼中的景象。他不关心书名是什么只关心这堆数据书装在哪个编号的箱子数据块、放在货架第几层第几格磁盘扇区/磁道、有没有贴条形码便于快速查找索引。实际例子Oracle的表空间设置、MySQL InnoDB存储引擎的页大小16KB设置、索引文件的实际排序方式。它们之间的关系关键这三个模式之间通过映射进行转换外模式/概念模式映射当用户查询一个视图时DBMS会把这个视图查询转换成对底层基础表概念模式的查询。这使得当概念模式改变例如表结构微调时只要视图不变用户的应用程序就不需要修改这叫逻辑数据独立性。概念模式/内模式映射当物理存储结构改变例如换了更快的磁盘存储结构、重建了索引只要概念模式的逻辑结构不变应用程序就无需重写这叫物理数据独立性。简单记忆口诀外模式用户看到什么视图。概念模式数据库里有什么表结构。内模式磁盘上怎么存存储文件。两级映射完整的“三级模式结构” 三级模式 两级映射Image也就是说这三者本身是结构的“骨架”但如果没有两级映射把它们串联起来数据库的数据独立性就无法实现。教材和考题中通常将“三级模式结构”统称为“三级模式两级映射”。具体补充如下1. 两级映射指的是什么外模式/概念模式映射定义了外模式与概念模式之间的对应关系。当概念模式表结构发生微小变化如增加字段时只要映射不变或调整用户的外模式视图就可以不变应用程序无需修改。这实现了逻辑数据独立性。概念模式/内模式映射定义了概念模式与内模式之间的对应关系。当内模式存储结构、索引、压缩方式改变时只要映射不变概念模式就不变应用程序也不需要重写。这实现了物理数据独立性。2. 常见的迷惑选项如果做题时遇到类似“三级模式结构只包含外模式、概念模式、内模式”的说法它本身是正确的因为说的是“三种模式”本身。但如果遇到“数据库三级模式结构就是这三种模式不包括其他内容”这种更强调“内容完整性”的选项你就要警惕了——因为严格来讲完整的体系结构包含映射。如果在多选题中提到“映射”也是该结构的组成部分一定要把它选上。简单总结记忆三级模式三样东西外模式、概念模式、内模式。两级映射两座桥梁外/概念映射、概念/内映射。合起来才构成DBMS实现数据独立性的完整架构。数据库结构概览物理磁盘内模式层 - 唯一映射2概念模式层 - 唯一映射1外模式层 - 多个用户与应用程序层普通学生应用教务管理员应用数据分析师应用外模式1学生成绩视图外模式2课程管理视图外模式3统计报表视图外模式/概念模式映射【逻辑数据独立性】全局逻辑结构学生表 / 课程表 / 选课表 / 教师表概念模式/内模式映射【物理数据独立性】物理存储结构数据文件 / B树索引 / 压缩方式 / 分区数据库物理文件看图的关键点解读配合上图更清晰从上往下看用户的操作请求从“外模式”进入最终流向物理磁盘。注意箭头位置两个映射虚线框夹在三种模式之间起到承上启下的桥梁作用。唯一 vs 多个外模式对应用户的多样需求可以有多个如图中的1、2、3。概念模式和内模式全局统一只有一个。

相关新闻

DeFi 项目方漏洞响应流程设计与实战检查清单

DeFi 项目方漏洞响应流程设计与实战检查清单

Web3安全实践:从发现到止损:DeFi 项目方漏洞响应流程设计与实战检查清单 本文适合整理成 CSDN 教程型笔记,重点是流程和排查方法。 背景摘要 在去中心化金融(DeFi)领域,智能合约漏洞的发现往往意味着与时…

2026/7/9 2:19:45阅读更多 →
MillionTools 环境音混音器

MillionTools 环境音混音器

以前我接触这类工具,主要是为了缓解失眠。现在自己也做了一个类似的环境音混音器,分享给大家。 失眠一般可以分为内在因素和外部因素。 内在因素往往是思绪太活跃:闭上眼以后还在想各种事情,导致迟迟睡不踏实。这时候就可以用到…

2026/7/9 2:19:45阅读更多 →
Hackerone-地址栏xss

Hackerone-地址栏xss

注入点&#xff1a;结算页面中的地址字段 存储位置&#xff1a;用户提交的地址数据被存储在数据库中&#xff0c;并在后续页面&#xff08;如订单详情、后台管理界面&#xff09;中未经处理地渲染输出 xss payload (a"><svg/onloadprompt(1)> ) https://hacke…

2026/7/9 2:19:45阅读更多 →
Python 四大内置函数全景对比

Python 四大内置函数全景对比

一、核心速查表 函数返回类型本质含义是否有值主要用途常见坑点vars(obj)dictobj.__dict__✅ 有值查看/修改对象的实例属性仅限有 __dict__ 的对象dir(obj)list[str]对象的所有属性名❌ 无值探索对象“有什么”不包含值&#xff0c;顺序无意义locals()dict当前局部作用域变量表…

2026/7/9 3:29:49阅读更多 →
架构师转型 AI 解决方案架构师:从搭系统到设计“智能系统“

架构师转型 AI 解决方案架构师:从搭系统到设计“智能系统“

方案汇报会上&#xff0c;我自信满满地展示了一套智能客服系统的架构设计。 API 网关 → 业务服务 → 数据库 → 缓存。负载均衡、限流、熔断、监控&#xff0c;该有的都有。&#x1f3d7;️ CTO 看了一眼&#xff0c;点了点头&#xff0c;然后问了几个问题&#xff1a; “大模…

2026/7/9 3:29:49阅读更多 →
Java 转大模型开发:从问题定位到方案落地,普通人也能照着做

Java 转大模型开发:从问题定位到方案落地,普通人也能照着做

聊《Java 转大模型开发&#xff1a;从问题定位到方案落地&#xff0c;普通人也能照着做》之前&#xff0c;先说一句实在的&#xff1a;别急着背概念&#xff0c;先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚&#xff1a;看完之后&#xff0c;你应该能判断…

2026/7/9 3:29:49阅读更多 →
第一次了解锡纸碗,需要先分清哪些产品边界?

第一次了解锡纸碗,需要先分清哪些产品边界?

把样品真正装进食品以后&#xff0c;碗口过高、底部形态不合适或摆放过满&#xff0c;可能影响热风通过这个问题会很快出现。理解锡纸碗时&#xff0c;可以从产品形态、食品场景、使用边界和样品确认四个方面拆开看。1、先把概念落到具体包装形态锡纸碗不能只理解成一个泛泛的包…

2026/7/9 3:29:49阅读更多 →
刚刚公布!选对安全带拉力试验机,这些公司绝不能错过

刚刚公布!选对安全带拉力试验机,这些公司绝不能错过

在汽车、航空、高空作业等关乎生命安全的工业领域&#xff0c;安全带作为最重要的被动安全装置之一&#xff0c;其产品质量直接关系到使用者的生命安全。而确保安全带质量的关键环节&#xff0c;便是对其核心受力部件——织带、连接件、调节器等——进行精确、可靠的力学性能测…

2026/7/9 3:29:49阅读更多 →
基于STM32单片机温度检测系统 温度报警 大棚恒温 蓝牙WIFI32(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

基于STM32单片机温度检测系统 温度报警 大棚恒温 蓝牙WIFI32(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

基于STM32单片机温度检测系统 温度报警 大棚恒温 蓝牙WIFI32(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_ 温度上限报警下限报警 版本八 数码管显示&#xff1a;数码管显示当前信息DS18B20进行温度采集第一个按键&#xff1a;设置 第二个&am…

2026/7/9 3:24:49阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述&#xff1a;从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目&#xff0c;叫 skills4/skills &#xff0c;它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景&#xff1a;一个旨在展示或教授某种技能的仓库&#xff0c;本身却成了安…

2026/7/8 5:12:14阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示&#xff1a;因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战&#xff1a;从“黑箱预测”到“可信推理”2026年6月&#xff0c;第7届机器学习与趋势国际会议&#xff08;MLT 2026&#xff09;将在悉尼召开。会议议程中&#xff0c;“因果与可解释机器学习…

2026/7/8 7:00:12阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时&#xff0c;通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中&#xff0c;是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集&#xff1a; 三维可视化功能案例&#xff08;threehub.cn&#xff09;开源仓库github地址&#xff1a; https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理&#xff1a;开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0&#xff1a;ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中&#xff0c;表结构变更&#xff08;DDL操作&#xff09;是不可避免的需求。GBase 8a作为国产分析型数据库代表&#xff0c;与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/8 6:59:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/8 13:42:39阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/8 13:42:39阅读更多 →