|
|
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Ну вот смотрите: в этом обсуждении раз сто было сказано: проектирование структуры данных для соревнований - только посредством регламента. И что? Соседний тред - хочу базу данных для футбольной статистики. Во-первых, автор темы про футбол наверняка не читал этот топик. Я бы то же на его месте не читал. Поставщики и потребители как-то слабо соотносятся с футбольной статистикой которую он пишет. Во-вторых, он пишет не базу для соревнований, а базу, охватывающую множество различных соревнований, каждое из которых может иметь свой регламент. Впрочем, это тоже офтоп, как и футбол или вагоны в данней теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 07:58:04 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
> Во-первых, автор темы про футбол наверняка не читал этот топик. Поиск придумали дебилы для дебилов. Нормальные пацаны не любят читать, они любят писать. Я правильно понял вашу мысль? > Во-вторых, он пишет не базу для соревнований, а базу, охватывающую множество различных соревнований, каждое из которых > может иметь свой регламент. Это ничего не меняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 10:45:08 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
AndreiКrНо как-то слишком сложно... Вы учтите, что человек, задавший вопрос только учится проектировать БД Простейший неидеальный пример для чайников. Берем для примера поставщиков. Вводим понятие реестра поставщиков. В нем только ссылки на субъектов (справочник субъектов один на всех), которые могут быть поставщиками. Далее в реестре поставщиков добавляем "обвески" типа "блокирован", "сертифицирован", "разрешен", "минимальный срок поставки" и т.п. Эти признаки влияют только на использование субъекта как поставщика. Например, если блокирован поставщик, то он блокирован только как поставщик, но не как субъект в целом. Так понятнее будет? Аналогично делается реестр покупателей, реестр банков (впрочем, с банками все сильно сложнее ввиду наличия разнородных справочников типа БИК/BLZ и т.п., имеющих разную, подчас идиотскую, структуру) и т.п. Визуально это может быть отдельная закладка в справочнике субъектов на каждый реестр, а может быть отдельный справочник на каждый реестр, с точки зрения структуры БД это без разницы. На каждый реестр пишется регламент. Например, по умолчанию запись в реестр добавляется без признака "разрешен" и необходима процедура визирования. Или регламент блокировки записи в реестре. И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 12:00:56 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
2 Сергей Васкецов Т.е. уходим от варианта использования операций (или, как некоторые выражаются, ролей), как то поставка, приобретение, передача в собственность и т.д. и возвращаемся к схеме в которой есть единый справочник субъектов хоз. деятельности (контрагентов), окруженный связанными с ним таблицами Поставщики, Покупатели, Дарители и т.д. В каждой из таких таблиц обязательно присутствует поле - ссылка на единый справочник контрагентов и поля, специфичные для данной операции (выделены синим цветом). Таблица Контрагенты : Код - Название - Адрес 1 - Автозавод - Москва 2 - Тепловозостроительный завод - Луганск 3 - Молокозавод - Ярославль ... Таблица Поставщики : "Свой" код - "Чужой" код - Срок поставки - Тип тары 1 - 2 - 10 дней - ящик 1 - 3 - 1 день - бутыль ... Таблица Покупатели : "Свой" код - "Чужой" код - Место разгрузки 2 - 3 - склад 3 - 1 - оффис ... Напомню, что данная схема учитывает возможность ведения учета по нескольким предприятиям . "Свой" код и "Чужой" код - в соответствии со справочником Контрагентов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2008, 22:52:41 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
В очередной раз спрашиваю: зачем поставщики и покупатели разделены? Не пойму. Чего-то недоговариваете. Я бы еще понял разделение на возможные поставщики и возможные покупатели, чтобы как бы показать у кого, например, есть договорные отношения на поставку/преобретение чего-либо. А разделять сущности на поставщиков и покупателей при учете фактически произошедших транзакций.... Не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 09:20:16 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
kordaТаблица Поставщики : "Свой" код - "Чужой" код - Срок поставки - Тип тары 1 - 2 - 10 дней - ящик 1 - 3 - 1 день - бутыль ... Вердикт: таблица названа не правильно! korda Таблица Покупатели : "Свой" код - "Чужой" код - Место разгрузки 2 - 3 - склад 3 - 1 - оффис ... Вердикт: таблица названа не правильно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 09:22:04 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
KOT MATPOCKuH, Поставщики имеют атрибуты, отличные от Покупателей. Поставщик, например, может быть сертифицирован (об этом говорилось выше), а для Покупателя этот атрибут не имеет смысла. В силу этой причины разносим их по разным таблицам, тем не менее, поместив общие атрибуты в таблицу Контрагенты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2008, 16:49:41 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
kordaНапомню, что данная схема учитывает возможность ведения учета по нескольким предприятиям Позволю себе остаться при своем незыблемом мнении, и Вам его практически навязываю, что корректная реализация " возможности ведения учета по нескольким предприятиям " в рамках одной БД реализуется прежде всего начиная с системы разграничения прав доступа, а не подобными костылями в виде кросс-таблиц. Поэтому в рамках данного топика обсуждать множество юрлиц в одной БД вообще бессмысленно, и акцентировать внимание на этом не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 10:21:07 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
kordaПоставщики имеют атрибуты, отличные от Покупателей. Не так уж их много, отличных, а дисковое пространство ныне дешево и не страшно, что часть атрибутов будет незадействовано. Зато дорого обходиться время разработки. И писать два комплекта практически одинаковых запросов, хранимок, вьюх и тригеров занимает в два раза больше времени и чревато в два раза большим количеством ошибок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 18:12:52 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовkordaНапомню, что данная схема учитывает возможность ведения учета по нескольким предприятиям Позволю себе остаться при своем незыблемом мнении, и Вам его практически навязываю, что корректная реализация " возможности ведения учета по нескольким предприятиям " в рамках одной БД реализуется прежде всего начиная с системы разграничения прав доступа, а не подобными костылями в виде кросс-таблиц. Поэтому в рамках данного топика обсуждать множество юрлиц в одной БД вообще бессмысленно, и акцентировать внимание на этом не стоит. Вы имеете ввиду, что желательно строить для каждого из предприятий отдельную схему, давать права доступа на объекты каждой из схем соответствующим пользователям, т.е. грубо говоря создавать несколько логических баз данных в рамках одной физической. Это Вы хотели сказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 21:59:13 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2kordaПоставщики имеют атрибуты, отличные от Покупателей. Не так уж их много, отличных, а дисковое пространство ныне дешево и не страшно, что часть атрибутов будет незадействовано. Зато дорого обходиться время разработки. И писать два комплекта практически одинаковых запросов, хранимок, вьюх и тригеров занимает в два раза больше времени и чревато в два раза большим количеством ошибок. Данный вопрос обсуждался здесь (пример с беременными мужчинами). Лично я склоняюсь к мнению, что не должно быть в таблице незадействованных полей. По крайней мере, нужно по возможности избегать этого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 22:12:23 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
kordaЛично я склоняюсь к мнению, что не должно быть в таблице незадействованных полей. По крайней мере, нужно по возможности избегать этого. Лично я считаю, что уменьшение количества таблиц более важно, чем наличие незадействованых полей. При этом я руководствуюсь: Edgar Coddправило 1: Явное представление данных (The Information Rule): Информация должна быть представлена в виде данных, хранящихся в ячейках. Данные, хранящиеся в ячейках, должны быть атомарны. Порядок строк в реляционной таблице не должен влиять на смысл данных. В случае деления контрагентов на поставщиков/покупателей, людей - на мужчин/женщин и хранения их в разных таблицах получается, что часть информации о базе хранится в голове разработчика, а не в ячейках. Что также по духу противоречит: Edgar Coddправило 4: Доступ к словарю данных в терминах реляционной модели (Active On-Line Catalog Based on the Relational Model): Словарь данных должен сохраняться в форме реляционных таблиц , и СУБД должна поддерживать доступ к нему при помощи стандартных языковых средств, тех же самых, которые используются для работы с реляционными таблицами, содержащими пользовательские данные. ========= Но, конечно, незадействованых ячеек избегать надо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2008, 23:45:53 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2получается, что часть информации о базе хранится в голове разработчика, а не в ячейках. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2008, 00:33:57 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Cat2kordaПоставщики имеют атрибуты, отличные от Покупателей. Не так уж их много, отличных Не стоит обобщать. Бывают и другие задачи, кроме учета. Посмотрел в одной из наших баз. Таблицы Поставщики и Покупатели - более 20 своих полей у каждой. Кроме того Поставщики связаны с десятью другими таблицами, а Покупатели с двадцатью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 10:19:01 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
> Таблицы Поставщики и Покупатели - более 20 своих полей у каждой. Отправьте ее на конкурс кривых поделок. Если не первый приз, то место в тройке призеров обеспечено. Не бывает у них разных атрибутов. По определению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 19:17:07 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621Не бывает у них разных атрибутов. По определению. Просто у нас с Вами разные определения Поставщиков и Покупателей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 06:20:21 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
> Просто у нас с Вами разные определения Поставщиков и Покупателей Уважаемый, ничего разного здесь быть не может. Опять же по определению. Есть одноразовые поделки обкуренных китайских первоклассников, которые понятия не имеют о российском законодательстве, и есть структуры данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 10:50:24 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
guest_20040621 , Чуть подробнее про обкуренных китайских первоклассников можно?)) Вы имеете ввиду, что поставщики и потребители должны иметь один и тот же набор атрибутов вследствие того, что логика взаимодействия системы с Потребителем и Поставщиком должна быть одинакова в принципе? Потребитель: потребляет Товар - поставляет Деньги Поставщик: потребляет Деньги - поставляет Товар Получается, что Потребитель и Поставщик симметричны, собственно, как симметричны и то, чем они обмениваются - Деньги и Товар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 01:23:30 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Пробежал тему наискось, может и не заметил, поправте если что. Контрагент, в данном случае это некая организация или чп, может в одном случае быть поставщиком, в другом покупателем. Но как контрагент он у нас вводится один раз в таблицу контрагенты Тбл. контрагенты ID Наименование. ИНН... и т.д. Но нам его нужно разделить. Вводим еще одну таблицу, расчеты с контрагентами или лицевые счета контрагентов кому как нравится Тбл. Лицевые ID Номер ЛС Тип лицевого - закупка или поставка (с нашей стороны) ID контрагента Сумма закупки - можно разделить с ндс без ндс Сумма поставки - тоже самое. Ну и так далее Все больше ничего не нужно. К этим ЛС можно визать документы, по ним можно строить отчеты в общем ограничены только возможностями и знаниями SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 09:26:19 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
andreychрасчеты с контрагентами или лицевые счета контрагентов кому как нравится Никак не нравится. Чтобы платежные реквизиты стали лицевыми счетами, необходимо, чтобы дело происходило в банке, к тому же "лицевой счет" - сильно обобщенное понятие. А уж "расчеты с контрагентами" вообще не в тему, это никакие не расчеты. Можете назвать "расчетные счета", это более нейтрально и корректно, если не вдаваться в дебри SWIFT и его форматов, хотите - добавьте прилагательное "банковский" в сответствующем числе и падеже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 09:50:32 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
kordaлогика взаимодействия системы с Потребителем и Поставщиком должна быть одинакова в принципе? Так не бывает в принципе. Бизнес-логика взаимодействия с поставщиками и покупателями всегда разная. Соответственно, насколько эта бизнес-логика (в части объектов, их структур и взаимосвязей) отражена в структуре БД, настолько используемая структура БД должна отличаться в части поставщиков и покупателей. Если исходить из того, что любой покупатель в любой момент теоретически может стать поставщиком, то тогда просто остаются некоторые неиспользуемые атрибуты. Если исходить из той крайности, что любые атрибуты можно натянуть на EAV, тогда это уже другой коленкор (см. 3-е предложение выше). Можете предложить свой вариант атрибута, который есть только у поставщика или только у покупателя, а guest Вам скажет, почему Вы обгадились (используя оригинальную терминологию). Впрочем, строго доказать это для любого атрибута вряд ли представляется возможным, особенно с учетом того, что могут быть некие уникальные атрибуты, связанные со спецификой конкретного предприятия. kordaсимметричны и то, чем они обмениваются - Деньги и Товар. Это глупость. Симметричны они могут быть (или не быть) только в рамках конкретных договорных отношений как некие обязательства. Например, в случае договора цессии ни о какой симметрии вообще речи быть не может. Аналогично в случае договора дарения,... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 10:03:14 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Сергей Васкецов Бизнес-логика взаимодействия с поставщиками и покупателями всегда разная. Соответственно, насколько эта бизнес-логика (в части объектов, их структур и взаимосвязей) отражена в структуре БД, настолько используемая структура БД должна отличаться в части поставщиков и покупателей. Если исходить из того, что любой покупатель в любой момент теоретически может стать поставщиком, то тогда просто остаются некоторые неиспользуемые атрибуты. Можете предложить свой вариант атрибута, который есть только у поставщика или только у покупателя, а guest Вам скажет, почему Вы обгадились (используя оригинальную терминологию). Впрочем, строго доказать это для любого атрибута вряд ли представляется возможным, особенно с учетом того, что могут быть некие уникальные атрибуты, связанные со спецификой конкретного предприятия. Именно. Специфика существует и она влияет на структуру БД. В нашем случае, есть, например, такой атрибут - прайс-лист, который есть у Поставщика и отсутствует у Покупателя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 10:54:43 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
stiВ нашем случае, есть, например, такой атрибут - прайс-лист, который есть у Поставщика и отсутствует у Покупателя. Ошибаетесь. Прайс-лист есть и для покупателей, и для поставщиков. Просто по одним прайс-листам продают, а по другим покупают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 10:56:45 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовstiВ нашем случае, есть, например, такой атрибут - прайс-лист, который есть у Поставщика и отсутствует у Покупателя. Ошибаетесь. Прайс-лист есть и для покупателей, и для поставщиков. Просто по одним прайс-листам продают, а по другим покупают. У Поставщика есть прайс-лист, по которому покупают Покупатели (упрощенно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 11:17:17 |
|
||
|
Поставшики могут быть потребителями и наоборот. Как правильно задать схему данных?
|
|||
|---|---|---|---|
|
#18+
stiУ Поставщика есть прайс-лист, по которому покупают Покупатели (упрощенно). А у Покупателя есть прайс-лист, по которому продают Поставщики (не менее упрощенно). Если не вдаваться в тонкости ценообразования, ибо сейчас это просто неважно, кто и как формирует прайс-лист, то сам по себе прайс-лист (как перечень актуальных цен на позиции номенклатуры для определенной группы контрагентов) применим как при продажах, так и при покупках. Что тут можно еще обсуждать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 12:27:16 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35658837&tid=1543488]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 464ms |

| 0 / 0 |
