关系数据库有什么用途?

Bor*_*kov 1 python sql relational-database

通常,当人们向您宣传工具时,他们首先会告诉您,为什么您需要它,然后讨论如何使用它.前5本关于我试过的数据库和SQL的书并非如此.这真的感觉就像我在和宗教信仰者交谈:).他们没有讨论:数据库能够做什么,为什么设计它的设计方式等等.他们告诉你,你应该服从第3范式和Codd,它的先知.

我的问题是:在哪些方面,我的网站,例如使用PostreSQL后端作为数据存储,优于我的网站存储哈希表中的数据,并使用我选择的编程语言(如pickle/ shelvein python)内置的通用序列化机制.

我相信答案是性能,但在这个地方SQL专家通常是模糊的.我想知道,数据库的运营成本是多少?设计如何帮助实现这一目标?真的,当你努力遵守一些规则时,你真的想知道这是什么缘故?

你能否建议一个首先说明目标然后引入正常形式,关系代数等概念的阅读,然后解释这些概念如何帮助解决目标.谢谢,抱歉有点咆哮.为了说明我的问题,将关系数据库的 wiki文章与Stanislav Lem的Sepulka进行比较.

nvo*_*gel 7

我认为这里有两个问题:

  1. 为什么是关系模型?
  2. 为什么在设计关系数据库时应用规范化原则?

A1.在回答第一个问题时,关系模型是一种极其灵活和强大的数据抽象.它支持数据完整性规则,数据操作逻辑和即席查询,允许用户从数据中获取有意义的结果,而无需编写大量代码,也不会受到底层技术实现细节的负担.除其他外,这些原因使得关系模型非常适合于各种各样的用例.

SQL严格来说是一种非关系数据模型,只是部分基于关系原则.但是,SQL比许多替代方案更接近关系模型.许多基本关系思想仍然适用于SQL世界,因此SQL系统通常归入关系衍生系统和关系衍生系统的标题下.

A2.关系数据库规范化理论及其所依赖的依赖理论构成了一组用于创建和分析数据库设计的原则.规范化原则有助于确保数据库设计准确地为您打算使用的业务规则建模.应用这些原则将帮助您避免可能出现的某些类型的数据完整性问题.

推荐阅读:数据库系统: Garcia-Molina,Ullman,Widom 的完整书籍