Autor Thema: Laufende Nummer vergeben  (Gelesen 14982 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
« Letzte Änderung: 07.05.04 - 23:29:40 von TMC »
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Hernan Cortez

  • Gast
Re:Laufende Nummer vergeben
« Antwort #21 am: 08.05.04 - 01:43:28 »
Endanwender haben zu dem Thema auch oft wirklich merkwürdige Vorstellungen.
Mein allererstes Domino Projekt 1999 war (wie später so oft) ein übernommener Unsinn, wo es für die Endanwender aus irgendwelchen mit irdischer Logik nichtfaßbaren Gründen angeblich total wichtig war, dass alle Haupt- und Antwort Dokumente immer korrekt von 1 bis n ohne Lücken durchnummeriert waren, auch wenn Dokumente rausgelöscht wurden. Das Ergebnis waren brisante Performance-Probleme. Wenn z.B. 1200 Hauptdokumente in der DB waren und Dokument 48 gelöscht wurde, mussten alle Dokumente ab 49 einen runterzählen und per doc.save neu gespeichert werden. Das gleiche (vielleicht wegen meiner Naivität und die meines Vorgängers) auch mit den Antwortdokumenten.
Dasselbe wenn zwischen Dokument 48 und 49 ein neues sollte. Nur eben andersrum.

Praktisch alle relationalen Datenbanken (inklusive DB2 seit 7) haben ja dieses Feature mit der autoinkrementellen Nummer, die gerne als Primary Key verwendet wird. Aber auch da kommt kein Mensch, der seine 5 Sinne zusammen hat, auf die Idee, die Lücken immer dynamisch aufzufüllen wie meine ersten Domino Kunden damals.

Wir haben uns dann nach endlosen Diskussionen über meine "Kompetenz" so geeinigt, dass zwischen den Dokumenten-Nummern 10er Schritte sind. Die User konnten dann so die Dokumente an die richtige Stelle einordnen und ein Agent stellte nachts die 10er-Schritte wieder her.
Am Ende waren die dann "sehr zufrieden". Die grauen Haare, die mich das in der Zwischenzeit gekostet hat, werden aber auch nicht wieder braun.*

Die IT Krise wurde u.a. auch durch Endanwender mit fetten Budget von der Firma aber ohne konstruktiv brauchbaren Kenntnisse verursacht.

Ach ja: Und in J2EE ist das auch ein Problem. In EJB2.0 Standard wird das RDBMS autoinkrement-Nr. Status nicht unterstützt.  Alle mir bekannten J2EE Server ausser Websphere unterstützen das übrigens irgendwie proprietär. Als Ausweg gilt da ein Pattern, das auf Zeitstempel und die Netzwerkkartennummer des Servers basiert (letzteres im Cluster). Generiert dann ein String als Primary Key was auch nicht so das Gelbe ist. Sieht dann nicht weniger kryptisch als die UniversalID von Notesdokumenten aus.   ;)

Gruß Axel

* sooo viele graue Haare habe ich auch nicht.
« Letzte Änderung: 08.05.04 - 02:20:13 von El tio loco »

TomLudwig

  • Gast
Re:Laufende Nummer vergeben
« Antwort #22 am: 10.05.04 - 13:44:37 »
Ich denk ich habs kapiert.
Ich hoff dass ichs meinem Kunden ausreden kann. Wenn nicht, muss ich wohl oder übel die Dokumente zählen und einen Agenten drüber laufen lassen um lücken zu schließen.... Wenn ers will....

Danke für die Hilfe !!!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz