Datenbank-Design

roybehr

Grünschnabel
Hallo,
ich habe eine MySQL-Tabelle mit den Spalten Name, Vorname und ID (PK). Insgesamt befinden sich ca. 6000 Einträge darin.
Mein Ziel ist es, in einer anderen Tabelle mit den Spalten ID (FK), Friends und weiteren Spalten für Attribute zu erzeugen und unter Friends eine Anzahl von IDs (durch Komma getrennt) zu speichern, welche alle Freunde der Person darstellen.
Da ich relativ neu in RDBMS bin, wollte ich fragen ob dieses Vorgehen performant ist, oder ob es da eine bessere Möglichkeit gibt.

Danke schon mal im Voraus :)
 
Hi

Schau dir mal das Thema Normalisierung (1. bis 3. Normalform) an. Das solltest du auf jeden Fall beherzigen.

Zu deiner Idee:
In ein Feld nicht mehrer Informationen packen!
Du benötigst eine zusätzliche Tabelle in dem die ID der Person und die des Freundes enthalten ist. Jede Freundschaft ist ein Datensatz. (PK über beide Spalten).
 
Danke erstmal für deine Antwort.
Also wäre es dementsprechend sinnvoll die Eigenschaften der Personen (z.B. Gewicht, Größe, Land, etc.) in einer separaten Tabelle ID (PK), Gewicht, Größe , Land_ID (FK) zu erfassen und in einer anderen Tabelle Land_ID (PK), Land_Name ?
 
Sofern Du nur den Namen des Landes speicherst ist es nicht sinnvoll. Kommen aber noch mehr Informationen hinzu, dann sollte man es genau so machen.
 
Zurück