home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / database / theory / 280 next >
Encoding:
Text File  |  1992-07-21  |  8.1 KB  |  171 lines

  1. Newsgroups: comp.databases.theory
  2. Path: sparky!uunet!mcsun!Germany.EU.net!ecrc!francois
  3. From: francois@ecrc.de (Francois Bry)
  4. Subject:  Databases and Deduction
  5. Message-ID: <1992Jul21.075718.7216@ecrc.de>
  6. Sender: news@ecrc.de
  7. Organization: European Computer-Industry Research Centre GmbH, Munich, Germany
  8. Date: Tue, 21 Jul 1992 07:57:18 GMT
  9. Lines: 160
  10.  
  11.  
  12. Gerry Trinidad (gerry@coral.cs.jcu.edu.au) recently asked if someone could 
  13. elaborate on Manfred Jeusfeld's (jeusfeld@picasso.informatik.rwth-aachen.de)
  14. remarks: 
  15.  
  16. > In last December i participated in a workshop on applications of 
  17. > deductive databases. It seems that there are only very limited ideas
  18. > on how to use deductive techniques for applications development.
  19. > The reason is quite obvious: deductive rules are Turing-incomplete. Thus,
  20. > one has to program anything which is "non-deductive" in a programming
  21. > language, e.g. Cobol,C++.
  22.  
  23. In my opinion, Manfred's remarks reflect a slight misunderstanding of what 
  24. deduction techniques and deductive databases are. (I am sorry, Manfred!) Since 
  25. Manfred's opinion seems to be widespread, it might be worth to give here 
  26. another viewpoint.
  27.  
  28. First of all, what are deduction rules and deductive databases? 
  29.  
  30. For many people, deduction rules and deductive databases preclude nested terms 
  31. (such as p(f(a,b), g(c)), like 1st-normal form relational databases. This 
  32. belief, has several sources. 
  33.  
  34. One of them is the notion of "datalog". Datalog is indeed a 1st-normal-form 
  35. formalism. Historically, this name is a contraction of "database Prolog", an
  36. expression which was used in the Prolog and Logic Programming community some 
  37. 15 years ago for denoting a strict subset of Prolog and Logic Programming which 
  38. is very close to the query languages of 1st-normal form relational databases 
  39. (cf. for example [1]). Thus, the notion "database Prolog" has been created 
  40. because databases had no nested terms. Now, some people believe that deductive 
  41. databases should have no nested terms because of the notion "datalog"! In my 
  42. opinion, there are no reasons for precluding nested terms from databases in 
  43. general, and from deductive databases in particular. One should remember that 
  44. providing database systems with data structuring notions (i.e. object-
  45. orientation) is an important and productive area of research!
  46.  
  47. A second reason is that many theoretical studies on and prototypes of deductive
  48. database systems are restricted to 1st-normal-form languages. Again, this is
  49. no more than a step in the research. (As a matter of fact, the restriction seems
  50. to be more frequent in theoretical studies than in running systems.)
  51.  
  52. A language of deduction rules and facts which does not preclude recursion and 
  53. nested terms is Turing complete. This is almost immediate if a forward 
  54. (bottom-up) evaluation of the deduction rules is assumed (just take a 
  55. logician's definition of a Turing machine such as given in [2]). This is by 
  56. far less immediate if a backward (top-down) evaluation is assumed, but also 
  57. holds, as it has been shown by Sten-Ake Taernlund in a paper published in [3]. 
  58.  
  59. LDL and Prolog are Turing-complete, while Datalog is not (because it has no 
  60. nested terms).
  61.  
  62. So much for the assumed limitation of deductive databases, and the necessity
  63. to call for a conventional programming language.
  64.  
  65.  
  66. I am a bit surprised about the claim that not much is known on how to use 
  67. deductive techniques for implementing applications. Let me just refer to the
  68. articles [4] and [5] and to the work in Logic Programming for disproving this 
  69. claim. I agree that it would be useful to know even more than we yet know. 
  70. However, I do not think it is senseful to underestimate our understanding of 
  71. the issue. 
  72.  
  73.  
  74. There are nevertheless interesting critical questions to ask about the 
  75. deductive database research. I would like to submit the following ones, with 
  76. remarks of my own. Comments are welcome, also from the "opposition"!
  77.  
  78. + Should deduction replace conventional programming paradigms in databases? 
  79.  
  80. I do not think so. In my opinion, deduction techniques are primarily needed for
  81. an intensional specification of data, not for replacing all application 
  82. programs. My own experience in analyzing database applications from the angle
  83. of deductive DBMS is that deduction rules should be seen as playing a similar 
  84. role as facts, records, etc. do in non-deductive databases. I would even 
  85. guess that deductive databases with as many rules as facts will be frequent.
  86. My feeling is that an imperative language is desirable for updating
  87. the data (= the deduction rules and facts). I do not think the side-effect
  88. approach of LISP and PROLOG is appropriate for accommodating changes in 
  89. databases (simple but, in my opinion, convincing arguments are given in [7]).
  90.  
  91. + Why arn't there more running deductive DBMSs and up till now no commercially
  92. available systems? 
  93.  
  94. In my opinion, this is mostly because building such systems require to
  95. combine skills in DBMS implementations and in automated reasoning. I do not
  96. know many people really skilled in both. In general, DBMS implementors have
  97. a rather limited knowledge of automated deduction (often more limited than they
  98. assume, I would say), while people skilled in automated deduction do know 
  99. enough about system issues (they usually are aware of it). However, in 
  100. principle, nothing prevents from overcoming this "culture gap". Whether this 
  101. will happend depend on our capability in starting up database projects 
  102. investigating both system and deduction aspects.
  103.  
  104. Another reason for the limited number of deductive DBMSs that have been
  105. built is that there a still a number of formal issues that need to be 
  106. clarified (like for example, the semantics and processing of negation). However,
  107. this should not be seen as a drawback of the approach. After all, there already
  108. has been a lot of important issues that took much more time to solve 
  109. than it had been assumed!
  110.  
  111. A third important reason is the conjuncture: a significant part of the research on deductive database systems was pursued in industrial labs. These labs are,
  112. as I can observe, nowadays not very wealthy. Moreoverer, the research pursued 
  113. there often suffers from a lack of continuity as far as the goals are concerned. 
  114.  
  115. + Have deduction techniques a future in database research? 
  116.  
  117. I think so, but I would guess that this future is not to be expected only
  118. where deduction is currently used in databases. Decution in databases is usually
  119. understood as deduction in the data model. This is, I think, desirable, but 
  120. this is not all. Why not to apply deduction to specifying and analyzing 
  121. Abstract Data Types (in lieu of algebraic specifications [6])? Why not to use 
  122. deduction for compiling database queries (like was done at ECRC for simplifying 
  123. integrity constraints or for implementing the Magic Sets method)? Why not to 
  124. use deduction for query optimization? To database schema design (something like 
  125. that has been studied at ECRC)? More generally, my feeling is that deduction is 
  126. not only relevant in data modeling, but also for some aspects of DBMS 
  127. implementation. Whether this relevance will be exploited depends on our 
  128. capability in building up research teams for investigating the issue...
  129.  
  130. (Disclaimer: This note is not an official statement of my employer ECRC. The
  131. viewpoints expressed here are not necessarily those of ECRC. F.B.)
  132.  
  133.  
  134. References:
  135. -----------
  136.  
  137. [1]   F. Pereira
  138.       Prolog and Natural Language Analysis
  139.       CSLI, 1987
  140.       (in my opinion, this excellent tutorial deserves more attention from
  141.       the database community).
  142.  
  143. [2]   J. Barwise, editor.
  144.       Handbook of Mathematical Logic
  145.       North-Holland, 1977
  146.  
  147. [3]   K. Clark and S.-A. Taernlund
  148.       Logic Programming
  149.       Academic Press, 1982
  150.  
  151. [4]   S. Tsur
  152.       Applications of Deductive Database Systems
  153.       Proc. COMPCON 1990
  154.  
  155. [5]   S. Tsur
  156.       Deductive Databases in Action. 
  157.       Proc. PODS 1991
  158.  
  159. [6]   J. Guttag
  160.       Abstract Data Types and the Development of Data Structures
  161.       Comm. ACM, 20 (6), 1977
  162.  
  163. [7]   F. Bancilhon
  164.       A Logic-Programming/Object-Oriented Cocktail
  165.       SIGMOD-RECORD, 15 (3), 1986
  166. --
  167. Francois Bry
  168. ECRC, Arabellastrasse 17, D - W 8000 Muenchen 81, Germany
  169. e-mail: bry@ecrc.de   tel.: 089 - 92 69 91 48   fax: 089 - 92 69 91 70
  170.