Database design 买卖双方证章分配模块数据库设计

Database design 买卖双方证章分配模块数据库设计,database-design,application-design,web-application-design,Database Design,Application Design,Web Application Design,我正在开发一个B2B交易应用程序,它有各种产品的买家和供应商 我正在尝试开发一个“徽章分配模块”,该模块将用于通过管理面板根据买家和供应商的验证、买卖实力、+ve反馈等将徽章分配给他们。用户可以获得一个或多个徽章 分配的徽章应有有效期。请帮助我进行数据库设计-需要哪些表和列 请建议asp.net中是否有任何开源/初学者工具包应用程序实现相同的逻辑。其中一个应用程序,买家和卖家应该在同一个表中,您应该使用来对他们进行建模 买家有许多徽章分配 徽章也有许多徽章任务 因此,这是一种多方面的关系 一个政

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

我正在尝试开发一个“徽章分配模块”,该模块将用于通过管理面板根据买家和供应商的验证、买卖实力、+ve反馈等将徽章分配给他们。用户可以获得一个或多个徽章

分配的徽章应有有效期。请帮助我进行数据库设计-需要哪些表和列


请建议asp.net中是否有任何开源/初学者工具包应用程序实现相同的逻辑。

其中一个应用程序,买家和卖家应该在同一个表中,您应该使用来对他们进行建模

买家有许多徽章分配

徽章也有许多徽章任务

因此,这是一种多方面的关系

一个政党可以得到一个徽章,让它过期,然后再得到相同的徽章,以后

您的架构应该如下所示:

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)
);