powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Логирование для связки таблиц
25 сообщений из 25, страница 1 из 1
Логирование для связки таблиц
    #38493372
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В некотой системе формируются "Посылки" (каждая из них состоит из любого числа предметов 2-х
видов: "Графины" и "Стаканы").
Каждая из посылок может быть отправлена получателю любое количество раз (учитывая
то, что она может быть возвращена, потеряна и т.д.).
Тоже самое касается и приема посылок.
Прием-отправка посылок регистрируется в таблицах "История посылки" и "Отправка-Получение",
т.е. "Отправка-Получение" связана "многие-ко-многим" с таблицей "Посылки".
Вот схема:


После того как посылка доставлена адресату - отправителю приходит отчет о каждой состовляющей
каждой посылки (например:посылка № 4556321 принята такого-то числа, тем-то -
успешно доставлено 8 стаканов, 9-й лопнул, успешно доставлено 2 графина, а один разбит).
Соответсвенно потом можно сделать выборки подробные, и узнать что было разбито, повреждено,
что доставлено целым и т.д.
Отчет для каждого вида товара одинаковый:
- статус: успешно-неуспешно
- дата проверки (у каждого предмета своя)
- комментарий в свободной форме

Вопрос - куда и как прикрутить эту таблицу с отчетами?
Не могу никак понять как это сделать.
Похоже, что где то косяк в общей схеме...
Подскажите пожалуйста.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493373
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот схема
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493390
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня получается вот такой монстр
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493391
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть желание упростить схему и избавится от дублирующихся связок.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493394
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если мы отслеживаем каждый стакан, то и связь должна быть с таблицей стаканов.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493398
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevЕсли мы отслеживаем каждый стакан, то и связь должна быть с таблицей стаканов.
Дык есть - через таблицу "Стаканы_Отчеты"
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493403
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица "отчёт доставки" лишняя.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493404
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НDmitry V. LiseevЕсли мы отслеживаем каждый стакан, то и связь должна быть с таблицей стаканов.
Дык есть - через таблицу "Стаканы_Отчеты"Вот и надо её напрямую связать с "история посылки".
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493407
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevМаксим Нпропущено...

Дык есть - через таблицу "Стаканы_Отчеты"Вот и надо её напрямую связать с "история посылки".
А общий статус доставки всей посылки хранить так же в "История_Посылки"?
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493408
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevТаблица "отчёт доставки" лишняя.

получилось так:
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493411
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НDmitry V. Liseevпропущено...
Вот и надо её напрямую связать с "история посылки".
А общий статус доставки всей посылки хранить так же в "История_Посылки"?В таблице "отправка-получение" сделать отдельно дату отправки, дату получения. Насколько я понял, там регистрируется отправка сразу партии посылок, тогда её так и надо назвать, иначе зачем там много ко многим? Если дата получения указана, то посылка (партия) доставлена. Иначе в пути или потеряна.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493415
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за дата проверки у каждого предмета? Их не сразу при получении посылки проверяют?
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493595
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevВ таблице "отправка-получение" сделать отдельно дату отправки, дату получения.

Получается, что одна из этих дат будет в любом случае всегда пустовать? Т.к. для отправленных посылок не будет даты получения, а для принятых даты отправки.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493596
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. Liseev,

Да, у каждого предмета своя дата.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493597
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смущает, что теперь в одной таблице "История_посылки" хранится 2 факта: факт приема отправки и факт установки.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493598
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevНасколько я понял, там регистрируется отправка сразу партии посылок
Да, отправка пачками, у каждой отправки много харктеристик.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493663
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НВот схема

Максим, почему стаканы и графины ссылаются на посылки?
Должно наверное наоборот быть, стаканы без посылок могут существовать, посылки без стаканов— нет.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493677
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivМаксим НВот схема

Максим, почему стаканы и графины ссылаются на посылки?
Должно наверное наоборот быть, стаканы без посылок могут существовать, посылки без стаканов— нет.
Одна посылка может содержать множество стаканов и графинов, поэтому и связь такая. И еще плюс если нужно будет добавить новый вид отправляемых вещей, то не нужно будет изменять таблицу с посылками, только добавить новую.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493971
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НDmitry V. LiseevВ таблице "отправка-получение" сделать отдельно дату отправки, дату получения.

Получается, что одна из этих дат будет в любом случае всегда пустовать? Т.к. для отправленных посылок не будет даты получения, а для принятых даты отправки.Любая отправленная посылка должна быть получена. Это одна операция. И запись одна. Нельзя получить посылку, не отправив её. Если посылка отправлена, но не получена, значит она ещё в пути. Либо потеряна.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38493994
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevМаксим Нпропущено...


Получается, что одна из этих дат будет в любом случае всегда пустовать? Т.к. для отправленных посылок не будет даты получения, а для принятых даты отправки.Любая отправленная посылка должна быть получена. Это одна операция. И запись одна. Нельзя получить посылку, не отправив её. Если посылка отправлена, но не получена, значит она ещё в пути. Либо потеряна.

Угу, согласен, сюда же я могу добавить и "Дату распаковки" посылки ?
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38494016
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НDmitry V. Liseevпропущено...
Любая отправленная посылка должна быть получена. Это одна операция. И запись одна. Нельзя получить посылку, не отправив её. Если посылка отправлена, но не получена, значит она ещё в пути. Либо потеряна.

Угу, согласен, сюда же я могу добавить и "Дату распаковки" посылки ?Да. А также юзеров, которые эти операции выполняли, вес посылки, стоимость и вообще всё, что относится к этой операции отправки-получения.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38494022
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Туда же можно планируемую дату доставки, фактическую дату доставки. Если посылка доехала, но не доставлена (адресат не проживает по указанному адресу или другая причина), то возврат можно уже оформить второй такой-же записью. Причём, сделать связь между ними.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38494025
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry V. LiseevМаксим Нпропущено...


Угу, согласен, сюда же я могу добавить и "Дату распаковки" посылки ?Да. А также юзеров, которые эти операции выполняли, вес посылки, стоимость и вообще всё, что относится к этой операции отправки-получения.

Понял. Меня немного смущает, что эта таблица получается "разорванной", т.е. в ней указаны отправленные посылки и обработанные у адресата и полученные посылки и обработанные здесь на месте.
Или это предрасудки?
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38494058
Dmitry V. Liseev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НDmitry V. Liseevпропущено...
Да. А также юзеров, которые эти операции выполняли, вес посылки, стоимость и вообще всё, что относится к этой операции отправки-получения.

Понял. Меня немного смущает, что эта таблица получается "разорванной", т.е. в ней указаны отправленные посылки и обработанные у адресата и полученные посылки и обработанные здесь на месте.
Или это предрасудки?Если Вы регистрируете полёты самолётов, Вы же не будете заводить таблицы отдельно для взлёта и отдельно для посадки? Или в банковских проводках, если сумма снимается с одного счёта, то она обязательно поступает на другой счёт. Если это единая сущность, то логично делать её одной записью.
...
Рейтинг: 0 / 0
Логирование для связки таблиц
    #38502636
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий, спасибо большое, прояснили ситуацию.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Логирование для связки таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]