Forum: PC-Programmierung Datenbankstruktur für parametrische Suche


von Kai S. (kai1986)


Lesenswert?

Hallo,

ich hab das Problem, das ich gerne für mich privat Sachen in einer 
Datenbank verwalten möchte und dabei gerne eine parametrische Suche wie 
z.B. bei Mouser realisieren möchte. Leider fehlt mir die Idee, wie die 
Datenbankstruktur dafür am Besten aussieht.
Ausgangspunkt ist eine Tabelle, in der alle Artikel samt einmaliger ID 
gelistet sind.
Meine erste Idee war in der Tabelle eine Spalte mit einer Gruppe und 
weitere Spalten mit freien Feldern anzuhängen und die freien Felder dann 
Gruppenabhänig zu interprtieren. Ist nach meinem Gefühl aber ein 
unsaubere Lösung und es wird sicher der Punkt kommen, an dem es nicht 
genug Spalten sind, weil irgendwas mehr Parameter hat.
Die zweite Idee war, für jede Gruppe eine eigene Tabelle mit den 
speziellen Werten und der ArtikelID. Da die Gruppen aber eine gewisse 
Hierachie haben und ich nicht erst auf der letzen Ebene die 
parametrische Suche haben möchte sehe ich auch das problematisch. Ein 
Beispiel, was ich meine sieht man bei Mouser unter Mikrocontroller, da 
kann man die Gruppen noch auf z.B. 8 Bit oder 32 Bit spezifizieren, hat 
aber bereits eine parametrische Suche z.B. nach der Taktrate.
Deshalb meine Frage, wie sieht eine geschickte Datenbankstruktur dafür 
aus?

Gruß Kai

PS: Falls interessant, ich verwende PostgreSQL als Datenbank und PHP für 
die Oberfläche über den Browser und das ganze unter Windows.

von Peter II (Gast)


Lesenswert?

Ich würde eine Attributstabelle machen.

create table ArtikelAttr
{
   ArtId int,
   AttrId int,
   ValueInt int,
   ValueStr varchar(100),
   ValueFlt double
};

AttrId ist dann die Eigenschaft, z.b. Widerstand, Kapazität, usw.
In den ValueSpalten kommt dann der Wert rein. abhängig von Datentyp.

von Kai S. (kai1986)


Lesenswert?

Super, das ist genau die Idee, die mir gefehlt hat.

Vielen Dank

Gruß Kai

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.