买方和卖方徽章分配模块数据库设计

时间:2012-10-12 10:38:01

标签: database-design application-design web-application-design

我正在开发B2B交易应用程序,它有各种产品的买家和供应商。

我正在尝试开发一个“徽章分配模块”,用于根据他们的验证,购买/销售强度,+ ve反馈等通过管理面板向买家和供应商分配徽章。用户可以获得一个或多个徽章。

分配的徽章应该有一个到期日。请帮助我进行数据库设计 - 所需的表格和列是什么?

请建议asp.net中是否有任何开源/入门套件应用程序实现相同的逻辑。

1 个答案:

答案 0 :(得分:0)

首先,买家和卖家应该在同一个表格中,您应该使用table inheritance对其进行建模。

买家有许多徽章作业。

徽章也有许多徽章分配。

因此,这是一个很多的关系。

派对可以获得徽章,让它过期,然后再获得相同的徽章吗?

您的架构应如下所示:

create table party_type(
  id smallint primary key,
  description text not null
);

insert into party_type values (1, 'Buyer'), (2, 'Seller');    

create table party(
  id bigint identity primary key,
  type smallint not null references party_type (id),
  name text not null
);


create table badge(
  id bigint identity primary key,
  name text not null
);


create table party_badge(
  party_id bigint not null references party (id),
  badge_id bigint not null references badge (id),
  from_date datetime not null default current_timestamp,
  to_date datetime null default null,

  check (to_date > from_date),

  primary key (party_id, badge_id, from_date)
);