[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