diff --git a/data_model/project_db_schema.aml b/data_model/project_db_schema.aml index 1a716a4..8d0e991 100644 --- a/data_model/project_db_schema.aml +++ b/data_model/project_db_schema.aml @@ -1,24 +1,26 @@ -Ext_CRM.Master +Ext_Kontaktliste.Master ma_id int pk - -Ext_CRM.Ansprechpartner +Ext_Kontaktliste.Ansprechpartner an_id int pk - ma_id int -> Ext_CRM.Master(ma_id) + 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'. - ma_id int pk -> Ext_CRM.Master(ma_id) + un_id int pk -> Ext_Kontaktliste.Master(ma_id) hinzugefuegt_am "timestamp with time zone" geloescht_am "timestamp with time zone" nullable -Grunderfassung_Personen_Zusatzdaten_Unternehmen - erf_id int pk -> Grunderfassung_Personen(erf_id) - Partnersuche__un_suche int -> Ext_CRM.Master(ma_id) - Partnersuche__person_suche int -> Ext_CRM.Ansprechpartner(an_id) +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 - erf_id int pk {autoIncrement} + 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)`} @@ -70,17 +72,17 @@ Grunderfassung_Personen 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 +# 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 -> Grunderfassung_Unternehmen(un_id) | Pauschalberatungen sind sowohl für Unternehmen als auch Personen zulässig + 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) @@ -89,7 +91,6 @@ Beratung_Vorgang | Beratung kann an Unternehmen allein (pauschal), Person allein 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.