Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] DB-Struktur Anfängerfrage

Einklappen

Neue Werbung 2019

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

  • [Erledigt] DB-Struktur Anfängerfrage

    Hallo,

    ich habe eine Tabelle tbl_person und eine Tabelle tbl_eigenschaft

    create table tbl_person(
    id unsigned smallint primary key auto_increment,
    name varchar(30),
    vorname varchar(30),
    geschlecht varchar(10),
    alter unsigned tinyint,
    )type=innodb;

    create table tbl_eigenschaft(
    id unsigned smallint primary key auto_increment,
    name varchar(30),
    )type=innodb;

    Ich weiss vorher nicht, wieviele Eigenschaften die Person bekommt.
    Wie kann ich das mit tbl_person verbinden???

    Vielen Dank
    Thomas

    PS: Verbesserungsvorschläge sind jederzeit willkommen!!!


  • #2
    Ich mach das mal etwas apstrakter (und zur Vereinfachung lass ich den Präfix mal weg):

    Code:
    person:
    id, name, vorname, geschlecht, alter
     | 1
     \------\
            | *
    person_eigenschaft:
    id, person_id, eigenschaft_id
                        | *
     /------------------/
     | 1
    eigenschaft:
    id, name
    So was wird eine N:M-Beziehung genannt und wird mittels einer Beziehungstabelle aufgebaut.

    person.id zu person_eigenschaft.person_id | person_eigentschaft.eigenschaft_id zu eigenschaft.id


    PS: varchar für geschlecht ist quatsch, normal dürfen es nur 2 Zustände geben (mal abgesehen von Fehlbildungen)

    Kommentar


    • #3
      So ganz verkehrt ist es ja nicht, Sascha_Ahlers Lösung kann ich da zustimmen, wobei hier ja die Eigenschaftswerte fehlen, oder sehe ich das falsch?

      person
      id

      property
      id | name

      person_has_properties
      person_id | property_id | value

      Ist allerdings sehr generisch und eher untypisch für normales Benutzerhandling. Aber vielleicht hast du ja auch kein normales Benutzerhandling
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        Danke

        ich mach also eine "Verbindungstabelle"..

        Danke!!

        Kommentar

        Lädt...
        X