Welchen Datentyp soll das Feld in der MySQL-Datenbank haben?
DAS Feld gibt es nicht. Was mir 2stante pede" einfällt ist:
- int oder bigint für eine Dokument-ID.
- Blob für PDFs, andere binäre Dokumente und den originalen Text.
- Text für alles, was als Plaintext reinkommt. Vergiss nicht die Umkodierung wg. der Zeichensätze. Nutze das Textfeld auch für parallel gespeicherte, automatisch erzeugte Text-Präsentationen der binären Dokumente (pdf2text, html2text, ..., was auch immer). Diese Spalte muss dann den Text in konstanter, also festgelegter Kodierung enthalten.
- Text für Angabe des originalen MimeTyps (Es sei denn Du willst dafür eine Tabelle, dann Integer)
- Text (bei eigenet Tabelle: Int) für Angabe der originalen Kodierung
- Wenn Metadaten in anderen Tabellen stehen int oder ggf ENUM für Zugriff auf deren IDs (z.B. Autoren, Kategorien, Schlagwörter), Freilich kannst Du auch mit einer Dokument ID auf eine weitere n:m-Tabelle (eg. mit Spalten "dokumentID", "KategorieID") zielen.
- DateTime für alle Zeitangaben ...
lese über Normalisierung nach. Sowas will man sorgfältig planen und GLEICH daran denken, dass kleine Anwendungen GROSS werden können.