Реляционная схема для временных выражений Fowler

Давайте рассмотрим пример. Предположим, что входное изображение имеет тусклый цвет (128,128,3), теперь с конвом ((3,3),2,13), где 2 - размер шага, а 13 - номер фильтра, мы получаем вывод как (64,64,13) ( Основная операция извлечения). Теперь в правом блоке у нас есть max-pool, который возвращает вывод как (64,64,3). На concat оба выхода имеем (64,64,16).

16
задан Henrik Gustafsson 24 November 2008 в 14:54
поделиться

2 ответа

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

Я думаю эти две технологии, которые Вы хотите смешать, вот 'активные базы данных' и 'временные базы данных'.

Первое было бы полезно для оценки правил и так далее, и второе полезно, чтобы хранить временные данные и оценить в том, когда определенная запись допустима. Оба из них являются довольно крупными областями исследования, но можно сделать большую часть временного материала в плоскости SQL (если база данных имеет хорошую поддержку времени). Активная часть более тверда в SQL, но PostgreSQL, по крайней мере, имеет правила помочь немного с этим. Я не знаю о других базы данных, но у большинства из них есть поддержка правила/триггера/ограничения, которая смогла бы перевести в то, что Вы ищете.

Активные базы данных являются базами данных, которые могут реагировать на изменения в тех, что это хранит правила использования. Эти правила указаны в реализации определенные языки, но для каждого дневного обсуждения Правила продукции события (Правила ECA) распространены. Поскольку введение в активные системы баз данных прочитало статьи The Active Database Management System Manifesto и Active Database Systems. Еще для некоторой информации о правилах ECA проверьте Логические События, и Правила ECA (страницы в обратном порядке o_0), и События в Активной Объектно-ориентированной Системе баз данных.

Обработка событий является особым случаем обработки правила, имеющей дело с тем, как обработать составные события и инициировать их действия соответственно. Интересное чтение относительно этого является Составными Событиями для Активных Баз данных: Семантика, Контексты и Обнаружение и Анатомия Составного Детектора События. Также обратитесь на Сложный сайт Обработки событий и Обработку Потока событий и Сложную Обработку событий статьи Википедии.

Временные базы данных могут рассматриваться как база данных, которая может понять время и в особенности два определенных вида времени; допустимо-разовый и время транзакции. Допустимо-разовой из записи является период времени, в течение которого та запись допустима, и время транзакции записи является временем, в течение которого она присутствует в базе данных. Как хорошее практическое введение я повторно управлял бы книгой по тому, как сделать временные базы данных в SQL: Разработка, Ориентированная на время на Приложения базы данных в SQL Richard T. Snodgrass.

Oterhwise, все, что Вы могли бы возможно хотеть знать о временных базах данных, может быть считано во Временных Записях Базы данных из Энциклопедии Springer Систем баз данных, которая является довольно всесторонним документом (я запустил бы в 'Временной Базе данных' запись), но начать немного более быстрый, проверить Временный Глоссарий Базы данных, который скорее легче просмотреть и читать, и Центр Времени сайта, часть публикаций которого имеет (или действительно имел...), ссылки на большинство известных публикаций в области.

Так, теперь, когда Вы знаете все об этом, Вы видите быстро, что изображение на странице 11 может быть выражено как составное событие и может быть обнаружено/оценено как таковое, если Вы реализовали надлежащее необходимое подмножество составного детектора события, и остальные могли быть выражены как записи в таблицах с временными аспектами :)

Martin Fowler обращается к большой части этого сам в его Шаблонах для вещей, которые изменяются со временем, которое суммирует много шаблонов, который имеет дело со временем.

В конце я, вероятно, создал бы схему базы данных для временной информации и или использовал бы правила DB для активных частей или реализовал бы ту часть в приложении (там быть драконами хотя). При использовании PostgreSQL механизмы правила описаны в Системной части Правила документов.

Очень для чтения но если Вы полностью понимаете, весь этот Ваш профессиональный собственный капитал может повыситься вполне немного :)

Кроме того, хорошие условия к Google являются 'временной базой данных', 'активная база данных', 'Правило ECA'.

25
ответ дан 30 November 2019 в 21:20
поделиться

SQL является языком для запросов наборов данных. Это легко не поддерживает кодирование проблемно-ориентированных логических операций. Другими словами, "правило, которое будет оценено", не является типом данных в SQL. Это - объектно-ориентированное понятие, это и данные и логика являются компонентами экземпляра объекта.

Таким образом, я сказал бы больше всего, Вы могли сделать в парадигме SQL, должен будет сохранить 365 строк, соответствуя дням года и истинному/ложному значению для того, удовлетворяет ли соответствующий день критерии повторяющегося расписания. Таким образом, необходимо использовать логику OO модель реализующего Fowler, чтобы сделать вычисление и сохранить получающиеся 365 строк.

Затем то, когда необходимо ли знать, "является сегодня (или какая-либо данная дата) частью расписания?" очень легко искать соответствующую строку и проверить истинный/ложный столбец. Хранение 365 строк в год тривиально для любой базы данных.

Это может походить на обман, но как я сказал, SQL о наборах данных, не логике.

2
ответ дан 30 November 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: