Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:projekt:dokumentation:bewerbungsnachweis_datenbankstruktur

zurĂĽck

Datenbankstruktur – Bewerbungsnachweis

Ăśberblick

Die Datenbank bildet den vollständigen Lebenszyklus einer Bewerbung ab – von der Firma über die konkrete Stelle bis hin zu Bewerbung, Statusverlauf und zugehörigen Belegen.

Ziel der Struktur ist:

  • klare Trennung der fachlichen Objekte
  • vollständige Nachvollziehbarkeit aller Ă„nderungen
  • saubere Referenzen ohne Redundanz
  • einfache Auswertbarkeit fĂĽr Druck- und Exportfunktionen

Die Datenbank ist normalisiert, aber bewusst pragmatisch gehalten.


Ăśbersicht der Tabellen

Tabelle Beschreibung
firma Stammdaten der Unternehmen
stelle Konkrete Stellen/Ausschreibungen
bewerbung Einzelne Bewerbungen
status_verlauf Historie aller Statusänderungen
dokument Zugeordnete Belege
v_nachweis_bewerbungen_mit_belegen Konsolidierte Nachweissicht (View)

Tabelle: `firma`

Speichert die Stammdaten der Unternehmen, bei denen Bewerbungen erfolgen.

Zweck

  • Zentrale Pflege von Firmendaten
  • Mehrfachverwendung fĂĽr mehrere Stellen/Bewerbungen

Wichtige Felder

Feld Typ Beschreibung
firma_id INT (PK) Eindeutige ID
name VARCHAR Name der Firma
ort VARCHAR Ort / Sitz
webseite VARCHAR Firmenwebseite
notizen TEXT Freie Zusatzinformationen
created_at DATETIME Zeitpunkt der Anlage

Tabelle: `stelle`

Repräsentiert eine konkrete Ausschreibung oder Position bei einer Firma.

Zweck

  • Trennung von Firma und konkreter Stelle
  • Wiederverwendbarkeit (z. B. mehrere Bewerbungen auf ähnliche Positionen)

Beziehungen

  • gehört zu genau einer Firma

Wichtige Felder

Feld Typ Beschreibung
stelle_id INT (PK) Eindeutige ID
firma_id INT (FK) Verweis auf firma
titel VARCHAR Stellentitel
referenznummer VARCHAR Interne/öffentliche Referenz
stellen_url VARCHAR URL zur Ausschreibung
quelle_plattform VARCHAR Quelle (z. B. Portal)
ort_text VARCHAR Arbeitsort (Text)
arbeitsmodell VARCHAR Vor Ort / Hybrid / Remote
beschaeftigung VARCHAR Vollzeit / Teilzeit
notizen TEXT Zusatzinfos

Tabelle: `bewerbung`

Zentrale Tabelle fĂĽr jede einzelne Bewerbung.

Zweck

  • VerknĂĽpft Stelle, Datum, Kanal und aktuellen Status
  • Dient als Ausgangspunkt fĂĽr Statusverlauf und Belege

Besonderheit

Der aktuelle Status wird hier redundant gespeichert, um schnelle Abfragen zu ermöglichen. Die vollständige Historie liegt in status_verlauf.

Wichtige Felder

Feld Typ Beschreibung
bewerbung_id INT (PK) Eindeutige ID
stelle_id INT (FK) Verweis auf stelle
bewerbungsdatum DATE Datum der Bewerbung
kanal VARCHAR Bewerbungsweg
aktueller_status VARCHAR Letzter Status
naechstes_nachfassen DATE Erinnerungsdatum
betreff VARCHAR Betreff / Titel
notizen TEXT Freie Notizen

Tabelle: `status_verlauf`

Speichert jede Statusänderung einer Bewerbung als eigenen Datensatz.

Zweck

  • Revisionssichere Nachvollziehbarkeit
  • Keine Ăśberschreibung von Zuständen

Typische Statuswerte

  • offen
  • nachfassen_geplant
  • rueckmeldung
  • einladung
  • absage
  • angebot
  • keine_antwort
  • zurueckgezogen

Wichtige Felder

Feld Typ Beschreibung
status_verlauf_id INT (PK) Eindeutige ID
bewerbung_id INT (FK) Zugehörige Bewerbung
status VARCHAR Neuer Status
status_datum DATE Datum der Änderung
quelle VARCHAR Quelle (Portal, E-Mail, etc.)
notizen TEXT Erläuterungen

Tabelle: `dokument`

Enthält alle Belege, die einer Bewerbung zugeordnet sind.

Zweck

  • Dokumentation der Nachweise
  • VerknĂĽpfung von Datei oder externer URL

UnterstĂĽtzte Typen (Beispiele)

  • Anschreiben
  • Lebenslauf
  • Stellenanzeige
  • Portalbestätigung
  • Einladung
  • Absage
  • Sonstiges

Wichtige Felder

Feld Typ Beschreibung
dokument_id INT (PK) Eindeutige ID
bewerbung_id INT (FK) Zugehörige Bewerbung
typ VARCHAR Dokumenttyp
dateipfad VARCHAR Pfad zur Datei
url VARCHAR Alternative externe URL
erstellt_am_datum DATE Dokumentdatum
notizen TEXT Zusatzinformationen

View: `v_nachweis_bewerbungen_mit_belegen`

Konsolidierte Lesesicht fĂĽr Auswertungen.

Zweck

  • Zentrale Datenquelle fĂĽr:
    • Dashboard
    • Drucknachweis
    • CSV-Export
  • Entlastung der PHP-Logik

Enthaltene Informationen

  • Bewerbungsdaten
  • Firmenname
  • Stellentitel
  • Aktueller Status
  • Anzahl der zugehörigen Dokumente

Vorteil

Änderungen an der Darstellung können auf Datenbankebene erfolgen, ohne PHP-Code anzupassen.


Referentielle Integrität

Alle Tabellen sind ĂĽber Foreign Keys logisch verknĂĽpft:

snippet.text
firma
 └── stelle
      └── bewerbung
           ├── status_verlauf
           └── dokument

Löschungen erfolgen bewusst nicht automatisch, um Datenverlust zu vermeiden.


Designentscheidungen (bewusst)

  • Statushistorie als eigene Tabelle (kein Ăśberschreiben)
  • Dokumente logisch getrennt von Bewerbung
  • View statt komplexer JOINs im Code
  • Keine unnötigen ENUMs → erweiterbar
  • Textfelder fĂĽr reale Flexibilität

Wartung & Erweiterbarkeit

Die Struktur ist vorbereitet fĂĽr:

  • zusätzliche Statusarten
  • weitere Dokumenttypen
  • statistische Auswertungen
  • zeitbasierte Reports

Ohne strukturelle Änderungen an bestehenden Tabellen.


Zusammenfassung

Die Datenbankstruktur ist:

  • fachlich sauber getrennt
  • nachvollziehbar aufgebaut
  • revisionssicher
  • wartungsfreundlich
  • langfristig erweiterbar

Sie bildet die Grundlage für einen belastbaren, formalen Bewerbungsnachweis und ist bewusst unabhängig von externen Systemen.

it-themen/projekt/dokumentation/bewerbungsnachweis_datenbankstruktur.txt · Zuletzt geändert: von lars