当前位置: 主页 > 数据库

sql server数据库技术-sql server 技术 pdf

发布时间:2023-02-09 11:15   浏览次数:次   作者:佚名

作为数据分析师,数据库的作用就是帮助存储数据,在需要的时候导出需要的数据。 当数据量大的时候,不使用数据库解决方案是无法达到完美效果的,所以即使没有深入了解数据库的其他功能,单独的数据导入导出功能也是必备技能对于一个合格的数据分析师。

鉴于笔者所接触的读者群体偏向于Excel用户的业务型群体,本文的部分内容对于熟悉数据库的群体来说可能过于简单。 同时,为了完整的程序介绍,有些方法对于Excel用户来说也过于晦涩。 直接跳过有印象。

实景

在数据消费端,即使是数据分析师,对于正规公司来说,也不容易给终端用户制定数据库访问权限,大部分场景只会给予导出Excel、csv等文件格式的权限,而且一般来说,导出记录的条数也是有限制的,导出量太大,应用负载太重,是不允许的。

同样,如果是外部数据,如果不是IT级系统之间的数据交换,只留下导出文件的数据接口,也不可能给出访问数据库底层的可能性,比如天商各大平台后台的订单数据,Store访客数据,商品浏览数据等(可以用爬虫抓取,但是成本也高,而且平台的反爬技术很深很严,一项重大的技术任务)。

但是,在数据分析过程中,不可能孤立地分析某个文件的数据。 数据量太少,尤其是时间维度上的不连贯性,导致无法分析出最有价值的同比、环比、累计等指标。 没有对比就没有数据分析。 没有完整的数据源,就没有数据分析。

因此,数据分析师非常需要将分散的文件型数据重新整合,放到数据库中集中存储(Excel的容量有限,即使加入了PowerBI技术,也不可能有一个完美的数据集中系统。按需管理和提取所需数据)。

实现方法

针对不同的场景,有不同的解决方案可供选择。 有些解决方案很复杂,但在某些场景下,当其他条件不满足时sql server数据库技术,有这些解决方案是很舒服的。 读者可以先大概了解一下。 当你有条件实现一个简单的方案时,没必要太仔细研究复杂的方案,使用时再详细参考文档用法。

Excel 在上传前合并数据

前面说了,一般导出的文件都是零散的,不可能一次性导出太多的历史数据。 相同结构的分散文件数据重新合并成一个连贯的数据表。 步骤 在PowerQuery之前,有大量的Excel插件提供了合并工作簿的功能(Excel催化剂也不例外,也有合并工作簿的,不过是基于一些特殊的脏数据难以解决的问题)常规处理在PowerQuery中,最好能使用PowerQuery使用)。

PowerQuery官方的轻量级ETL工具出现后,基本上其他第三方插件的合并功能都会被取代(没有条件用PowerQuery,但是数据分析师的角色,没理由不武装自己手边的工具,最基本的就是将Excel的版本更新到最新版本,享受最新版本的高级功能红利)。

具体如何在PowerQuery中合并多个文件,可以自行查阅相关资料,非常简单易学,投入产出比巨大。

sqlserver数据导入精灵功能

对数据有一定了解的人都知道,数据是按数据类型来区分的,尤其是在数据库层面。 Excel上虽然有数据显示格式设置,但并不强制进行数据转换。 在导入数据库的过程中,同一列的数据只能保留一种数据类型,所以在Excel表格上处理的数据需要自己标准化。 如果同一列中的数据包含数字和文本格式,最好将数据格式更改为文本格式。

选择要导入的数据库,右击进入导入数据向导,如下图。

sql server 技术 pdf_sql server数据库技术_sql server教程库实例教程

导入数据向导入口

这里的导入导出向导是对Sqlserver专业ETL工具SSIS的接口式封装,核心使用了SSIS的能力。

对于一般的数据导入导出,程序主要需要告知的内容是:数据源是什么类型,数据源在哪里,具体对应哪个表(Excel有多个工作表或者其他数据库也有多个表),要导入到目标数据库的哪个数据库(一个Sqlserver可以有多个数据库对象),导入目标表的定义(字段名与数据源表的匹配映射关系,数据是什么类型)。

有了以上的规划和了解,微软会用最友好的界面向导帮我们把内容填到相应的位置。

sql server数据库技术_sql server教程库实例教程_sql server 技术 pdf

数据来源确认

目标可以选择 SQL Native Client。 如果导入的数据有问题,可以换成OLEDB For Sqlserver,兼容性更好。

服务器的登录信息,比如查看本机的Sqlserver,可以直接用Windows账号登录,否则可能需要输入目标服务器的登录信息。

sql server教程库实例教程_sql server数据库技术_sql server 技术 pdf

目标服务器信息

对于导入的内容部分,可以导入整张表,也可以写SQL查询导入部分数据。 一般来说,可以导入整张表,将数据导入Sqlserver,修改调整方便。

sql server数据库技术_sql server 技术 pdf_sql server教程库实例教程

部分确认导入内容

接下来就是确认字段的匹配映射信息。 点击【编辑映射】查看详细内容。 一般默认即可。 反正进了数据库再调整数据也不迟。 对于分析需求,不用太担心数据类型是否最经济。 空间有点多余也没关系。

sql server 技术 pdf_sql server数据库技术_sql server教程库实例教程

字段匹配映射信息确认

此时提示保存包等操作,无视即可。 只是为了复用,但是作者并没有找到对应的复用方法。 如果真的要复用,用SSIS做一个完整的比较科学,以后有机会再分享给大家。

sql server教程库实例教程_sql server 技术 pdf_sql server数据库技术

选择立即运行

感谢微软的贴心,这么多步骤,在向导的一步步引导下,几乎零门槛就能掌握,全界面操作,这就是微软的风格。

sql server数据库技术_sql server 技术 pdf_sql server教程库实例教程

完善的向导操作帮我们完成了多项信息的配置

sql server数据库技术_sql server教程库实例教程_sql server 技术 pdf

所有数据增量导入到目标表$sheet1

一般来说,SSMS并没有更新到我们刚刚新建的表格sheet1,需要右键表格对象刷新显示。

sql server 技术 pdf_sql server教程库实例教程_sql server数据库技术

刷新操作

目标表数据已填充,源数据已成功导入Sqlserver。 根据我们向导设计的规则,自动生成表名、字段名、字段类型等(这些后面可以修改,比如把表名改成有意义的名字,字段名和字段类型也可以修改,通常使用视图来完成这些修改和输出更合适)。

sql server数据库技术_sql server 技术 pdf_sql server教程库实例教程

目标表已有数据

链接服务器导入

上述方式导入的数据不会被修改更新,一次性导入比较合适。 如果要长期引用一个Excel文件或者其他csv文件的数据,当源文件更新时,可以在Sqlserver上同步更新。 ,不妨试试链接服务器功能。

链接服务器可以链接Oracle、MySQL、Access、xlsx、csv等几乎主流的数据库和文件数据,这里不提供详细的方法,这方面需要大家自行查阅资料。

之前也提到过Sqlserver通过DAX查询访问SSAS数据模型,步骤也和上面一样是纯接口操作,非常友好。 当源数据较大时,Excel中的单个工作表无法完整存储。 如果不想多次拆分表,可以考虑将PowerQuery处理后的数据存储在PowerPivot上(此方案只能使用PowerBIDesktop),再使用前面介绍的。 DAX查询方式直接提取到Sqlserver,但是步骤也比较多sql server数据库技术,大家可以根据实际情况选择。

使用行集函数

当上面的链接服务器做好后,就可以直接使用行集函数OPENQUERY来查询源数据了。

如果没有创建链接服务器的权限,也可以使用OPENDATASOURCE、OPENROWSET等其他函数来创建。 可能仍然存在权限问题。 该文件必须位于安装了 Sqlserver 的计算机上。 如果是共享文件夹路径,解决方案就复杂多了(IT类型的解决方案就是这样,看似很简单,但是要考虑的因素很多,实现起来不会像想象中的,但实际实现了,也保证了安全、稳定、准确)

具体使用方法请参考官方文档或其他博客文章。

SSIS数据导入方法

SSIS是专业的ETL工具(Extract数据抽取、Transform数据转换、Load数据加载),数据导入的功能也很详细。 上述向导也是通过将其转化为SSIS包并在SSIS上运行来实现的。 更加灵活和强大,数据源和目标数据存储选项都大得多,数据可以从几乎任何源位置移动和存储到任何目标位置。

Excel催化剂数据导入功能

使用Excel Catalyst插件可以让普通用户快速将手动维护的数据源导入数据库。 速度和性能都非常理想,同时满足门槛低,不需要数据库技术背景。

只有对数据库稍有了解的人,才能配合在数据库中同步创建相应的表,使客户端能够快速、准确、方便地将自己的数据导入到Sqlserver数据库中,为企业带来全新的数据集成。 思路(大部分数据应用解决方案只停留在系统中的数据,人工维护的最重要的数据很难被复用并进入数据仓库等环境)。

详见Excel催化剂功能介绍第20波。

第20波-Excel与Sqlserver零门槛交互-数据上传

其他方法

其他方法较少可用。 在某些特定场景下,上述方法不可行,或者性能不理想时,可以参考以下方法。

使用批量插入

使用 BCP 工具

结语

条条大路通罗马。 在数据导入的过程中,本文给大家一些方法上的介绍,特别是常用的数据导入导出向导的详细操作演示,帮助普通Excel用户不用太害怕对于Sqlserver这样的专业数据库,你只需要按照教程一步步来,也可以达到自己想要的导入效果。

同时也对其他方法进行了简要介绍,可以针对不同的需求灵活运用。 建议大家只需要简单了解一下,真正需要用到的时候再详细学习,减少学习负担。

这篇文章是关于导入数据的,刚好需要的导出数据会在下一篇文章中讲解。 欢迎继续关注。

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