Announcement

Collapse
No announcement yet.

Struktur einer DB

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Struktur einer DB

    Hallo zusammen,
    ich habe folgendes Problem:
    ein Programme erstellt mir nachdem einige Daten eingegeben wurden eine XML-Datenbank. Die möchte ich nun in eine mySQL umwandeln.
    Jetzt haben die XML-Datensätze jedoch folgende Struktur:
    <ELEMENT indexedAccess="0" type="simplemap">
    <ELEMENT1 indexedAccess="0" type="simplemap">
    <WERT1 type="datetime">2009-08-19T19:12:04</WERT1>
    <WERT2 type="datetime">2009-08-19T19:12:29</WERT2>
    ....
    </ELEMENT1>
    <ELEMENT2 indexedAccess="0" type="simplemap">
    <WERT1 value="1" type="bool" />
    <WERT2 value="1" type="bool" />
    ...
    </ELEMENT2>
    ...
    </ELEMENT>

    Dabei würde ich gerne ELEMENT als Tabelle machen und Element1, Element2... als Felder nutzen.
    Also meine Frage kann ich einem Feld mehrere unterfelder zuordnen? Also dass ich sage Feld X hat folgende Struktur
    | 1 | 2 | 3 | ... | 10 |
    | X | | X | ... | |
    Soll bedeuten von den Möglichkeiten 1-10 treffen hier 1und3 zu

    Ist soetwas möglich? Vielen Dank im vorraus!
    Määx

  • #2
    Eine Datenbanktabelle hat eine festdefinierte Anzahl von Spalten.
    Je Datensatz ist es möglich, Spalten mit Werten zu belegen oder eben nicht

    EDIT:

    In deinem Fall könnte beispielsweise eine Spalte WERT1 heissen, eine weitere WERT2. Deren Inhalt kann jeweils true/false sein
    Zuletzt editiert von Christian Marquardt; 19.08.2009, 20:41.
    Christian

    Comment


    • #3
      mh das Problem ist, dass ich insgesammt an >100Werte kommen würde...
      deshalb hätte ich das ganze gerne zusammengefasst!
      Fällt euch noch eine andere Möglichkeit ein als alle Werte einzeln als Spalte zu nehmen oder für Werte wo es ca 10Möglichkeiten gibt vll eine neue Tabelle anzulegen und dann die id in der obigen zu speichern?

      Bin für jeden Tip dankbar!!
      Viele Grüße
      Määx

      Comment


      • #4
        Tja, ist heutzutage wahrscheinlich nicht mehr opportun, aber eine Bitleiste und diese in die DB schreiben.

        Natürlich setzt das voraus, dass man ein Bit setzen und löschen kann...da war doch was mit und oder ...oder auch nicht....
        Christian

        Comment


        • #5
          mh das mit der bitleiste ist ne gute idee! Muss mal sehen ob php bit-operatoren unterstützt!
          Nachteil ist natürlich, dass aus der DB selber nichtmehr direkt ersichtlich welcher Wert welche bedeutung hat... aber ist wohl die beste lösung oder?

          Comment


          • #6
            Ich würde nicht versuchen in eine relationale Datenbank eine Bitmap Struktur anzulegen.
            Mach dir ein ER Modell , das deiner XML Struktur entspricht.
            Es gibt eine Entität Element, das eine untergeordnete Entität Elementtyp besitzt. Dieser wiederum untergeordnet ist die Entität Wert. Das ganze verknüpfst Du per technischem PK-FK Constraint und legst je Entität ensprechende Felder an, die die fachlichen Daten aufnehmen können.

            Dann kannst Du ganz normal daraus selektieren, Auswertungen fahren und es ist egal wieviele Werte kommen.
            Dim
            Zitat Tom Kyte:
            I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

            Comment


            • #7
              Hey,
              erstmal Danke für die Hilfe! Wie kann ich in mySQL Entitäten erzeugen und was ist ein PK-FK-Constrain?
              Sorry aber wie du siehst habe ich noch nicht soviel DB-Erfahrung
              Määx

              Comment


              • #8
                Eine Entität ist in der Datenbank einfach eine Tabelle.
                PK=Primary Key (Primärschlüssel)
                FK= Foreign Key (Fremdschlüssel)

                Über diese Beziehung stellt eine Datenbank die referentielle Integrität der Daten sicher.

                Dim
                Zitat Tom Kyte:
                I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

                Comment


                • #9
                  achso - genau das ist das was ich weiter oben meinte
                  Dann werd ich es so lösen... vielen Dank für die Hilfe
                  Määx

                  Comment

                  Working...
                  X