• 「Sqlserver」数据分析师有理由爱Sqlserver之二-像使用Excel一般地使用Sqlserver


    大家一谈数据库,就觉得非常高深莫测,深不见底,非凡人敢去触摸。但Excel的话,没人敢说自己不会使用吧(相反一大堆人的简历上写着精通OFFICE所有软件套件)。换作其他非微软厂商的数据库,的确很容易产生这样的畏惧感,包括笔者在内,对其他数据库也是不敢靠近。但Sqlserver,出自微软之手,可以让你大为改观,请看下文一一述说。

    相关阅读

    「Sqlserver」数据分析师有理由爱Sqlserver之一-好用的插件工具推荐 - 简书 https://www.jianshu.com/p/637aba4aeee5

    小小插曲

    在微软系的产品系列中,大家都可以从网络上非常容易找寻得到,微软也是大放水,对盗版破解容忍度非常高。

    但是其他厂商的产品,你可知道没这样的福气了,近期在做一个项目时,接触到SAP的产品,想下载一个其在PowerBI上使用的数据连接驱动,奇葩到搜索全网后,不止百度,连google都不能找到这些驱动,只能从其官网上下载,并且只能用商业用户的帐号体系才能下载到(不知道是否是管理员之类的高级帐号才能访问,没有细究)。

    所以,对于非微软系的产品上手程度之复杂,从此也可一窥而知,连个软件都不提供,连练手的机会都没有,谈何学习呀,所以也不要指望他们从用户的体验角度能够做出多好的产品。

    也谈微软系产品

    用过Windows、OFFICE软件的人,都能感受到微软产品的细腻,无穷无尽的界面化操作,操作过程中的自提示,友好的向导功能带领新用户快速上手,并且配以非常详尽的官方文档和示例说明,全方位地掌握每个细节。

    在Sqlserver上,也不例外,看完此篇,笔者相信你也会认可此篇所提到的观点:像使用Excel一般使用Sqlserver。

    使用Excel是一种怎样的体验?

    在OFFICE产品中,要数Excel的使用群体、使用频率最为广泛,这里说的Excel,其实也可类比在其他Word、PowerPoint等组件上。

    Excel一款小小的数据处理分析小工具,蕴含了非常多的功能,大部分的功能都是提供了菜单化操作、结合鼠标、键盘快捷键,可以非常流畅地在数据海洋里遨游。任何一个新用户接触Excel,都不会产生太大的恐惧感。

    随着学习的一步步加深,对现有的功能的重复性繁琐操作开始提出一些要求,能否帮我自动化一些来处理,这样就带出了宏和VBA的层面。

    可以用录制宏的方式,记录当前的操作步骤,再结合一点点的VBA知识,用编程语言的变量、循环、选择结构等,将自动生成的宏代码略略加工一下,即可完成自动化的重复性工作,开始脱离界面的重复性机械操作。

    没法达到宏和VBA的使用水平也不必沮丧,因为有一些走得更远的人,已经不止于让自己手头的工作自动化起来,还为大部分初中级用户做出了插件,让代码封装起来,直接回归界面化操作输出给普通用户使用。例如Excel催化剂插件就是很经典的案例。

    且看Sqlserver的使用和Excel有多像

    Sqlserver作为一款优秀的数据库软件,其使用的群体远不像普通人所定义的那么窄,不止于专业的软件开发者、数据库管理人员DBA才会使用得上,对于普通的数据工作者,其仍然有天然的亲和力,可以让类似Excel用户的群体来过渡使用。

    几乎一切操作都可以界面化

    访问Sqlserver服务器的方式,一般情况下是使用其客户端工具SSMS来完成(估计太优秀了,也没有什么第3方的客户端引起太大的关注,其他数据库产品倒有好多第3方客户端的出现,足见微软所做的产品之优秀)

    在SSMS上操作Sqlserver,几乎所有的操作,都可以通过类似操作Windows、OFFICE软件那样,通过图形化界面,鼠标式完成。

    SSMS界面

    上图上方的菜单栏、左侧的数据库对象树结构,通过菜单和对象树鼠标右键,几乎可以满足我们日常所需操作的任务。

    当然一般来说,熟练之后,特别是写数据查询SQL,通过右侧的编辑区敲代码完成也不难,类似我们使用Excel时,对函数写得非常熟练,不想使用函数向导直接敲函数名、函数参数的体验差不多。

    界面化操作也不代表需要掌握所有功能,也不代表每个功能有界面操作就很容易理解,就像学习Excel一样,有些功能如数据分析工具,规划求解等,虽然也是界面,但也需要深刻理解其实现原理才能真正用得好。Sqlserver的功能较Excel这样的大众工具软件更难理解,后面会再次写相关文章介绍以数据分析师的视角,最应该掌握什么功能,哪些功能投入产出比更高。

    像录制宏一般地自动生成SQL语句

    Excel里有录制宏功能,帮助我们快速学习VBA,在Sqlserver上,同样有类似于录制宏的界面操作实际对应的SQL脚本是什么的功能。

    对表、视图、存储过程等右键都有生成相应SQL的快捷操作

    创建表的SQL,里面包含很多很难记住的SQL语法可以自动生成

    其他的一些界面化操作,也可生成对应的SQL语句

    创建用户这种低频的SQL语句,首选界面生成

    简单改造生成脚本自动化

    有了以上的SQL自动生成后,理解好SQL语句的含义,哪些地方可以使用简单变量替换即可生成一条新的SQL命令,然后可以借助在Excel上拼接字符串的方式快速生成多条SQL命令,进行批量化操作。

    Excel上生成多条SQL语句

    复制到SSMS上脚本编辑区,点击运行即可完成

    更高级别的脚本自动化

    数据库有存储过程,类似Excel的VBA代码过程片段的概念,可以通过编程语言的方式,写各种复杂的逻辑处理,最后封装成一个过程(方法),下次直接运行此过程即可实现批量操作。

    存储过程丰富的可编程性,实现更复杂功能

    在Sqlserver的存储过程中,可以使用几乎所有的T-SQL语句及命令,生成的结果甚至可以生成新的表数据,将数据导出到外部,数据大范围转换等等,结合代理作业的功能,更可以定时自动化开启。

    结语

    Sqlserver入门真心不难,对于数据分析工作者来说,无需像专业开发,数据库运维等掌握一大堆高深的知识,亦可轻松唯我所用,只用其对数据分析工作最精华的部分,相信一个正确的引导,可以让学习使用Sqlserver的过程,类似于学习使用Excel一般地愉悦,后续更多精彩,欢迎继续关注。

    笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。

    姓名:李伟坚 从事数据分析工作多年(BI方向),一名同样在路上的学习者。 技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。 历经重重难关,终于在数据的道路上达到技术平原期,学习众多的知识不再太吃力,同时也形成了自己的一套数据解决方案(数据采集、数据加工清洗、数据多维建模、数据报表展示等)。 擅长技术领域:Excel等Office家族软件、VBAVSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。 2018年起成为自由职业工作者,期待Excel催化剂可以一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢,初步设想可以数据顾问的方式或一些小型项目开发的方式合作。
  • 相关阅读:
    【笔记】机器学习
    【笔记】机器学习
    【NLP】暑假课作业3
    【NLP】暑假课作业1
    【笔记】机器学习
    【转】谈谈我对攻读计算机研究生的看法
    Android学习笔记-事件处理
    精读《C++ primer》学习笔记(第四至六章)
    那些年,当我还是个小白
    精读《C++ primer》学习笔记(第一至三章)
  • 原文地址:https://www.cnblogs.com/ExcelCuiHuaJi/p/11225485.html
Copyright © 2020-2023  润新知