Ext_Kontaktliste.Master ma_id int pk Ext_Kontaktliste.Ansprechpartner an_id int pk ma_id int -> Ext_Kontaktliste.Master(ma_id) Unternehmen | Es wird nur die ID für die Kontaktliste referenziert. Alle relevanten Infos werden live aus der Kontaktliste geladen via 'ATTACH'. un_id int pk -> Ext_Kontaktliste.Master(ma_id) hinzugefuegt_am "timestamp with time zone" geloescht_am "timestamp with time zone" nullable Grunderfassung_Personen_Unternehmen_Zuordnung id int pk {autoIncrement} pers_id int pk -> Grunderfassung_Personen(pers_id) unique=uq_aktive_zuordnung un_id int -> Unternehmen(un_id) unique=uq_aktive_zuordnung | alias 'Partnersuche__un_suche' an_id int -> Ext_Kontaktliste.Ansprechpartner(an_id) | alias 'Partnersuche__person_suche Partnersuche__kanal_aufmerksamkeit text nullable gueltig_ab "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` gueltig_bis "timestamp with time zone" nullable | Soft-Delete Marker (partieller Unique-Index: WHERE deleted_at IS NULL) Grunderfassung_Personen pers_id int pk {autoIncrement} geloescht "timestamp with time zone" nullable Metadaten_erstellung "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` nullable Metadaten_aktualisierung "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` nullable {on_update: `datetime.datetime.now(datetime.UTC)`} Metadaten_wiedereintrittsdatum timestamp nullable Metadaten_nutzer varchar(20) nullable Grunderfassung_fallnummer text nullable Grunderfassung_notiz text nullable HoehereBildung text nullable Kontaktperson__KP_adresse text nullable Kontaktperson__KP_anrede_anschrift text nullable Kontaktperson__KP_email text nullable Kontaktperson__KP_festnetznummer text nullable Kontaktperson__KP_funktion_beziehung text nullable Kontaktperson__KP_mobilfunknummer text nullable Kontaktperson__KP_name_partner text nullable Kontaktperson__KP_titel text nullable Kontaktperson__KP_vorname text nullable Kontaktperson__KP_email text nullable Kontaktperson__KP_email text nullable Kontaktperson__KP_email text nullable Projektrelevanz__relevanz text nullable Projektrelevanz__foerderperiode text nullable Schulbildung text nullable Stammdaten__PLZ text nullable Stammdaten__anrede_anschrift text nullable Stammdaten__anzahl_kinder__alter text nullable Stammdaten__anzahl_kinder__anzahl int nullable Stammdaten__aufenthaltsort text nullable Stammdaten__bundesland text nullable Stammdaten__land text nullable Stammdaten__email text nullable Stammdaten__familienstand text nullable Stammdaten__festnetznummer text nullable Stammdaten__geburtsdatum date nullable Stammdaten__hausnummer text nullable Stammdaten__herkunftsland text nullable Stammdaten__mobilfunknummer text nullable Stammdaten__name text nullable Stammdaten__ort text nullable Stammdaten__rueckkehrer bool nullable Stammdaten__staatsangehoerigkeit text nullable Stammdaten__strasse text nullable Stammdaten__titel text nullable Stammdaten__vorname text nullable WeitereInfos__WI_arbeitsstatus text nullable WeitereInfos__WI_aufenthaltstitel text nullable WeitereInfos__WI_deutsch_sprache text nullable WeitereInfos__WI_gueltigkeit_aufenthaltstitel text nullable WeitereInfos__WI_meldung_institution text nullable # Zuordnung_Personen_Unternehmen | Eine Person kann zu mehreren Unternehmen gehören, ein Unternehmen kann mehrere Personen betreuen. # id int pk {autoIncrement} # un_id int -> Grunderfassung_Unternehmen(un_id) # pers_id int -> Grunderfassung_Personen(pers_id) # gueltig_ab "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` # gueltig_bis "timestamp with time zone" nullable Beratung_Vorgang | Beratung kann an Unternehmen allein (pauschal), Person allein (pauschal) oder beide (individual) gebunden sein vorgang_id int pk {autoIncrement} un_id int nullable -> Unternehmen(un_id) | Pauschalberatungen sind sowohl für Unternehmen als auch Personen zulässig pers_id int nullable -> Grunderfassung_Personen(pers_id) | sowohl Pauschal- als auch Individualberatung bei Personenbindung möglich titel text beratungs_typ berat_typ(pauschal, individual) erstellt "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` aktualisiert "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` {on_update: `datetime.datetime.now(datetime.UTC)`} geloescht "timestamp with time zone" nullable # temporaer bool | Gibt an, ob der Vorgang losgelöst von der Grunderfassung gestartet wurde (Daten müssen nachträglich zugeordnet werden); theoretisch auch erfüllt, wenn `un_id` und `pers_id` beide NULL sind Beratung_Einzelberatung | Änderungen müssen über einen DB-Trigger an Elterntabelle zurückgeschrieben werden beratung_id int pk {autoIncrement} vorgang_id int -> Beratung_Vorgang(vorgang_id) | Jede Beratung muss zu einem Beratungsvorgang gehören. erstellt "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` | gekoppelt mit Elterntabelle 'Beratung_Vorgang' über Trigger aktualisiert "timestamp with time zone"=`datetime.datetime.now(datetime.UTC)` {on_update: `datetime.datetime.now(datetime.UTC)`} | gekoppelt mit Elterntabelle 'Beratung_Vorgang' über Trigger nutzer_id int | externe Nutzerverwaltung nutzer_name text | externe Nutzerverwaltung zeitstempel "timestamp with time zone" | Nutzereingabe ansprechpartner text kommunikationsweg text thema_crm_matrix text nullable | Verlinkung ins CRM, genaue Gestaltung noch unklar anmerkungen text nullable rueckmeldung txt nullable geloescht "timestamp with time zone" nullable