MySQL datenbankstruktur

adblue

Well-known member
24 Juli 2009
57
2
hi

ich habe nochmal eine frage wegen einer datenbank struktur:

das php skript ist eine dateiverwaltung, wo user dateien in ordner hochladen können innerhalb eines projektes.

folgende tabellen gibt es bereits:

files mit id, dateinamen, ..., folderID

folder mit id, ordnernamen

folder_project mit folderID und projectID


meine frage ist nun ob ich diese zuordnungstabelle brauche oder kann man das ganze anders lösen?

danke
 
Wenn die Dateien doch schon im Dateisystem sind, wieso willst du alles in der Datenbank nochmal nachbilden? Is doch schon alles da, welche Datei in welchem Ordner is.
Du musst nur noch das Projekt zuordnen. Je nachdem, ob ne 1:1- oder ne 1:n-Beziehung is, entweder direkt in der Projekt-Tabelle, oder eben eine weitere Tabelle.

Tabellen für Ordner und Dateien seh ich keinen Nutzen.
 
nein, sorry ich habe mich falsch ausgedrückt.

der user klickt sich in ein projekt, und kann dann dateien in ordner hochladen.
die anzeige der gesamten dateien innerhalb eines projektes ist geordnet nach ordner.


ich hoffe das ganze ist jetzt verständlich

danke
 
Und? Was ändert das an tHs Einwand?
Eine eigene Tabelle für die Dateien macht eigentlich nur dann Sinn, wenn du dazu irgendwelche Zusatzinfos speichern willst, die die Datei selbst eben nicht hergibt (Benutzer, der die Datei hochgeladen hat, Kommentar zur Datei,...)
Ansonsten ist eine Tabelle, die dir sagt, welche Ordner zu welchem Projekt gehören, doch völlig ausreichend. Welche Dateien denn nun in dem Ordner liegen, sagt dir das Dateisystem...
Alternativ könntest du natürlich auch für jedes Projekt einen Ordner anlegen, und darunter dann die Einzel-Ordner. Dann brauchst du gar keine Zuordnungs-Tabelle. Jedes Projekt muss dann nur seinen eigenen Ordner kennen, und alles was darunter liegt (Ordner oder Dateien) gehört dann eben zu diesem Projekt.
 
Alternativ könntest du natürlich auch für jedes Projekt einen Ordner anlegen, und darunter dann die Einzel-Ordner.
Die Idee hatte ich auch, habs aber nicht vorgeschlagen, da noch nicht klar is, welche Beziehung zwischen Projekt und Ordner besteht.

Das mit dem "einfach n Projekt-Ordner anlegen" geht natürlich nur mit 1:1 (da kann man sich den Projekt-Ordner sparen), 1:n (... oder m:n mit symbolischen Links im Dateisystem :mrgreen: 8))