使用 Sqlite3 向实体添加派生属性

Posted

技术标签:

【中文标题】使用 Sqlite3 向实体添加派生属性【英文标题】:Adding Derived Attribute To An Entity With Sqlite3 【发布时间】:2018-10-21 10:14:54 【问题描述】:

您好,我的实体关系图 (ER) 中有 2 个实体,即客户和产品。

CUSTOMER 和 PRODUCT 具有 M 到 N 关系,即 RATE,这种关系具有 2 个属性,即 Comment 和 Rate。

我的 PRODUCT 实体有一个名为 Rating-avg 的派生属性,它是产品的平均评分,由客户评分。

我不知道也找不到在创建或更改表时如何将派生属性添加到表中。

如果有人可以提供帮助,我会非常高兴。

我正在使用 SQLite3(3.25.2) 和 SQLiteStudio(3.2.1)(最新版本。)。

【问题讨论】:

【参考方案1】:

您将使用第三个表,称为“联结”或“关联”表:

create table CustomerProducts (
    CustomerProductId int primary key,
    CustomerId int references customers(CustomerId),
    ProductId int products(productId),
    Rate ?,  -- unclear what the type is
    Comment text
);

如果您愿意,可以将该表命名为 Rate。我通常在关系中涉及的两个表之后命名关联表,除非它是一个实体本身。

【讨论】:

以上是关于使用 Sqlite3 向实体添加派生属性的主要内容,如果未能解决你的问题,请参考以下文章

向核心数据实体添加属性

NHibernate - 向实体添加评论属性(使用加入存储)

python连接sqlite3出错

为啥向核心数据实体添加双重属性会导致远距离相关实体中的属性冲突出现 NSInternalInconsistencyException?

向核心数据实体添加瞬态属性是不是需要新版本模型?

向实体添加属性后快速核心数据崩溃