是否可以在表之间创建关系?
Posted
技术标签:
【中文标题】是否可以在表之间创建关系?【英文标题】:Is it possible to create relationships between tables? 【发布时间】:2018-01-15 17:12:53 【问题描述】:Bigquery 看起来很棒,我有一个数据库类型 ETL,我的方案在实体之间有多个关系,我想知道是否有办法在它们之间建立关系,或者是否可以在数据集?
请原谅我的英语,这不是我的语言,我不太懂。
【问题讨论】:
【参考方案1】:您无法在 BigQuery 中明确创建关系。 Big Query 的理念是对数据进行非规范化以在查询时获得更好的性能。当他们需要关系时,BigQuery 使用重复字段 (https://cloud.google.com/bigquery/docs/legacy-nested-repeated)
但如果性能无关紧要并且您希望建立关系,则可以在查询数据时对数据进行规范化并在某些字段上手动进行 JOIN(或嵌套 SELECT)。
https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax
【讨论】:
我刚刚读到这样的东西,我很抱歉问了另一个问题,但是bigquery中没有类似于NoSql的结构,或者实际上,bigquerye是一个NoSql数据库? BigQuery 是一种 SQL(支持 SQL 语法),尽管在设计架构并将数据加载到 BigQuery 以对其进行非规范化(以获得更好的性能)时经常鼓励它(取决于用例),这是它的特征之一NoSQL 数据库。因此,本质上,BigQuery 是 SQL,但您也可以使用一些 NoSQL 实践。 > 来自quora.com/Is-BigQuery-a-SQL-or-NoSQL的回答以上是关于是否可以在表之间创建关系?的主要内容,如果未能解决你的问题,请参考以下文章