Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Таблицы ассоциаций "много ко многим" или можно иначе? / 19 сообщений из 19, страница 1 из 1
13.10.2015, 17:35
    #39075891
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
Всем привет. В общем задача такая. Есть несколько производственных объектов со складами. Есть пул специализированного оборудования, причем оборудование на всех объектах однотипное, вплоть до одинаковых моделей. Но у разных видов этого оборудования естественно абсолютно разные типы, свойства и характеристики. Нужно составить БД по учету всего этого дела. Начал проектировать и пока получается то, что в аттаче.FACILITY - объекты, SUBFACILITY - склады/автомашины/другие места хранения оборудования, BOOMS - это боновые заграждения. SKIMMERS - это нефтесборщики. На каждом из объектов есть такие скиммеры и такие нефтесборщики, а также другое оборудование. Связываются с объектами через таблицы ассоциаций BOOMFACLINK и SKIMFACLINK. Вроде бы все нормально, но бонами и скиммерами пул оборудования не ограничивается. Там еще куча всего и все это с разными свойствами. Тут для двух видов огород такой уже нагородился, а если их десять или двадцать? :(. В общем подскажите пожалуйста, может быть можно как-то по-другому это все дело описать? Заранее спасибо.
...
Рейтинг: 0 / 0
13.10.2015, 17:46
    #39075901
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZВ общем задача такая.
А где, собственно, задача-то? Чего ты пытаешься достичь этой БД?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2015, 17:47
    #39075903
Serguei
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZВ общем подскажите пожалуйста, может быть можно как-то по-другому это все дело описать? Заранее спасибо.
Сделайте одну общую таблицу оборудования, а всю специфику разнесите "по звезде".

ZdenniZFACILITY - объекты, SUBFACILITY - склады/автомашины/другие места хранения оборудования, BOOMS - это боновые заграждения. SKIMMERS - это нефтесборщики. На каждом из объектов есть такие скиммеры и такие нефтесборщики, а также другое оборудование. Связываются с объектами через таблицы ассоциаций BOOMFACLINK и SKIMFACLINK.

Так доступно объясняете, что ничего не понятно. Врядли кто-то сможет вам помочь.
...
Рейтинг: 0 / 0
13.10.2015, 17:51
    #39075906
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
Dimitry SibiryakovА где, собственно, задача-то? Чего ты пытаешься достичь этой БД?


Задача в том, чтобы быстро формировать отчеты по наличию специализированных мощностей по ликвидации разливов нефти на каждом из объектов в отдельности и в целом по компании-оператору и содержать эти данные в максимально соответствующем действительности виде. В основном это для наших контролирующих органов, которым сегодня надо знать сколько метров у нас берегозащитного бона, а завтра сколько у нас общая мощность нефтесборщиков в кубах... Конечно есть все это в экселевых денормализованных таблицах, где сам черт ногу сломит, вот и решил "причесать" все это дело ))
...
Рейтинг: 0 / 0
13.10.2015, 17:55
    #39075911
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
SergueiТак доступно объясняете, что ничего не понятно. Врядли кто-то сможет вам помочь.

Да тут просто почему-то на написание сообщения дается единственный шанс, не отредактируешь. Хотя мне казалось, что из скриншота там более менее понятно все... )))
...
Рейтинг: 0 / 0
13.10.2015, 18:00
    #39075913
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZЗадача в том, чтобы быстро формировать отчеты по наличию специализированных
мощностей по ликвидации разливов нефти на каждом из объектов в отдельности и в целом по
компании-оператору и содержать эти данные в максимально соответствующем действительности
виде. В основном это для наших контролирующих органов, которым сегодня надо знать сколько
метров у нас берегозащитного бона, а завтра сколько у нас общая мощность нефтесборщиков в
кубах...

Тогда, с моей точки зрения, тебе нужны следующие таблицы:
1) Объекты
2) Виды оборудования
3) Оборудование поимённо
4) Связь оборудования с объектами
5) Список ключевых характеристик оборудования, которые нужны для отчётов
6) Связь характеристик (табл 5) с видами оборудования (табл 2)
7) Таблица значений характеристик, связанная с таблицами 3 и 5

Это, позволит решить задачу в отквоченном виде.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2015, 18:04
    #39075918
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZмне казалось, что из скриншота там более менее понятно все...
Скриншоты смотрят далеко не все.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2015, 18:18
    #39075926
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
Dimitry SibiryakovС моей точки зрения, тебе нужны следующие таблицы:
1) Объекты
2) Виды оборудования
3) Оборудование поимённо
4) Связь оборудования с объектами
5) Список ключевых характеристик оборудования, которые нужны для отчётов
6) Связь характеристик (табл 5) с видами оборудования (табл 2)
7) Таблица значений характеристик, связанная с таблицами 3 и 5

Это, позволит решить задачу в отквоченном виде.


Спасибо! Надо мне это осмыслить и попробовать в работе! Я правильно понимаю,что в таблице 5 в этом случае будет сборная солянка из кубометров, метров, лошадиных сил, пассажировместимости и т.д.?
...
Рейтинг: 0 / 0
13.10.2015, 18:34
    #39075931
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZЯ правильно понимаю,что в таблице 5 в этом случае будет сборная солянка из
кубометров, метров, лошадиных сил, пассажировместимости и т.д.?
Да. Но благодаря привязке к характеристикам и через них в виду оборудования, тебе не
придётся выбирать суммарную мощность в лошадиных силах всех заградительных бонов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.10.2015, 22:20
    #39076075
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZ Надо мне это осмыслить и попробовать в работе! Я правильно понимаю,что в таблице 5 в этом случае будет сборная солянка из кубометров, метров, лошадиных сил, пассажировместимости и т.д.? Сборная солянка будет в таблице 7. По достоинствам недостаткам EAV можно поискать по форуму.
Более скучный традиционный подход - это сделать эти характеристики банальными полями у таблицы "виды оборудования"
...
Рейтинг: 0 / 0
13.10.2015, 22:24
    #39076076
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZ Тут для двух видов огород такой уже нагородился, а если их десять или двадцать? :(То придется городить огород и для десяти/двадцати.
Даже с EAV чудес не будет. Более того, возможно будет легче стартовать, но сложнее поддерживать.
...
Рейтинг: 0 / 0
14.10.2015, 08:08
    #39076152
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
SERG1257Более скучный традиционный подход - это сделать эти характеристики банальными полями у таблицы "виды оборудования"

Спасибо! Только вот можно поподробнее об этом? Не совсем понятно, как это сделать. Ведь в таблице "виды оборудования" - разноплановое оборудование (боны, скиммеры, силовые установки, катера, лодки и т.д.). Как туда впихнуть столь же разноплановые их характеристики, чтобы потом им как-то нормально можно было присваивать Values?
...
Рейтинг: 0 / 0
14.10.2015, 16:07
    #39076687
DirksDR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZВедь в таблице "виды оборудования" - разноплановое оборудование... Как туда впихнуть столь же разноплановые их характеристики, чтобы потом им как-то нормально можно было присваивать Values?
Типы характеристик для каждого типа оборудования будут в другой таблице (в 5-й).
Связь характеристики с типом оборудования в 6-й.
Попробую пояснить:

1) Объекты
2) Виды оборудования
3) Оборудование поимённо (экземпляры оборудования, ид, название, инвентарный номер, остаточная стоимость, т.е.общие/ стандартные характеристики для всех видов)
4) Связь оборудования с объектами (если оборудование может передаваться с объекта на объект, хорошо бы добавить даты начала и конца существования оборудования на данном объекте)
5) Список ключевых характеристик оборудования, которые нужны для отчётов(перечень нестандартных характеристик)
6) Связь характеристик (табл 5) с видами оборудования (табл 2) (перечень нестандартных характеристик для каждого вида оборудования)
7) Таблица значений характеристик, связанная с таблицами 3 и 5 (значения нестандартных характеристик для каждого экземпляра оборудования)
...
Рейтинг: 0 / 0
14.10.2015, 16:35
    #39076716
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
DirksDRПопробую пояснить:

1) Объекты
2) Виды оборудования
3) Оборудование поимённо (экземпляры оборудования, ид, название, инвентарный номер, остаточная стоимость, т.е.общие/ стандартные характеристики для всех видов)
4) Связь оборудования с объектами (если оборудование может передаваться с объекта на объект, хорошо бы добавить даты начала и конца существования оборудования на данном объекте)
5) Список ключевых характеристик оборудования, которые нужны для отчётов(перечень нестандартных характеристик)
6) Связь характеристик (табл 5) с видами оборудования (табл 2) (перечень нестандартных характеристик для каждого вида оборудования)
7) Таблица значений характеристик, связанная с таблицами 3 и 5 (значения нестандартных характеристик для каждого экземпляра оборудования)

Спасибо, но вы здесь несколько другими словами описали предложение Дмитрия. Его я понял с самого начала. Вопрос был по предложению SERG1257, по которому список ключевых характеристик оборудования переходит в таблицу видов оборудования, т.е. №2.
...
Рейтинг: 0 / 0
14.10.2015, 16:58
    #39076740
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
ZdenniZ Ведь в таблице "виды оборудования" - разноплановое оборудование (боны, скиммеры, силовые установки, катера, лодки и т.д.)А как вы с этим работать собираетесь? Как искать, что печатать.
В общем виде - если все это хозяйство реально нужно (вы не ищете катера среди лодок, и не мешаете боны со скиммерами) то
один вид оборудования - одна таблица.
Плюс таблица общий предок
create table devices (device_id int primary key, name varchar, some_common fields)
create table BOOMS (device_id int primary key references devices, some_booms fields)
create table SKIMMERS (device_id int primary key references devices, some_skimmers fileds)
и т.д.

Если же свойства нахрен не нужны - только для печати типа поле description - тогда можете все пихать в одну таблицу

Еще раз повторю если вы реализуете через EAV (таблицы 1-7) - структура базы будет проще (таблиц меньше), но жизнь это вам не облегчит, работать с такой "упрощенной" структурой будет сложнее, поиск будет медленнее в разы.
Сложность вашей модели (со всеми типами оборудования и их характеристиками) она с помощью EAV не убирается - она прячется как страус из словаря СУБД (описания таблиц, полей и связей) в вашу прикладную программу.
...
Рейтинг: 0 / 0
14.10.2015, 17:12
    #39076754
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
SERG1257работать с такой "упрощенной" структурой будет сложнее, поиск будет
медленнее в разы.
У него нет задачи поиска оборудования по характеристикам.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.10.2015, 17:20
    #39076762
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
одновременно обрабатываются только общие характеристики. Детали - только применительно к конкретному оборудованию или его типу. Самым оптимальным выглядит последнее предложение от SERG1257 18279012
...
Рейтинг: 0 / 0
14.10.2015, 17:27
    #39076768
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
SERG1257Еще раз повторю если вы реализуете через EAV (таблицы 1-7) - структура базы будет проще (таблиц меньше), но жизнь это вам не облегчит, работать с такой "упрощенной" структурой будет сложнее, поиск будет медленнее в разы.
EAV еще может оправдано применять в тиражируемых решениях, когда у разработчика банально нет возможности получить доступ к БД, логике или к интерфейсу программы. Но так как все "свое" (если я правильно понял), то оправдать построение по принципам EAV можно разве что академическим интересом
...
Рейтинг: 0 / 0
15.10.2015, 17:05
    #39077889
ZdenniZ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Таблицы ассоциаций "много ко многим" или можно иначе?
SERG1257Плюс таблица общий предок
create table devices (device_id int primary key, name varchar, some_common fields)


А вот это отличная идея! Это дает возможность иметь только одну таблицу ассоциации с объектом всех единиц оборудования сразу, а не по одной для каждого вида оборудования, как у меня было изначально (boomfaclink, skimfaclink). Спасибо!
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Таблицы ассоциаций "много ко многим" или можно иначе? / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]