【发布时间】:2011-01-13 21:41:04
【问题描述】:
总的来说,我认为我在编程语言编码方面做得很好,但我认为在数据库方面我错过了一些重要的东西。
我看到招聘广告要求了解 MySQL、MSSQL、Oracle 等,但我不知道会有什么不同。
您知道,就像许多新程序员一样,我倾向于将我的数据库视为数据的垃圾场。我所做的大部分工作都归结为相对简单的 SQL(INSERT this、SELECT that、DELETE this_other_thing),这主要与我正在使用的引擎无关(当然,除了少数例外,主要是对语法的细微调整)。
有人能解释一下特定平台发挥作用的数据库的一些常见用例吗?
我确信存储过程之类的东西很重要,但是 (a) 这些大多是用特定语言(T-SQL 等)编写的,这与特定 RDBMS 本身的招聘广告要求不同,并且(b) 我从各种渠道听说存储过程即将淘汰,而且在很多情况下,无论如何现在都不应该使用它们。我相信 Jeff Atwood 是这个阵营的成员。
谢谢。
上述概念对于 MySQL、SQL Server、Oracle 等来说差别不大。
有了这个问题,我主要是想确定它们之间的重要区别。 IE。当大多数常见用例在 RDBMS 平台上相对稳定时,为什么招聘广告需要 n 年 MySQL 经验。
CRUD 语句、连接、索引……所有这些在特定引擎的范围内都相对简单。如果您了解不同的 RDBMS,这些概念很容易转移。
我正在寻找的是会导致雇主指定特定引擎而不是“使用通用数据库引擎的经验”的细节。
【问题讨论】:
-
您首先需要了解的关于数据库的想法是它们不是“数据垃圾场”。您以这种方式处理数据库,您的应用程序将看起来像垃圾场。
-
@Randy - 明白了。这个问题的核心是要纠正这个假设。 IE。我应该如何使用这些数据库,不同引擎之间的障碍在哪里真正发挥作用。
-
除了我在下面的评论之外 - 我认为招聘广告要求特定数据库的原因更加平庸;招聘公司在内部使用特定供应商,理想的候选人将具有该系统的经验,以减少培训/加速时间。