Statt Pseudonymen echte Matrikelnummern nutzen

Wenn Sie in Zukunft BI nutzen und daher die amtliche Studierendenstatistik aus BI liefern, benötigen Sie die echten Matrikelnummern. Wenn Sie bisher nur Pseudonyme hatten, gehen Sie wie folgt vor:

  1. Machen Sie die sospos-Tabelle mtknr_ldsg in der SuperX/Eduetl-DB verfügbar, indem Sie
    • (Besser, da wir auch schreibend darauf zugreifen:) unter Postgres die DBLINK-Funktion nutzen
    • die Tabelle kopieren
  2. Machen Sie eine Sicherung der SuperX/Eduetl-DB
    • Unter BI: Speichern Sie das folgende Script in der Datei .../webapps/superx/WEB-INF/conf/edustore/db/module/sos/conf/customize.sql (Achtung: wenn sie bereits existiert, erweitern Sie die Datei lediglich am Ende). Danach machen Sie einen Upgrade der Studierenden-Komponente
    • Unter SuperX: Führen Sie folgendes Script mit DOSQL aus

--Vorbedingung:
--1. Tabelle mtknr_ldsg ist verlinkt aus sospos
--2. Sie enthält ausschließlich Pseudonyme
--3. Es gibt genug Plattenplatz für *_backup-Tabellen
--Diese Datei muss in webapps/superx/WEB-INF/conf/edustore/db/module/sos/conf gespeichert werden, bzw.
--wenn die Datei schon existiert, müssen diese Zeilen hinzugefügt werden:
--Danach wird der Komponentenupgrade Studierende ausgeführt, und, bei Erfolg,
--wird die Tabelle mtknr_ldsg direkt ent-peudonymisiert
--Danach kann das Script wieder entfernt werden.
--Ggf. noch die *_backup-Tabellen droppen
--mit drop schema tmp_backup_mtknr;
<#include "SQL_lingua_franca"/>

<#include "SuperX_general"/>

<!Tabellefelder">sollen geändert werden:
select trim(table_name) as tabelle,trim(name) as feld from sx_fields
where name in ('matrikel_nr','mtknr')
and table_name in (select name from sx_tables where systeminfo_id in (10,7,120,130));


--soll überhaupt geändert werden?
select count(*) from mtknr_ldsg where mtknr=mtknr_ldsg;


<#if anzahl_echte_mtknr=0<#if anzahl_echte_mtknr=0>
create schema tmp_backup_mtknr;
begin work;
<#foreach feld in tabellen<#foreach feld in tabellen>
select * into tmp_backup_mtknr.${feld.tabelle}_backup from ${feld.tabelle};
update ${feld.tabelle} set ${feld.feld}=(select M.mtknr from mtknr_ldsg M where M.mtknr_ldsg=${feld.tabelle}.${feld.feld})
where ${feld.feld} in (select M.mtknr_ldsg from mtknr_ldsg M);

commit;
--wird die Tabelle mtknr_ldsg direkt ent-peudonymisiert
begin work;
update mtknr_ldsg set mtknr_ldsg = mtknr;
commit;

  • Danach sollten die Pseudonyme weg sein.
  • Wenn das Script nicht erfolgreich war, gibt es im Schema tmp_backup_mtknr die Originaltabellen
  • Wenn Sie die Tabelle mtknr_ldsg nicht mit DBLINK verknüpft haben, müssen Sie sie in die sospos-DB zurück kopieren.
  • Wichtig: danach sollten Sie den Entladeparameter SOS_UNL_ANON von "true" auf "false" setzen
    • Unter HISinOne-BI über Administration -> Entladeparameter bearbeiten, jeweils für die Komponenten Studierende und Bewerbungen
    • Unter SuperX in der Datei $SOS_LOAD_PFAD/SOS_ENV bzw. $ZUL_LOAD_PFAD/ZUL_ENV
  • Damit laufen zukünftige Laderoutinen mit echten Matrikelnummern.