这些SQL概念适用于初学者,中级或高级开发人员吗?[关闭]


16

我最近一直在学习SQL,并在MySQL / Postgres和Oracle DB上进行练习。我还在网络上搜索数据库的“路线图”研究,但不幸的是找不到。

我想了解特定数据库概念在何处以及为何从初学者到中级和高级的规模。我大部分时间都在考虑关系数据库。

请说明在初学者->中级->高级过程中如何布置以下所列技能,以使开发人员应该了解这些技能的水平:

  • Where子句
  • 更新语法
  • 加入
  • 修改和创建语句
  • 临时表
  • 游标
  • 指标
  • 外键
  • 约束条件
  • 交易次数
  • 子查询
  • 枢轴
  • 汇总功能
  • 剖析
  • OLAP和OLTP
  • 扳机
  • 执行计划
  • 执行提示
  • 绩效柜台
  • 正常化

Answers:


20

我要说的是,关于SQL需要了解两种类型的东西(实际上很多技术都是这样),有一些特定的技术性东西,例如联接,子查询,联合等等,您可以理解或不了解,然后便是像数据库设计和数据建模一样,其中具有一定的技能,例如艺术。随着时间的流逝,您会随着这些柔软的事物而变得更好,但永远不要“知道”它们,因为它们之间没有“它们以这种方式工作”。

就是说,这是我会采用的总体布局,并且绝对可以接受我可能错了的其他人的评论/想法。

初学者

  • Where子句(在内部,之间等)
  • 更新语法
  • 内vs左vs右join的理解和用法
  • 更改和创建结构的语法
  • 临时表及其用法
  • 游标
  • 基本概念是什么索引,但不是索引如何工作
  • 了解什么是外键以及如何使用它们(级联删除等)
  • 了解交易基础
  • 了解约束

中间

  • 索引如何工作,群集,非群集之间的区别等,页面是什么以及它们的布局
  • 了解子查询,并可以通过在联接中和何处使用它们来进行思考
  • 枢轴
  • 可以通过在相关时对自己的表进行联接来思考
  • 可以通过具有汇总功能的分组依据生成复杂的数据报告
  • 可以仅以监视/调试功能进行基本配置,例如读取日志
  • 了解OLAP和OLTP之间的区别以及何时/何处使用OLAP结构
  • 知道如何使用触发器而不使用触发器
  • 了解事务并可以将它们分层处理堆栈中的故障

高级

  • 可以阅读执行计划,并了解查询的不同部分如何影响它
  • 可以在不增加性能的情况下优化具有执行提示的查询(并行提示,索引提示,循环提示等)
  • 可以分析和使用跟踪来识别和理解实际负载下的执行统计信息
  • 知道磁盘上的数据结构
  • 可以使用性能计数器并通过监视它们来了解数据库的负载和行为
  • 知道如何设计OLAP多维数据集并使用一个进行高级数据挖掘
  • 知道如何使用触发器以及如何安全地使用触发器,并且风险最小
  • 知道如何使用分布式事务(即使在层中也是如此)

这就是我能想到的全部。请留下评论,提及我错过的其他人,或者如果我在错误的地方放东西。我还没有足够的先进知识,无法知道很多先进的技术可以放下


看到我们的两个列表并排很有趣
克里斯·皮特曼

11

这是我面试应聘者时使用的量表。这显然是我个人的观点,规模可以轻松变化:

首先,我正在寻找数据库技能,而不是“ SQL”。

初学者:

  • 知道基本的SQL语法
  • 可以选择和过滤多个表中的数据
  • 了解内部/外部/交叉连接
  • 对规范化,索引编制,事务,锁定的模糊理解

中间:

  • 理解SQL的过程样式和声明样式之间的差异
  • 具有至少一个DBs SQL扩展(PSQL,TSQL等)的经验
  • 理解并可以以第三种范式设计数据库
  • 了解并可以实现索引编制
  • 了解交易,并可以在单个数据库中使用它们
  • 知道何时以及如何分析执行计划

高级:

  • 了解何时以及如何对数据库进行非规范化
  • 了解如何在数据库和集成系统之间设置分布式事务
  • 可以设置数据库以实现高可用性,数据恢复等
  • 深入了解每个数据库引擎的内部工作原理(至少两个)
  • 加分点,可大大暴露于数据仓库和报告
  • 加分,可让您深入了解NoSQL的各种变体,以及合理的时间条件

有趣的是,您的清单与我的非常相似;尽管我将执行计划提高了一步,否则我们基本上是一样的。我几乎把第三范式放在了中间,但是我真的认为数据建模不能归因于初学者/中级/高级,这太过分了。知道如何做第三道常识是一种技能,知道什么时候是一门艺术。两者之间的相关性很高,我几乎也将其放在中间位置
Jimmy Hoffa 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.