Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabellen-unabhängiges Tagging

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabellen-unabhängiges Tagging

    Hallo,

    stellt euch eine Webapplikation vor, in der es viele verschiedene Tabellen gibt. News, Kalender-Einträge, Artikel, Videos, ..

    Nun möchte ich all die Einträge dieser Tabellen taggen können, sprich ich möchte sie in welcher Weise auch immer unabhängig ihrer Herkunftstabelle markieren können, beispielsweise in Form einer Bewertung oder eines Kommentares. Später soll dann beispielsweise eine Liste erzeugt werden können, in der die best-bewertetsten Einträge gelistet werden. Platz 1 also Video id=5, Platz 2 Artikel=285, ..

    Wie löse ich das in der Datenbank am cleversten, Vererbung ist ja so nicht möglich. Mein Ansatz wäre jetzt künstliche Vererbung:

    (FK = Foreign Key)

    tag
    id

    news
    id | title | text | fk_tag

    video

    id | src | description | fk_tag

    rating
    id | fk_tag | score


    Was, wenn ich nun Videos nicht kommentieren, oder News nicht bewerten lassen möchte? Macht dieses Struktur-Inferno da noch groß Sinn? Gibt es freie Datenbanken (PostgreSQL?) die "Vererbung" schon impliziter unterstützen?

  • #2
    Hallo Chriz,

    du könntest das im PostgreSQL mit Views regeln. Darunter wird sich IIMHO jedoch trotzdem eine Beziehungstabelle anbieten, da du so die angedockte Funktionalität ohne Veränderung der eigentlichen Funktionalität nutzen kannst. Grundsätzlich bietet sich hier ohnehin eine teil-normalisiertes Design an, bei dem Objekte auf Tabellen und die Beziehungen auf eigene Tabellen aufgesplittet werden. So bist du hinsichtlich Erweiterungen gut gewappnet.

    Kommentar


    • #3
      Wie meinst du das, sollte ich z.B. zwischen (video mit fk_tag) und (tag) noch eine Extra-Tabelle ziehen?

      Kommentar


      • #4
        Exakt das meinte ich.

        Kommentar


        • #5
          Gefällt mir die Lösung, danke

          Kommentar


          • #6
            Geht doch ohnehin nicht anders, oder? Sonst kannst DU ja nur ein Tag pro Objekt vergeben.

            Kommentar


            • #7
              Oh stimmt. Ist mir garnicht aufgefallen Danke euch.

              Kommentar

              Lädt...
              X