Wenn mit einer großen Zahl von Anlagen unterschiedlicher Größe umgegangen werden soll und ein BLOB-Eintrag in der Datenbank selbst nicht infrage kommt, würde ich...
- In einer Anlagen-Tabelle die Metadaten (und u.U ein Thumbnail) speichern, dazu eine Repository-Id und einen zum Repository relativen Pfad.
- Eine Repository-Tabelle identifiziert die Speicherorte (die auf diese Weise einfach umziehen können).
- Jedes Repository kann durch einen gesonderten Prozess verwaltet werden, so dass händische Eingriffe in die Repositorys unterbunden werden können. Die Datei erhält als Namen lediglich die ID des Anlagen-Eintrags.
Die Abfrage kann so auch passend darauf reagieren, wenn ein Repository gerade nicht zur Verfügung steht.