Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Структура БД   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.039 c
6-1086540204
RAshka
2004-06-06 20:43
2004.08.15
опять таки - Как узнать рабочую группу компьютера? НО.......


14-1091273626
Cheater
2004-07-31 15:33
2004.08.15
Дрянь какая-то случилось с IE! Помогите!


14-1090677468
Кириешки
2004-07-24 17:57
2004.08.15
Помогите люди бедному программисту...


6-1087293736
webpauk
2004-06-15 14:02
2004.08.15
Игры


3-1090296026
din
2004-07-20 08:00
2004.08.15
Подскажите пожалуйста, что нужно установить на сервер