Действительно ли возможно установить ограничение на уникальность данных как внешний ключ в другой таблице?

Вот то, что я сделал бы:

  1. Требуют, чтобы все участники торгов для мешка загаженных продаж зарегистрировались в сайте.
  2. , Когда Вы хотите запустить продажу, сообщение "продажа BOC, запускающаяся скоро, проверяют Вашу электронную почту, чтобы видеть, имеете ли Вы право" на Вашей основной странице.
  3. Отсылают приглашения на случайный выбор зарегистрированных плееров, с URL, уникальным для той конкретной продажи, когда продажа запускается.
  4. Гарантируют, что используемый URL отличается для каждого события продаж.
  5. Тонкая настройка случайный алгоритм приглашения выбора к выпадающему elibiblity для частых победителей, основанных на Кредитной карте, используемой для покупки, счета PayPal или адреса поставки.

Это мешает ботам, поскольку Ваша основная страница только показывает незаконченное событие BOC. Боты не будут иметь доступа к URL, не получая его в электронном письме и не иметь никакой гарантии, они получат его вообще.

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

Viola. Единое игровое поле, без тонн эвристики и анализа веб-трафика. Система может все еще играться людьми, настраивающими огромные числа почтовых ящиков, но настраивающий участвующие критерии выбора CC#, счетом PayPal, адрес поставки смягчает это.

7
задан Mike 6 December 2012 в 13:27
поделиться

2 ответа

Вполне возможно сослаться на ограничение UNIQUE в Oracle FOREIGN KEY:

SQL> create table products (
  2      prod_id number not null
  3      , prod_name varchar2 (30) not null
  4      , constraint prod_pk primary key ( prod_id )
  5      , constraint prod_uk unique ( prod_name )
  6      )
  7  /

Table created.

SQL> create table despatch (
  2      desp_id number not null
  3      , prod_name
  4      , constraint desp_pk primary key ( desp_id )
  5      , constraint desp_prod_pk foreign key ( prod_name )
  6          references products ( prod_name )
  7      )
  8  /

Table created.

SQL>

Однако это плохая практика. Основная причина использования первичного ключа вместе с уникальным ключом - предоставить синтетический ключ для использования во внешних ключах. На вашем месте я был бы обеспокоен тем, что ваши учителя дают вам задание, пронизанное плохой практикой .

6
ответ дан 7 December 2019 в 05:26
поделиться

Это обязательно зависит от СУБД. В СУБД, с которыми я знаком, ограничение уникальности и ограничение внешнего ключа рассматриваются отдельно, вы можете иметь и то, и другое, и оба они действуют нормально в сочетании.

2
ответ дан 7 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: