数据库课里的三级体系结构,挺经典的内容,多人一开始学数据库都卡在这块。其实你可以把它理解成是三层“视图”:一层给用户看(外模式),一层是逻辑层(概念模式),一层是物理层(内模式)。这个课件资源整理得还不错,图清晰,例子也挺接地气的。
从模式/内模式映射说起,就是讲逻辑结构和物理结构之间怎么对得上。比如你写的 SQL 是查一个逻辑表,但数据库底层怎么存、怎么检索,就得靠映射来搞定。资源里这篇《模式/内模式映射》讲得还算细,尤其适合刚入门的朋友。
还有内模式本身,简单说就是你数据实际是怎么存的。用过 MySQL 的你知道,InnoDB 和 MyISAM 存法就不太一样。可以看看这篇《内模式-数据库关系模型解析》,里面有不少结构示意图,理解起来更直观。
如果你对概念模式那层逻辑结构感兴趣,可以顺带看看《概念模式数据库逻辑结构与特征解析》,它讲得比较系统,还顺带聊了 ER 图的设计思路,和你实际建库的时候差不多。
有朋友问我:我写的 SQL 语句是哪个层次的?嗯,其实你写的那些SELECT
、JOIN
基本上都是跟概念模式打交道,具体实现要靠下面两层支撑。感兴趣的你可以看看《SQL 基本概念进阶深入理解数据库三级模式结构》,写得挺通俗。
如果你想结合实际看看 Oracle 怎么三级模式的,可以翻一翻《Oracle 数据库中 SQL 语法详解与三级模式解析》,配合数据库开发工具边看边试,更有感觉。
,这几个资源结合来看还蛮全面的,适合系统入门。建议你先从映射和概念模式看起,理清结构之后,再去研究具体实现。