Einzelnen Beitrag anzeigen

jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#27

AW: Hibernate und DAO und Reports

  Alt 13. Mai 2015, 10:55
Mir hat ein Informatiker mal gesagt, das man keine Primärschlüssel machen soll, die aus 2 Spalten bestehen.
Ja ich denke es wird die Eindeutigkeit verletzt, da die ID und der Barcode gleich sind, außer das der Barcode noch diese Präfix "PV_" davor hat. PV_1
Ich möchte die Spalte Barcode behalten, damit ich den Barcode komplett in meiner Datenbank hab. Dann muss der Datentyp aber String sein. Der Barcode lässt sich aber nicht autoamtisch inkrementieren, weil er halt ein String ist. Deswegen lasse ich die Spalte ID drin, die wird dann inkrementiert.
Mehrspaltige Primärschlüssel sind glaub ich höchstens ein Problem der Handhabung, also in dem Sinne, dass dort mehr Sorgfalt geboten ist, sind aber nicht verboten.
Ist der Präfix konstant, also immer PV?
Du kannst eine virtuelle Barcodespalte bauen, die ID und konstanten Präfix zusammenfasst oder ID und variablen Präfix. Das würde man mit einem View machen.
Redundanz an sich ist auch kein Nogo, man muss nur (tot)sicherstellen, dass alles synchron bleibt. Da ist dann die Frage, wieviel Aufwand man dafür treibt und warum. Macht man z.B: aus Performancegründen.
Ich würde aber immer erstmal den Weg gehen, redundanzfrei zu bleiben und die Darstellung zu ändern (also View, virtuelle, zusammengesetzte Spalte anlegen). Auch das muss aber durchdacht sein, damit immer der konsistente Zugriff auf den View und die Editierbarkeit-sofern nötig- gegeben ist.
Gruß, Jo
  Mit Zitat antworten Zitat