stringtranslate.com

Датафор

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

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

Обзор

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

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

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

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

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

Действительно реляционный

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

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

Мнения экспертов о 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 были приобретены компанией Database Consulting Group, которая была основана первоначальными архитекторами Dataphor, которые покинули Softwise в 2007 году. После приобретения Dataphor был повторно лицензирован как открытый исходный код по лицензии BSD . .

Технологии

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

Датафор-сервер

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

Языки

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

Синтаксис

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

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

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

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

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

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

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

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

История

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

Механизм федеративного хранения

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

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

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

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

Датафория IDE

Dataphoria — это интегрированная среда разработки для:

Windows-клиент

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

Веб-клиент

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

Внешние ссылки

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

  1. ^ аб Фабиан Паскаль о теории СУБД
  2. ^ «Размышления разработчиков».
  3. ^ ab Косая стена
  4. ^ Крис Дэйт о реляционных базах данных
  5. ^ Фабиан Паскаль заявляет: «Dataphor, действительно реляционная СУБД».
  6. ^ http://c2.com/cgi/wiki?AlphoraDataphor [ пустой URL ]
  7. ^ О Датафоре
  8. ^ «Заявление Alphora о Dataphor сообществу разработчиков - Dataphor.org» . www.dataphor.org . Архивировано из оригинала 19 мая 2009 г.