1

我想在 Cassandra 中进行一个需要来自两个列族的数据的查询。在 sql 中,我们通过外键和连接来完成,但在 Cassandra 中,这些概念没有定义。所以我想在 Cassandra 中对两个列族进行非规范化,但我不知道该怎么做。任何人都可以帮助我吗?谢谢你。

4

1 回答 1

1

非规范化意味着您根据多个表的连接结果创建一个表。

在您的示例中,您有以下两个表:

Station (IDStation primary key, code, name, location, supervisor, citycode);
Information (IDInf primary key, IDstation, date, time, temprature, humidity, pressure);

其中 Information 具有 Station 表的外键。他们的非规范化表如下所示

StationInfo (
  IDStation, 
  code,
  name,
  location,
  supervisor,
  citycode, 
  IDInf,
  date,
  time,
  temprature,
  humidity,
  pressure,
  PRIMARY KEY (IDStation, IDInf)
);

其中,不同信息的同一站是不同的站。

如果Station和Information之间的关系是1:1的映射关系,那么它们可以只用一个ID来描述:

StationInfo (
  IDStation primary key, 
  code,
  name,
  location,
  supervisor,
  citycode, 
  date,
  time,
  temprature,
  humidity,
  pressure
);
于 2013-08-12T19:09:59.523 回答