Vb.100: #fna und #nr in INDEX

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Mo Nov 3 08:42:51 CET 1997


Verlautbarung 100 der Entwicklungsabteilung                        19971103
-------------------------------------------

INDEX : Sonderkategorien #fna und #nr jetzt moeglich
----------------------------------------------------

Verschiedene Male war von verschiedenen Anwendern gewuenscht worden, 
Schluessel aus den Dateinamen oder -nummern bilden zu koennen, oder auch
aus den internen Satznummern.
Dem stand entgegen, dass INDEX die Sonderkategorien #fna (file name)
und #nr  (record number) nicht bilden konnte. D.h. in Indexparametern 
konnte man sie nicht verwenden. (#fna funktionierte allerdings in PRESTO
und UPDATE.)
Das war nicht ohne Grund so: es ist aus der Sicht der Datenbanktheorie
fragwuerdig, Zugriffsschluessel zu bilden aus Elementen, die gar nicht im
Datensatz selbst vorkommen. (Z.B. #dt sollte man wohl keinesfalls verwenden,
obwohl DAS schon immer funktioniert haette; aber wer kaeme auf die Idee.)

Bei gewissen Anwendungen gab es aber triftige Gruende, solche Elemente,
insbesondere die Dateinummer, entgegen der reinen Lehre doch als Register-
eintraege zu verwenden. Andernfalls haette man umstaendliche Hilfskonstruk-
tionen machen muessen, um gewisse Konzepte zu realisieren.
Nun war es zwar nicht ganz trivial, aber auch nicht ausserordentlich
schwierig, deshalb wurde INDEX jetzt mit der Faehigkeit ausgestattet,
auch die Sonderkategorien #fna und #nr bilden zu koennen. 
(Bei PRESTO war es so, dass nur #nr in den Indexparametern nicht
funktionierte. Das wurde ebenfalls eingebaut. Wir nehmen aber an, dass
#nr fuer die Indexierung wohl kaum genutzt werden wird. Ueber die interne
Satznummer kann man schliesslich, am Index vorbei, mit dem Express-
zugriff zugreifen.)
Empfohlen wird es nicht, aber fuer Experten, die wissen, was sie tun und
warum, faellt damit eine manchmal laestige Einschraenkung weg.

INDEX.LZH und PRESTO.LZH auf ac15/prog wurden erneuert.

Das Handbuch wird zum Glueck hierdurch nicht schon wieder aktualisierungs-
beduerftig: es steht gar nicht drin, dass #fna und #nr in INDEX nicht
funktionieren. Also STIMMT das Handbuch jetzt endlich.

Ein anderer Wunsch wird noch auf Realisierbarkeit untersucht: V14-
Ersetzungen erfordern, dass die IdNummern oder Kuerzel rein alphanumerisch
sind, also keine Interpunktions- oder anderen Sonderzeichen enthalten, auch
keine Umlaute oder Akzentbuchstaben. Das Problem bei der Realisierung ist
dieses: wie soll das Programm erkennen, wo die Zeichenkette zu Ende ist?
Am Leerzeichen? Es kann auch ein Punkt, eine Klammer, ein Komma etc.
hinter der IdNummer stehen! Soll man einen neuen Parameter einfuehren,
und zwar eine Zeichenkette, welche genau die erlaubten Endzeichen angibt,
die hinter einer IdNummer stehen koennen? Wird man das genau festlegen koennen?
Oder soll man einfuehren, dass die IdNummern alle gleich lang sein muessen,
so dass das Endproblem nicht auftritt? Auch das waere eine neue Option,
denn in vielen existierenden Datenbanken ist diese Bedingung nicht erfuellt,
und diese muessen weiter ohne Aenderung funktionieren.

MfG  B.E.





Mehr Informationen über die Mailingliste Allegro