Inhaltsverzeichnis

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:

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

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

Beziehungen

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

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

Typische Statuswerte

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

UnterstĂĽtzte Typen (Beispiele)

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

Enthaltene Informationen

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)


Wartung & Erweiterbarkeit

Die Struktur ist vorbereitet fĂĽr:

Ohne strukturelle Änderungen an bestehenden Tabellen.


Zusammenfassung

Die Datenbankstruktur ist:

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