PROSQL: A PROLOG PROGRAMMING INTERFACE WITH SQL/DS
Original Publication Date: 1984-May-25
Included in the Prior Art Database: 2007-Mar-30
Software Patent Institute
Chang, C.L.: AUTHOR [+3]
RJ 4314 (47142) 5/25/84 Computer Science Research Report
RJ 4314 (47142) 5/25/84
REI?\D!NG ROOM COMPUTER SCIENCE DEP.ARTt~GEt4~~
PROSQL: A PROLOG PROGRLPPIISG INTERFACE WITH SQL/DS
C. L. Chang
IBM Research Laboratory San Jose, CA 95193
This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has ben issued as a Research Reoorr for early disseminarion of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of ISM prior to publication should be limited to Deer communications aild specific requests. After outside publication, requests should be filled only by reprints or legaliy obtained copies of the article (e.g., payment of rovalties).
IBM 'forktown Heights, New York San Jose, California * Zurich, Switreriand
Copies may be reqdested from:
1EM Thomas J. Witson Research Center 0istribu:ion Services
Post Office 80x 2i 8
Yorktown He~gnts. New York 1 a598
RJ 4314 (47142) 5/25/54 Computer Science
PROSQL: A PROLOG PROGRA31!IINC; ISTEEFACE WITH SQL/DS
C. L.. Chang
IBM Research Laboratory
San Jose, Ca 95193
ABSTRACT: SQL/DS (SQL/Data System) is an IBPl relational data base system. It has the full functions of a data management system, including access paths (e.g., indexing), query optimization, data sharing, recovery, concurrency control and protection, and so on. It supports efficient retrieval from a large data base in secondary storage.
PROLOG is a language suitable for constructing knowledge based systems. A PROLOG program consists of facts, (i.
e assertions ) , and rules. A fact in PROLOG can be used to represect a tuple in a relational data base; A rule can be used to specify a vie;^ in a relatiocal data Sdse, or to represent knowledge about how to use the facts.
Used as a query language, PROLOG is formally as powerful as an application program running over a SQL/DS data base. However, existing versions of PROLOG do not nave the full data management functio~~s
of SQL/DS. Since re-implementing these functions in PROLOG would be expe~sivo, this paper w i l l describe an approach of coupling PROLOG to SQL/DS. This gives a user the advantages of both PROLOG and SQL/DS. The coupling consists of a method of calling SQL statements from PROLOG. It is flesible, because it allows eicher loose coupling or tight coupling between PROLOG and SQL/DS . We call our incerf ace PROSQL.
PROLOG [Battani and tleloni 1373, Colmerauer et al. 1373, Kowalcki 1979, Roberts 1977, Roussel 1975, Socia 1381, l...