这几天读了一些关于数据库结构设计的文章,简单汇总一下数据库结构分类方面的内容。

1、层次数据库结构
层次数据库结构将数据通过一对多或父结点对子结点的方式组织起来。一个层次数据库中,根表或父表位于一个类似于树形结构的最上方,它的子表中包含相关数据。层次数据库模型的结构就像是一棵倒转的树。
优点:
  • 快速的数据查询
  • 便于管理数据的完整性
缺点:
  • 用户必须十分熟悉数据库结构
  • 需要存储冗余数据
2、网状数据库结构
网状数据库结构是用连接指令或指针来组织数据的方式。数据间为多对多的关系。矢量数据描述时多用这种数据结构。
优点:
  • 快速的数据访问
  • 用户可以从任何表开始访问其他表数据
  • 便于开发更复杂的查询来检索数据
缺点:
  • 不便于数据库结构的修改
  • 数据库结构的修改将直接影响访问数据库的应用程序
  • 用户必须掌握数据库结构
3、关系数据库结构
这就目前最流行的数据库结构了。数据存储的主要载体是表,或相关数据组。有一对一、一对多、多对多三种表关系。表关联是通过引用完整性定义的,这是通过主码和外码(主键或外键)约束条件实现的。
优点:
  • 数据访问非常快
  • 便于修改数据库结构
  • 逻辑化表示数据,因此用户不需要知道数据是如何存储的
  • 容易设计复杂的数据查询来检索数据
  • 容易实现数据完整性
  • 数据通常具有更高的准确性
  • 支持标准SQL语言
缺点:
  • 很多情况下,必须将多个表的不同数据关联起来实现数据查询
  • 用户必须熟悉表之间的关联关系
  • 用户必须掌握SQL语言
4、面向对象数据库结构
它允许用对象的概念来定义与关系数据库交互。值得注意的是面向对象数据库设计思想与面向对象数据库管理系统理论不能混为一谈。前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。
面向对象数据库中有两个基本的结构:对象和字面量。对象是一种具有标识的数据结构,这些数据结构可以用来标识对象之间的相互关系。字面量是与对象相关的值,它没有标识符。
优点:
  • 程序员只需要掌握面向对象的概念,而不要掌握与面向对象概念以及关系数据库有关的存储
  • 对象具有继承性,可以从其他对象继承属性集
  • 大量应用软件的处理工作可以自动完成
  • 从理论上说,更容易管理对象
  • 面向对象数据模型与面向对象编程工具更兼容
缺点:
  • 由于面向对象数据库不支持传统的编程方法,所以用户必须理解面向对象概念
  • 目前面向对象数据库模型还没有统一的标准
  • 由于面向对象数据库出现的时间还不长,稳定性还是一个值得关注的焦点
5、另外
还有两种:古老的平面文件数据库结构和较新的对象关系数据库结构。当然现在还有人用纯XML文档作数据库。
posted on 2005-04-21 21:10  YuL  阅读(3503)  评论(0编辑  收藏  举报