home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 01 / dbasepro / dbasepro.doc next >
Encoding:
Text File  |  1988-11-01  |  3.3 KB  |  91 lines

  1. Brückenschlag dBase - Prolog
  2.  
  3. Konstruktion  dynamischer  Turbo-Prolog-
  4. Datenbanken aus dBase III-Dateien
  5.  
  6.                         von Dr. L.Wenzel
  7.  
  8. Prolog   verfügt   über   sehr  flexible
  9. Möglichkeiten  der  Datenauswertung. Bis
  10. dato  war  es  aber  immer  ein  Problem
  11. gewesen,    dBase    Datenbestände    in
  12. Prolog-Programme  einzulesen.  Hier  ist
  13. die Lösung !
  14.  
  15. Deklarative  Sprachen wie Prolog stützen
  16. sich  auf zwei Grundsäulen. Der Anwender
  17. sorgt:
  18.     1. für die Aufstellung der
  19.        erforderlichen Regeln und
  20.     2. muß er das Faktenmaterial
  21.        zusammenstellen, auf
  22.        dessenGrundlage die Regeln
  23.        eingesetzt werden können.
  24. Alle einigermaßen sinnvollen Anwendungs-
  25. fälle  verfügen  über  eine umfangreiche
  26. Faktensammlung.  Wenn dem nicht so wäre,
  27. hätte man Sprachen wie Prolog nicht ent-
  28. wickeln müssen.
  29. Turbo-Prolog  bietet  durch  das Konzept
  30. der dynamischen Datenbank in dieser Hin-
  31. sicht  viele interessante Möglichkeiten.
  32. Prinzipiell  läßt  sich  eine dynamische
  33. Datenbank in Turbo-Prolog selbst aufbau-
  34. en.  Es gibt aber zwei gewichtige Gründe
  35. dafür,  daß  man sich mit der Konvertie-
  36. rung von dBase III-Dateien in dynamische
  37. Turbo-Prolog-Datenbestände      befassen
  38. sollte.
  39. In  grauer  Vor(-Prolog-)Zeit wurden nun
  40. einmal  viele Megabyte mit Hilfe von Da-
  41. tenbanksystemen  bewältigt,  die eigent-
  42. lich  nur darauf warten, mit Intelligenz
  43. versehen zu werden. Auf der anderen Sei-
  44. te müßte man wohl viel Zeit investieren,
  45. um  den  mit  dBase III erreichten Stand
  46. des  Services  in Turbo-Prolog selbst zu
  47. realisieren.
  48. Das  abgebildete  Programm (Turbo-Prolog
  49. 1.0)  analysiert nach Eingabe des Namens
  50. einer  vorliegenden  dBase III-Datei zu-
  51. nächst  die  Struktur  dieser Datenbank.
  52. Dazu dient das Prädikat "analysefelder".
  53. Erkannte  dBase III-Felder werden zusam-
  54. men  mit  Längeninformation verarbeitet.
  55. Dabei  wird  automatisch  in  den Turbo-
  56. Prolog  Typ  "string" konvertiert, unab-
  57. hängig davon, welcher dBase III Typ vor-
  58. liegt.  Das  ist  keine große Einschrän-
  59. kung,  da  gegebenenfalls interne Turbo-
  60. Prolog  Konvertierungen vorgenommen wer-
  61. den  können.  Allerdings  lehnt das Pro-
  62. gramm mit Hilfe des Prädikates "memoana-
  63. lyse"  dBase  III-Dateien  ab, die Memo-
  64. Felder  besitzen.  Eigentlich stellt die
  65. Konvertierung   von   Memo-Feldern  kein
  66. schwieriges  Problem  dar,  jedoch wären
  67. dazu  einige Erklärungen zur inneren Or-
  68. ganisation der Dateien vom Typ .DBT not-
  69. wendig.
  70. Die  eigentliche  Konvertierung  liefert
  71. zwei  Dateien. Beide Dateinamen beginnen
  72. genauso  wie  die  dBase III Quelldatei.
  73. Diejenige  mit der Extension .PRO bildet
  74. den  Definitionsteil der erzeugten dyna-
  75. mischen  Datenbank, die andere Datei mit
  76. der  Extension .DAT stellt die angespro-
  77. chene dynamische Datenbank dar.
  78. Noch  ein Wort zur Größe der dynamischen
  79. Datenbank.  Da  in Turbo-Prolog 1.0 kein
  80. virtuelles  Konzept realisiert ist, dür-
  81. fen  solche  Datensammlungen  nicht sehr
  82. umfangreich sein. Als Ausweg bleibt dann
  83. der  Einsatz der statischen Datenverwal-
  84. tung,  die  mit Standardprädikaten bear-
  85. beitet  werden kann. In Turbo Prolog 2.0
  86. taucht  das Problem nicht in dieser Form
  87. auf,  dort  gibt  es  Prädikate,  die es
  88. erlauben   dynamische   Datenbanken  auf
  89. Massenspeicher zu expandieren.
  90.                                     (MS)
  91.