Cassandra中问题答案的数据库模型

时间:2018-11-05 10:23:01

标签: cassandra cql

我有:

  • 测验,每个测验包含多个问题。
  • 问题,每个问题都有一个标签,最多4张图像,一个问题类型(多对,单对,填写空白)。每个问题可能都有选项。
  • 每个选项都有一个标签,并且可能有1个与之关联的图像。

目前,我已将其设置为:

create table quizzes (
    id uuid primary key,
    title ascii,
    questions set<uuid>,
    created_at timeuuid,
    updated_at timeuuid
);
create type options_info (
  label ascii,
  image uuid
);
create table questions (
    id uuid primary key,
    label ascii,
    images list<uuid>,
    options set<options_info>,
    type uuid,
    updated_at timeuuid
);
create table question_type (
    id uuid,
    name ascii,
    primary key(id, name)
);
create table images (
    id uuid primary key,
    image blob,
    caption ascii,
    uploaded_at timeuuid
);

嗯,我认为可以有一个比我做的更好的模型。有什么改善吗? 另外,我希望保存哪个选项是正确的。我对制定最佳的结构有些困惑。

1 个答案:

答案 0 :(得分:0)

我认为主要的问题是在对Nosql数据库进行数据建模时您正在考虑相关性。 第一条规则是:最好使用非规范化表,这样在查询中就不需要连接或外键,因此可以使用一个或两个表来处理它。

请先仔细阅读以下内容: https://www.datastax.com/dev/blog/basic-rules-of-cassandra-data-modeling