Датафора - Dataphor

Датафора
изначальный выпуск2001
Стабильный выпуск
3.0 / Февраль 2012 г.; 8 лет назад (2012-02)
Написано вC #
Платформа.NET Framework
ТипСервер базы данных
ЛицензияBSD
Интернет сайтальфора.com/ датафора

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

Dataphor получил более высокую оценку за свою приверженность реляционным принципам, чем любой продукт SQL.[1]

Обзор

Заявленная цель Dataphor - попытаться поднять планку автоматизации при создании и сопровождении сложных программных приложений. Первоначально называемый фреймворком, Dataphor представляет собой платформу для разработки программного обеспечения со своими собственными парадигмами программирования и пользовательского интерфейса.

Dataphor делится на два компонента: сервер данных и интерфейсный интерфейс Dataphor. Цель сервера Dataphor - предоставить стандартизированный язык и среду выполнения для определения, управления и целостности данных приложения. Frontend отвечает за динамическое создание пользовательских интерфейсов и их представление в тонком клиенте Windows или Web.

Датафор не использует SQL в качестве основного языка баз данных, поскольку SQL якобы нарушает важные принципы реляционная модель. Датафора D4 язык основан на принципах Кристофер Дж. Дата 'песок Хью Дарвен с Учебник D, но с Паскаль -подобный императивный синтаксис.

Хотя Dataphor стремится быть по-настоящему реляционным, он включает в себя концепцию NULL как обнаружено в SQL, который, по мнению многих, противопоказан реляционной моделью. Тем не менее, значения NULL и управление недостающей информацией продолжают обсуждаться.

В дополнение к управлению данными сервера Dataphor, Dataphor включает в себя инструменты, которые позволяют представлять пользовательские интерфейсы через «тонкие» клиенты Windows и Web. Dataphor использует возможности реляционного вывода компилятора Dataphor, чтобы обеспечить полное GUI формы, которые должны быть получены непосредственно из модели данных. Уникальный аспект «вывода» пользовательского интерфейса Dataphor состоит в том, что он может быть основан на любом реляционном выражении (запросе), а не просто на базовых таблицах.

Поистине родственный

Dataphor стремится к теоретическому соответствию принципам отношений. Пока они стараются придерживаться принципов Третий манифест, они отклонились в нескольких местах от того, к чему стремился Третий манифест, но не в тех местах, которые были нарушением 12 правил Кодда. Например. они включали нули, но утверждают, что систематически их обрабатывают.[2]

Хотя многие системы, построенные на SQL, терпят поражение в отношении правила 9 Кодда «Логическая независимость данных», приложения Dataphor могут автоматически изменяться при изменении логического уровня. Например. когда в систему добавляется новый столбец, не требуется никакой дополнительной разработки, чтобы сделать это новое поле видимым пользователям для просмотра или редактирования.

Мнения экспертов о Датафоре

Хью Дарвен упомянул D4 как заметный проект в своем выступлении под названием Кривая стена.[3] Крис Дата относится к Dataphor как к продукту, который пытается реализовать Третий манифест.[4] Фабиан Паскаль называет Dataphor "истинно родственными",[5] и «превосходит SQL»[1]

История

В 1999 году, торговая точка системный разработчик Softwise Inc, обнаружили, что они пишут один и тот же код снова и снова, и искали инструмент для автоматизации своих приложений баз данных. Они не нашли приложение, которое делало бы то, что им нужно, поэтому они создали подразделение своей компании, назвав его Alphora, и поручили некоторым из своих разработчиков создать такой инструмент. Этот инструмент стал Dataphor. Говорят, что это первая действительно реляционная СУБД со времен IBM Business System 12. Разработка Dataphor началась незадолго до 2000 года с выпуска 1.0 в 2001 году.

В начале 2008 года название Alphora и продукт Dataphor были приобретены Консультационная группа по базам данных, который был основан первоначальными архитекторами Dataphor, покинувшими Softwise в 2007 году. После приобретения Dataphor был переиздан как open source под Лицензия BSD.

Технологии

Dataphor использует Microsoft .NET Framework и полностью написан на C #. Ниже приводится краткое описание различных технологических компонентов Dataphor:

Сервер данных

Сервер Dataphor состоит из нескольких компонентов, включая:

  • Интерфейс уровня вызова - управление сеансом, планировщик процессов и т. Д.
  • Каталог словаря данных - содержащий все таблицы, представления, операторы, ограничения, ссылки и другие объекты схемы.
  • Сканер, парсер, эмиттер и компилятор D4.
  • D4 Runtime - включая реляционную и скалярную обработку
  • Уровень интеграции хранилища - перевод в реальном времени на различные диалекты SQL

Языки

Хотя Dataphor поддерживает разновидность SQL, которую они называют RealSQL,[6] D4 - предпочтительный язык для использования в Dataphor, D4 поддерживает DDL и DML заявления. Запросы D4 обычно выглядят так Реляционная алгебра выражения с выписанными именами операторов. Например:

Инструкция SQLЭквивалентное заявление D4
ВЫБРАТЬ * ИЗ Пользовательвыберите пользователя
ВЫБРАТЬ * ИЗ Пользователь ЕСТЕСТВЕННЫЙ ПРИСОЕДИНИТЬСЯ отделениевыберите пользователя [[естественное присоединение | присоединиться]] Отдел
ВЫБРАТЬ ОТЧЕТЛИВЫЙ Имя ИЗ Пользовательвыберите "Пользователь" вместо "{Имя"}
Синтаксис

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

Как и в большинстве языков запросов, в D4 есть Язык определения данных (DDL) и Язык обработки данных (DML). D4 также имеет Императив Язык процедурного кода.

Язык определения данных

DDL для Dataphor во многом похож на другие СУБД, но с явной особенностью языка Паскаля. Многие из разрешенных операций DDL, например ограничения, позволяют реляционный декларативный операторов, которые, по мнению многих, превосходят операции процедурного стиля, используемые в SQL.

Язык обработки данных

На первый взгляд синтаксис DML может показаться похожим на SQL синтаксис, но из-за более тесной связи D4 с реляционная алгебра синтаксис имеет более четкое определение, и большинство пользователей предпочитают его SQL.[нужна цитата ]

Императивный язык

Императивный язык в D4 во многом похож на Паскаль. Самым большим различием является то, что D4 также позволяет выполнять операторы DDL и DML в обычном процедурном коде.

История

D4 был назван в честь похожей на Dataphor системы, использующей этот язык. Спустя некоторое время после того, как эти названия были определены, его создатели открыли Учебник D, и совпадение с этим именем. С момента открытия Tutorial D и Третий манифест, создатели использовали «Третий манифест» в качестве руководства при создании Dataphor и D4. С того времени, Хью Дарвен упомянул D4 как заметный проект в своем выступлении под названием Кривая стена.[3]

Интегрированный механизм хранения

Хотя у Dataphor есть собственный механизм хранения, он также может подключаться к другим СУБД и использовать их в качестве механизма хранения. Dataphor может использовать следующие СУБД в качестве механизмов хранения:

Dataphor может получить доступ к Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL и любому другому механизму хранения с помощью единого унифицированного языка.[8]

Фронтенд-библиотека

Библиотека Dataphor Frontend обеспечивает доставку динамически производных или предварительно разработанных статических форм. Библиотека представлена ​​в виде стандартного набора функций D4 (называемых операторами в D4), таких как Form ('', '') и Derive ('', '

') . Полученные формы описаны в XML диалект называется Dataphor Form Document (DFD). Описание формы является высокоуровневым и состоит из общего описания аспектов пользовательского интерфейса, которые применяются независимо от клиентской платформы.

Датафория IDE

Датафория - это интегрированная среда развития за:

  • Редактирование D4
  • Для этого случая исполнение D4
  • Создание, редактирование и настройка (унаследованных) форм
  • Управление библиотеками
  • Анализ планов выполнения

Клиент Windows

Клиент Dataphor для Windows - это Тонкий клиент в том смысле, что он не запрограммирован заранее для конкретного приложения. Клиент Windows устанавливает соединение с сервером данных, с которого он (через D4) запрашивает определения форм и координирует манипуляции с данными приложения. Документы DFD интерпретируются в конкретные Windows Forms контролирует, но при сохранении концептуального ДОМ DFD.

Веб-клиент

Веб-клиент Dataphor - это базовая реализация клиента Dataphor, которая проявляется как веб-приложение ASP.NET. Как и клиент Windows, веб-клиент подключается к серверу Dataphor и запрашивает у него формы и данные. Однако вместо того, чтобы синхронизировать DFD с элементами управления Windows, веб-клиент отображает HTML, который отображается в браузере. Таким образом, веб-«клиент» является клиентом по отношению к серверу данных, но сервером по отношению к конечному веб-браузеру.

внешняя ссылка

Рекомендации