2.2 Active Record: Rails 模型的支持

 

通常我们想把 web 应用程序的信息存储在关系型数据库。订单登录系统将把订单,条目,和客户的详细信息存储在数据的表中。甚至一些通常使用无组织文本的应用程序,例如博客和新闻站点,也经常使用数据库作为它们后台的数据存储。

 

虽然从你使用储存它们的 SQL 上看不是很明显,但关系数据库实际是建立在精确的集合理论上。从这上讲这是很有好处的,但是这却使得关系型数据库和面向对象编程语言之间的结合变得困难。对象包含着数据和操作,但是数据库却只是值的集合。想想,使用关系很容易表达的在 OO 系统中却很难编码。反之亦然。

 

过去,人们设计出几种方法使得关系和面向对象对同一数据有一致的表示。让我们看看两种不同的方法。一种是让你的应用程序围绕着数据库,令一种是数据库围绕着应用程序。