数据库系统结构
三级模式结构及两层映像
重要程度:9 分
<div>
<h2>三级模式结构</h2>
<p>三级模式结构是指数据库系统的整体架构,主要包括以下三个层次:</p>
<ul>
<li><strong>外模式 (External Schema)</strong>:也称为用户模式或子模式,是用户能够看到和使用的局部数据的逻辑结构和特征描述。</li>
<li><strong>概念模式 (Conceptual Schema)</strong>:也称为逻辑模式或全局模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。</li>
<li><strong>内模式 (Internal Schema)</strong>:也称为物理模式或存储模式,是数据在数据库内部的表示方式,如数据的存储结构和存取方法等。</li>
</ul>
<h3>举例说明</h3>
<p>假设有一个图书馆管理系统,有三种不同角色的用户:读者、图书管理员和系统管理员。</p>
<ul>
<li>读者关心的是书名、作者、出版社和借阅状态。</li>
<li>图书管理员关心的是书名、作者、出版社、库存数量和位置。</li>
<li>系统管理员关心的是完整的数据库结构,包括表、索引、存储过程等。</li>
</ul>
<p>外模式就是读者、图书管理员和系统管理员各自看到的数据视图。</p>
<p>概念模式则是整个图书馆管理系统的数据逻辑结构,包括所有的表和它们之间的关系。</p>
<p>内模式则是数据在磁盘上的实际存储方式,如B树索引、哈希索引等。</p>
</div>
<div>
<h2>两层映像</h2>
<p>为了保证数据的独立性,数据库系统提供了两层映像:</p>
<ul>
<li><strong>外模式/概念模式映像</strong>:定义了外模式与概念模式之间的对应关系,确保了数据的逻辑独立性。</li>
<li><strong>概念模式/内模式映像</strong>:定义了概念模式与内模式之间的对应关系,确保了数据的物理独立性。</li>
</ul>
<h3>例题说明</h3>
<p>假设一个图书馆管理系统中有一张图书表,其外模式定义如下:</p>
<pre>
外模式:
书名 (VARCHAR)
作者 (VARCHAR)
出版社 (VARCHAR)
借阅状态 (BOOLEAN)
</pre>
<p>概念模式定义如下:</p>
<pre>
概念模式:
图书表 (
书名 VARCHAR,
作者 VARCHAR,
出版社 VARCHAR,
库存数量 INT,
位置 VARCHAR,
借阅状态 BOOLEAN
)
</pre>
<p>内模式定义如下:</p>
<pre>
内模式:
图书表 (
书名 VARCHAR (100),
作者 VARCHAR (50),
出版社 VARCHAR (50),
库存数量 INT,
位置 VARCHAR (50),
借阅状态 BOOLEAN,
PRIMARY KEY (书名)
)
</pre>
<p>在这个例子中:</p>
<ul>
<li>外模式/概念模式映像定义了外模式与概念模式之间的对应关系。</li>
<li>概念模式/内模式映像定义了概念模式与内模式之间的对应关系。</li>
</ul>
<p>通过这两层映像,可以确保当数据库的存储结构发生变化时,不会影响到用户的应用程序。</p>
</div>