Regina Schaukrug: Artikel speichern

Beitrag lesen

Welchen Datentyp soll das Feld in der MySQL-Datenbank haben?

DAS Feld gibt es nicht. Was mir 2stante pede" einfällt ist:

  1. int oder bigint für eine Dokument-ID.
  2. Blob für PDFs, andere binäre Dokumente und den originalen Text.
  3. 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.
  4. Text für Angabe des originalen MimeTyps (Es sei denn Du willst dafür eine Tabelle, dann Integer)
  5. Text (bei eigenet Tabelle: Int) für Angabe der originalen Kodierung
  6. 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.
  7. 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.