Введение

Система управления реляционными базами данных

Dataphor — это реляционная система управления базами данных (RDBMS) с открытым исходным кодом и сопутствующие технологии пользовательского интерфейса, разработанные для обеспечения высокодекларативной разработки программных приложений. Сервер Dataphor имеет собственный механизм хранения или может функционировать как виртуальная или федеративная СУБД, то есть использовать другие движки баз данных для хранения данных. Dataphor получил высокую оценку за строгое следование реляционным принципам, в большей степени, чем любой продукт на основе SQL. В то время как многие системы, построенные на SQL, серьезно нарушают девятое правило Кодда о "логической независимости данных", приложения Dataphor могут автоматически адаптироваться при изменении логического уровня. Например, при добавлении нового столбца в систему не требуется дополнительной разработки, чтобы он стал новым полем, видимым пользователям для просмотра или редактирования.

Экспертные заключения по Dataphor

Хью Дарвен упомянул D4 как примечательный проект в своей лекции под названием "Косой стена". Крис Дата называет Dataphor продуктом, который стремится реализовать Третий Манифест. Фабиан Паскаль называет Dataphor "истинно реляционным" и "превосходящим SQL".

История

В 1999 году компания Softwise Inc, разработчик систем для точек продаж, обнаружила, что постоянно повторяет один и тот же код, и начала искать инструмент для автоматизации своих приложений баз данных. Не найдя подходящего решения, они создали подразделение под названием Alphora и поручили некоторым разработчикам создать такой инструмент. Результатом стала система Dataphor. Её называют первой по-настоящему реляционной СУБД после IBM Business System 12. Разработка Dataphor началась незадолго до 2000 года, а выпуск версии 1.0 состоялся в 2001 году. В начале 2008 года компания Database Consulting Group, основанная оригинальными архитекторами Dataphor, покинувшими Softwise в 2007 году, приобрела название Alphora и продукт Dataphor. После приобретения Dataphor был перелицензирован как программное обеспечение с открытым исходным кодом под лицензией BSD.

Технология

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

Синтаксис

У D4 синтаксис, похожий на Pascal. Образцы кода D4 обычно пишутся в стиле UpperCamelCase, который также широко используется в Pascal и Delphi. Как и большинство языков запросов, D4 включает в себя язык определения данных (DDL) и язык манипулирования данными (DML). D4 также располагает императивным языком для процедурного кода.

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

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

Язык манипулирования данными

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

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

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

История

D4 был назван по созвучию с Dataphor – системой, использующей этот язык. Уже после того, как эти названия были утверждены, его создатели обнаружили Tutorial D и заметили совпадение. С тех пор, как Tutorial D и Третий манифест были изучены, создатели используют Третий манифест как руководство при разработке Dataphor и D4. После этого Хью Дарвен упомянул D4 как примечательный проект в своей лекции под названием «Искажённая стена». Dataphor обеспечивает доступ к Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL и любым другим хранилищам данных посредством единого унифицированного языка.

Библиотека интерфейса

Библиотека Dataphor Frontend обеспечивает предоставление динамически генерируемых или предварительно разработанных статических форм. Библиотека представлена в виде стандартного набора функций D4 (именуемых операторами в D4), таких как Form ('', '') и Derive ('', ''). Результирующие формы описываются в XML-диалекте, называемом Dataphor Form Document (DFD). Описание формы является высокоуровневым и содержит общее описание аспектов пользовательского интерфейса, применимых независимо от клиентской платформы.

Клиент Windows

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

Веб-клиент

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