Jump to content

Датафор

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

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

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

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

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

Dataphor не использует SQL в качестве основного языка баз данных, поскольку SQL якобы нарушает важные принципы реляционной модели . компании Dataphor Язык D4 основан на принципах Кристофера Дж. Дейта и Хью Дарвена 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 состоит из нескольких компонентов, включая:

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

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

SQL-оператор Эквивалентный оператор D4
SELECT * FROM Userselect User
SELECT * FROM User NATURAL JOIN Departmentselect User join Department
SELECT DISTINCT Name FROM Userselect User over { Name}
Синтаксис
[ редактировать ]

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 — это интегрированная среда разработки для:

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

Windows-клиент

[ редактировать ]

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

Веб-клиент

[ редактировать ]

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

[ редактировать ]
  1. ^ Перейти обратно: а б Фабиан Паскаль о теории СУБД
  2. ^ «Размышления реализаторов» .
  3. ^ Перейти обратно: а б Кривая стена
  4. ^ Крис Дэйт о реляционных базах данных
  5. ^ Фабиан Паскаль заявляет: «Dataphor, действительно реляционная СУБД».
  6. ^ http://c2.com/cgi/wiki?AlphoraDataphor [ только URL ]
  7. ^ О Датафоре
  8. ^ «Заявление о Dataphor сообществу разработчиков от Alphora — Dataphor.org» . www.dataphor.org . Архивировано из оригинала 19 мая 2009 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 04021503ce81f48f6b4494725511f6e4__1709630160
URL1:https://arc.ask3.ru/arc/aa/04/e4/04021503ce81f48f6b4494725511f6e4.html
Заголовок, (Title) документа по адресу, URL1:
Dataphor - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)