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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von DBnoob (Gast)


Bewertung
0 lesenswert
nicht 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


Bewertung
0 lesenswert
nicht lesenswert

von DBnoob (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip,

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

von dsd (Gast)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.