69 Stimmen

MongoDB-Normalisierung, Fremdschlüssel und Verknüpfung

Bevor ich mich tagelang mit MongoDB beschäftige, dachte ich, ich stelle mal eine ganz grundsätzliche Frage, ob ich mich überhaupt damit beschäftigen sollte oder nicht. Ich habe im Grunde keine Erfahrung mit nosql.

Ich habe ein wenig über die Vorteile von Dokumentendatenbanken gelesen, und ich denke, dass sie für diese neue Anwendung wirklich großartig sein werden. Es ist immer mühsam, Favoriten, Kommentare usw. für viele Arten von Objekten (viele M-zu-M-Beziehungen) und Unterklassen zu erstellen - das ist ziemlich mühsam zu handhaben.

Außerdem habe ich eine Struktur, die in SQL nur schwer zu definieren ist, weil sie extrem verschachtelt ist und sich viel besser in ein Dokument übersetzen lässt als 15 verschiedene Tabellen.

Aber ich bin über ein paar Dinge verwirrt.

  1. Ist es wünschenswert, dass Ihre Datenbank weiterhin normalisiert bleibt? Ich möchte wirklich nicht mehrere Datensätze aktualisieren. Wird das Design der Datenbank in MongoDB immer noch so gehandhabt?

  2. Was passiert, wenn ein Benutzer ein Buch favorisiert und diese Auswahl noch in einem Benutzerdokument gespeichert ist, dann aber das Buch gelöscht wird? Wie wird die Beziehung ohne Fremdschlüssel aufgelöst? Muss ich alle Verknüpfungen manuell selbst löschen?

  3. Was passiert, wenn ein Benutzer ein Buch favorisiert hat, das nicht mehr existiert, und ich es abfrage (eine Art von Join)? Muss ich hier eine Fehlertoleranz einbauen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X