2016-11-11 6 views
1

Ich versuche, eine Datenbank zu entwerfen, in der eine der Entitäten eine User wäre und eines seiner Attribute wäre programming_languages, die theoretisch eine Liste von Programmiersprachen einen Benutzer enthalten sollte weiß es. Was wäre der beste Ansatz zum Entwerfen einer solchen Datenbank, da die Zelle nur einen einzigen Wert enthalten kann? Soll ich eine separate Tabelle erstellen, in der jede Zeile die ID eines Benutzers und eine der ihm bekannten Sprachen enthält? Oder gibt es einen besseren Ansatz?Entwerfen einer Datenbankentität mit mehreren Attributwerten

Antwort

2

Mehrere Werte in einem Feld sind nur nützlich, wenn die Daten statisch sind und sich nicht in der Datenbank ändern, d. H. Wenn Sie das Feld nur aus der Datenbank lesen und anschließend verarbeiten.

Besser ist es, eine separate Tabelle mit Benutzer-ID und Sprache zu erstellen. Die Kombination beider wird der Primärschlüssel sein. Dies ist die Regel gemäß Datenbanknormalisierung.

UserID   Language 

User1   a,b,c 
User2   x,y 

Nach Normalisierungs

UserID   Language 

User1   a 
User1   b 
User1   c 
User2   x 
User2   y 
Verwandte Themen