Il Data Warehouse della Tweede Kamer è consultabile con SQL tramite un nuovo connettore, TweedeKamerV2. Questo utilizza il collegamento OData v5 della Camera anziché il collegamento v2. Il collegamento v2 verrà eliminato il 1 ottobre 2026.
Questo nuovo driver rende accessibili per la prima volta anche le relazioni tra i dati: quale voto appartiene a quale decisione, quale documento a quale fascicolo, quale prenotazione a quale sala, ecc.
Perché un nuovo connettore
La Tweede Kamer ritirerà il collegamento OData/v4/2.0 il 1 ottobre 2026. Il connettore esistente TweedeKamerNl legge quel collegamento e smetterà di funzionare in seguito. Il nuovo connettore legge il successore OData/v5.
Entrambi i connettori esisteranno in parallelo fino al 1 ottobre 2026, in modo che un report esistente possa essere convertito senza interruzioni.
Cosa cambia: le relazioni
Il vecchio connettore forniva le tabelle, ma non le relazioni tra di esse. Un riferimento a un singolo altro record veniva espanso in colonne di quell’altro record, che successivamente rimanevano sempre vuote; un riferimento a più record scompariva senza avviso. Questo rendeva il driver meno prezioso per molti scenari.
Il nuovo connettore registra tutti i 132 riferimenti conosciuti dal modello in due modi:
- un riferimento a un singolo altro record diventa una colonna normale con la chiave all’interno, ad esempio
Besluit_Idsu un voto. Su cui è possibile filtrare e unire; - un riferimento a più record ottiene una propria tabella di associazione di due colonne, ad esempio
ZaalReserveringentra sale e prenotazioni.
Esempio: voti contrari nelle decisioni respinte
La query sottostante conta per ciascun gruppo quante volte ha votato contro una decisione che è stata respinta. Ciò richiede due tabelle contemporaneamente: il tipo di decisione si trova sulla decisione stessa, il voto sullo scrutinio.
select stg.fractienaam
, count(*) as aantal_tegen
from TweedeKamer..Stemmingen stg
join TweedeKamer..Besluiten bst
on bst.id = stg.besluit_id
and bst.soort = 'Stemmen - verworpen'
where stg.soort = 'Tegen'
and stg.GewijzigdOp >= trunc(sysdateutc) - 14
group
by stg.fractienaam
Esempio: quanto è occupata ogni sala?
Il secondo tipo di relazione, la tabella di associazione, collega due tabelle che non possiedono una chiave l’una per l’altra. Sale e prenotazioni sono una di queste coppie:
select zal.naam as zaal
, count(*) as aantal_reserveringen
from TweedeKamer..ZaalReserveringen zrg
join TweedeKamer..Zalen zal
on zal.id = zrg.zaal_id
group
by zal.naam
In questo modo scopriamo che la Throbeckezaal è molto prenotata, ma la “Oude zaal - Rooksalon” molto poco.
Transizione
I nomi delle tabelle sono in gran parte identici tra le tabelle.
Vedi anche: