powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
25 сообщений из 99, страница 1 из 4
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641328
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. как бы и те и другие являются субъектами поставок. Делать 2 идентичные таблицы нерационально. Но в то же время их надо как-то разделить.
Только не смейтесь. Я самоучка, но хочу чтоб изначально было все "правильно". Помогите, pls
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641335
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл добавить. Буду "феерить" в Access
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641370
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажу еще больше. БД сделана и работает, но с косяком - там 2 повторяющиеся таблицы. И не о поставщиках и потребителях, а чуть по другому, но суть та же.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641393
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickChay пишет:

> Т.е. как бы и те и другие являются субъектами поставок. Делать 2
> идентичные таблицы нерационально. Но в то же время их надо как-то разделить.

По ролям. Дать роль каждому из них.
У каждого будет от нуля до двух ролей.

Можно и не делить, если их немного.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641520
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нет поставщиков и покупателей. Есть только контрагенты
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641526
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2 пишет:

> Нет поставщиков и покупателей. Есть только контрагенты

Я бы даже сказал, что есть просто юр и физ лица. - субъекты
хозяйственной деятельности.
Контрагент в какое-то время может запросто стать субъектом учёта.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641531
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2,
Хорошо. Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя. Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей?
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641533
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
>По ролям. Дать роль каждому из них.
>У каждого будет от нуля до двух ролей.
Похоже это ближе. А можно поподробней?
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641548
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NickChayКак выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей?

Вы хотите знать, кто что купил из конкретной партии товаров? Это важно?
=======
Что бы выполнить запрос надо иметь данные. Что бы иметь данные их нужно занести. Что бы их можно было занести - надо тщательно продумать структуру базы.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641553
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NickChayMasterZiv,
>По ролям. Дать роль каждому из них.
>У каждого будет от нуля до двух ролей.
Похоже это ближе. А можно поподробней?
На мой взгляд роли контрагентов не нужны, кроме как в тяжелых случаях, когда нужно разделять вип-контрагентов, посредников, ненадежных и тому подобное.

Обычно достаточно записывать приход со знаком плюс, а расход - со знаком минус.

Тогда, если количество в документе отрицательное, то в данном случае контрагент выступает в роли покупателя
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641556
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NickChayCat2,
Хорошо. Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя. Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей?

Элементарно. Джоинить таблицу контрагентов к таблице поставок 2 раза по, по коду поставщика и потребителя.
Вам бы с основами SQL разобраться, а потом заниматься проектированием БД. :-)
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641558
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
NickChayCat2,
Хорошо. Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя. Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей?

Вторая таблица - документы. Кто и что купил/продал.

Примерная стуктрура

Суррогатный ключ (по желанию)
Дата
Номер документа
Код контрагента
Количество
Код товара
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641563
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Michael_N
Элементарно. Джоинить таблицу контрагентов к таблице поставок 2 раза по, по коду поставщика и потребителя.
Вам бы с основами SQL разобраться, а потом заниматься проектированием БД. :-)
Зачем два раза? Поставщики и покупатели определяются по знаку количества в документе. Отсортировать и/или отфильтровать - дело техники
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641571
Фотография ICQRobot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot]

Обычно достаточно записывать приход со знаком плюс, а расход - со знаком минус.

Тогда, если количество в документе отрицательное, то в данном случае контрагент выступает в роли покупателя[/quot]

а если происходит возврат товара (денег)? При возвтате товара (денег) покупателю такие транзакции тогда будут выглядеть как поставка. А "кредитные ноты" от поставщика?
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641572
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2Michael_N
Элементарно. Джоинить таблицу контрагентов к таблице поставок 2 раза по, по коду поставщика и потребителя.
Вам бы с основами SQL разобраться, а потом заниматься проектированием БД. :-)
Зачем два раза? Поставщики и покупатели определяются по знаку количества в документе. Отсортировать и/или отфильтровать - дело техники

Я отвечал на вопрос:
NickChay
Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя . Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей?


Чтобы получить выборку Поставщик-Потребитель-Товар-Количествово. В Поставках еще должен быть код товара, дата... Т.е. при такой структуре БД это можно сделать без проблем.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641597
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Michael_N,
Я понял, но посчитал нужным написать, что Ваш ответ решает проблему только при неверной структуре базы.

Все всегда в конечном итоге упирается в правильное проектирование.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641633
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имел в виду как правильно задачу в общем виде, а не конкретно о поставках.
Аналогичный пример - перевозки с пунктами отправления и назначения, скажем железнодорожные станции. Там перевозка не может быть положительной или отрицательной.
Как правильно задать структуру базы данных, чтобы можно было выбрать как общее количество переработанных вагонов, так и отдельно по прибытию и отправлению?
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641637
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или спортивное состязание. Нужно например собрать общую статистику для участника и отдельно домашние и выездные поединки?
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641704
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Второй пример попроще и попоказательней. Возьмем спортивный турнир. Задача:
1. Выбрать все матчи - участник1, участник2, мячи участника1, мячи участника2.
2. Сделать турнирную таблицу - участник, сумма очков, количество побед, ничьих и поражений, забитые и пропущенные мячи.
3. То же отдельно по домашним и гостевым матчам.

Схема данных.
Таблица Участники. 1. Код. 2. Наименование.
Таблица Матчи участника. 1. Код участника. Код матча. Мячи участника. Статус (хозяин/гость).
Таблица Матчи. Код матча. Код хозяина. Код гостя.

Такая схема будет правильной?
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641706
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В последней таблице имелось в виду:
Код матча. Код матча хозяина. Код матча гостя.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641739
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NickChayВторой пример попроще и попоказательней. Возьмем спортивный турнир. Задача:
1. Выбрать все матчи - участник1, участник2, мячи участника1, мячи участника2.
2. Сделать турнирную таблицу - участник, сумма очков, количество побед, ничьих и поражений, забитые и пропущенные мячи.
3. То же отдельно по домашним и гостевым матчам.

Схема данных.
Таблица Участники. 1. Код. 2. Наименование.
Таблица Матчи участника. 1. Код участника. Код матча. Мячи участника. Статус (хозяин/гость).
Таблица Матчи. Код матча. Код хозяина. Код гостя.

Такая схема будет правильной?

Нет. Вторая таблица не нужна.
Таблица Матчи: Код матча. Код хозяина. Код гостя. Мячи хозяина. Мячи гостя.
Все.Вместе с 1-й таблицей это даст полную информацию по задаче.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641746
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cat2Michael_N,
Я понял, но посчитал нужным написать, что Ваш ответ решает проблему только при неверной структуре базы.

Автор топика не дал достаточно информаци, чтобы определить верную структуру.

Cat2
Все всегда в конечном итоге упирается в правильное проектирование.

+1.

NickChay, несколько таблиц с одинаковой структурой - всегда плохо ( кроме секционированных представлений ). Почитайте о нормализации - может, что-то прояснится. :-)
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641750
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вам, NickChay, пытаются объяснить, что вне контекста понятия "поставщик" и "покупатель" не имеют смысла. Контекст в данном случае - контрактные обязательства. Если хотите иметь простую возможность быстро идентифицировать поставщика или покупателя, заведите соответствующие признаки, которые будут обновляться тогда, когда контрагент выступит в соответствующей роли.

> Второй пример попроще и попоказательней. Возьмем

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

> Схема данных.

Вы, простите, учитесь или работаете? Imho на профильных факультетах должны давать хотя бы основы, чтобы на практике не делать детских ошибок.

> Таблица Участники. 1. Код. 2. Наименование.

Даже еще не открыв регламента, ясно, что должно быть сущность, идентифицирующая турнир. Что это за соревнования? Кто принимает в них участие? Кто обслуживает и организовывает эти соревнования? Где они проводятся?

> Таблица Матчи участника. 1. Код участника. Код матча. Мячи участника. Статус (хозяин/гость).

У любого турнира есть календарь. Вот в терминах календаря соревнований и пишите.

> Такая схема будет правильной?

Абстрактной правильности не бывает. Бывает соответствие техническому заданию и несоответствие.
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641757
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NickChayMasterZiv,
>По ролям. Дать роль каждому из них.
>У каждого будет от нуля до двух ролей.
Похоже это ближе. А можно поподробней?

это не ближе это дальше

фиксируйте транзакции в которых контрагенты играют роли

ролей будет (и может быть) куда как больше чем 2
...
Рейтинг: 0 / 0
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
    #35641763
NickChay
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Michael_N
Нет. Вторая таблица не нужна.
Таблица Матчи: Код матча. Код хозяина. Код гостя. Мячи хозяина. Мячи гостя.
Все.Вместе с 1-й таблицей это даст полную информацию по задаче.
При такой схеме я не знаю как построить запрос, который бы суммировал все матчи участника (могу только отдельно домашние и гостевые) :(
...
Рейтинг: 0 / 0
25 сообщений из 99, страница 1 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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