Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
ВнизСтруктура БД Найти похожие ветки
← →
MORA (2004-07-12 13:31) [0]Вот ломаю голову над структурой своей БД, никак не сломаю...
Помогите хоть в чем-то!
Есть 4 таблицы: Заказы, Заказчики, Объекты и Системы. Я не знаю еще как их связать, но логика должна быть такой: в форме оформления заказа (данные вносятся в табл. Заказы) я должен выбрать Заказчика, в зависимости от заказчика - объект, в зависимости от объекта - систему.
У меня получается так, что связи замыкаются в кольцо. Но ведь это же неправильно?
← →
Johnmen © (2004-07-12 13:33) [1]Кольца не видно...
← →
MORA (2004-07-12 13:39) [2]1) в Заказах поле Заказчик берется из табл. Заказчики.
2) в Заказах поле Объект берется из табл. Объекты.
3) в Объектах поле Заказчик берется снова из табл. Заказчики.
← →
Курдль © (2004-07-12 13:39) [3]
ЗАКАЗ >---+ СИСТЕМА >---+ ОБЪЕКТ >---+ ЗАКАЗЧИК
← →
VadimKV (2004-07-12 13:40) [4]Кольцо ни чего страшного! Если не используешь каскадное обновление и удаление данных.
← →
Курдль © (2004-07-12 13:41) [5]
> MORA (12.07.04 13:39) [2]
> 1) в Заказах поле Заказчик берется из табл. Заказчики.
> 2) в Заказах поле Объект берется из табл. Объекты.
> 3) в Объектах поле Заказчик берется снова из табл. Заказчики.
Нафига?
Выбираешь систему - остальное само подставляется (но это если что ты правильно поставил зависимости в [0])
← →
bushmen © (2004-07-12 13:44) [6]С Заказчиками, объектами и заказами понятно. А что такое Система ?
← →
Johnmen © (2004-07-12 13:45) [7]>MORA (12.07.04 13:39) [2]
Снова не видно кольца...:)
← →
MORA (2004-07-12 13:50) [8]например, Заказчик - строительная фирма. Он покупает у меня оборудование (например, электрические розетки). Заказчик строит много ОБЪЕКТОВ (например, гостиницу, бар, квартиру). Каждый объект может иметь СИСТЕМУ (вентиляции, освещения, ...). Для каждой из этих систем используются мои розетки. Розетки я привяжу к заказам таблицей ЗАКАЗАНО, а как остальные завязать?
← →
bushmen © (2004-07-12 14:05) [9]Через Справочник оборудования (прайс) и таблицы вхождения оборудования в Систему
← →
Курдль © (2004-07-12 14:18) [10]
> MORA (12.07.04 13:50) [8]
Это окончательный вариант, или Вы еще будете "уточнять"?СИСТЕМА +-----< ЗАКАЗ >---+ ОБЪЕКТ >---+ ЗАКАЗЧИК
← →
Курдль © (2004-07-12 14:20) [11]Даже не так:
ЭЛЕМЕНТ +-----< ЗАКАЗ >---+ СИСТЕМА >---+ ОБЪЕКТ >---+ ЗАКАЗЧИК
← →
bushmen © (2004-07-12 14:21) [12]> Курдль © (12.07.04 14:18) [10]
Тут еще Оборудования не хватает
← →
Курдль © (2004-07-12 14:26) [13]я имел в виду "ЭЛЕМЕНТ ОБОРУДОВАНИЯ"
← →
bushmen © (2004-07-12 14:36) [14]2MORA:
А зачем тебе вообще Система нужна? Неужели ты будешь бегать за заказчиком и смотреть, чтобы он действительно выключатель с серийным номером АА установил в ту систему, а не иную? :)
← →
MORA (2004-07-12 15:43) [15]
> ЭЛЕМЕНТ +-----< ЗАКАЗ >---+ СИСТЕМА >---+ ОБЪЕКТ >---+ ЗАКАЗЧИК
>
Ну да. Конечно. Вопрос снят. Я именно так и сделал. Я просто мысленно не отделил таблицы от формы.
← →
MORA (2004-07-12 15:56) [16]
> А зачем тебе вообще Система нужна? Неужели ты будешь бегать
> за заказчиком и смотреть, чтобы он действительно выключатель
> с серийным номером АА установил в ту систему, а не иную?
> :)
я пример привел гипотетический. Я занимаюсь более серьёзными вещами нежели выключатели. И они действительно имеют серийные номера и не дай бог её не туда вставить.
← →
MORA (2004-07-20 13:09) [17]получилось, что такая структура у меня:
ЭЛЕМЕНТ +-----< ЗАКАЗ >---+ СИСТЕМА >---+ ОБЪЕКТ >---+ ЗАКАЗЧИК
> Курдль © (12.07.04 13:41) [5]
> Нафига?
>
> Выбираешь систему - остальное само подставляется (но это
> если что ты правильно поставил зависимости в [0])
но... что означает "остальное само подставляется" ?
Понятно, что я храню в ЗАКАЗАХ только СИСТЕМУ. Но в форме-то я вначале выбираю ЗАКАЗЧИКА.
Допустим, открывается форма редактирования заказа. Ну СИСТЕМУ он нашел. А все, что якобы должно подставиться ручками искать в OnActivate или как?
← →
MORA (2004-07-20 14:13) [18]???
← →
CrazyElk © (2004-07-20 19:22) [19]2 MORA для начала забудь как это выглядит на экране и постарайся ответить на вопрос нумбер 1 (сам себе в первую очередь).
>в зависимости от заказчика - объект, -- значит ли это что эти обьекты принадлежат этому заказчику и никакому другому или это значит что заказчик имеет право работать с этим обьектом (или обьектом такого типа) (и возможно другие заказчики с ЭТИМИ ЖЕ обьектом/типом тоже имеют право работать)
Аналогично по
>в зависимости от объекта - систему -- принадлежит ли система обьекту (или обьекту принадлежит экземпляр обьекта типа система или система связанна с обьектом и возможно с другими обьектами тоже)
Вопросы собственно о терминологии. Система это экземпляры системы или справочник видов систем. Тип связи один к одному один ко многим, принадлежность или ссылка и т.д. и т.п.
Вот отвечая на такие вопросы (а не как это выглядит на экране) и рисуем связи и структуру БД.
В зависимости от ответов число таблиц может сильно увеличится. Например если слово "система" подразумевает справочник видов систем а по фраза "по заказчику выбираем систему" то что заказчик имеет право работать только с определенными видами этих систем и в заказ может попасть только те системы с какими заказчик имеет право работать то добавлется справочник разрешенных заказчику систем. А на поля (скажем нам очень важен оперативный просмтр и отбор заказов по системам) код зказчика и код системы в заказе наложится еще и связь с этим спрвочником в дополнение к связям на заказчика и на систеу. БД и по другому можно спроектировать тут по месту смотреть надо что и когда оттуда брать будут, как и как часто добавлять/менять. Что делать со старыми заказами если заказчику запретили заниматься системой стрерть записи или предотвратить ввод новых. Короче ты все понял.
WBR CrazyElk
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.031 c