데이터포어
Dataphor| 초기 릴리즈 | 2001 |
|---|---|
| 안정적 해제 | 3.0 / 2012년 2월; 전 |
| 기록 위치 | C# |
| 플랫폼 | .NET Framework |
| 유형 | 데이터베이스 서버 |
| 면허증 | BSD |
| 웹사이트 | alphora |
Dataphor는 오픈 소스 진정한 관계형 데이터베이스 관리 시스템(RDBMS)과 이에 수반되는 사용자 인터페이스 기술로서, 함께 고도의 선언적 소프트웨어 애플리케이션 개발을 제공하도록 설계되었다. Dataphor Server는 자체 스토리지 엔진을 보유하거나 가상 또는 연합 DBMS가 될 수 있으며, 이는 다른 데이터베이스 엔진을 스토리지에 활용할 수 있다는 것을 의미한다.
데이타포르는 어떤 SQL 제품보다 더 밀접하게 관계 원리를 고수한다는 평가를 받아왔다.[1]
개요
Dataphor의 명시적인 목적은 복잡한 소프트웨어 애플리케이션을 구축하고 유지할 때 자동화의 기준을 높이려는 것이다. 원래 프레임워크라고 불리던 데이터포르는 자체 프로그래밍과 사용자 인터페이스 패러다임으로 완성되는 소프트웨어 개발 플랫폼을 더 많이 제공한다.
데이터포르는 크게 데이터포어 서버와 데이터포어 프런트엔드라는 두 가지 요소로 나뉜다. Dataphor 서버의 목적은 애플리케이션 데이터의 정의, 조작 및 무결성을 위해 표준화된 언어와 런타임을 제공하는 것이다. Frontend는 사용자 인터페이스의 동적 파생 및 Windows 또는 웹 씬 클라이언트에서의 표시와 관련이 있다.
SQL이 관계 모델의 중요한 원칙을 위반하는 것으로 알려져 있기 때문에 Dataphor는 SQL을 주 데이터베이스 언어로 채택하지 않는다. 데이타포어의 D4 언어는 크리스토퍼 J 다테와 휴 다웬의 자습서 D의 원리에 기초하지만 파스칼과 같은 명령 구문이 있다.
Dataphor는 진정한 관계성을 지지하지만, SQL에서 발견되는 NULLs의 개념을 포함하고 있는데, 많은 사람들은 관계 모델에 의해 금지되었다고 주장한다. 그러나 NULL과 누락된 정보의 관리 문제는 계속 논의되고 있다.
데이터포어 서버의 데이터 관리 초점 외에도, 데이터포어에는 윈도 및 웹 "씬" 클라이언트를 통해 사용자 인터페이스를 표시할 수 있는 도구가 포함되어 있다. 데이터포르는 데이터포어 컴파일러의 관계 추론 기능을 활용하여 완전한 GUI 양식을 데이터 모델에서 직접 도출할 수 있도록 한다. 데이타포어의 사용자 인터페이스 「deivation」의 독특한 측면은, 단순한 베이스 테이블이 아닌 어떤 관계식(query)에 기초할 수도 있다는 것이다.
진정한 관계
Dataphor는 관계 원리에 대한 이론적 준수를 위해 노력한다. 그들은 제3선언의 원칙을 고수하려고 애쓰는 동안, 제3선언이 노력했던 것에서 몇 군데에서 이탈했지만, Codd의 12가지 규칙을 위반하는 곳에서는 이탈하지 않았다. 예를 들어, 그들은 null을 포함했지만, 그들은 그것에 대해 체계적인 처리를 한다고 주장한다.[2]
Codd의 규칙 9 "논리적 데이터 독립성"과 관련하여 SQL을 기반으로 구축된 많은 시스템이 비참하게 실패하지만, 데이터포어 애플리케이션은 논리 계층이 변경될 때 자동으로 변경될 수 있다. 예를 들어 시스템에 새 열이 추가된 경우 사용자가 보거나 편집하기 위해 볼 수 있는 새로운 필드가 되도록 추가 개발이 필요하지 않다.
데이터포어에 대한 전문가 의견
휴 다웬은 "아스큐 장벽"이라는 제목의 강연에서 D4를 주목할 만한 프로젝트로 언급했다.[3] 크리스 데이트는 데이터포어를 제3의 매니페스토 구현을 시도하는 상품으로 지칭한다.[4] Fabian Pascal은 Dataphor를 "Trually Relational"[5]이라고 부르고, "SQL에 더 뛰어난"[1]이라고 부른다.
역사
1999년, Point of Sale Systems 개발자 Softwise Inc.는 그들이 동일한 코드를 반복해서 쓰고 있다는 것을 발견했고, 그들의 데이터베이스 애플리케이션을 자동화하는 도구를 찾았다. 그들은 그들이 원하는 것을 할 수 있는 응용프로그램을 찾지 못했기 때문에, 알포라라고 불리는 회사의 부서를 만들고, 개발자 중 몇 명을 그러한 도구를 만들도록 설정했다. 그 도구는 다타포르가 되었다. IBM Business System 12 이후 최초의 진정한 관계형 DBMS라고 한다. 데이터포어의 개발은 2000년 직전에 시작되었고, 2001년에 1.0이 출시되었다.
2008년 초, 알포라 이름과 데이타포어 제품은 2007년 소프트와이즈를 탈퇴한 데이타포어의 원설계자들이 설립한 데이터베이스 컨설팅 그룹에 의해 인수되었다. 취득 후 데이타포르는 BSD 라이선스에 따라 오픈 소스로 재면허되었다.
기술
Dataphor는 마이크로소프트 를 이용한다.NET Framework는 전적으로 C#로 작성된다. 다음은 데이터포어의 다양한 기술 구성요소를 요약한 것이다.
데이터포어 서버
데이터포어 서버에는 다음과 같은 몇 가지 구성 요소가 있다.
- 콜 레벨 인터페이스 - 세션 관리, 프로세스 스케줄러 등
- 데이터 사전 카탈로그 - 모든 테이블, 뷰, 연산자, 제약 조건, 참조 및 기타 스키마 개체를 포함.
- D4 스캐너, 파서, 이미터 및 컴파일러.
- D4 런타임 - 관계형, 스칼라 처리 포함
- 스토리지 통합 계층 - 다양한 SQL 사투리로 실시간 변환
언어들
Dataphor는 "RealSQL"[6]이라고 부르는 SQL 맛을 지원하지만, D4는 Dataphor 내에서 사용하기 위해 선호되는 언어, D4는 DDL과 DML 문을 지원한다. D4 쿼리는 연산자의 이름을 적은 관계 대수식처럼 보이는 경향이 있다. 예를 들면 다음과 같다.
| SQL 문 | 등가 D4 문 |
|---|---|
SELECT * FROM User | select User |
SELECT * FROM User NATURAL JOIN Department | select User [[natural join join]] Department |
SELECT DISTINCT Name FROM User | select User over { Name} |
구문
D4는 파스칼과 같은 구문을 가지고 있다. D4 샘플 코드는 보통 UpperCamelCase로 작성되는데, Pascal과 Delphi 시스템에서도 널리 사용된다.
대부분의 쿼리 언어와 마찬가지로 D4에도 DDL(데이터 정의 언어)과 DML(데이터 조작 언어)이 있으며, D4에도 절차 코드에 대한 명령어가 있다.
데이터 정의 언어
Dataphor를 위한 DDL은 다른 DBMS와 많은 유사점을 가지고 있지만, 분명히 Pascal과 같은 반전을 가지고 있다. 제약조건과 같은 DDL 운영이 허용된 많은 DDL 운영은 관계 선언문을 사용할 수 있게 하는데, 많은 사람들은 SQL에서 사용되는 절차적 스타일 운영보다 우월하다고 생각한다.
데이터 조작 언어
얼핏 보면 DML 구문은 SQL 구문과 비슷해 보일 수 있지만, D4의 관계 대수학과의 밀접한 연관성 때문에 구문은 정의가 명확해 대부분의 사용자가 SQL보다 크게 선호한다.[citation needed]
명령어
D4의 명령어는 많은 점에서 파스칼과 현저하게 유사하다. 가장 큰 구별은 D4가 DDL과 DML 문도 정규 절차 코드로 실행할 수 있다는 점이다.
역사
D4는 그 언어를 사용하는 시스템인 비슷한 소리를 내는 데이타포르의 이름을 따서 명명되었다. 이 이름들이 결정된 지 얼마 후, 그것의 창작자들이 튜토리얼 D를 발견했고, 그 이름과 그것이 가지고 있는 우연의 일치였다. Tutorial D와 The Third Manifesto를 발견한 이후, 크리에이터들은 데이터포어와 D4를 만드는 데 있어 가이드로서 The Third Manifesto를 사용해 왔다. 그 이후로 휴 다웬은 "아스큐 장벽"이라는 제목의 강연에서 D4를 주목할 만한 프로젝트로 언급해 왔다.[3]
연합 스토리지 엔진
Dataphor는 자체 스토리지 엔진을 가지고 있지만, 다른 RDB에도 연결할 수 있다.MSes, 저장 엔진으로 사용하십시오. Dataphor는 다음과 같은 DBMS를 스토리지 엔진으로 사용할 수 있다.
Dataphor는 Oracle, IBM Db2, Microsoft SQL Server, Postgre에 액세스할 수 있음단일 통합 언어를 사용하는 SQL,[8] MySQL 및 기타 스토리지 엔진
프런트엔드 라이브러리
Dataphor Frontend 라이브러리는 동적으로 파생되거나 사전 설계된 정적 형식을 제공한다. 도서관은 양식(')과 같은 D4 기능(D4에서는 연산자라고 함)의 표준 집합으로 노출되어 있다(').library', 'name') 및 파생(')D4 expression', 'form type'). 결과 양식을 데이터포어 양식 문서(DFD)라고 하는 XML 사투리로 설명한다. 양식 설명은 높은 수준의 것으로, 클라이언트 플랫폼에 독립적으로 적용되는 사용자 인터페이스 측면에 대한 일반적인 설명으로 구성된다.
데이터포리아 IDE
데이터포리아는 다음을 위한 통합 개발 환경이다.
- D4 편집
- D4의 임시 실행
- 양식 작성, 편집 및 사용자 정의(상속)
- 라이브러리 관리
- 실행 계획 분석
윈도 클라이언트
Dataphor Windows Client는 특정 애플리케이션에 대해 미리 프로그램되지 않았다는 점에서 씬 클라이언트다. Windows 클라이언트는 D4를 통해 Dataphor 서버에 대한 연결을 설정하며, Dataphor 서버에서 (D4를 통해) 양식 정의를 요청하고 응용 프로그램 데이터 조작을 조정한다. DFD 문서는 구체적인 Windows Forms 제어로 해석되지만 DFD의 개념 DOM은 유지된다.
웹 클라이언트
데이타포어 웹 클라이언트는 데이터포어 클라이언트의 기본 구현으로 ASP로 명시된다.NET 웹 응용 프로그램. Windows Client와 마찬가지로 Web Client는 Dataphor Server 및 인스턴스에서 양식과 데이터를 연결하고 요청한다. 그러나 웹 클라이언트는 DFD를 Windows 컨트롤에 동기화하는 대신 브라우저에 표시되는 HTML을 렌더링한다. 이와 같이 웹 "클라이언트"는 데이터포어 서버에 상대적인 클라이언트지만, 엔드 웹 브라우저에 상대적인 서버다.
외부 링크
- 오픈 소스 데이터포어 프로젝트 사이트.
- 데이터베이스 컨설팅 그룹, Alphora/Dataphor 소유자.
- Alphora 웹 사이트.
- Purvis Gray Technology Group, LLC(purvisgraytechnology.com)가 Alphora 제품 Dataphor를 사용하여 개발한 FARS(False Alarm 저감 시스템)
