|
|
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
Как в двух словах озаглавить так и не придумал :) Итак, есть БД, в которой кроме всего прочего ведется и учет железа фирмы. Для примера возьмем принтеры, принтсерверы и сетевые карты. Необходимо всё это связать друг с другом (какой принтер к какому принтсерверу подключен и т.п.) Есть одна общая таблица (для всех железок), где ведется уникальный id, а также бухгалтерская инфа. Вопрос: какова правильная структура базы? В случае таблички привязок (id привязки, id1, id2) может получиться так, что к примеру сетевушка привязывается и к принтеру и к принтсерверу. id1 всегда сетевушка, соотв. id2 это и принтсервера и принтеры. Если теперь придется привязать принтеры к принтсерверам - в итоге айдишки к примеру принтера окажутся и в поле id1 и в поле id2. В случае необходимости показать все железки, прикрученные к принтерам - запрос перестает быть тривиальным. Писать сложные запросы? Или все же структура должна быть другой? Заранее спасибо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 14:33 |
|
||
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
Вот описанная мной ситуация, которая потребует нетривиального запроса (получить все прикрученные к принтерам железки). В данном случае должны выдаваться NIC1 и PRNSRV1. Слова были вставлены для наглядности, естественно там числовые айди должны быть :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 14:36 |
|
||
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
За целый день никто не ответил :) Видимо, надо было внагляк в аксессном форуме запостить ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 17:24 |
|
||
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
Не нужно пугаться заранее - нормальная структура и запрос не из тяжелых. select case :p when id1 then id2 else id1 end as connected_Id from t where :p in (id1,id2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 17:35 |
|
||
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
таблица железо с фишкуком: hard_id parent_id - ссылка на родителя type_id - на справочник что это - винт, сетевуха, принтер, ящик ... hard_name + твоя связи: id1 id2 ссылаются на id_hard тоже хотели в конторе замутить, да че-то передумали. говорят есть какая-то мелкософтовская смс - типа сама все учитывает ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 18:51 |
|
||
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
гм...таблица железо с фишкуком ака свиное ухо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 19:20 |
|
||
|
проектирование (простой вопрос).
|
|||
|---|---|---|---|
|
#18+
ModelRНе нужно пугаться заранее - нормальная структура и запрос не из тяжелых. Глаза боятся, а руки делают :) Уже слепил тестовую базку, попробовал запросы поделать... один маленький юнион, и на основе этого юниона уже можно лепить все что угодно :) 2 гм: я эту базу уже год пишу. Не потому что медленно пишу, там делов макс. на месяца два... а потому что требования к базе меняются на лету :) Вчера мы не учитывали сетевушки, вообще не было такого объекта, айпи прикручивались к железу... а сегодня захотелось мак адреса иметь в базе... А это изменение модели данных, форм, отчетов, миграция данных... хех :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2007, 19:24 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34394219&tid=1544682]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 552ms |

| 0 / 0 |
