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!!!
Ankündigung
Einklappen
Keine Ankündigung bisher.
[Erledigt] DB-Struktur Anfängerfrage
Einklappen
Neue Werbung 2019
Einklappen
X
-
[Erledigt] DB-Struktur Anfängerfrage
Stichworte: -
-
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
Einen Kommentar schreiben:
-
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
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)
Einen Kommentar schreiben:
Einen Kommentar schreiben: