总的来说,我认为在使用编程语言进行编码方面我做得很好,但我认为在数据库方面我缺少一些重要的东西。
我看到招聘广告要求了解 MySQL、MSSQL、Oracle 等知识,但我无法确定它们之间的差异。
你看,像许多新程序员一样,我倾向于将我的数据库视为数据的垃圾场。我所做的大部分工作都归结为相对简单的 SQL(插入这个,选择那个,删除这个_other_thing),它基本上独立于我使用的引擎(当然,除了一些小的异常(exception),主要是对语法的小调整)。
有人可以解释特定平台发挥作用的数据库的一些常见用例吗?
我确信存储过程之类的东西很大,但是 (a) 这些大多是用特定语言(T-SQL 等)编写的,这与特定 RDBMS 本身是不同的工作广告要求,并且(b) 我从各种来源听说存储过程即将淘汰,而且在很多情况下现在无论如何都不应该使用它们。我相信 Jeff Atwood 是这个阵营的成员。
谢谢。
The above concepts do not vary much for MySQL, SQL Server, Oracle, etc.
对于这个问题,我主要是想确定它们之间的重要区别。 IE。当大多数常见用例在 RDBMS 平台上相对稳定时,为什么招聘广告需要 n 年的 MySQL 经验。
CRUD 语句、连接、索引……所有这些在特定引擎的范围内都相对简单。如果您了解不同的 RDBMS,这些概念很容易转移。
我正在寻找的是会导致雇主指定特定引擎而不是“使用通用数据库引擎的经验”的细节。
最佳答案
我认为关于数据库的基本知识应该是:
- What database are for?
- Basic CRUD Operations
- SELECT queries with JOINs
- Normalization
- Basic Indexing
- Referential Integrity与 Foreign Key Constraints
- Basic Check Constraints
上述概念在 MySQL、SQL Server、Oracle、Postgres 和 other relational database systems 之间差别不大。 .但是,对于现在流行的 NoSQL databases,您会发现一组不同的概念。 ,例如 CouchDB , MongoDB , SimpleDB , Cassandra , Bigtable , 和 many others .
关于database - 关于数据库,我需要了解什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2213815/