【问题标题】:How would you design database relationships based from the following data..?您将如何根据以下数据设计数据库关系......?
【发布时间】:2019-10-01 20:49:20
【问题描述】:

您将如何构建关系数据库中的数据?当我更新数据库时,我想在两个表中添加相应的批号 (batch_no),以便可以链接数据。我该怎么做?

第一个表(可能需要拆分??????)是数据上传的分类结果。

+--------------+-----------+--------+----------+---------+----------+
|              | precision | recall | f1-score | support | batch_id |
+--------------+-----------+--------+----------+---------+----------+
|              |           |        |          |         |          |
| positive     | 0.56      | 0.7    | 0.62     |    1034 |        1 |
| negative     | 0.96      | 0.94   | 0.95     |    8966 |        1 |
|              |           |        |          |         |          |
| micro avg    | 0.91      | 0.91   | 0.91     |   10000 |        1 |
| macro avg    | 0.76      | 0.82   | 0.79     |   10000 |        1 |
| weighted avg | 0.92      | 0.91   | 0.92     |   10000 |        1 |
|              |           |        |          |         |          |
| positive     | 0.56      | 0.7    | 0.62     |    1034 |        2 |
| negative     | 0.96      | 0.94   | 0.95     |    8966 |        2 |
|              |           |        |          |         |          |
| micro avg    | 0.91      | 0.91   | 0.91     |   10000 |        2 |
| macro avg    | 0.76      | 0.82   | 0.79     |   10000 |        2 |
| weighted avg | 0.92      | 0.91   | 0.92     |   10000 |        2 |
+--------------+-----------+--------+----------+---------+----------+

第二张表是很多评论。

+----+------------+-----------+--------+----------+
| id | reviewtext | predicted | actual | batch_id |
+----+------------+-----------+--------+----------+
|  1 | blah blah  | pos       | neg    |        1 |
|  2 | blah blah  | pos       | pos    |        1 |
|  3 | blah blah  | neg       | neg    |        1 |
|  4 | blah blah  | pos       | neg    |        2 |
|  5 | blah blah  | pos       | pos    |        2 |
|  6 | blah blah  | neg       | neg    |        2 |
+----+------------+-----------+--------+----------+

我尝试过使用复合键并将第一个数据库拆分为正数和负数,然后拥有一个更新评论表的主键,但我似乎无法在脑海中澄清它。

【问题讨论】:

    标签: mysql django database sqlite database-design


    【解决方案1】:

    您的“分类”表应该有一个“id”列作为主键:

    ---+--------------+-----------+--------+----------+---------+
     id|              | precision | recall | f1-score | support | 
    ---+--------------+-----------+--------+----------+---------+
      1|              |           |        |          |         | 
      2| positive     | 0.56      | 0.7    | 0.62     |    1034 |
      3| negative     | 0.96      | 0.94   | 0.95     |    8966 |
      4|              |           |        |          |         |
      5| micro avg    | 0.91      | 0.91   | 0.91     |   10000 |
      6| macro avg    | 0.76      | 0.82   | 0.79     |   10000 |
      7| weighted avg | 0.92      | 0.91   | 0.92     |   10000 |
    ---+--------------+-----------+--------+----------+---------+
    

    然后在您的“评论”表中,为“分类”表创建一个外键:

    ---+------------+-----------+--------+------------------+
     id| reviewtext | predicted | actual | classification_id|
    ---+------------+-----------+--------+------------------+
      1| blah blah  | pos       | neg    |        1         |
      2| blah blah  | pos       | pos    |        2         |
      3| blah blah  | neg       | neg    |        3         |
    ---+------------+-----------+--------+------------------+
    

    现在,如果你想在一个查询中访问两个表中的数据,你可以JOIN这些表:

    SELECT 
    *.t1,
    *.t2
    FROM classification t1
    LEFT JOIN reviews t2
    ON (t1.id = t2.classification_id)
    

    如果您在使用 Django 的 ORM 时需要帮助,请使用您的模型更新您的帖子并告诉我。

    【讨论】:

    • 一个分类报告(见表1)对应review表中的多个条目。我需要确定分类报告和评论集对应于哪个批次/上传。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多