powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу помощи в проектировании бд для газодобывающего предприятия
25 сообщений из 27, страница 1 из 2
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39751826
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день форумчане!

Я, можно сказать новичок в этом деле, т.к это моя первая работа, и опыт проектирования только на уровне курсовых и дипломной.
Собственно суть задачи : Хранить информацию об обследованиях технологического оборудования(Тех. нитки, ГСК, скважины, ФА, стыки скважин) на нескольких месторождениях.
У предприятия может быть несколько месторождений,и на каждом из них может быть 1 и более газовых промыслов(ГП). На ГП есть множество так называемых технологических ниток, которые обследуются специальным оборудованием и из них берутся пробы газа и т.д. Помимо тех. ниток к каждому ГП приходят газосборные коллекторы(с каждого куста по одной ГСК), которые также обследуются. Скважины сгруппированы в кусты, и на них обследуется отдельно фонтанная арматура(ФА) и обвязка(стыки на трубе).

Получились следующие зависимости :
1) МР-ГП-тех. нитки
2) МР-ГП-Кусты-ГСК
3) МР-ГП-Кусты-скважина-ФА
4) МР-ГП-Кусты-скважина-стыки

Зависимостей много(по крайней мере для меня), и как всё связать, чтобы избежать избыточности данных, и можно было однозначно определить например с какого МР-ГП-куста скважина или позиция на ней..
В жизни ГП на разных месторождениях могут называться одинаково, например ГП1, ГП2, аналогично для кустов. Поэтому я сделал справочники для месторождений( tblFields ), ГП( tblGfs ), кустов( tblClusters ) связал их в таблице tblTechEquip, а уже эту связку привязываю к таблице скважин( tblWells ). Таблицу скважин связываю с таблицей стыков( tblJoints ) один ко многим, так же думаю связать ФА. Таблица tblTechToSurv связующая таблица с обследованиями и техн. оборудованием, в ней есть общее поля даты, но т.к обследования бывают разные для них я делаю отдельные таблицы, для примера tblUtm . Не знаю правильный ли это подход.. И как связать МР-ГП-Куст-скважина, МР-ГП-Кусты-скважина-стыки, если я добавлю их в tblTechEquip , то получится избыточность мр, гп и кустов..
Я немного в запутанности, и прошу помощи.. Буду благодарен любому ответу форумчан!
Какая схема на данный момент получилась прикладываю к посту.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39751964
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazanХранить информацию об обследованиях технологического оборудования(Тех. нитки, ГСК, скважины, ФА, стыки скважин) на нескольких месторождениях.


Я не понял что является вашей базовой сущностью, которую надо хранить. Что есть "информация об обследованиях" и где схема под нее.

Пока что ваша схема выглядит скорее как библиотека со структурой оборудования и мест, что, мне кажется, является сопутствующей задачей.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752020
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PizzaPizza,

А как выделить базовую сущность? От чего плясать?
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752048
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazan, а сама информация об обследовании где храниться будет?
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752158
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин,

Таблица tblUtm это отдельный вид обследования, к примеру узт, и т.к может быть несколько видов обследований(не знаю лучший ли это вариант), в таблице TechToSurv связываю обследуемый объект с видом обследования по ключам guid.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752289
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazan, как-то сложно воспринимать весь пост из-за специфичной прикладной лексики ;)

Начнем с того, что ты хранишь некие обследования. Обследуешь ты некое технологическое оборудование. Понятно, что оборудование между собой имеет очень мало общего, но нам точно нужен тип оборудования.

Имеем сущность: Обследование , Технологическое оборудование , Тип технологического оборудования

Получаем твои таблицы:
r_examinations , r_tech_equips , r_tech_equip_types

Оборудование, как понятно из ТЗ - у нас очень сильно разное с разными свойствами. Следующий вопрос такой: будет ли поиск обследований по каким-либо из признаков технологического оборудования, кроме названия и типа? Если да, то скорее всего, придется делать под каждый тип оборудования - отдельную таблицу.

Допустим, под каждый тип оборудования мы делаем отдельную таблицу с отдельным набором атрибутов. Каждый тип оборудования мы свяжем с таблицей родителем - r_tech_equips , куда вынесем все общие признаки: код, название, тип оборудования, может что-то еще.
Итого: +сколько то таблиц: тех. нитки, ГСК, скважины, ФА, стыки скважин, каждая из которых является подчиненной с родительской: r_tech_equips .

Дальше мы должны как я понял - привязать технологическое оборудование к всяким кустам, месторождениям и так далее.

Пусть первое тех оборудоваие - стыки скважин. Нам нужны скважины?
r_wells +таблица связи скважин и оборудования c_well_equip

скважины мы связываем вроде как в кусты по аналогии: +таблица кустов, +таблица связи куст-скважина

Ну и так далее.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752475
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazanPizzaPizza,

А как выделить базовую сущность? От чего плясать?

Задача, если я правильно понял, в хранении некоторых "обследований". То есть надо начитать от структуры обследования: что это такое, какие атрибуты есть, какой возможный формат данных у этих атрибутов, нужно ли выносить эти атрибуты в отдельные сущности или библиотеки и тп.

Например есть сущность автомобиль. Для производителя это один набор атрибутов, для салона продаж другой. Атрибуты могут пересекаться, но важно понять специфику именно вашей системы и плясать в одном случае от автомобиля как от сборочной единицы, а в другом, как от сущности на продажу.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752515
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PizzaPizzaНапример есть сущность автомобиль. Для производителя это один набор атрибутов, для салона продаж другой. Атрибуты могут пересекаться, но важно понять специфику именно вашей системы и плясать в одном случае от автомобиля как от сборочной единицы, а в другом, как от сущности на продажу.Достаточно придумать некий механизм хранения произвольных признаков.
И тогда хоть автомобиль, хоть туфли, хоть скважины, хоть недвижимость.
Все это можно построить на абсолютно одном механизме. И даже внутри одной системы.

2 ТС: имейте ввиду, что требования к системе имею свойство постоянно меняться в сторону усложнения. И важно чтобы при этом менялись только настройки, а не структура всей системы. В идеале конеш.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752532
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo,

Лично я не пользуюсь универсальными решениями для специализированных задач. У тс вроде не стоит задача написать 1с или crm универсальную.

Опять же, вопрос в том, что ТСу надо хранить некоторые обследования (результаты или процедуры или процесс или и то и другое и третье?), но он не выделил эту сущность как основную, а проектирует сопутствующие библиотеки, что не однозначно потребуется и точно не требуется, пока не определена основная сущность и, следовательно, не совсем понятно как связывать атрибуты из библиотек с самими обследованиями.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752610
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argoPizzaPizzaНапример есть сущность автомобиль. Для производителя это один набор атрибутов, для салона продаж другой. Атрибуты могут пересекаться, но важно понять специфику именно вашей системы и плясать в одном случае от автомобиля как от сборочной единицы, а в другом, как от сущности на продажу.Достаточно придумать некий механизм хранения произвольных признаков.
И тогда хоть автомобиль, хоть туфли, хоть скважины, хоть недвижимость.
Все это можно построить на абсолютно одном механизме. И даже внутри одной системы.

2 ТС: имейте ввиду, что требования к системе имею свойство постоянно меняться в сторону усложнения. И важно чтобы при этом менялись только настройки, а не структура всей системы. В идеале конеш.

eav еще никто не озвучил, но в воздухе уже витает дух холивара.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752618
PizzaPizza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

Ну какой холивар. Я очень люблю господина Пж eav, и применяю например когда клиент не может озвучить ограничение на сущность. Но, слава богу и возможности понимать клиента, большинство вопросов решаются более плоскими способами.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752641
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чо вы суетитесь

автор, делай чего-нибудь. не увязая в детали - сейчас на этом уровне не до них, у тебя нет внятного постановщика/аналитика, а сам ты предметной областью не владеешь. это все равно будет прототип, на котором тебе покажут что хотели на самом деле. а сам прототип за исключение "пары удачных кусков" пойдет в мусорное ведро

в идеале - аккуратно донести эту мысль до заказчика. чтобы потом не было мучительно больно по обе стороны договора (или чего вас там связывает)
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752646
МодальноеОкно
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и думать надо как отражать актуальную структуру оборудования на момент обследования (там же есть ремонты, замены, расширение состава оборудования - соответственно у обследований разных периодов одной и той же нитки будет разный состав оборудования), рамки обследования - к чему оно привязано к целой нитке или ее части, может ли быть "рамочное обследование" которое в себя агрегирует несколько меньших обследований конкретных кустов и прочих железяк
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39752892
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините что влезаю. Но из того, что было представлено я вижу такую структуру:

Таблица Equipment
ID - уникальный код
Name - наименование
Type - тип оборудования
ParentID - код родителя

Таблица Results
ID - уникальный код
Name - наименование
ResultData - результат обследования
EquipmentID - код оборудования

Комментарий: На мой взгляд все описанные связи являются просто деревом которое укладывается в одну таблицу. Так-же из описания видно, что на каждом узле этого дерева есть результат обследования. Все остальные данные легко добавляются в нужную таблицу. Либо заводится по таблице значений для каждого узла, если нужно что-то извращённое.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753210
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что, газодобывающее предприятие до разработки вашей нетленки не вело эти обследования?нет никаких бумажных бланков/журналов/экселей, которые с этой задачей без "БД для газодобывающего предприятия" (отлично) справляются? на газодобывающем предприятии нет специалистов, которые, с одной стороны, имеют экспертизу, а с другой, возможно, нуждаются в каком-то инструменте, и которых расспрашивать требуется в 1-ю очередь? какая цель в итоге стоит? рисовать красивые отчетики для начальства? зачем нужна эта ваша "БД для газодобывающего предприятия"?


PS
не верю, что у газодобывающего предприятия совсем нет денег, чтобы нанять нормального специалиста. или ему нафиг не надо эту вашу "БД для газодобывающего предприятия" - похоже, что это очередной курсач, который вы пытаетесь тут с помощью форума запилить.

PS2
вам в форум Работа надо: "есть 100 тыр, сделайте за меня курсач"
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753408
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин, извеняюсь, что так долго не отвечал
авторДопустим, под каждый тип оборудования мы делаем отдельную таблицу с отдельным набором атрибутов. Каждый тип оборудования мы свяжем с таблицей родителем - r_tech_equips, куда вынесем все общие признаки: код, название, тип оборудования, может что-то еще.
Итого: +сколько то таблиц: тех. нитки, ГСК, скважины, ФА, стыки скважин, каждая из которых является подчиненной с родительской: r_tech_equips.


Вот например попробуем связать скважины:
r_tech_equip_types 1 - N r_tech_equips
c_tech_wells 1 - N r_tech_equips

Получается мы храним технологическое оборудование всех типов в r_tech_equips ?

авторДальше мы должны как я понял - привязать технологическое оборудование к всяким кустам, месторождениям и так далее.

Пусть первое тех оборудоваие - стыки скважин. Нам нужны скважины?
r_wells +таблица связи скважин и оборудования c_well_equip

Здесь немного не понял r_wells , нам нужна отдельная таблица для скважин? Или это подчиненная к r_tech_equips ?
Насколько я вас понял нужно r_tech_equips связать с c_well_equip . Это мы свяжем скважину и грубо говоря участки, которые обследуют.
Я может изначально непонятно объяснил у нас по сути есть:
Местоположение объектов: Месторождение, газовый промысел, куст
Объекты обследования: ГСК, скважины, ФА
Правда недавно понял один момент. Обследуют например скважину и на каждом стыкам трубы делают замеры. Допустим у скважины 5 стыкам, делают 5 замеров и это всё ОДНО обследование. Так же на ФА и ГСК замеры идут по стыкам. То бишь получается от каждого типа оборудования идет связь 1 - n к стыкам.
Bыходит следующие связи r_exam - замеры, c_wells_equip - стыки и связующая таблица обследований r_exam_tech_equip??? И как связать местоположение с оборудованием?
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753413
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazan,

nokazanПолучается мы храним технологическое оборудование всех типов в r_tech_equips?

Да, так будет проще добавлять или работать со всем технологическим оборудованием
В r_tech_equips выносят все общие признаки, как я уже и говорил, типа код, имя, тип, а в отдельные таблицы, связанные с r_tech_equips - уже специфичные для данного типа оборудования признаки. 1 доп таблица - 1 тип оборудования.


nokazanЗдесь немного не понял r_wells, нам нужна отдельная таблица для скважин? Или это подчиненная к r_tech_equips?

Скважина - это тип технологического оборудования?
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753415
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин,

Да это тип технологического оборудования, но дело в том, что ФА и стыки это часть скважины
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753418
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazanОзверин,

Да это тип технологического оборудования, но дело в том, что ФА и стыки это часть скважины

а ФА и СТЫКИ - это тоже технологическое оборудование?
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753423
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Озверин, Стыки участки на трубе скважины(технологического оборудования) и ФА тоже часть, но на ФА идёт отдельно обследуется и я незнаю добавлять его как отдельный тип или же делать подчиненную к r_teche_equips
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753430
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazan, надо в уме поиграть запросами

Итак: родительская таблица тех оборудования:
r_tech_equips(id, name, tech_type)

Подчиненные таблицы:
ФА - r_tech_sub_fas (id, tech_id, well_id), где tech_id - код из r_tech_equips, well_id - код скважины из r_tech_equips
Стыки - r_tech_sub_joins (id, tech_id, well_id), где tech_id - код из r_tech_equips, well_id - код скважины из r_tech_equips
Скважины - r_tech_sub_wells (id, tech_id), где tech_id - код из r_tech_equips


Посмотрите на структуру, предположите, какие могут быть запросы, напишите эти запросы с этой структурой. Вам станет гораздо понятнее, подходит она или нет - отражает ли она реальную картину мира.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753433
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинnokazan, надо в уме поиграть запросами

Итак: родительская таблица тех оборудования:
r_tech_equips(id, name, tech_type)

Подчиненные таблицы:
ФА - r_tech_sub_fas (id, tech_id, well_id), где tech_id - код из r_tech_equips, well_id - код скважины из r_tech_equips
Стыки - r_tech_sub_joins (id, tech_id, well_id), где tech_id - код из r_tech_equips, well_id - код скважины из r_tech_equips
Скважины - r_tech_sub_wells (id, tech_id), где tech_id - код из r_tech_equips


Посмотрите на структуру, предположите, какие могут быть запросы, напишите эти запросы с этой структурой. Вам станет гораздо понятнее, подходит она или нет - отражает ли она реальную картину мира.

Надо дополнить, что с полем id из подчиненных таблиц можно работать только в коде или во временных данных, тогда как основной код будет из таблицы r_tech_equips.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753435
nokazan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
love_bachа что, газодобывающее предприятие до разработки вашей нетленки не вело эти обследования?нет никаких бумажных бланков/журналов/экселей, которые с этой задачей без "БД для газодобывающего предприятия" (отлично) справляются? на газодобывающем предприятии нет специалистов, которые, с одной стороны, имеют экспертизу, а с другой, возможно, нуждаются в каком-то инструменте, и которых расспрашивать требуется в 1-ю очередь? какая цель в итоге стоит? рисовать красивые отчетики для начальства? зачем нужна эта ваша "БД для газодобывающего предприятия"?


PS
не верю, что у газодобывающего предприятия совсем нет денег, чтобы нанять нормального специалиста. или ему нафиг не надо эту вашу "БД для газодобывающего предприятия" - похоже, что это очередной курсач, который вы пытаетесь тут с помощью форума запилить.

PS2
вам в форум Работа надо: "есть 100 тыр, сделайте за меня курсач"

Это не курсач, а реальная задача. Документы есть, но мне нужно сначала понять структуру БД, а потом уже добивать её атрибутами, и со специалистами мы стараемся работать, но пока идёт туго:) Основная цель автоматизировать задачи службы и централизованное хранение данных, т.к накапливается большие данные и с ними все сложнее оперировать.
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753441
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazanмне нужно сначала понять структуру БД, а потом уже добивать её атрибутами

Наоборот это делается. Сначала из документов и специалистов выжимаются сущности, атрибуты
и связи, а потом по ним строится БД. И список задач, подлежащих автоматизации, играет в
этом немаловажную роль. Потому что для некоторых задач БД может сводиться к единственной
плоской табличке (дата обследования, объект обследования, протокол обследования).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Прошу помощи в проектировании бд для газодобывающего предприятия
    #39753485
L1G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nokazan,
всё зависит от того, какие наборы данных из БД будут извлекаться и по каким критериям поиска (положить данные в БД 1 раз и изредка их редактировать - не проблема при любой структуре)

например, если "обследование" - это такой документ, то навскидку можно набить его в виде текста/RTF (если более структурированный - XML) и сохранить в одно поле типа BLOB одной таблицы
(наверняка их нужно будет искать/фильтровать по каким-то атрибутам - таковые вынести в отдельные поля той же таблицы)

сразу вопрос - если это не подходит, то почему конкретно?

а описанную в первом посте иерархию объектов на первый взгляд можно засунуть в одну таблицу (с полями Id, ParentId, EntityType, Name и т.д.) и можно будет вывести пользователю всю иерархию в виде одного дерева
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу помощи в проектировании бд для газодобывающего предприятия
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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