Hi,
Um nun zwei Produkte auszutauschen muss man ja "nur" die Sortierschlüssel austauschen.
Wie macht man das am effektivsten?
vermutlich mit zwei UPDATE-Anweisungen. (Ich unterstelle mal ein RDBMS, vermutlich MySQL?)
Außerdem können auch Produkte gelöscht und hinzugefügt werden.
Wie solle man da mit dem Sortierschlüssel verfahren?
Ja, das ist ein echtes Problem. So lange die Sortierung willkuehrlich ist, wird es keine "vernuenftige" Loesung geben.
Fordere doch beim Abnehmer Deiner Entwicklungsleistung eine Regelmenge an, die die Sortierung bestimmt. Dann koenntest Du auch auf solch unangenehme Sachen wie das Pflegen der Sortierung in einem Datenfeld verzichten.
Und den Abnehmer wird's auch entlasten (sein Geschaeftsmodell wird einfacher bzw. besser beschrieben). Mach dem ggf. klar, dass er auch bisher bereits eine Regelmenge fuer diesen Zweck nutzt.
Gibt es eine gute Idee, wie man diese Schlüsselspalte am einfachsten reorganisieren kann?
Nein. Widerspricht dem Konzept eines RDBMS, wenn ich das mal so ruppig schreiben darf.
Bin mir auch noch nicht klar darüber, ob überhaupt ein geschlossener Nummernkreis vorhanden sein muss.
Ein geschlossener Nummernkreis sowieso nicht. Wenn's denn nicht anders geht, koenntest Du die Sache implementieren, wie normalerweise Indizes implementiert werden (mit Fuellfaktoren und so ;-). Viel Spass.
Eventuell koenntest Du mit Triggern kommen, falls Dein RDBMS diese unterstuetzen. Aber versuche von solchen Loesungen die Finger zu lassen, denn die angeforderte Sortierung ist _letztlich_nie_willkuehrlich_, denn sonst waere sie ja nicht angefordert. Es _muss_ Regeln geben (auch, wenn ich mich wiederhole ;-).
Gruss,
Ludger
"Was macht eigentlich Harald Schmidt?"