简介
如果你正在阅读本文,你很可能正被赶鸭子上架成为一名数据库架构师。这可能以多种方式降临到你身上:你可能是一名开发人员或分析师,负责处理现有数据模型的第一个(或第四十个)改进或补丁工作,或者你可能像一个新手斗牛士一样盯着空数据库的空白画布。有两件事是肯定的:第一,信息需要尽可能高效和方便地存储和检索;第二,你需要让它工作。本指南将帮助你掌握信息建模并生成持久且可维护的数据库模式设计。我们将在很大程度上专注于关系数据库,因此你应该对此有所了解,并对使用 SQL 存储和检索数据有基本的掌握。理想情况下,你将拥有自己的数据库进行实验;示例将针对 PostgreSQL,一个免费和开源的数据库管理系统。
所以:数据建模。像计算机科学中的其他一切一样,一旦深入研究,它就是数学。然而,它的日常实践几乎完全抽象到结构化和管理信息在各种系统中流动的层面。我们稍后将介绍一些关于集合和谓词的数学基础知识,但数据库设计者必须解决可读性和可维护性问题,以及原始数学效率问题。正如 Heinz Klein 和 Kalle Lyytinen 三十年前所说,
本文最终旨在成为一个关于(关系型,尽管不忽略其他类型)设计数据模型的完整速成课程。目前,我们正在发布已编写的部分,并首先专注于将数据库和数据建模问题置于组织和系统设计背景中,以及涵盖数据库功能的一些不太突出的领域。