Datenbank pro Projekt/Aufgabengebiet?

03/03/2018 14:58 Masterkroko1#1
Hallo,

ich hab wieder lust ein bisschen in der Freizeit zu schreiben.
Nun bin ich bei der Datenbank und überlege ein bisschen hin und her.

Bis jetzt habe ich pro Projekt immer eine Datenbank gehabt.
Nun bin ich aber am überlegen ob es vll. schlau wäre für die Benutzer Daten eine `user` Datenbank anzulegen und für die z.B. Foreneinträge eine `forum` Datenbank anzulegen.

Gibt es hier für irgendein "best practices"?


Kroko
03/03/2018 15:06 iMostLiked#2
Gehören die Benutzerdaten zum Forum? Falls ja, macht es keinen Sinn, diese zu trennen. Warum auch? Ich bezweifle zudem, dass das mit gängigen Forensoftwares überhaupt möglich ist. Alles, was zum Forum gehört, wird zusammen in einer Datenbank gespeichert.
03/03/2018 15:15 Masterkroko1#3
Forensoftwares sind mir egal. Ich schreib alles selbst zudem war das nur ein Beispiel.

Und ja in meinem Beispiel wärst du selbst in der `user` Datenbank und z.B. dieser Thread in der `forum` Datenbank.


Vorteil von der Aufteilung wäre z.B.:
Wenn man nun sein Angebot erweitern möchte & ein Shop erstellt diese jedoch auch auf die gleiche Benutzer Daten zugreifen soll. Dann wäre es doch gar nicht so doof das Forum, die Benutzer und den Shop jeweils in eine eigene Datenbank zu werfen.
03/03/2018 15:52 Der-Eddy#4
Und warum packst du dann nicht alles in eine Datenbank? Innerhalb einer Datenbank kannst du Tabellen und deren Werte verlinken/Abhängigkeiten erstellen
außerdem musst du nicht mehrere Datenbankverbindungen aufbauen (+ sparst massiv Latenz wenn beide Datenbanken auf verschiedenen Server stehen würden)

Damit man aber die Tabellen einer Anwendung abgrenzen kann zu anderen Anwendungen, nutzt man gerne sogenannte "Präfixe" die vor den normalen Namen angehängt werden
so wird aus users z.b. wp_users
03/03/2018 16:22 Masterkroko1#5
Ach die Datenbanken wären eh aufm gleichen Server. Wär halt eig. das gleiche wie bei den Präfixen nur das die Präfixen in meinem Fall unterschiedliche Datenbanken sind.

But, ich bleib dann dabei mit einer Datenbank.
03/05/2018 04:58 .Vocis#6
Vielleicht noch nachträglich zum Verständnis: Wenn du Userdaten und Einträge in einer Datenbank pflegst, kannst du Abhängigkeiten usw. erstellen. Bedeutet, dass du die Spalte "userID" des Foreneintrags in der Tabelle "posts" mit der Spalte "ID" aus der Tabelle "users" verlinkst. Das hat einige riesige Vorteile. Spätestens wenn du mit einer mehreren GB großen DB arbeitest, wo keinerlei Beziehungen vorhanden sind, wirst du daran nie wieder vorbei wollen. Trust me.

Mehr zu Beziehungen in Datenbanken: [Only registered and activated users can see links. Click Here To Register...]
03/09/2018 10:31 Masterkroko1#7
Das ist mir alles schon bewusst. Ich hatte das halt nur kurzfristig im Kopf und wollte deswegen einmal Nachfragen was die Com dazu sagt.

Kann ja sein das es aus irgendein Grund schlau wäre.