HOME

TheInfoList



OR:

Dataphor is an open-source truly-
relational database management system A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
(
RDBMS A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relation ...
) and its accompanying user interface technologies, which together are designed to provide highly declarative software application development. The Dataphor Server has its own storage engine or it can be a virtual, or federated, DBMS, meaning that it can utilize other database engines for storage. Dataphor has been praised for its adherence to relational principles, more closely so than any SQL product.


Overview

The stated purpose of Dataphor is to attempt to raise the bar of automation when building and maintaining complex software applications. Originally referred to as a framework, Dataphor provides more of a software development platform, complete with its own programming and user interface paradigms. Dataphor is broadly divided into two components: the Dataphor Server, and the Dataphor Frontend. The purpose of the Dataphor Server is to provide a standardized language and runtime for the definition, manipulation, and integrity of application data. The Frontend is concerned with the dynamic derivation of user interfaces and the presentation thereof in either the Windows or Web thin client. Dataphor does not employ SQL as its primary database language since SQL purportedly violates important principles of the
relational model The relational model (RM) is an approach to managing data using a Structure (mathematical logic), structure and language consistent with first-order logic, first-order predicate logic, first described in 1969 by English computer scientist Edgar F. ...
. Dataphor's D4 language is based on the principles of
Christopher J Date Chris Date (born 1941) is an independent author, lecturer, researcher, and consultant, specializing in relational database theory. Biography Chris Date attended High Wycombe Royal Grammar School (U.K.) from 1951 to 1958 and received his BA i ...
's and
Hugh Darwen Hugh Darwen is a computer scientist who was an employee of IBM United Kingdom from 1967. to 2004, and has been involved in the development of the relational model. Work From 1978 to 1982 he was a chief architect on Business System 12, a da ...
's Tutorial D, but with a
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
-like imperative syntax. Though Dataphor espouses to be truly relational, it does incorporate the concept of
NULL Null may refer to: Science, technology, and mathematics Computing * Null (SQL) (or NULL), a special marker and keyword in SQL indicating that something has no value * Null character, the zero-valued ASCII character, also designated by , often use ...
s as found in SQL, which many claim to be contraindicated by the Relational Model. NULLs and the matter of managing missing information, however, continue to be debated. In addition to the data management focus of the Dataphor Server, Dataphor includes tools which allow the presentation of user interfaces through Windows and Web "thin" clients. Dataphor takes advantage of the relational inference capabilities of the Dataphor compiler in order to allow complete
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
forms to be derived directly from the data model. The unique aspect of Dataphor's user interface "derivation" is that it may be based on any relational expression (query) rather than merely base tables.


Truly relational

Dataphor strives for theoretical compliance to relational principles. While they try to adhere to the principles in The Third Manifesto, they deviated in a few places from what the Third Manifesto strived for, but not in places that were violations of
Codd's 12 rules Codd's twelve rules are a set of thirteen rules ( numbered zero to twelve) proposed by Edgar F. Codd, a pioneer of the relational model for databases, designed to define what is required from a database management system in order for it to be consid ...
. E.g. they included nulls, but they claim to have a systematic treatment of them. While many systems built on SQL fail miserably with respect to Codd's rule 9 "Logical data independence", Dataphor applications can automatically change when the logical layer change. E.g. when a new column is added to the system, no additional development is needed to have that be a new field visible to the users for viewing or editing.


Expert opinions on Dataphor

Hugh Darwen Hugh Darwen is a computer scientist who was an employee of IBM United Kingdom from 1967. to 2004, and has been involved in the development of the relational model. Work From 1978 to 1982 he was a chief architect on Business System 12, a da ...
has referred to D4, as a notable project in his talk entitled ''The Askew Wall''.The Askew Wall
/ref>
Chris Date Chris Date (born 1941) is an independent author, lecturer, researcher, and consultant, specializing in relational database theory. Biography Chris Date attended High Wycombe Royal Grammar School (U.K.) from 1951 to 1958 and received his BA i ...
refers to Dataphor as a product that attempts to implement the Third Manifesto.
Fabian Pascal Fabian Pascal is a Romanian-American consultant to large software vendors such as IBM, Oracle Corporation, and Borland, but is better known as an author and seminar speaker. Born in Romania, Pascal lives in the San Francisco, CA area of the U ...
calls Dataphor "Truly Relational", and "superior to SQL"Fabian Pascal on DBMS theory
/ref>


History

In 1999,
point of sale The point of sale (POS) or point of purchase (POP) is the time and place at which a retail transaction is completed. At the point of sale, the merchant calculates the amount owed by the customer, indicates that amount, may prepare an invoice f ...
systems developer Softwise Inc, found they were writing much of the same code over and over again, and looked for a tool to automate their database applications. They didn't find an application which did what they want, so they created a division of their company, called it Alphora, and set some of their developers to build such a tool. That tool became Dataphor. It is said to be the first truly relational DBMS since
IBM Business System 12 Business System 12, or simply BS12, was one of the first fully relational database management systems, designed and implemented by IBM's ''Bureau Service'' subsidiary at the company's international development centre in Uithoorn, Netherlands. ...
. Development of Dataphor began shortly before 2000, with a 1.0 release in 2001. In early 2008, the Alphora name and the Dataphor product were acquired by Database Consulting Group, which was founded by the original architects of Dataphor, who left Softwise in 2007. After the acquisition, Dataphor was re-licensed as open source under the
BSD License BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
.


Technology

Dataphor utilizes the Microsoft .NET Framework and is written entirely in C#. The following is a summary of the various technology components of Dataphor:


Dataphor Server

The Dataphor Server has several components including: * Call-level interface - session management, process scheduler, etc. * Data Dictionary Catalog - containing all of the Tables, Views, Operators, Constraints, References, and other schema objects. * D4 Scanner, Parser, Emitter, and Compiler. * D4 Runtime - including relational, and scalar processing * Storage Integration layer - real-time translation to various dialects of SQL


Languages

While Dataphor supports a SQL flavor they call "RealSQL", D4 is the preferred language for use within Dataphor, D4 supports DDL and DML statements. D4 queries tend to look like
Relational Algebra In database theory, relational algebra is a theory that uses algebraic structures with a well-founded semantics for modeling data, and defining queries on it. The theory was introduced by Edgar F. Codd. The main application of relational algebra ...
expressions with written out names of operators. For example:


=Syntax

= D4 has a
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, Fren ...
-like syntax. D4 sample code is usually written in UpperCamelCase, which is also widely used in Pascal and
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
systems. Like most query languages, D4 has a Data Definition Language (DDL) and a
Data Manipulation Language A data manipulation language (DML) is a computer programming language used for adding (inserting), deleting, and modifying (updating) data in a database. A DML is often a sublanguage of a broader database language such as SQL, with the DML comp ...
(DML). D4 also has an Imperative Language for procedural code.


Data Definition Language

The DDL for Dataphor bears many similarities to other DBMSs, but with an obviously Pascal-like twist. Many of the allowed DDL operations, like constraints, allow relational declarative statements to be used, which many believe is superior to the procedural style operations used in SQL.


Data Manipulation Language

The DML syntax at first glance may appear to be similar to SQLs syntax, but because of D4's closer ties to
relational algebra In database theory, relational algebra is a theory that uses algebraic structures with a well-founded semantics for modeling data, and defining queries on it. The theory was introduced by Edgar F. Codd. The main application of relational algebra ...
, the syntax has a cleaner definition, and most users greatly prefer it over SQL.


Imperative language

The Imperative Language in D4 is remarkably similar to Pascal in many respects. The largest distinction being that D4 also allows DDL and DML statements to be run in regular procedural code.


=History

= D4 was named after the similar-sounding Dataphor, the system that uses the language. It was some time after these names were decided that its creators discovered Tutorial D, and the coincidence it had with that name. Since discovering Tutorial D and The Third Manifesto, the creators have used The Third Manifesto as a guide in making Dataphor and D4. Since then,
Hugh Darwen Hugh Darwen is a computer scientist who was an employee of IBM United Kingdom from 1967. to 2004, and has been involved in the development of the relational model. Work From 1978 to 1982 he was a chief architect on Business System 12, a da ...
has referred to D4, as a notable project in his talk entitled ''The Askew Wall''.


Federated Storage Engine

While Dataphor has a storage engine of its own, it can also connect to other RDBMSes, and use them as a storage engine. Dataphor can use the following DBMSes as storage engines: *
Microsoft SQL Server Microsoft SQL Server is a relational database management system developed by Microsoft. As a database server, it is a software product with the primary function of storing and retrieving data as requested by other software applications—which ma ...
*
Oracle An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination. Description The word '' ...
*
IBM Db2 Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON a ...
* and others Dataphor can access Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL and any other storage engine with a single unified language.


Frontend Library

The Dataphor Frontend library provides for the delivery of dynamically derived, or pre-designed static forms. The library is exposed as a standard set of D4 functions (called operators in D4) such as Form ('', '') and Derive ('', ''). The resulting forms are described in an
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
dialect called a Dataphor Form Document (DFD). The form description is high-level, consisting of a general description of the user interface aspects as they apply independent of client platform.


Dataphoria IDE

Dataphoria is an
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
for: * Editing D4 * ''Ad hoc'' execution of D4 * Creating, Editing, and Customizing (inherited) forms * Managing libraries * Analyzing execution plans


Windows Client

The Dataphor Windows Client is a
thin client In computer networking, a thin client is a simple (low-performance) computer that has been optimized for establishing a remote connection with a server-based computing environment. They are sometimes known as ''network computers'', or in th ...
in the sense that it is not pre-programmed for a particular application. The Windows client establishes a connection to a Dataphor Server, from which it (through D4) requests form definitions and coordinates the manipulation of application data. The DFD documents are interpreted into concrete
Windows Forms Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono Framework, providing a platform to write client applications for desktop, laptop, and tablet PCs. While ...
controls, but while maintaining the conceptual
DOM Dom or DOM may refer to: People and fictional characters * Dom (given name), including fictional characters * Dom (surname) * Dom La Nena (born 1989), stage name of Brazilian-born cellist, singer and songwriter Dominique Pinto * Dom people, an et ...
of the DFD.


Web Client

The Dataphor Web Client is a basic implementation of a Dataphor client, which is manifest as an ASP.NET web application. Like the Windows Client, the Web Client connects to and requests forms and data from and instance of the Dataphor Server. Rather than synchronizing a DFD to Windows controls, however, the Web Client renders HTML which is displayed in a browser. In this way, the Web "Client" is a client relative to the Dataphor Server, but a server relative to the end web browser.


External links


Open source Dataphor Project Site

Database Consulting Group, owner of Alphora/Dataphor

Alphora website

False Alarm Reduction System (FARS) developed by Purvis Gray Technology Group, LLC (purvisgraytechnology.com) using the Alphora product Dataphor.


References

{{reflist Free database management systems