盖伯瑞尔哈,MathWorks
Database Explorer应用程序连接了访问关系/SQL数据和在MATLAB中分析数据的过程®。它的可视化界面允许您快速地将数据转换成MATLAB友好的表格格式,而不需要了解Microsoft®SQL编程语言。然后,您可以轻松地执行你的后续分析利用其他MATLAB工具和功能,并自动生成代码来检索数据库的结果,以便其他人可以复制你的工作。
看到更多信息在Database Explorer应用程序上。
Database Toolbox使您能够将MATLAB知识应用于数据库中存储的数据,即使您不熟悉数据库语言。Database Explorer应用程序体现了Database Toolbox的这一价值,本视频将快速而全面地介绍该应用程序,该应用程序允许您以可视化的方式与关系数据进行交互。即使您不熟悉SQL,也可以将数据带入MATLAB进行进一步分析。
先说重点:它在哪里?只要打开“应用程序”标签,如果你遇到一大堆不同的应用程序,只要用“数据库”这个词搜索就可以了。
这个演示设有一个MySQL数据库,我们首先需要建立一个连接。从连接菜单中选择此选项,然后在适当的详细信息填写。特别是,你需要点MATLAB的数据库驱动程序,这通常是JDBC连接一个jar文件的位置。如果你不知道这些参数的副手,只是在联系您的IT联系人提供详细信息。
我们将测试提供我们的用户名和超级机密密码的连接。既然测试成功了,我们就可以开始了。
让我们正式连接到我们的数据库,现在我们可以在connect菜单中找到它。我们将提供凭据,在我们的示例中,目录是toy_store。有了这些,我们就可以开始探索了!
左边的面板列出了在我们的数据库中找到的所有表,如果我们选择一个,我们将看到数据的预览,以及生成结果的SQL查询;如果你想学习一些SQL,这是一个非常棒的学习工具。我们可以展开表并查看列列表,以获得更完整的数据库视图,我们还可以根据想要查看的内容选择和取消选择列。我们还可以更改数据预览中显示的项数。
让我们看看一些可用的基本功能。inventory表中的结果目前是按照产品编号排序的,但是我们可能希望根据其他东西(如价格)对其进行排序。简单地点击“order by”,选择Price列,添加这个,现在我们可以很容易地使用升序或降序价格查看结果。
所以我看着这些数据,我对自己说,“天哪,如果能知道这些产品到底是什么就好了,因为从描述的角度来看,产品编号是没用的。”下载188bet金宝搏“如果我切换到product表,我注意到有一个productDescription列,这似乎是我想要的。但在当前视图中,我无法选择信息与库存表。
为此,我们需要联接表,这是一种非常常见的SQL操作。我们只需选择第一个表,然后单击Join。我们将选择要联接的表,然后选择两个表中都存在的列;否则我们的结果就没有意义了。默认情况下,这将执行一个内部连接,这通常是您想要的,因为它给出了表的交集。您还会注意到右下角的图表,它为您提供了所发生事情的可视化帮助。现在我们已经这样做了,我们可以以任何方式查看和选择两个表的内容,这有助于增强我们对数据的理解。
所以在这一点上,假设我的老板进来说,“我需要你告诉我我们二月份的总销售额。“在salesVolume表中有一个二月的列,所以这可能就是我要找的。因为我也有价格信息,我可以把它们相乘,然后把每个结果加起来作为最终答案。
但是记住,我不能得到所有东西的完整视图因为我们还没有加入表格;我们需要在已经连接的结果上执行额外的连接。我们注意到sales volume表没有product number列,但是它有做有一个stock number列,如果您注意到,它也包含在product表中。
因此,让我们执行另一个加入此共享列。注意图已更新,显示美国正在发生的事情,而现在当我们回去,我们在其他两个上下文完全进入了销量表。我们会继续和一些列添加到我们的查询,现在我们都在一个地方的信息以获得销售总额二月,或任何一个月。
这里有一个问题:我们有一些缺失的数据,由这个NaN表示。不管我们如何处理丢失的数据,确保以一致的方式处理丢失的数据是很好的。
这就是导入选项发挥作用的地方。可以看到,对于任何double类型的数据,默认情况下数据都被导入为NaN,但是我们可以将特定的列改为导入0。另一个示例是,注意inventoryDate目前是作为一个char类型导入的,但是将它指定为dateTime可能更有意义,因为dateTime有自己的菜单,我们可以根据自己的需要精确地格式化dateTimes。
现在我们的数据已经整理好了,可以为我的老板做分析了。如果您是SQL专家,那么实际上可以完全在SQL中执行所有计算,但是如果利用现有的MATLAB知识,可能会更容易一些。Database Explorer允许我们将数据作为表导入MATLAB。我们将首先清理选定的列,导出数据并查看。
我们所要做的就是把价格列和二月列,这给我们的总销售额为每个项目的点积,和所有这些的总和为我们提供了我们的答案。
现在,我可以继续和结果通过电子邮件发送给我的老板,我也可以帮他一个更好的,给他的总销量为每月,甚至整个一年,因为它确实是并不难。
一个窍门,你可以在MATLAB做的是提取表中的多个列到矩阵,它可以让你进行矩阵运算。经过16的价格,和列5对应的销售量:在这种情况下,我们需要第1列。我们将提取价格数据作为载体,然后把所有的销售数据作为基体。在每一行代码的第一个冒号表示,我想所有的行,而下一个参数表示我的兴趣列。请注意,我用括号表示法来获取数据作为一个数组,或矩阵,而不是一个表。
现在,我们可以简单地使用点星型运算符将price数组中的点积应用到每个月上。计算这个矩阵的和就得到了我们的月销售额。求那矩阵,我们已经得到了销售占整个一年中,易peasy,并希望我可以通过电子邮件发送这个给我的老板,让他高兴。
既然这是一个数据库浏览器应用程序的演示,为什么要费那么大的力气来研究这些MATLAB代码呢?除了向你展示一些新的编码技巧外,我想强调的是,你可以对你的数据进行大量的分析。您已经完成了这个很好的设置,但是您可能已经忘记了如何检索所有这些数据。对于你的同事,以及你未来的自己来说,能够复制你的结果是很重要的。
Database Explorer可以生成一个MATLAB脚本,只需单击一下,这个脚本就会执行我们刚才为从数据库中获取数据而执行的所有操作。
需要注意的一个非常重要的事情是,应用程序不保存出于明显的安全原因,您用于连接数据库的密码。因此,任何使用这段代码的人都需要向这行代码中提供适当的凭证,如果您正在观看这段视频的是任何一种正派的人,那么您现在将目光从您的计算机屏幕移开,这样您就不会看到我的超级机密密码是“matlab”。“向下滚动……好吧,你可以再看一遍。
为了使这个脚本完整,让我们添加MATLAB工作。为了清晰起见,我们将创建一个新的部分,粘贴命令行工作,现在任何未来的同事和我们自己都可以轻松地复制我们的结果。
因此,我们所演示的是基本的Database Explorer工作流:与您的数据进行可视化交互,将其带入MATLAB,执行分析,并使其可重现。
这里有一些更多的数据库资源管理器功能可能对您有用:
您可以生成用于检索结果的SQL查询。
您可以筛选使用WHERE语句数据库项目。例如,让我们说,我只是想看看所有的廉价物品,如任何的售价低于10美元。点击哪里,我们会说,我们希望价格......不到......任何你想要的,其实。你甚至可以在另一列比较到其相应的值,如果你需要聪明的,但我们会用10去的,现在我们看到的那些项目。
这些选择绝不是相互排斥的。您可以按一列排序的表,其中另一列大于20,没有重复…您可以在SQL中这样做。
最后,如果您熟悉SQL,可以直接编辑SQL查询。这为您提供了语言的全部好处,这些好处可能不会直接由我们的按钮启用,同时仍然能够通过与应用程序交互自动生成SQL。
当我们点击“手动”时,它保留了我们间接生成的所有SQL代码,现在你可以输入任何你想要的。注意,这在Database Explorer中打开了一个新选项卡,它充当一个不同的工作环境。你可以在同一个数据库或其他数据库中有多个会话;只需使用“新查询”按钮,您仍然可以保留对以前工作的访问。
使用数据库资源管理器可以轻松地访问和分析你的关系型数据,即使你不知道SQL,充分利用它,如果你做的。感谢您的收看,请单击说明中的链接以获取更多信息,不要犹豫,给我们反馈。