Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对数据库中的数据进行分析是一种良好的做法吗?_Sql_Database_Analysis - Fatal编程技术网

Sql 对数据库中的数据进行分析是一种良好的做法吗?

Sql 对数据库中的数据进行分析是一种良好的做法吗?,sql,database,analysis,Sql,Database,Analysis,我最近在一次采访中被问到这个问题:您有一个SQL表,其中包含一列text,每行包含多个由空格分隔的单词。您将如何编写SQL查询来按单词在表中出现的频率对单词进行排序 作为SQL的初学者,我很难说一点。我可以通过Python脚本想到一个简单的解决方案。所以我向他提出了这个建议,但是面试官想要一个纯粹使用SQL的解决方案,他说他们通常需要不断地对实时流数据进行快速分析,频繁地转储数据,用Python加载数据,然后进行分析,这样做太过分了 我在生产环境中处理海量数据的经验不多,所以有人能告诉我面试官的

我最近在一次采访中被问到这个问题:您有一个SQL表,其中包含一列
text
,每行包含多个由空格分隔的单词。您将如何编写SQL查询来按单词在表中出现的频率对单词进行排序

作为SQL的初学者,我很难说一点。我可以通过Python脚本想到一个简单的解决方案。所以我向他提出了这个建议,但是面试官想要一个纯粹使用SQL的解决方案,他说他们通常需要不断地对实时流数据进行快速分析,频繁地转储数据,用Python加载数据,然后进行分析,这样做太过分了


我在生产环境中处理海量数据的经验不多,所以有人能告诉我面试官的理由是否合理吗?你将如何解决这个问题

这条评论太长了。毫无疑问,我写了一本名为“使用SQL和Excel进行数据分析”的书,并在哥伦比亚大学教授了一门题为“使用SQL和关系数据库进行数据分析”的课程。显然,可以使用关系数据库进行大量分析和良好的分析

文本分析无疑处于可以完成的边缘。由单词组成的字符串不是传统的关系数据,数据库也没有很好的字符串处理功能。大多数数据库都有将这些数据转换为反向索引的方法(Bob Kaufman在评论中恰当地描述了这一点)。但如果你必须处理标点符号、单词形式和同义词,这会变得更加复杂——更不用说情绪分析、消歧等了


我怀疑面试官问的更多的是你对数据库的了解和对文本分析的了解,而不是针对某个特定的解决方案(“将列拆分为倒排索引并使用它。如何创建倒排索引取决于数据库。”)这是一种看你是否真正理解这两个主题的方法。

这篇评论太长了。毫无疑问,我写了一本名为“使用SQL和Excel进行数据分析”的书,并在哥伦比亚大学教授了一门题为“使用SQL和关系数据库进行数据分析”的课程。显然,可以使用关系数据库进行大量分析和良好的分析

文本分析无疑处于可以完成的边缘。由单词组成的字符串不是传统的关系数据,数据库也没有很好的字符串处理功能。大多数数据库都有将这些数据转换为反向索引的方法(Bob Kaufman在评论中恰当地描述了这一点)。但如果你必须处理标点符号、单词形式和同义词,这会变得更加复杂——更不用说情绪分析、消歧等了


我怀疑面试官问的更多的是你对数据库的了解和对文本分析的了解,而不是针对某个特定的解决方案(“将列拆分为倒排索引并使用它。如何创建倒排索引取决于数据库。”)这是一种查看您是否真正理解这两个主题的方法。

根据我的经验,您描述的表格与存储的传真图像一样有用。如果知道哪些单词在哪些文档中像面试官建议的那样重要,可能是因为文档是搜索引擎的主题,我会有第二个表
(单词列表:Id,Word)
,第三个表
(Document\X\u Word:DocumentId,WordId,Count)
和一个
触发器
,这样每次更新文档时,这两个表都会更新。瞧,你有一个天真的搜索引擎。@BobKaufman:哦,好吧,我明白了。但采访者暗示了更多此类分析。所以,让我们说,除了知道单词的频率,还需要做9种其他类型的分析。也就是说,大约每个月都会引入一种新的分析方法。是否更愿意为同一个表创建更多的表(带有触发器)?根据我的经验,您描述的表与存储的传真图像一样有用。如果知道哪些单词在哪些文档中像面试官建议的那样重要,可能是因为文档是搜索引擎的主题,我会有第二个表
(单词列表:Id,Word)
,第三个表
(Document\X\u Word:DocumentId,WordId,Count)
和一个
触发器
,这样每次更新文档时,这两个表都会更新。瞧,你有一个天真的搜索引擎。@BobKaufman:哦,好吧,我明白了。但采访者暗示了更多此类分析。所以,让我们说,除了知道单词的频率,还需要做9种其他类型的分析。也就是说,大约每个月都会引入一种新的分析方法。是否最好为同一个表创建更多表(带触发器)?