Goedenmiddag.

Binnenkort wil het Ministerie van OCW in mijn database meekijken van lerarentekortisnu.nl, waar ik graag aan mee werk.
Nu staan daar ook veel gegevens die zij helemaal niet hoeven te zien.

Hoe kan ik maken dat ze wel de database kunnen zien, maar dan enkel 1 (of 2) tabellen?
Ik kan uiteraard een andere gebruiker aanmaken met enkel lees-rechten etc, maar dan limiteer ik ze nog steeds niet tot 1 tabel.
Hoe?

Of de rest overhevelen naar een andere database?

Of kan ik ze enkel één view laten zien, maar wel dat zelf allerlei functies als SUM(), COUNT(), JOIN LEFT() etc kunnen gebruiken?
- Ariën - op 22/07/2019 23:10:16

Ikzelf zou niemand zomaar vrij in een database laten kijken. Dan zou ik liever voor een dynamisch script gaan waarbij ze zelf kunnen zoeken, sorteren etc.

Als dat teveel moeite kost, dan kan je het één en ander overhevelen naar een doorspit-database en eventueel anonimiseren. Nadeel: Deze is niet up-to-date, maar je kan met een geautomatiseerd proces dit wel elke dag actualiseren. Ik neem aan dat dit wel voldoende is voor hun onderzoek


Dit lijkt mij een mooie oplossing.
Al is het maar elk uur dat het geupdated wordt.
Wellicht gewoon een extra sql-user aanmaken met 1 extra database.
En dan daarin enkel wat ze nodig hebben (enige 'persoonsgegeven' is een emailadres).
Voor de rest geen bewaar ik geen emailadressen, wachtwoorden etc.
Maar in andere tabellen (zelfde database) heb ik die wel .Dat mogen zij niet zien.

Over het afspreken wat er gebruikt kan worden: dat is onderwerp van gesprek binnenkort.
Voorheen was alle data (geanonimiseerd uiteraard) vrijelijk downloadbaar.


[size=xsmall]Toevoeging op 23/07/2019 17:36:33:[/size]

Jan R op 23/07/2019 05:46:01

Ik wist niet dat een ministerie zomaar eigen databases mag opvragen? Is dit dan niet in strijd met de avg?

[size=xsmall]Toevoeging op 23/07/2019 05:46:27:[/size]

Moet dir niet via een rechter gaan?


Gaat, zoals reeds gezegd, om een vrijwillige samenwerking tussen Ministerie en mij.
Dus dit speelt geen rol. De vakbond Aob krijgt ook wekelijks data, maar dan enkel als Excel-bestand.
En de statistieken/conclusie staat al op https://lerarentekortisnu.nl/statistieken-po/?geavanceerd





[size=xsmall]Toevoeging op 23/07/2019 17:39:23:[/size]

- Ariën - op 23/07/2019 09:04:24

Volgens mij gaat om een verzoek en een samenwerking, en geen juridische procedure.

@Topicstarter: Maar wat voor informatie staat er in deze database? En hoe is deze ingedeeld?


Vooral registraties van wanneer school+klas+groep+aantal-leerlingen etc een lerarentekort had. En hoe het is 'opgelost'.
Per datum, per school (op BRIN-nummer), per groep en oplossing is er 1 record. Gaat om iets van 300.000 records inmiddels. Dan is SQL beter dan Excel ;)
Daarnaast nog wat koppeltabellen waarin ik de brin-nummer (soort kenteken voor een school) heb met daarin de naam, plaats, gps-coördinaten, postcode en bestuurnummer.
Want ook daarvoor is weer een koppeltabel.

Ik ga denk een overzicht genereren en die per uur updaten naar een aparte database die enkel lees-rechten heeft.
Dat lijkt mij wel even wat werk, maar is wel waterdicht en voorkomt dat ze fouten kunnen maken.
Waarom geen REST Api? Dan kunnen ze er mee doen wat ze willen.
Of je maakt gewoon een pagina met een overzicht of is dat te simpel?
Een overzicht is niet doorzoekbaar, sorteerbaar, analyseerbaar etc.
Met een SQL-database is dat wel het geval, ook voor SUM/COUNT/SORT etc, maar vooral de GROUP BY() en GROUP BY CONCAT() wat handig is.
Daarnaast moet er een referentie komen (zo'n vergelijkingslijst) met een lijst met 6500 brin-nummers.

Momenteel kopieer de data.
Eerst leeg ik de tabel, dan stel ik vanuit 4 andere tabellen 1 nieuwe lijst records samen en die voeg ik in.
Dit duurt zo'n 3 minuten.
Via een cron-job laat ik dit om de 4 uur (0:00, 6:00, 12:00, 18:00) dit uitvoeren.

Kan dat synchroniseren wellicht sneller?
Daar ga ik nog naar kijken.

[size=xsmall]Toevoeging op 25/07/2019 08:32:52:[/size]

Alle direct kopiëren tussen de tabellen, zonder eerst alles in PHP te laden verkorte de tijd van ongeveer 180 seconden naar 4 seconden.
Moest wel even de database-user kopieren naar de nieuwe database (die van OCW) maar dit is een stuk sneller.
Nu openen zij een URL, die verwijdert alle ocw-data, kopieert alle nieuwe ocw-data (in 4 seconden) en stuurt hen automatisch door naar phpMyAdmin.
Hiervoor heb je alsnog inloggegevens nodig, maar die krijgen zij van mij.

Bedankt voor de hulp heren!

Reageren