Я хочу настроить базу данных mysql и php-скрипт, где клиент может добавлять несколько адресов и устанавливать один адрес по умолчанию. Клиент с несколькими адресами может быть реализован следующим образом:клиент с несколькими адресами
Но как я должен изменить схему, чтобы сохранить адрес по умолчанию? Во-первых, я был соблазн реализовать его логическое значение, как это:
Но это имеет тот недостаток, что если пользователь хочет изменить свой адрес по умолчанию нужно изменить два адреса, seeting один DEFAULT_ADDRESS истина а другой - ложным. Когда что-то пойдет не так, это может привести к несогласованной базе данных, где у пользователя нет адреса по умолчанию или более одного адреса по умолчанию. Есть ли более надежный способ реализовать это?
'Когда что-то пойдет не так, это может привести к несогласованной базе данных' - вам может быть полезно описать, как это может пойти не так с этим решением. – Boaz
Вот почему вы используете транзакции в базе данных. Выполняется либо полное обновление, либо ни одно из них не выполняется. –
@Boaz Я просто думаю, что это хрупко для аномалий. Разве это не так, почему люди нормализуют базу данных? – Adam