Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datenbankdesign:1 Tabelle oder 2?

Der Unterschied zwischen den beiden Designs liegt hauptsächlich in der Flexibilität. Wenn die Konto- und Benutzerdaten eine einzige Tabelle gemeinsam nutzen, muss jeder Benutzer ein Konto haben, und jedes Konto kann nur einen Benutzer haben (es sei denn, Sie fügen eine weitere Tabelle hinzu, damit neben dem Benutzer, der mit dem Konto lebt, auch untergeordnete Benutzer hinzugefügt werden können Daten, oder es sei denn, Sie fügen neue Datensätze mit doppelten Kontodetails in jedem hinzu, was sehr schlecht und im Widerspruch zu dem steht, was Datenbanken tun sollen).

Mit zwei Tabellen können Sie problemlos mehrere Benutzer in jedem Konto haben und können auch Situationen zulassen, in denen ein Konto keine Benutzer hat oder in denen ein Benutzer kein Konto hat, wenn dies Ihrem Anwendungsfall zugute kommen würde.

Der Kompromiss besteht darin, dass Sie, wenn Sie z. B. das Konto für einen Benutzer (oder die Benutzer in einem Konto) bestimmen möchten, einen Join durchführen müssen, wenn Sie zwei Tabellen verwenden. Wenn Sie eine Tabelle haben, müssen Sie nur die Zeile abrufen, um diese Informationen zu erhalten.