频道栏目
读书频道 > 数据库 > SQL Server > SQL SERVER 2012数据库设计与开发实务
1.3.1 三层数据库架构
2013-08-06 13:40:28     我来说两句
收藏   我要投稿
本书从数据库系统设计与开发者角度出发,详细深入地介绍了SQL Server数据库程序设计与开发的方法和技巧,内容包括数据库系统相关理论、数据库设计理论、T-SQL语言的语法、预存程序、过程对象、自定义函数、触发...  立即去当当网订购

ANSI/SPARC三层数据库系统架构的每一层,都分割成数据和架构,换句话说,完整数据库架构也分为三层,如图1-13所示。
 

1-13 完整数据库架构

图1-13是三层数据库架构,其每一层架构的简单说明,如下所示。

外部架构(External Schema):描述用户的数据。

概念架构(Conceptual Schema):描述数据本身的意义。
 

内部架构(Internal Schema):描述实际存储的数据。

1. 外部架构

外部架构(External Schema)源于概念架构,主要用来描述外部层显示的数据,每一个外部层架构只描述数据库的部分数据,可以隐藏其他部分的数据。换句话说,每一个外部层用户观点的数据都需要一个外部架构,一个数据库可能拥有多个外部架构,如图1-14所示。
 

1-14 外部架构

图1-14是源自本节【学生】概念架构的两个外部架构,左边定义学生年龄资料,右边定义邮寄标签的数据。

数据库管理系统是使用“子架构数据定义语言”(Sub Schema Data Definition Language,SDDL)来定义外部架构。以SQL语言来说,就是创建视图(Views),在SQL Server中称为视图表。

2. 概念架构

概念架构(Conceptual Schema)是描述概念层的完整数据库,即“概念数据库设计”(Conceptual Database Design)的结果。概念数据库设计主要是分析用户信息,以便定义所需的数据项,它并不涉及到使用哪一套现有的数据库管理系统。

概念架构描述完整数据库的数据和其关系性,所以数据库只能拥有一个概念架构,如图1-15所示。
 

1-15 概念架构

图1-15是学生数据库的概念架构。数据库管理系统是使用数据定义语言(Data Definition Language,DDL)来定义概念架构。在概念架构中通常会包含以下内容。

约束(Constraints):确保数据库中数据的正确性。

完整性(Integrity)信息:可以防止不正确的数据写入数据库。

3. 内部架构

内部架构(Internal Schema)是描述内部层实际存储观点的数据,用来定义数据存储结构和哪些数据需要创建索引。如同概念架构,数据库只能拥有一个内部架构。例如:使用C语言声明学生Students的结构,如下所示。

struct Students {

   char no[5];

   char name[15];

   char address[40];

   int telephone;

   struct Date birthday;

   struct Student *next;

};

上述结构声明定义学生数据的存储结构,也就是链式结构的节点,换句话说,是使用串行的节点来存储数据库中的数据。数据库管理系统是使用存储定义语言(Storage Definition Language,SDL)来定义内部架构。内部架构主要考虑以下内容:

配置数据和索引数据的存储空间。

选择B树或哈希函数来创建索引数据。

描述数据层次中的记录格式,以及如何组合记录来存储成文件。

数据压缩(Data Compression)和数据加密(Data Encryption)技术,以减少占用的磁盘空间和保护存储的数据。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 数据库架构
下一篇:1.3.2 数据库架构之间的映射
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站