2009-11-24 22 views
1

我已经学习了语言本身以及html/css/javascript。但没有数据库知识和(一点)网络知识。当我阅读有关ROR的实用书籍时,我发现它们在创建项目和建立数据库和模型的初期就感到困惑。我应该先学习一些数据库(和网络知识)知识,以便充分理解代码并全面掌握rails吗?如果是这样,指出一些适合这些主题的书。提前致谢。 对不起我的英文不好。红宝石在rails上的数据库知识

回答

7

除非你正在做网络特定的东西,你所需要知道的关于网络的一个基本知识是如何工作的HTTP

模型与数据库本身无关,它们只是您的语言中的常规类,它恰好映射到诸如Rails之类的Object Relational Mapping(ORM)类型的框架中的数据库表。 您可以将它们视为数据库的网关。

您将要使用的数据库很可能是关系数据库。你不需要了解太多的理论,但你可以得到一个非常基本的overview on wikipedia

也许你最需要的是对SQL的基本了解,尽管ORM的要点是将SQL抽象出来。当您查看实际数据库查询的日志文件时,您会看到它。当你遇到更复杂,更具体的东西时,你可能需要一些SQL。

无论如何,在几乎任何类型的开发中,您都需要有关数据库和SQL的一般知识。

7

简短的回答是YES。尽管ActiveRecord将数据库的大部分肮脏工作抽象出来,但了解发生的事情仍然很重要。在调试,部署和/或维护时,这将会很有用,有时甚至是至关重要的。

+0

感谢本,但我应该学习一些特定的数据库如MySQL或者说学习数据库的理论有什么看法?谢谢 – freenight 2009-11-24 14:24:29

2

你几乎可以肯定需要一些SQL的一般理解来处理RoR(和其他人所说的一样,可能是为了编程本身)。

我是该书的粉丝Simple SQL。它一般涵盖SQL,尽可能多。也就是说,它覆盖了SQL本身的基础知识,而不是一个或另一个SQL实现的细节。此外,大多数例子都是与网络相关的,应该适合你。

1

我同意在做任何类型的数据库工作时,对SQL的基本理解(至少)是必不可少的。当我第一次开始学习数据库工作时,我发现“Sams 24小时自学SQL”一书很有帮助。它涵盖了几乎所有你需要的东西,让你开始。我的建议是选择一个数据库(MySQL,Sqlite,MsSQL等),学习一些特定数据库的基础知识(我发现知道如何创建新用户和设置权限很有用),学习一些通用SQL,并真正了解ActiveRecord可以做什么以及不可以做什么。

希望这会有所帮助。