|
|
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Т.е. как бы и те и другие являются субъектами поставок. Делать 2 идентичные таблицы нерационально. Но в то же время их надо как-то разделить. Только не смейтесь. Я самоучка, но хочу чтоб изначально было все "правильно". Помогите, pls ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 23:27:58 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Забыл добавить. Буду "феерить" в Access ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2008, 23:32:16 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Скажу еще больше. БД сделана и работает, но с косяком - там 2 повторяющиеся таблицы. И не о поставщиках и потребителях, а чуть по другому, но суть та же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 00:02:08 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChay пишет: > Т.е. как бы и те и другие являются субъектами поставок. Делать 2 > идентичные таблицы нерационально. Но в то же время их надо как-то разделить. По ролям. Дать роль каждому из них. У каждого будет от нуля до двух ролей. Можно и не делить, если их немного. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 00:24:41 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Нет поставщиков и покупателей. Есть только контрагенты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 09:14:33 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2 пишет: > Нет поставщиков и покупателей. Есть только контрагенты Я бы даже сказал, что есть просто юр и физ лица. - субъекты хозяйственной деятельности. Контрагент в какое-то время может запросто стать субъектом учёта. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 09:34:41 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2, Хорошо. Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя. Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 09:56:42 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, >По ролям. Дать роль каждому из них. >У каждого будет от нуля до двух ролей. Похоже это ближе. А можно поподробней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 09:58:46 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChayКак выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей? Вы хотите знать, кто что купил из конкретной партии товаров? Это важно? ======= Что бы выполнить запрос надо иметь данные. Что бы иметь данные их нужно занести. Что бы их можно было занести - надо тщательно продумать структуру базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 10:40:34 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChayMasterZiv, >По ролям. Дать роль каждому из них. >У каждого будет от нуля до двух ролей. Похоже это ближе. А можно поподробней? На мой взгляд роли контрагентов не нужны, кроме как в тяжелых случаях, когда нужно разделять вип-контрагентов, посредников, ненадежных и тому подобное. Обычно достаточно записывать приход со знаком плюс, а расход - со знаком минус. Тогда, если количество в документе отрицательное, то в данном случае контрагент выступает в роли покупателя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 10:46:00 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChayCat2, Хорошо. Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя. Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей? Элементарно. Джоинить таблицу контрагентов к таблице поставок 2 раза по, по коду поставщика и потребителя. Вам бы с основами SQL разобраться, а потом заниматься проектированием БД. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 10:47:26 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChayCat2, Хорошо. Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя. Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей? Вторая таблица - документы. Кто и что купил/продал. Примерная стуктрура Суррогатный ключ (по желанию) Дата Номер документа Код контрагента Количество Код товара ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 10:54:45 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Michael_N Элементарно. Джоинить таблицу контрагентов к таблице поставок 2 раза по, по коду поставщика и потребителя. Вам бы с основами SQL разобраться, а потом заниматься проектированием БД. :-) Зачем два раза? Поставщики и покупатели определяются по знаку количества в документе. Отсортировать и/или отфильтровать - дело техники ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 11:03:02 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
[quot] Обычно достаточно записывать приход со знаком плюс, а расход - со знаком минус. Тогда, если количество в документе отрицательное, то в данном случае контрагент выступает в роли покупателя[/quot] а если происходит возврат товара (денег)? При возвтате товара (денег) покупателю такие транзакции тогда будут выглядеть как поставка. А "кредитные ноты" от поставщика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 11:16:23 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2Michael_N Элементарно. Джоинить таблицу контрагентов к таблице поставок 2 раза по, по коду поставщика и потребителя. Вам бы с основами SQL разобраться, а потом заниматься проектированием БД. :-) Зачем два раза? Поставщики и покупатели определяются по знаку количества в документе. Отсортировать и/или отфильтровать - дело техники Я отвечал на вопрос: NickChay Первая таблица - Контрагенты, 2 поля - код и имя. Вторая таблица - Поставки, 2 поля - код поставщика и код потребителя . Как выполнить запрос на выборку поставок, который бы выводил имена поставщиков и потребителей? Чтобы получить выборку Поставщик-Потребитель-Товар-Количествово. В Поставках еще должен быть код товара, дата... Т.е. при такой структуре БД это можно сделать без проблем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 11:18:07 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Michael_N, Я понял, но посчитал нужным написать, что Ваш ответ решает проблему только при неверной структуре базы. Все всегда в конечном итоге упирается в правильное проектирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 11:53:26 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Я имел в виду как правильно задачу в общем виде, а не конкретно о поставках. Аналогичный пример - перевозки с пунктами отправления и назначения, скажем железнодорожные станции. Там перевозка не может быть положительной или отрицательной. Как правильно задать структуру базы данных, чтобы можно было выбрать как общее количество переработанных вагонов, так и отдельно по прибытию и отправлению? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 12:46:43 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Или спортивное состязание. Нужно например собрать общую статистику для участника и отдельно домашние и выездные поединки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 12:50:29 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Второй пример попроще и попоказательней. Возьмем спортивный турнир. Задача: 1. Выбрать все матчи - участник1, участник2, мячи участника1, мячи участника2. 2. Сделать турнирную таблицу - участник, сумма очков, количество побед, ничьих и поражений, забитые и пропущенные мячи. 3. То же отдельно по домашним и гостевым матчам. Схема данных. Таблица Участники. 1. Код. 2. Наименование. Таблица Матчи участника. 1. Код участника. Код матча. Мячи участника. Статус (хозяин/гость). Таблица Матчи. Код матча. Код хозяина. Код гостя. Такая схема будет правильной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 14:05:23 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
В последней таблице имелось в виду: Код матча. Код матча хозяина. Код матча гостя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 14:09:58 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChayВторой пример попроще и попоказательней. Возьмем спортивный турнир. Задача: 1. Выбрать все матчи - участник1, участник2, мячи участника1, мячи участника2. 2. Сделать турнирную таблицу - участник, сумма очков, количество побед, ничьих и поражений, забитые и пропущенные мячи. 3. То же отдельно по домашним и гостевым матчам. Схема данных. Таблица Участники. 1. Код. 2. Наименование. Таблица Матчи участника. 1. Код участника. Код матча. Мячи участника. Статус (хозяин/гость). Таблица Матчи. Код матча. Код хозяина. Код гостя. Такая схема будет правильной? Нет. Вторая таблица не нужна. Таблица Матчи: Код матча. Код хозяина. Код гостя. Мячи хозяина. Мячи гостя. Все.Вместе с 1-й таблицей это даст полную информацию по задаче. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 15:02:34 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2Michael_N, Я понял, но посчитал нужным написать, что Ваш ответ решает проблему только при неверной структуре базы. Автор топика не дал достаточно информаци, чтобы определить верную структуру. Cat2 Все всегда в конечном итоге упирается в правильное проектирование. +1. NickChay, несколько таблиц с одинаковой структурой - всегда плохо ( кроме секционированных представлений ). Почитайте о нормализации - может, что-то прояснится. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 15:08:04 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Вам, NickChay, пытаются объяснить, что вне контекста понятия "поставщик" и "покупатель" не имеют смысла. Контекст в данном случае - контрактные обязательства. Если хотите иметь простую возможность быстро идентифицировать поставщика или покупателя, заведите соответствующие признаки, которые будут обновляться тогда, когда контрагент выступит в соответствующей роли. > Второй пример попроще и попоказательней. Возьмем Второй пример не имеет ничего общего с первым. Похожесть - исключительно кажущаяся. Любые структуры данных, связанные со спортивными состязаниями, делаются на основании регламента этих состязаний. Просто тупо берете регламент, внимательно его читаете и пишете схему. > Схема данных. Вы, простите, учитесь или работаете? Imho на профильных факультетах должны давать хотя бы основы, чтобы на практике не делать детских ошибок. > Таблица Участники. 1. Код. 2. Наименование. Даже еще не открыв регламента, ясно, что должно быть сущность, идентифицирующая турнир. Что это за соревнования? Кто принимает в них участие? Кто обслуживает и организовывает эти соревнования? Где они проводятся? > Таблица Матчи участника. 1. Код участника. Код матча. Мячи участника. Статус (хозяин/гость). У любого турнира есть календарь. Вот в терминах календаря соревнований и пишите. > Такая схема будет правильной? Абстрактной правильности не бывает. Бывает соответствие техническому заданию и несоответствие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 15:13:31 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
NickChayMasterZiv, >По ролям. Дать роль каждому из них. >У каждого будет от нуля до двух ролей. Похоже это ближе. А можно поподробней? это не ближе это дальше фиксируйте транзакции в которых контрагенты играют роли ролей будет (и может быть) куда как больше чем 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 15:20:04 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Michael_N Нет. Вторая таблица не нужна. Таблица Матчи: Код матча. Код хозяина. Код гостя. Мячи хозяина. Мячи гостя. Все.Вместе с 1-й таблицей это даст полную информацию по задаче. При такой схеме я не знаю как построить запрос, который бы суммировал все матчи участника (могу только отдельно домашние и гостевые) :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2008, 15:27:32 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=94&tid=1543488]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 369ms |

| 0 / 0 |
