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