Wir waren alle schon da - betrachten Sie das folgende Beispiel - zuerst sagt der Client "Jeder Benutzer darf nur ein Profilbild haben", also fügen wir ein Feld dafür in die Benutzertabelle ein - ein halbes Jahr später Die Anforderungen ändern sich und ein Benutzer muss tatsächlich Profilbilder haben.Dreidimensionale Datenbanktabelle
Nun scheint dies nur möglich, wenn Sie eine neue Tabelle wie user_pictures hinzufügen, um die neue Kardinalität 1: n statt 1: 1 zu behandeln. Oft kann dies sehr kompliziert werden. Immer wenn ich auf dieses Problem stoße, frage ich mich, warum wir nicht alle drei Dimensionen verwenden, in die wir denken können. Eine zweidimensionale Tabelle ist so begrenzt, dass sie etwas unvollständig ist - was wäre, wenn wir auf unser Problem mit dem Profilbild verweisen wieder hatte das Bildfeld in der Benutzertabelle eine Tiefe, und diese Tiefe machte das Feld zu einem Array, das beide Kardinalitäten 1: 1 und 1: n gleichzeitig perfekt wiedergab.
Tabellenfelder würden einfach zu Arrays werden und automatisch beide Kardinalitäten unterstützen - wäre das nicht etwas? Zumindest würde ich es benutzen. Gibt es sowas schon da draußen?
Alle möglichen Beziehungen zwischen "Dingen" in einer Datenbank (eins zu eins, eins zu viele, viele zu viele) sind abgedeckt. Was wäre ein Anwendungsfall für eine "dreidimensionale" Tabelle - was auch immer das bedeutet? – NullUserException
Ein Beispiel für einen Anwendungsfall ist der obige mit den Profilbildern: Sie müssten eine neue Tabelle hinzufügen, aber das ist eindeutig umständlich. Modellbeziehungen müssten geändert werden, die Anfragen müssten entsprechend aktualisiert werden, was viel Schmerz und Arbeit mit sich bringen würde. Ich denke, wir können es besser machen. Würde nicht ein zweidimensionales Feld, das den Tisch dreidimensional macht, das lösen? – weltschmerz
Relationale Datenbanken werden von einer sehr soliden Grundlage unterstützt - [relationale Algebra] (http://en.wikipedia.org/wiki/Relational_algebra). Es stellt sicher, dass sie sowohl schnell als auch korrekt sind. Das ist einer der Gründe, warum sie immer noch da sind, als andere Arten von Datenbanken über die Jahre kamen und gingen. Repariere nicht, was nicht kaputt ist. – NullUserException