Forum: PC-Programmierung Objekte mit Metadaten richtig in DB speichern


von DBnoob (Gast)


Lesenswert?

Hallo,

um mein Bauteilwirrwarr langsam mal ordentlich zu katalogisieren, möchte 
ich mir eine Datenbank zusammenstellen, in der ich alle Bauteile mit 
einer unbegrenzten Anzahl an Metadaten aufnehmen möchte.

Mein Problem ist jetzt, wie speichert man diese Metadaten richtig und 
sauber in einer Datenbank, (MySQL, MS SQL Express oder Oracle Express, 
wobei ich Oracle bevorzugen würde)

Um das Ganze noch mal zu verdeutlichen mach ich mal ein Beispiel am 
NE555 (wird nicht vollständig sein)

   Bauteil NE555
      - Timer
      - IC
      - DIP-8
      - analog
      - Reichelt
      - 34
      - ...

schön wäre es, wenn man die Metadaten bei bedarf mit einer Art Titel 
versehen kann

   Bauteil NE555
      - Timer
      - IC
      - Bauform: DIP-8
      - analog
      - Händler: Reichelt
      - Anzahl: 34
      - ...

Anhand dieser Liste geht schon hervor, das es Felder geben muss, die in 
der Bauteiltabelle als feste Spalte auftauchen darunter zähle ich 
Bauform, Bezeichnung, Anzahl. Andere sind optional und in unbegrenzter 
Anzahl ergänzbar.

Ich hatte dazu schon zwei Ansätze durch gespielt. Zum einen alle 
Metadaten mit Leerzeichen getrennt in ein Textfeld eingeben und dann 
darin suchen lassen.

Ein zweiter Ansatz war eine Tabelle "Metadaten" auf zu bauen, in der 
jeder Metadatensatz aufgelistet wird. Das führt dann aber zu vielen 
doppelten Einträgen und mit der Zeit zu einer Tabelle mit sehr vielen 
Einträgen.

Könnt ihr mir bitte einen Tip geben, wie ich das Ganze am besten angehe?

Danke

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?


von DBnoob (Gast)


Lesenswert?

Danke für den Tip,

ich werde mir das "EleLa - Elektronik Lagerverwaltung Entwicklung V3.0" 
mal etwas genauer angucken ...

von dsd (Gast)


Lesenswert?

Relational gesehen musst du sowas haben

---------     -----------------     ----------     ----------
|Bauteil|     |Additional Data|     |MetaData|     | Typ    |
---------     -----------------     ----------     ----------
| ID    |---> | BauteilID     |    -| ID     |  |--| ID     |
| fest- |     | MetaDataID    | <-| | Data   |  |  | Name   |
| Daten |     -----------------     | TypID  |<-|  ----------
---------                           ----------

Wenn dir also irgendwann einfällt du musst deinen Bauteilen noch eine 
Farbe zuordnen, legst du den Typ Farbe an, dann deine unterschiedlichen 
Farben, und sagst dann welches Bauteil welche Farbe hat.

So kannst du später auch Metadaten gleichen Typs miteinander vergleichen 
oder in einer Gui für diesen Typ eine Eingabe definieren.

Rein Theoretisch musst du dir bis auf die Anzahl und evtl ein Lagerort 
keine weiteren festen Spalten beim Bauteil definieren. Selbst diese 
könnte man bei dem Konstrukt weglassen, macht aber in sofern keinen 
Sinn, da diese Daten auf wenige Einträge passen und somit viele Einträge 
in der Additional Data verursachen würden.

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.