[linux-l] Software-Design
Peter Ross
Peter.Ross at bogen.in-berlin.de
Fr Okt 5 08:37:04 CEST 2012
Hi olaf,
bin mir nicht sicher, ob Du mich richtig verstanden hast.
Hier die DB-Tabellen, wie vorhanden:
Produktgruppe: ID, Name..
Produkt: ID, ProduktgruppeID, Name..
Produktinfo: ID, Text, ...
Produktinfo_Zu_Produkt: ID, ProduktID, ProduktinfoID
Das "Problem" ist nun, das ich auch ProduktInfo_Zu_Produktgruppe haben
möchte.
Wenn ich das als Extratabelle löse, dann habe ich
ProduktInfo_Zu_Produktgruppe: ID, ProduktgruppeID, ProduktinfoID
Aber danke, ich glaube, jetzt habe ich es:
Ich mache das so, habe aber in der Software eine gemeinsame Klasse, von
der beide (Produktinfo_Zu_Produkt und ProduktInfo_Zu_Produktgruppe) erben.
Manchmal muß man nur mal ordentlich aufschreiben, was man da maxht, dann
klappt das schon;-)
Danke für den Anstoß
Und entschuldigt fürs Belästigen mit letztendlich doch zumindest
halbtrivialen Aufgaben;-)
Peter
On Fri, 5 Oct 2012, Olaf Radicke wrote:
> Wenn ich die Aufgabenstellung richtig verstanden habe, würde ich erst mal
> im Kopf trennen zwischen Persistenz und Darstellung.
>
> Also erst mal die Daten in der DB in die vierte Ordnung bringen:
>
> TAB_Produkt
> -----------
> ID
> Bezeichnung
>
> TAB_Produktgruppe
> -----------------
> ID
> Bezeichnung
>
> TAB_Produktbeziehung
> --------------------
> ID_Produkt_A (Fremdschlüssel)
> ID_Produkt_B (Fremdschlüssel)
>
> TAB_Produktgruppenbeziehung
> ---------------------------
> ID_Produkt (Fremdschlüssel)
> ID_Producktgruppe (Fremdschlüssel)
>
> Die Darstellung ist dann Aufgabe der Software. Pseudocode:
>
> foreach node in db.getAllProdukts () {
> if ( node.getCoutProducts () > 0) {
> do ...
> }
> if ( node.getCoundProductsGroups () > 0 ) {
> do ...
> }
> }
>
> VG
>
> Olaf
>
Mehr Informationen über die Mailingliste linux-l