С Новым годом! Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.03.2014
Сообщений: 1

Наследование, триггерные и агрегатные функции, индексы

14.03.2015, 21:41. Показов 1972. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, с таким вот заданием

I. Реализовать БД в СУБД PostgreSQL, поддерживающую свойство темпоральности данных:
I.1. Реализовать базовое отношение temporary_object, содержащее атрибуты:
• id – идентификатор записи, тип: integer;
• time_create – время создания записи (время рождения), тип timestamp;
• time_dead – время смерти записи, тип timestamp.
Первичный ключ (Primary Key): {id, time_create}
I.2. Создать таблицы, для которых планируется реализовать свойство темпоральности, объявив их наследниками temporary_object;
I.3. Определить триггерную функцию(-и), которая(-ые) при добавлении новой записи в отношение, поддерживающее свойство темпоральности, проверяет наличие такой записи среди существующих объектов (сравнение по id).
Если запись с таким id найдена, то для этой записи устанавливается время смерти, а добавляемая запись содержит в себе соответственные значения атрибутов найденной записи (кроме тех, которые заданы для новой записи), пустое значение времени смерти и новое значение времени рождения, равное текущему моменту. Таким образом, у новой записи время рождения равно, времени смерти ее предка.
Если запись с таким id не найдена, то происходит ее добавление в БД с установлением в качестве времени рождения текущего момента времени.
I.4. Напишите собственную агрегатную функцию, которая для сгруппированных строк производит конкатенацию значений атрибута-аргумента с заданным в качестве параметра функции символом-разделителем. Например, если в качестве значений атрибутов-аргументов агрегатной функции будут выступать строки ‘123’, ‘456’ и ‘789’, а в качестве символа разделителя будет задан ‘_’, то агрегатная функция вернет значение ‘123_456_789’ в результате группирования этих трех кортежей (порядок сортировки по возрастанию);
I.5. Для всех ключевых полей (как первичных ключей, так и внешних) создать индексы командой CREATE INDEX.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2015, 21:41
Ответы с готовыми решениями:

Триггерные функции
Подскажите, пожалуйста, пример использования динамической библиотеки (.so) в триггерной функции... На все мои библиотеки выдает ошибку: ...

Триггеры и триггерные функции
Подскажите пожалуйста, у меня проблема, не получается создать триггерную функцию для следующей задачи: Таблицы: 1. Клиент, поля:...

Как совместить две агрегатные функции в одном запросе
Доброго времени суток! Есть следующий запрос: select fio, count(inq_id) as quantity, sys_name from ((employees join systems on...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2015, 21:41
Помогаю со студенческими работами здесь

Триггерные процедуры
Здравствуйте программисты. Помогите пожалуйста с триггером в бд Postgres. Помогите написать триггер, при добавлении записи в таблицу...

Агрегатные функции
Составить запрос получения данных, содержащий агрегатные функции. Буду оч благодарен если поможете.

Агрегатные функции
Здравствуйте! Мне нужно найти те записи о прокате, где стоимость проката больше средней для бюро,соответственно,есть таблица/hire с...

Агрегатные функции
когда мы пользуемся функцией,например MAX(price), в результате запроса поле так и будет называться. А можно ли сделать так, чтобы в...

Агрегатные функции
Привет. Почему запрос SELECT `xoli` FROM `my` выводит много строк,a SELECT `xoli`,MAX(`FULL`) FROM `my` выводит только 1 строку и какую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru