Thema: Delphi Performance verbessern

Einzelnen Beitrag anzeigen

Luncustaf

Registriert seit: 31. Jan 2003
80 Beiträge
 
Delphi 6 Enterprise
 
#58

Re: Performance verbessern

  Alt 12. Dez 2006, 07:10
Zitat von mkinzler:
Zitat:
ich habe als beispiel die hauptkategorie 'Fleisch' ausgewählt und als Unterkategorie 'Hackfleisch'
wie bekomme ich nun raus welche KAT_ID die kategorie Fleisch hat um diese in die rezept tabelle zu speichern?
In diesem fall ist ja nicht die ID von Fleisch sondern die von Hackfleisch interessant. Diese könnte man mit
select KAT_ID from Kategorien where Name = 'Hackfleisch'; ermitteln
hmm das ist mir soweit schon klar - nur wie kann ich bestimmen das 'Hackfleisch' eine Unterkategorie von Fleisch ist - wenn ich später die TreeView lade dann soll diese ja als Child unter Fleisch stehen?


Zitat von marabu:
Guten Morgen,

Zitat von Luncustaf:
ich bin nun soweit das ich alles eingetragen habe und das rezept speichern will.
ich habe als beispiel die hauptkategorie 'Fleisch' ausgewählt und als Unterkategorie 'Hackfleisch'
wie bekomme ich nun raus welche KAT_ID die kategorie Fleisch hat um diese in die rezept tabelle zu speichern?
eingetragen wird - wie Markus schon geschrieben hat - die ID der Unterkategorie, da in deiner zweistufigen Gliederung Zuordnungen stets nur auf der Ebene der Unterkategorien statt finden. Die Beziehung zwischen Unterkategorie und Kategorie wird nicht in den Rezepten, sondern in der Tabelle Kategorien gepflegt. Dort verweist KAT_ID auf die Kategorie. Ist KAT_ID = NULL so handelt es sich um eine Kategorie und keine Unterkategorie.
wenn KAT_ID NULL ist ist es eine Hauptkategorie soweit so gut d.h. ich nehme iPos um die Unterkategorie der Hauptkategorie zuzuordnen? irgendwo muss dort doch eine beziehung bestehen.

Delphi-Quellcode:
ID KAT_ID IPOS NAME
1 NULL 0 Fleisch
2 1 0 Hackfleisch
3 1 1 Schwein
...
In diesem beispiel hier sehen ich keine beziehung zwischen der kategorie und der unterkategorie -> evtl so?

Delphi-Quellcode:
ID KAT_ID IPOS NAME
1 NULL 0 Fleisch
2 1 0 Hackfleisch
3 [b]2[/b] [b]0[/b] Schwein
...
bei mir hätte die zweite hauptkategorie zb auflauf dann bei iPos die zahl 1 usw...
oder steh ich irgendwie komplett auf dem schlauch und seh den wald vor lauter bäumen nicht?
Zitat von marabu:
Zitat von Luncustaf:
desweiteren glaube ich das du einen kleinen fehler in der struktur hast, da man meiner bescheidenen meinung nach in die tabelle rezepte auch noch das feld 'ipos' aus der tabelle kategorien einbringen müsste damit ich ein rezept auch der dazugehörigen unterkategorie zuweisen kann.
ID ist der Primärschlüssel von Kategorien. Die beiden Felder (KAT_ID, iPos) stellen einen sogenannten Schlüsselkandidaten dar, weil sie für sich genommen einen Eintrag der Tabelle identifizieren können. Du benutzt diesen candidate key später aber nur für Sortierzwecke (ORDER BY).

Freundliche Grüße
darauf komme ich später nochmal zurück - das will mir irgendwie auch noch nicht richtig in den schädel

danke weiterhin für eure hilfe und geduld.

gruß
  Mit Zitat antworten Zitat