| 初回リリース | 2001 |
|---|---|
| 安定版リリース | 3.0 / 2012年2月 |
| 書かれた | C# |
| プラットフォーム | .NET フレームワーク |
| タイプ | データベースサーバー |
| ライセンス | BSDA の |
| Webサイト | alphora.com/dataphor |
Dataphor は、オープンソースの真のリレーショナル データベース管理システム( RDBMS ) とそれに付随するユーザー インターフェイス テクノロジであり、これらを組み合わせることで、高度な宣言型ソフトウェア アプリケーション開発が可能になります。Dataphor Server には独自のストレージ エンジンが搭載されていますが、仮想または連合 DBMS として使用することもできます。つまり、ストレージに他のデータベース エンジンを利用できます。
Dataphorは、どのSQL製品よりもリレーショナル原理に忠実であることが高く評価されています。[1]
概要
Dataphor の目的は、複雑なソフトウェア アプリケーションの構築と保守における自動化のレベルを上げることです。元々フレームワークと呼ばれていた Dataphor は、独自のプログラミングとユーザー インターフェイス パラダイムを備えたソフトウェア開発プラットフォームを提供します。
Dataphor は、Dataphor サーバーと Dataphor フロントエンドの 2 つのコンポーネントに大別されます。Dataphor サーバーの目的は、アプリケーション データの定義、操作、整合性のための標準化された言語とランタイムを提供することです。フロントエンドは、ユーザー インターフェイスの動的な派生と、Windows または Web シン クライアントでのその表示に関係します。
Dataphor は、SQL がリレーショナル モデルの重要な原則に違反している可能性があるため、 SQL を主要なデータベース言語として使用していません。Dataphor のD4言語は、 Christopher J DateとHugh Darwenの Tutorial Dの原則に基づいていますが、 Pascalのような命令型構文を採用しています。
Dataphor は真のリレーショナルを主張していますが、 SQL にあるNULLの概念を取り入れています。これは、リレーショナル モデルでは禁忌であると多くの人が主張しています。ただし、NULL と、欠落した情報の管理の問題については、引き続き議論されています。
Dataphor Server のデータ管理機能に加えて、Dataphor には、Windows および Web の「シン」クライアントを通じてユーザー インターフェイスを表示できるツールが含まれています。Dataphor は、Dataphor コンパイラのリレーショナル推論機能を利用して、完全なGUIフォームをデータ モデルから直接派生できるようにします。Dataphor のユーザー インターフェイスの「派生」のユニークな点は、単なる基本テーブルではなく、任意のリレーショナル式 (クエリ) に基づいて派生できることです。
真に関係性のある
Dataphor は、リレーショナル原則への理論的な準拠を目指しています。彼らは第三の宣言の原則に忠実であろうと努めていますが、第三の宣言が目指していたものから逸脱している箇所がいくつかありましたが、Codd の 12 のルールに違反している箇所はありませんでした。たとえば、彼らは null を含めましたが、それらを体系的に扱っていると主張しています。[2]
SQL に基づいて構築された多くのシステムは、Codd のルール 9「論理データの独立性」に関して悲惨な失敗をしますが、Dataphor アプリケーションは、論理レイヤーが変更されると自動的に変更されます。たとえば、新しい列がシステムに追加されると、ユーザーが表示または編集できるように新しいフィールドを表示するために追加の開発は必要ありません。
Dataphorに関する専門家の意見
ヒュー・ダーウェンは、講演「 The Askew Wall 」の中で、注目すべきプロジェクトとしてD4について言及しています。[3] クリス・デイトは、 Dataphorを第三の宣言を実装しようとする製品として言及しています。[4] ファビアン・パスカルは、 Dataphorを「真のリレーショナル」と呼び、[5]「SQLよりも優れている」と呼んでいます。[1]
歴史
1999 年、POSシステム開発会社 Softwise Inc は、同じコードを何度も何度も繰り返して書いていることに気づき、データベース アプリケーションを自動化するツールを探しました。彼らは、求めている機能を備えたアプリケーションを見つけられなかったため、社内に Alphora という部門を設立し、開発者の一部にそのようなツールの開発を任せました。そのツールが Dataphor です。これは、IBM Business System 12以来の真のリレーショナル DBMS と言われています。Dataphor の開発は 2000 年直前に始まり、2001 年に 1.0 がリリースされました。
2008 年初頭、Alphora の名前と Dataphor 製品は、2007 年に Softwise を退職した Dataphor の元設計者によって設立された Database Consulting Group に買収されました。買収後、Dataphor はBSD ライセンスの下でオープン ソースとして再ライセンスされました。
テクノロジー
Dataphor は Microsoft .NET Framework を利用し、完全に C# で記述されています。以下は、Dataphor のさまざまなテクノロジ コンポーネントの概要です。
データフォーサーバー
Dataphor Server には、次のようなコンポーネントが含まれています。
- 呼び出しレベルのインターフェース - セッション管理、プロセス スケジューラなど。
- データ ディクショナリ カタログ - すべてのテーブル、ビュー、演算子、制約、参照、およびその他のスキーマ オブジェクトが含まれます。
- D4 スキャナー、パーサー、エミッター、およびコンパイラー。
- D4 ランタイム - リレーショナルおよびスカラー処理を含む
- ストレージ統合レイヤー - SQL のさまざまな方言へのリアルタイム翻訳
言語
Dataphor は「RealSQL」と呼ばれる SQL フレーバーをサポートしていますが、[6] Dataphor 内で使用する言語としては D4 が推奨されており、DDLおよびDMLステートメントをサポートしています。D4 クエリは、演算子の名前が書き出されたリレーショナル代数式のように見えます。たとえば、次のようになります。
構文
D4 にはPascalのような構文があります。D4 のサンプル コードは通常UpperCamelCaseで記述されており、これは Pascal およびDelphiシステムでも広く使用されています。
ほとんどのクエリ言語と同様に、D4 にはデータ定義言語(DDL) とデータ操作言語(DML) があります。また、D4 には手続き型コード用の 命令型言語もあります。
データ定義言語
Dataphor の DDL は他の DBMS と多くの類似点がありますが、明らかに Pascal のようなひねりが加えられています。制約などの許可された DDL 操作の多くでは、リレーショナル 宣言文を使用できます。これは、 SQLで使用される手続き型操作よりも優れていると多くの人が考えています。
データ操作言語
DML 構文は一見SQL構文に似ているように見えるかもしれませんが、D4 はリレーショナル代数と密接な関係にあるため、構文の定義がより明確になり、ほとんどのユーザーは SQL よりも DML 構文を好みます。[引用が必要]
命令形言語
D4 の命令型言語は、多くの点で Pascal と非常によく似ています。最大の違いは、D4 では DDL および DML ステートメントを通常の手続き型コードで実行できることです。
歴史
D4 は、この言語を使用するシステムである、似た響きの Dataphor にちなんで名付けられました。これらの名前が決定されてからしばらくして、開発者は Tutorial D を発見し、それが名前と一致することを知りました。Tutorial D と The Third Manifesto を発見して以来、開発者は The Third Manifesto を Dataphor と D4 の作成のガイドとして使用してきました。それ以来、Hugh Darwen はThe Askew Wallと題した講演で、注目すべきプロジェクトとして D4 に言及しています。[3]
フェデレーテッドストレージエンジン
Dataphor には独自のストレージ エンジンがありますが、他の RDBMS に接続して、それらをストレージ エンジンとして使用することもできます。Dataphor は、次の DBMS をストレージ エンジンとして使用できます。
- マイクロソフトSQLサーバー
- オラクル
- IBM DB2 について
- その他[7]
Dataphorは、Oracle、IBM Db2、Microsoft SQL Server、PostgreSQL、MySQL、その他のストレージエンジンに単一の統一言語でアクセスできます。[8]
フロントエンドライブラリ
Dataphor フロントエンド ライブラリは、動的に派生したフォーム、または事前に設計された静的フォームの配信を提供します。ライブラリは、Form (' library '、' name ') や Derive (' D4 expression '、' form type ') などの D4 関数 (D4 では演算子と呼ばれます) の標準セットとして公開されます。結果として得られるフォームは、Dataphor フォーム ドキュメント (DFD) と呼ばれるXML方言で記述されます。フォームの説明は高レベルで、クライアント プラットフォームとは無関係に適用されるユーザー インターフェイスの側面の一般的な説明で構成されます。
データフォリア IDE
Dataphoria は、以下の統合開発環境です。
- D4の編集
- D4のアドホック実行
- (継承された)フォームの作成、編集、カスタマイズ
- ライブラリの管理
- 実行計画の分析
Windows クライアント
Dataphor Windows クライアントは、特定のアプリケーション用に事前にプログラムされていないという意味でシン クライアントです。Windows クライアントは Dataphor サーバーへの接続を確立し、そこから (D4 を介して) フォーム定義を要求し、アプリケーション データの操作を調整します。DFD ドキュメントは、 DFD の 概念的なDOM を維持しながら、具体的なWindows フォームコントロールに解釈されます。
ウェブクライアント
Dataphor Web クライアントは、ASP.NET Web アプリケーションとして表現される Dataphor クライアントの基本的な実装です。Windows クライアントと同様に、Web クライアントは Dataphor サーバーのインスタンスに接続し、フォームとデータを要求します。ただし、DFD を Windows コントロールに同期するのではなく、Web クライアントはブラウザーに表示される HTML をレンダリングします。このように、Web "クライアント" は Dataphor サーバーに対してはクライアントですが、エンド Web ブラウザーに対してはサーバーです。
外部リンク
- オープンソースの Dataphor プロジェクト サイト。
- Alphora/Dataphor の所有者であるデータベース コンサルティング グループ。
- Alphoraのウェブサイト。
- Purvis Gray Technology Group, LLC (purvisgraytechnology.com) が Alphora 製品 Dataphor を使用して開発した誤警報削減システム (FARS)。
参考文献
- ^ ab DBMS理論に関するファビアン・パスカル
- ^ 「実装者の考察」
- ^ ab 斜めの壁
- ^ リレーショナルデータベースに関するクリス・デイト
- ^ Fabian Pascal 氏は「Dataphor は真のリレーショナル DBMS である」と述べています。
- ^ http://c2.com/cgi/wiki?AlphoraDataphor [裸の URL ]
- ^ Dataphorについて
- ^ 「Alphora から開発コミュニティへの Dataphor に関する声明 - Dataphor.org」www.dataphor.org。2009 年 5 月 19 日時点のオリジナルよりアーカイブ。
