Дизайн базы данных модуля присвоения бейджей покупателю и продавцу

Я разрабатываю торговое приложение B2B, в нем есть покупатели и поставщики различных товаров.

Я пытаюсь разработать «модуль назначения значков», который будет использоваться для назначения значков через панель администратора покупателям и поставщикам в соответствии с их проверкой, силой покупки / продажи, отзывами +ve и так далее. Пользователь может получить один или несколько значков.

Выданные значки должны иметь срок действия. Пожалуйста, помогите мне в дизайне базы данных - какие потребуются таблицы и столбцы?

Пожалуйста, предложите, есть ли в asp.net какое-либо приложение с открытым исходным кодом/стартовым набором, которое реализует ту же логику.


person Kumar Gaurav    schedule 12.10.2012    source источник


Ответы (1)


Во-первых, покупатель и продавец должны находиться в одной таблице, и вы должны использовать наследование таблиц для смоделируйте их.

У покупателя много назначений значков.

Значок также имеет множество назначений значка.

Следовательно, это отношения многие-многие.

Может ли группа получить значок, срок его действия истечет, а затем снова получить тот же значок позже?

Ваша схема должна выглядеть примерно так:

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)
);
person Neil McGuigan    schedule 13.10.2012