IT PostreSQL 💼
1. В СУБД PostreSQL создать базу данных телекоммуникационного оборудования со следующими таблицами: Станция (exchange), Оконечное устройство - ОУ (terminal_enclosure), Стойка (bay), Полка (shelf), Слот (slot), Плата (card), Порт (port).
Станции имеют следующие поля: id, number (номер), code (наименование).
Оконечные устройства имеют следующие поля: id, number (номер), code (наименование), exchange_number (номер родительской станции), tr_number (номер ОУ выше по иерархии).
Стойки имеют следующие поля: id, description (описание), exchange_id (ИД родительской станции).
Полки имеют следующие поля: id, description (описание), bay_id (ИД родительской стойки).
Слоты имеют следующие поля: id, description (описание), shelf_id (ИД полки).
Платы имеют следующие поля: id, description (описание), slot_id (ИД полки).
Порты имеют следующие поля: id, description (описание), card_id (ИД карты).
2. Заполнить таблицы тестовыми данными (по 3-4 записи).
3. Для объектов этой БД иерархия прохождения сигнала: Станция -> ОУ1 -> ОУ2 -> ОУ3->... То есть у ОУ может быть указано поле exchange_number, в таком случае в иерархии это ОУ будет на уровень ниже Станции. Если поле exchange_number не указано, значит это ОУ на 2 или больше уровней ниже Станции, условно говоря ОУ2 или ОУ3; у него должно быть указано поле tr_number - номер родительского ОУ, т.е. ОУ на уровень выше в иерархии.
4. Необходимо написать хранимую процедуру, которая по id ОУ находит его родительскую станцию. Нужно учесть, что ОУ может быть как первого уровня (на уровень ниже станции), так и второго, третьего и так далее. Всего учесть возможность существования четырех уровней ОУ.
5. Для объектов этой БД физическая иерархия: Станция (exchange) -> Стойка (bay) -> Полка (shelf) -> Слот (slot) -> Плата (card) -> Порт (port).
Написать хранимую процедуру, которая по id Станции находит все принадлежащие ей порты и возвращает массив объектов пользовательского типа данных, содержащих для каждого порта информацию о всей вышестоящей иерархии. Т.е. к примеру в станции 321 есть стойка "КРТ-20", в ней есть полка "01А", в ней есть слот "001", в нем есть плата "Плата 01", в ней есть порты "1", "2", "3". Нужно вернуть массив объектов, каждый из которых содержит информацию по иерархии для каждого порта, а именно:
id станции, наименование станции, id ОУ, наименование ОУ, id стойки, описание стойки, id полки, описание полки, id слота, описание слота, id платы, описание платы, id порта, описание порта. Т.е. в данном примере это будет массив из 3 объектов соответствующего типа данных.
Стоимость: 1500 руб.
https://freelance.ru/projects/it-postresql-1092855.html?utm_source=telegram&utm_medium=bot&utm_campaign=new_projects