У меня есть таблица под названием «Accounts
» с composite primary key
, состоящими из 2-х колонка: Account_key
и Account_Start_date
как с типом данными int
и другим, не ключевым столбцом с именем Accountnumber(bigint).
Обеспечение 1: 1 и 1: Многая кардинальность в денормализованной складской таблице с композитным первичным ключом
Account_key должны иметь один или несколько Accountnumber(bigint)
, а не наоборот означает 1 или много ACCOUNTNUMBER может иметь только 1 Account_key. Если вы попытаетесь вставить одну и ту же учетную запись Account_key и тот же аккаунт_Start_date, то primary key constraint
останавливает это, конечно, потому что они вместе являются первичным ключом.
Однако, если вы вставляете существующую учетную запись с другим несуществующим Account_Start_date, вы можете вставить случайный номер журнала, как хотите, без каких-либо ограничений, жалующихся на него, и вдруг у вас есть строки со многими и многими отношениями между Account_key и Accountnumber, и мы не делаем хочет это.
Я пробовал с большим количеством ограничений без везения. Я просто не знаю, что я делаю неправильно здесь, поэтому, пожалуйста, продолжайте и помогите мне в этом, спасибо! (Примечание: я не думаю, что изменение составного первичного ключа является опцией, потому что тогда мы потеряем медленно меняющуюся функциональность даты измерения)
Существует еще одна таблица (случай), где 1 'Account_Key' может быть связан только с 1 ' AccountNumber 'означает отношение 1..1, все остальные вещи одинаковы, за исключением того, что между ними должно быть отношение 1..1. Уникальный индекс havent работает для меня, по крайней мере, просто подумайте, хочу ли я изменить таблицу Accounts
или поставить триггер или даже индекс, так что это будет отношение 1..1 между «Account_Key» и «AccountNumber»,?
Даты начала в ключе в обычном режиме. Возможно ли, чтобы у одной из ваших учетных записей было более 1 даты начала? –
Да, 1 Номер счета может иметь более 1 Account_start_date. – Hankman3000
ну, первая ошибка в том, что вы называете Account_Key не ключом. Кто создает этот ключ? Какие ограничения на него? – alessalessio