[Allegro] Frage zum primären Schlüssel

Klaus Lehmann lehmann_klaus at t-online.de
Mi Jul 13 18:12:22 CEST 2016


 
Guten Tag Herr Eversberg,
danke für Ihre Nachricht.
Am Mittwoch, 13. Juli 2016 um 09:22 schrieben Sie.
Ihre Nachricht finden Sie am Ende dieser eMail.



>> Gesendet: Dienstag, 12. Juli 2016 um 18:13 Uhr
>> Von: "Klaus Lehmann" <lehmann_klaus at t-online.de>
> Jetzt aber zu Ihrem speziellen Problem:
>> in der ZIEL-datenbank -dcat ist der PS SO definiert:
>> #-@
>> #t{ "|8" }
>> #90 e"[;\031]"
>> #901 e"[;\031]"
>> #902 e"[;\031]"
>> #903 e"[;\031]"
>> #+#
>> 
> Das ist, mit Verlaub, Murks, denn daraus entsteht nur 1 Schlüssel, nicht 4.
> Damit jede #90x einen Eintrag erzeugt, muß es so heißen:

ja. "Murks"!
besser kann man es nicht sagen.
Ihr ansatz ist wohl der goldrichtige. es klappt.
aber eine kleine verbesserung musste ich anwenden:

aus >> #90 e"[;\031]" muss analog zu den anderen
#90 e"[;\031]" p{ 8 "|8" }
werden ;-)
sonst landet der erste teil nicht im |8

>> #90 e"[;\031]"
>> #901 e"[;\031]" p{ 8 "|8" }
>> #902 e"[;\031]" p{ 8 "|8" }
>> #903 e"[;\031]" p{ 8 "|8" }

also so:
>> #90 e"[;\031]" p{ 8 "|8" }
>> #901 e"[;\031]" p{ 8 "|8" }
>> #902 e"[;\031]" p{ 8 "|8" }
>> #903 e"[;\031]" p{ 8 "|8" }



> Der Code 8 ist das Trennzeichen zwischen 2 Schlüsseln, die innerhalb desselben
> Abschnitts in den Indexparametern erzeugt werden. Deshalb muß dem Steuercode 8
> immer ein Indexpräfix folgen, hier zufällig "|8" für Register 8, nicht zu
> verwechseln mit dem Steuercode 8. In einem Abschnitt können durchaus mehrere
> Schlüssel für verschiedene Register erzeugt werden.

schön. danke.
das hätte ich gerne vorher selber gelesen.
deshalb hilflos nachgefragt: wo steht das? in der doku(gedruckt), wie
in der pdf (gesucht nach LEER8LEER") finde ich nichts.

unter 10.2.6.4 bei den steuerbefehlen, genauer #tz bin ich ja nun nicht
fündig geworden. aber aus meiner mangelnden erfahrung setze ich
#t { irgendwas } schon öfters ein, um etwas im register zu trennen, oder
mehrfach anzuzeigen. manchmal gelingt es. ich kann immer nur testen,
aber den text bei 10.2.6.4. zu #tz versteh ich einfach NICHT!
allers musst meine DUMMEN fragen früher immer aushalten. nun ja.


jedenfalls habe ich jetzt einen ansatz, um mein problem zu lösen.
DANKE



am selbigen abend ist mir eine notlösung eingefallen, falls der PS
nicht aus mehreren fast gleichen kategorien gebildet werden kann:
dann hätte einen datensatz so lange gedoubelt, bis ich bei 40x
vorkommenden #90'ern eben 40 unterschiedliche datensätze habe, sie
sich eben nur in der jeweiligen #90 unterscheiden. nun gut. dann
wollen wir mal.



viele grüße und nochmal dank!
ihr klaus lehmann





> B.E.
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sunny5.biblio.etc.tu-bs.de/mailman/listinfo/allegro



-- 
Mit freundlichen Grüßen,
Ihr Klaus Lehmann
http://allegronet.de * eMail: allegronet at t-online.de * phone: 03528-452 807(fax 809) * mobil: 0171-953 7843
allegronet.de * Klaus Lehmann * D-01454 Radeberg * Bahnhofstr. 1
zuständiges Finanzamt: FA Hoyerswerda; zuständige Kammer: IHK Dresden;
zuständige Aufsichtsbehörde: Gewerbeamt Radeberg; USt-IdNr: DE247550760
* Software für zufriedene Bibliothekare: 1000x bewaehrt und ergiebig
* Bereits 4x allegro-utf8. Buchen Sie die allegro-Roadshow. Yes we can!
* Internetkataloge & WebHosting für Allegro-C & Web 2.0 mit VuFind
* 2011: Sponsor der Peter-Sodann-Bibliothek (Staucha)
* 2012: mit allegro-utf8 V3 und allegro-vufind auf der IFLA in Helsinki
* 2013: Bolero 64bit. Fußige Noten aufgeblättert (=Die Fußnotendoku)
* 2014: allegro-zdb: endlich. Die Wiedervereinigung! + eBooks
* 2015: allegro-vufind. Endlich! Noch moderner! Web2 auch für Ihren Katalog?
* 2016: allegro-imd.Die weltgrößte(?) Filmdatenbank nur für Filmbibliotheken
Lesen Sie auf http://portal.allegronet.de/allegrowerkstatt/allegro-windows die
Wahrheit zur Zukunft von allegro-C. Bilden Sie sich Ihre eigene Meinung! Lesen Sie!





Am Mittwoch, 13. Juli 2016 um 09:22 schrieben Sie:


>> Gesendet: Dienstag, 12. Juli 2016 um 18:13 Uhr
>> Von: "Klaus Lehmann" <lehmann_klaus at t-online.de>

>> vorweg: mir ist klar, daß der PS (abgekürzt für Primärer Schlüssel)
>> immer(?) eine eindeutige sache sein sollte.

> Irgendwie erzwungen oder automatisch geprüft wird das nicht.
> Fast alles zum Thema "Prim.Schl." steht in einem Fortbildungstext:

>   http://www.allegro-c.de/fb/allegrofb-Kap7.3.htm

> Den hat seinerzeit Kollegin Kocian geschrieben. (Man ist als Entwickler immer
> froh, wenn wer anders was beschreibt, weil's dann auch wer anders besser
> versteht - der Entsickler ist von Haus aus betriebsblind.)
> Darin steht:

> "Gebraucht werden Primärschlüssel in allegro-Datenbanken NUR beim Einspeisen
>  von Daten mit dem Programm UPDATE und genauso in a99 beim Einspeisen
>  mit dem FLEX-Befehl 'update'."

> Das wichtige Wort NUR habe ich jetzt eingefügt. Es kann leicht passieren,
> daß sonst jemand denkt, jeder Datensatz müsse zwingend einen Prim.Schl. haben.
> Zum Beispiel beim Neuaufbau einer Datenbank aus irgendwelchen umgewandelten
> Daten brauchen die Programme index und qrix KEINEN Prim.Schl. - sie wissen
> gar nichts von seiner Existenz. Auch bei Satzverknüpfungen wird nicht zwingend
> der Prim.schl. zum Verknüpfen benutzt, und genausowenig bei V14-Verknüpfungen.

> Falsch wäre auch die Vermutung, der Prim.Schl sei eine bestimmte Kategorie, etwa die #00.
> Jedes Feld mit eindeutigem Inhalt kann vielmehr die Rolle übernehmen, es ist
> allein eine Sache der Indexparameter. Insbes. die Feldnummer #00 hat NICHT
> die Bedeutung "Primärschlüssel", #00 übernimmt nur oft diese Rolle.
> Auch die interne Satznummer hat nix zu tun mit dem Prim.Schl. Sie ist zwar
> eindeutig, steht aber gar nicht im Datensatz (d.h. hat keine Kategorienummer),
> und noch wichtiger: Beim Neuaufbau bleibt sie nicht erhalten. Sie wäre damit
> durchaus untauglich für die Rolle des Prim.Schl.

> Jetzt aber zu Ihrem speziellen Problem:

>> 
>> in der ZIEL-datenbank -dcat ist der PS SO definiert:
>> #-@
>> #t{ "|8" }
>> #90 e"[;\031]"
>> #901 e"[;\031]"
>> #902 e"[;\031]"
>> #903 e"[;\031]"
>> #+#
>> 
> Das ist, mit Verlaub, Murks, denn daraus entsteht nur 1 Schlüssel, nicht 4.
> Damit jede #90x einen Eintrag erzeugt, muß es so heißen:

>> #90 e"[;\031]"
>> #901 e"[;\031]" p{ 8 "|8" }
>> #902 e"[;\031]" p{ 8 "|8" }
>> #903 e"[;\031]" p{ 8 "|8" }

> Der Code 8 ist das Trennzeichen zwischen 2 Schlüsseln, die innerhalb desselben
> Abschnitts in den Indexparametern erzeugt werden. Deshalb muß dem Steuercode 8
> immer ein Indexpräfix folgen, hier zufällig "|8" für Register 8, nicht zu
> verwechseln mit dem Steuercode 8. In einem Abschnitt können durchaus mehrere
> Schlüssel für verschiedene Register erzeugt werden.

> B.E.
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sunny5.biblio.etc.tu-bs.de/mailman/listinfo/allegro




Mehr Informationen über die Mailingliste Allegro