К сожалению, Stack Overflow отлично подходит для того, чтобы задать вопрос и получить ответ.Тем не менее, серьезный вопрос Q + A, основанный на предыдущем вопросе, мы обнаруживаем, что StackOverflow ДЕЙСТВИТЕЛЬНО ломается.Я сделаю это, и при всем уважении к большому переполнению стека, я бы хотел предложить вам попробовать систему, основанную на форуме, а не так.Perahps Utter access или даже форум для разработчиков по доступу здесь:
http://social.msdn.microsoft.com/Forums/en-US/accessdev
В любом случае, давайте посмотрим, что мы можем придумать.Я также должен отметить, что дизайн вашей таблицы и то, как соотнести эти таблицы, на самом деле не вопрос доступа, а просто вопрос проектирования базы данных.То, как это должно быть изложено, будет таким же для MySql, Oracle, FoxPro или фактически для ЛЮБОЙ системы реляционных баз данных, которая была у нас за последние 20 с лишним лет в нашей отрасли.Таким образом, на самом деле это не вопрос доступа, когда вы спрашиваете, как настроить базу данных.
Хорошо, давайте посмотрим.Выше у вас есть таблица LOTES, привязанная к клиентам.Если вы собираетесь присоединить (связать) таблицу LOTS к клиенту, то вам не нужен store_id в таблицах LOTES, поскольку таблица является дочерней по отношению к этой записи клиента.В любое время вы можете подняться к родительской таблице, чтобы получить эту информацию, вам не нужно повторять ее в дочерних таблицах.Таким образом, запись клиента, к которой вы, таким образом, относитесь, уже имеет идентификатор магазина, и вы сможете получить значение этого идентификатора магазина в любое время, поскольку это отношение (то есть вся идея реляционной базы данных, у вас нетповторять данные снова и снова).
И, как у вас сейчас, тот же совет относится к двум дочерним таблицам для LOTES.Опять же, им не нужен идентификатор магазина, поскольку, как вы описали выше, они уже прикреплены к таблице LOTES, которая, в свою очередь, прикреплена к таблице клиентов, где находится идентификатор магазина.Таким образом, в вашем текущем дизайне ВСЕ дочерние таблицы ниже клиента могут и должны, и должны были бы удалить store_id.
Однако, я подозреваю, что вышесказанное не совсем то, чего вы хотите достичь здесь.Вполне вероятно, что записи LOTES принадлежат магазину.Если это так, то вы хотите, чтобы таблица LOTES была дочерней для магазинов.
Таким образом, вы должны иметь STORES-> LOTES
Единственная неясная часть здесь - это если ваш дизайнразрешить привязку одного покупателя к более чем одному магазину.Если это очень редкий случай, то, возможно, вы используете более простой дизайн, который либо заставляет вас снова вводить клиента, либо даже через некоторый код для копирования.Хотя это часто нарушает нормализацию, здесь есть некоторые проблемы, например, если адрес доставки изменится для разных магазинов для одного и того же покупателя, то часто вы сохраняете много кода и проблем дизайна, не нормализуя в этом случае.
Однако, если вам нужна эта функция, то верно и обратное, и есть много преимуществ для правильной нормализации этих данных, но часто требуется больше времени для предварительной работы.
Если вы действительно хотитеу клиентов должно быть более одного магазина, тогда вам понадобится таблица с именем tblCustomerStores.Вы прикрепите эту таблицу к клиентам как дочернюю таблицу, и эта таблица будет иметь store_id.Затем вы можете прикрепить все транзакции клиентов и т. Д. К этой таблице дочернего магазина.И эта таблица Магазина клиентов может даже включать, возможно, тип оплаты и предпочтения доставки (если они варьируются, например, от магазина к магазину).
Итак, вы начинаете с Клиентов-> Магазины клиентов-> Транзакции ->
И, не совсем понятно, что находится в транзакциях таблиц, но возможно, что что-то еще находится ниже вышеуказанной транс-таблицы.
И, не ясно, прикреплены ли Статьи к конкретной транзакции или нет?Если они есть, то статьи, таким образом, будут дочерними для транзакций.
Я думаю о
Клиенты-> Покупатели-> Статьи-> Лоты
И вы хотитеПокупатели магазинов-> Tranascation А вы хотите Покупатели магазинов-> Статьи
Итак, я думаю, что вы в настоящее время занимает слишком много столов. Просто имейте в виду, что вы можете связать множество таблиц с родительской таблицей точно так же, как на своей диаграмме, но я думаю, что у вас это не то, что вы ищете