diff --git a/datamodel/brk/brk2.0_oracle.sql b/datamodel/brk/brk2.0_oracle.sql index 72dcdb851f..191d7b7ae7 100644 --- a/datamodel/brk/brk2.0_oracle.sql +++ b/datamodel/brk/brk2.0_oracle.sql @@ -230,9 +230,9 @@ CREATE TABLE recht isgebaseerdop2 VARCHAR2(255) REFERENCES stukdeel (identificatie), betreft VARCHAR2(255) REFERENCES recht (identificatie), rustop VARCHAR2(255) REFERENCES onroerendezaak (identificatie), - isontstaanuit VARCHAR2(255) REFERENCES recht (identificatie), - isbetrokkenbij VARCHAR2(255) REFERENCES recht (identificatie), - isbestemdtot VARCHAR2(255) REFERENCES recht (identificatie), + isontstaanuit VARCHAR2(255), + isbetrokkenbij VARCHAR2(255), + isbestemdtot VARCHAR2(255), soort VARCHAR2(22), jaarlijksbedrag DECIMAL(20, 2), jaarlijksbedrag_valuta VARCHAR(42), @@ -420,4 +420,6 @@ CREATE INDEX perceel_archief_begrenzing_perceel ON perceel_archief (begrenzing_p CREATE INDEX perceel_archief_plaatscoordinaten ON perceel_archief (plaatscoordinaten) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARAMETERS ( 'LAYER_GTYPE=POINT'); CREATE INDEX recht_aantekeningkadastraalobject ON recht (aantekeningkadastraalobject); -CREATE INDEX recht_rustop ON recht (rustop); \ No newline at end of file +CREATE INDEX recht_rustop ON recht (rustop); +CREATE INDEX onroerendezaakfiliatie_betreft_idx ON onroerendezaakfiliatie (betreft); +CREATE INDEX onroerendezaakfiliatie_onroerendezaak_idx ON onroerendezaakfiliatie (onroerendezaak); diff --git a/datamodel/brk/brk2.0_postgresql.sql b/datamodel/brk/brk2.0_postgresql.sql index a99ea73593..d371c7b2ea 100644 --- a/datamodel/brk/brk2.0_postgresql.sql +++ b/datamodel/brk/brk2.0_postgresql.sql @@ -472,11 +472,11 @@ CREATE TABLE recht -- OZ referentie rustop VARCHAR REFERENCES onroerendezaak (identificatie), -- een splitsing ref - isontstaanuit VARCHAR REFERENCES recht (identificatie), + isontstaanuit VARCHAR(255), -- een splitsing ref - isbetrokkenbij VARCHAR REFERENCES recht (identificatie), + isbetrokkenbij VARCHAR(255), -- Mandeligheid ref - isbestemdtot VARCHAR REFERENCES recht (identificatie), + isbestemdtot VARCHAR(255), -- Erfpachtcanon.Soort is een nadere aanduiding van de erfpachtcanon. De waarden zijn opgenomen in een waardelijst -- We onderkennen de volgende soorten erfpachtcanon* Eeuwigdurend afgekocht* Afgekocht tot* Variabel bedrag* Jaarlijks bedrag -- https://developer.kadaster.nl/schemas/waardelijsten/SoortErfpachtcanon/ @@ -732,4 +732,6 @@ CREATE INDEX perceel_archief_begrenzing_perceel ON perceel_archief USING GIST (b CREATE INDEX perceel_archief_plaatscoordinaten ON perceel_archief USING GIST (plaatscoordinaten); CREATE INDEX recht_aantekeningkadastraalobject ON recht (aantekeningkadastraalobject); -CREATE INDEX recht_rustop ON recht (rustop); \ No newline at end of file +CREATE INDEX recht_rustop ON recht (rustop); +CREATE INDEX onroerendezaakfiliatie_betreft_idx ON brk.onroerendezaakfiliatie USING btree (betreft); +CREATE INDEX onroerendezaakfiliatie_onroerendezaak_idx ON brk.onroerendezaakfiliatie USING btree (onroerendezaak); diff --git a/datamodel/extra_scripts/oracle/209_bag2_rsgb_views.sql b/datamodel/extra_scripts/oracle/209_bag2_rsgb_views.sql index 360bec2215..78e2a32757 100644 --- a/datamodel/extra_scripts/oracle/209_bag2_rsgb_views.sql +++ b/datamodel/extra_scripts/oracle/209_bag2_rsgb_views.sql @@ -149,279 +149,3 @@ create index mb_adresseerbaar_object_geometrie_bag_geom on mb_adresseerbaar_obje create index mb_adresseerbaar_object_geometrie_bag_centroid on mb_adresseerbaar_object_geometrie_bag (geometrie_centroide) indextype is MDSYS.SPATIAL_INDEX; create index mb_adresseerbaar_object_geometrie_bag_identificatie on mb_adresseerbaar_object_geometrie_bag (identificatienummeraanduiding); create unique index mb_adresseerbaar_object_geometrie_bag_objectid on mb_adresseerbaar_object_geometrie_bag (objectid); - - -create materialized view mb_kad_onrrnd_zk_adres_bag build deferred refresh on demand as -select cast(ROWNUM as INTEGER) as objectid, - qry.identif as koz_identif, - koz.dat_beg_geldh as begin_geldigheid, - to_date(koz.dat_beg_geldh, 'YYYY-MM-DD') as begin_geldigheid_datum, - bok.fk_nn_lh_tgo_identif as benoemdobj_identif, - qry.type, - coalesce(qry.ka_sectie, '') || ' ' || coalesce(qry.ka_perceelnummer, '') as aanduiding, - coalesce(qry.ka_kad_gemeentecode, '') || ' ' || coalesce(qry.ka_sectie, '') || ' ' || - coalesce(qry.ka_perceelnummer, '') || ' ' || coalesce(qry.ka_appartementsindex, '') as aanduiding2, - qry.ka_sectie as sectie, - qry.ka_perceelnummer as perceelnummer, - qry.ka_appartementsindex as appartementsindex, - qry.ka_kad_gemeentecode as gemeentecode, - qry.aand_soort_grootte, - qry.grootte_perceel, - qry.oppervlakte_geom, - qry.ka_deelperceelnummer as deelperceelnummer, - qry.omschr_deelperceel, - b.datum as verkoop_datum, - koz.cu_aard_cultuur_onbebouwd as aard_cultuur_onbebouwd, - koz.ks_bedrag as bedrag, - koz.ks_koopjaar as koopjaar, - koz.ks_meer_onroerendgoed as meer_onroerendgoed, - koz.ks_valutasoort as valutasoort, - koz.lo_loc__omschr as loc_omschr, - aant.aantekeningen as aantekeningen, - maogb.identificatienummeraanduiding, - maogb.nummeraanduidingstatus, - cast(null as varchar2(40)) as gemeente, - maogb.woonplaats, - maogb.straatnaam, - maogb.huisnummer, - maogb.huisletter, - maogb.huisnummertoevoeging, - maogb.postcode, - maogb.gebruiksdoelen, - maogb.oppervlakte, - qry.lon, - qry.lat, - qry.begrenzing_perceel -from (select p.sc_kad_identif as identif, - 'perceel' as type, - p.ka_sectie, - p.ka_perceelnummer, - cast(null as CHARACTER VARYING(4)) as ka_appartementsindex, - p.ka_kad_gemeentecode, - p.aand_soort_grootte, - p.grootte_perceel, - p.ka_deelperceelnummer, - p.omschr_deelperceel, - p.begrenzing_perceel as begrenzing_perceel, - case - when p.begrenzing_perceel.get_gtype() is not null then sdo_geom.sdo_area(p.begrenzing_perceel, 0.1) - else null end as oppervlakte_geom, - case - when p.begrenzing_perceel.get_gtype() is not null then sdo_cs.transform( - sdo_geom.sdo_centroid(p.begrenzing_perceel, 0.1), 4326).sdo_point.x - else null end as lon, - case - when p.begrenzing_perceel.get_gtype() is not null then sdo_cs.transform( - sdo_geom.sdo_centroid(p.begrenzing_perceel, 0.1), 4326).sdo_point.y end as lat - from kad_perceel p - union all - select ar.sc_kad_identif as identif, - 'appartement' as type, - ar.ka_sectie, - ar.ka_perceelnummer, - ar.ka_appartementsindex, - ar.ka_kad_gemeentecode, - cast(null as CHARACTER VARYING(2)) as aand_soort_grootte, - cast(null as NUMERIC(8, 0)) as grootte_perceel, - cast(null as CHARACTER VARYING(4)) as ka_deelperceelnummer, - cast(null as CHARACTER VARYING(1120)) as omschr_deelperceel, - kp.begrenzing_perceel as begrenzing_perceel, - case - when kp.begrenzing_perceel.get_gtype() is not null then sdo_geom.sdo_area(kp.begrenzing_perceel, 0.1) - else null end as oppervlakte_geom, - case - when kp.begrenzing_perceel.get_gtype() is not null then sdo_cs.transform( - sdo_geom.sdo_centroid(kp.begrenzing_perceel, 0.1), 4326).sdo_point.x - else null end as lon, - case - when kp.begrenzing_perceel.get_gtype() is not null then sdo_cs.transform( - sdo_geom.sdo_centroid(kp.begrenzing_perceel, 0.1), 4326).sdo_point.y end as lat - from mb_util_app_re_kad_perceel v - join kad_perceel kp on cast(v.perceel_identif as NUMERIC) = kp.sc_kad_identif - join app_re ar on cast(v.app_re_identif as NUMERIC) = ar.sc_kad_identif) qry - join kad_onrrnd_zk koz on (koz.kad_identif = qry.identif) - left join benoemd_obj_kad_onrrnd_zk bok on (bok.fk_nn_rh_koz_kad_identif = qry.identif) - left join mb_adresseerbaar_object_geometrie_bag maogb on (((bok.fk_nn_lh_tgo_identif) = maogb.identificatie)) - left join (select bd.ref_id, max(bd.datum) as datum - from brondocument bd - where ((bd.omschrijving) = 'Akte van Koop en Verkoop') - group by bd.ref_id) b on (koz.kad_identif = b.ref_id) - left join (select fk_4koz_kad_identif, - listagg('id: ' || coalesce(koza.kadaster_identif_aantek, '') || ', ' || 'aard: ' || - coalesce(koza.aard_aantek_kad_obj, '') || ', ' || 'begin: ' || - coalesce(koza.begindatum_aantek_kad_obj, '') || ', ' || 'beschrijving: ' || - coalesce(koza.beschrijving_aantek_kad_obj, '') || ', ' || 'eind: ' || - coalesce(koza.eindd_aantek_kad_obj, '') || ', ' || 'koz-id: ' || - coalesce(koza.fk_4koz_kad_identif, 0) || ', ' || 'subject-id: ' || - coalesce(koza.fk_5pes_sc_identif, '') || '; ', ' & ' on OVERFLOW TRUNCATE with COUNT) - within group ( order by koza.fk_4koz_kad_identif ) as aantekeningen - from kad_onrrnd_zk_aantek koza - group by fk_4koz_kad_identif) aant on koz.kad_identif = aant.fk_4koz_kad_identif; - -comment on materialized view mb_kad_onrrnd_zk_adres_bag is 'alle kadastrale onroerende zaken (perceel en appartementsrecht) met opgezochte verkoop datum, objectid voor geoserver/arcgis en BAG adres'; -delete -from user_sdo_geom_metadata -where table_name = 'MB_KAD_ONRRND_ZK_ADRES_BAG'; -insert into user_sdo_geom_metadata -values ('MB_KAD_ONRRND_ZK_ADRES_BAG', 'BEGRENZING_PERCEEL', - mdsys.sdo_dim_array(mdsys.sdo_dim_element('X', 12000, 280000, .1), - mdsys.sdo_dim_element('Y', 304000, 620000, .1)), 28992); - -create index mb_kad_onrrnd_zk_adres_bag_begrenzing_perceel_idx on mb_kad_onrrnd_zk_adres_bag (begrenzing_perceel) indextype is MDSYS.SPATIAL_INDEX; -create index mb_kad_onrrnd_zk_adres_bag_identif on mb_kad_onrrnd_zk_adres_bag (koz_identif); -create unique index mb_kad_onrrnd_zk_adres_bag_objectid on mb_kad_onrrnd_zk_adres_bag (objectid); - - ---Maakt dezelfde materialized view aan als mb_koz_rechth, maar de BAG gegevens worden uit mb_kad_onrrnd_zk_adres_bag gehaald. -create materialized view mb_koz_rechth_bag build deferred refresh on demand as -select cast(ROWNUM as INTEGER) as objectid, - koz.koz_identif, - koz.begin_geldigheid, - to_date(koz.begin_geldigheid, 'YYYY-MM-DD') as begin_geldigheid_datum, - koz.type, - coalesce(koz.sectie, '') || ' ' || coalesce(koz.perceelnummer, '') as aanduiding, - coalesce(koz.gemeentecode, '') || ' ' || coalesce(koz.sectie, '') || ' ' || coalesce(koz.perceelnummer, '') || - ' ' || coalesce(koz.appartementsindex, '') as aanduiding2, - koz.sectie, - koz.perceelnummer, - koz.appartementsindex, - koz.gemeentecode, - koz.aand_soort_grootte, - koz.grootte_perceel, - koz.oppervlakte_geom as oppervlakte_geom, - koz.deelperceelnummer, - koz.omschr_deelperceel, - koz.verkoop_datum, - koz.aard_cultuur_onbebouwd, - koz.bedrag, - koz.koopjaar, - koz.meer_onroerendgoed, - koz.valutasoort, - koz.loc_omschr, - zrr.zr_identif, - zrr.ingangsdatum_recht, - zrr.subject_identif, - zrr.aandeel, - zrr.omschr_aard_verkregenr_recht, - zrr.indic_betrokken_in_splitsing, - zrr.soort, - zrr.geslachtsnaam, - zrr.voorvoegsel, - zrr.voornamen, - zrr.aand_naamgebruik, - zrr.geslachtsaand, - zrr.naam, - zrr.woonadres, - zrr.geboortedatum, - zrr.geboorteplaats, - zrr.overlijdensdatum, - zrr.bsn, - zrr.organisatie_naam, - zrr.rechtsvorm, - zrr.statutaire_zetel, - zrr.rsin, - zrr.kvk_nummer, - zrr.aantekeningen, - koz.gemeente, - koz.woonplaats, - koz.straatnaam, - koz.huisnummer, - koz.huisletter, - koz.huisnummertoevoeging, - koz.postcode, - koz.lon, - koz.lat, - koz.begrenzing_perceel -from mb_zr_rechth zrr - right join mb_kad_onrrnd_zk_adres_bag koz on zrr.koz_identif = koz.koz_identif; - -comment on materialized view mb_kad_onrrnd_zk_adres_bag is 'kadastrale percelen een appartementsrechten met rechten en rechthebbenden en objectid voor geoserver/arcgis'; -delete -from user_sdo_geom_metadata -where table_name = 'MB_KOZ_RECHTH_BAG'; -insert into user_sdo_geom_metadata -values ('MB_KOZ_RECHTH_BAG', 'BEGRENZING_PERCEEL', - mdsys.sdo_dim_array(mdsys.sdo_dim_element('X', 12000, 280000, .1), - mdsys.sdo_dim_element('Y', 304000, 620000, .1)), 28992); - -create index mb_koz_rechth_bag_begrenzing_perceel_idx on mb_koz_rechth_bag (begrenzing_perceel) indextype is MDSYS.SPATIAL_INDEX; -create index mb_koz_rechth_bag_identif on mb_koz_rechth_bag (koz_identif); -create unique index mb_koz_rechth_bag_objectid on mb_koz_rechth_bag (objectid); - - ---Maakt dezelfde materialized view aan als mb_avg_koz_rechth, maar de BAG gegevens worden uit mb_kad_onrrnd_zk_adres_bag gehaald. -create materialized view mb_avg_koz_rechth_bag build deferred refresh on demand as -select cast(ROWNUM as INTEGER) as objectid, - koz.koz_identif as koz_identif, - koz.begin_geldigheid, - to_date(koz.begin_geldigheid, 'YYYY-MM-DD') as begin_geldigheid_datum, - koz.type, - coalesce(koz.sectie, '') || ' ' || coalesce(koz.perceelnummer, '') as aanduiding, - coalesce(koz.gemeentecode, '') || ' ' || coalesce(koz.sectie, '') || ' ' || coalesce(koz.perceelnummer, '') || - ' ' || coalesce(koz.appartementsindex, '') as aanduiding2, - koz.sectie, - koz.perceelnummer, - koz.appartementsindex, - koz.gemeentecode, - koz.aand_soort_grootte, - koz.grootte_perceel, - koz.oppervlakte_geom, - koz.deelperceelnummer, - koz.omschr_deelperceel, - koz.verkoop_datum, - koz.aard_cultuur_onbebouwd, - koz.bedrag, - koz.koopjaar, - koz.meer_onroerendgoed, - koz.valutasoort, - koz.loc_omschr, - zrr.zr_identif, - zrr.ingangsdatum_recht, - zrr.subject_identif, - zrr.aandeel, - zrr.omschr_aard_verkregenr_recht, - zrr.indic_betrokken_in_splitsing, - zrr.soort, - zrr.geslachtsnaam, - zrr.voorvoegsel, - zrr.voornamen, - zrr.aand_naamgebruik, - zrr.geslachtsaand, - zrr.naam, - zrr.woonadres, - zrr.geboortedatum, - zrr.geboorteplaats, - zrr.overlijdensdatum, - zrr.bsn, - zrr.organisatie_naam, - zrr.rechtsvorm, - zrr.statutaire_zetel, - zrr.rsin, - zrr.kvk_nummer, - zrr.aantekeningen, - koz.gemeente, - koz.woonplaats, - koz.straatnaam, - koz.huisnummer, - koz.huisletter, - koz.huisnummertoevoeging, - koz.postcode, - koz.lon, - koz.lat, - koz.begrenzing_perceel -from mb_avg_zr_rechth zrr - right join mb_kad_onrrnd_zk_adres_bag koz on zrr.koz_identif = koz.koz_identif; - - -comment on materialized view mb_kad_onrrnd_zk_adres_bag is 'kadastrale percelen een appartementsrechten met rechten en rechthebbenden geschoond voor avg en objectid voor geoserver/arcgis'; -delete -from user_sdo_geom_metadata -where table_name = 'MB_AVG_KOZ_RECHTH_BAG'; -insert into user_sdo_geom_metadata -values ('MB_AVG_KOZ_RECHTH_BAG', 'BEGRENZING_PERCEEL', - mdsys.sdo_dim_array(mdsys.sdo_dim_element('X', 12000, 280000, .1), - mdsys.sdo_dim_element('Y', 304000, 620000, .1)), 28992); - -create index mb_avg_koz_rechth_bag_begrenzing_perceel_idx on mb_avg_koz_rechth_bag (begrenzing_perceel) indextype is MDSYS.SPATIAL_INDEX; -create index mb_avg_koz_rechth_bag_identif on mb_avg_koz_rechth_bag (koz_identif); -create unique index mb_avg_koz_rechth_bag_objectid on mb_avg_koz_rechth_bag (objectid); diff --git a/datamodel/extra_scripts/postgresql/209_bag2_rsgb_views.sql b/datamodel/extra_scripts/postgresql/209_bag2_rsgb_views.sql index 246de3d32d..9ac8a999b0 100644 --- a/datamodel/extra_scripts/postgresql/209_bag2_rsgb_views.sql +++ b/datamodel/extra_scripts/postgresql/209_bag2_rsgb_views.sql @@ -121,254 +121,3 @@ create unique index mb_adresseerbaar_object_geometrie_bag_objectid on mb_adresse comment on materialized view mb_adresseerbaar_object_geometrie_bag is 'alle adresseerbare objecten (ligplaatst, standplaats, verblijfsobject) met adres, gebruiksdoel, pand en (afgeleide) geometrie.'; - -create materialized view mb_kad_onrrnd_zk_adres_bag as -select (row_number() over ())::integer as objectid, - qry.identif as koz_identif, - koz.dat_beg_geldh as begin_geldigheid, - to_date((koz.dat_beg_geldh)::text, 'YYYY-MM-DD'::text) as begin_geldigheid_datum, - bok.fk_nn_lh_tgo_identif as benoemdobj_identif, - qry.type, - (((coalesce(qry.ka_sectie, ''::character varying))::text || ' '::text) || - (coalesce(qry.ka_perceelnummer, ''::character varying))::text) as aanduiding, - (((((((coalesce(qry.ka_kad_gemeentecode, ''::character varying))::text || ' '::text) || - (coalesce(qry.ka_sectie, ''::character varying))::text) || ' '::text) || - (coalesce(qry.ka_perceelnummer, ''::character varying))::text) || ' '::text) || - (coalesce(qry.ka_appartementsindex, ''::character varying))::text) as aanduiding2, - qry.ka_sectie as sectie, - qry.ka_perceelnummer as perceelnummer, - qry.ka_appartementsindex as appartementsindex, - qry.ka_kad_gemeentecode as gemeentecode, - qry.aand_soort_grootte, - (qry.grootte_perceel)::integer as grootte_perceel, - st_area(qry.begrenzing_perceel) as oppervlakte_geom, - qry.ka_deelperceelnummer as deelperceelnummer, - qry.omschr_deelperceel, - b.datum as verkoop_datum, - koz.cu_aard_cultuur_onbebouwd as aard_cultuur_onbebouwd, - (koz.ks_bedrag)::integer as bedrag, - koz.ks_koopjaar as koopjaar, - koz.ks_meer_onroerendgoed as meer_onroerendgoed, - koz.ks_valutasoort as valutasoort, - koz.lo_loc__omschr as loc_omschr, - array_to_string((select array_agg((((((((((((((((((((('id: '::text || - (coalesce(koza.kadaster_identif_aantek, ''::character varying))::text) || - ', '::text) || 'aard: '::text) || - (coalesce(koza.aard_aantek_kad_obj, ''::character varying))::text) || - ', '::text) || 'begin: '::text) || - (coalesce(koza.begindatum_aantek_kad_obj, ''::character varying))::text) || - ', '::text) || 'beschrijving: '::text) || - (coalesce(koza.beschrijving_aantek_kad_obj, ''::character varying))::text) || - ', '::text) || 'eind: '::text) || - (coalesce(koza.eindd_aantek_kad_obj, ''::character varying))::text) || - ', '::text) || 'koz-id: '::text) || - coalesce(koza.fk_4koz_kad_identif, (0)::numeric(15, 0))) || ', '::text) || - 'subject-id: '::text) || - (coalesce(koza.fk_5pes_sc_identif, ''::character varying))::text) || - '; '::text)) as array_agg - from kad_onrrnd_zk_aantek koza - where (koza.fk_4koz_kad_identif = koz.kad_identif)), ' & '::text) as aantekeningen, - maogb.identificatienummeraanduiding, - maogb.nummeraanduidingstatus, - maogb.gemeente, - maogb.woonplaats, - maogb.straatnaam, - maogb.huisnummer, - maogb.huisletter, - maogb.huisnummertoevoeging, - maogb.postcode, - maogb.gebruiksdoelen, - maogb.oppervlakte, - st_x(st_transform(st_setsrid(st_centroid(qry.begrenzing_perceel), 28992), 4326)) as lon, - st_y(st_transform(st_setsrid(st_centroid(qry.begrenzing_perceel), 28992), 4326)) as lat, - qry.begrenzing_perceel -from (((((select p.sc_kad_identif as identif, - 'perceel'::character varying(11) as type, - p.ka_sectie, - p.ka_perceelnummer, - null::character varying(4) as ka_appartementsindex, - p.ka_kad_gemeentecode, - p.aand_soort_grootte, - p.grootte_perceel, - p.ka_deelperceelnummer, - p.omschr_deelperceel, - p.begrenzing_perceel - from kad_perceel p - union all - select ar.sc_kad_identif as identif, - 'appartement'::character varying(11) as type, - ar.ka_sectie, - ar.ka_perceelnummer, - ar.ka_appartementsindex, - ar.ka_kad_gemeentecode, - null::character varying(2) as aand_soort_grootte, - null::numeric(8, 0) as grootte_perceel, - null::character varying(4) as ka_deelperceelnummer, - null::character varying(1120) as omschr_deelperceel, - kp.begrenzing_perceel - from ((mb_util_app_re_kad_perceel v - join kad_perceel kp on ((v.perceel_identif = kp.sc_kad_identif))) - join app_re ar on (((v.app_re_identif)::numeric = ar.sc_kad_identif)))) qry - join kad_onrrnd_zk koz on ((koz.kad_identif = qry.identif))) - left join benoemd_obj_kad_onrrnd_zk bok on ((bok.fk_nn_rh_koz_kad_identif = qry.identif))) - left join mb_adresseerbaar_object_geometrie_bag maogb on (((bok.fk_nn_lh_tgo_identif)::bpchar = maogb.identificatie))) - left join (select brondocument.ref_id, - max(brondocument.datum) as datum - from brondocument - where ((brondocument.omschrijving)::text = 'Akte van Koop en Verkoop'::text) - group by brondocument.ref_id) b on (((koz.kad_identif)::text = (b.ref_id)::text))) -with no data; - -comment on materialized view mb_kad_onrrnd_zk_adres_bag is 'alle kadastrale onroerende zaken (perceel en appartementsrecht) met opgezochte verkoop datum, objectid voor geoserver/arcgis en BAG adres'; -create index mb_kad_onrrnd_zk_adres_bag_begrenzing_perceel_idx on mb_kad_onrrnd_zk_adres_bag using gist (begrenzing_perceel); -create index mb_kad_onrrnd_zk_adres_bag_identif on mb_kad_onrrnd_zk_adres_bag using btree (koz_identif); -create unique index mb_kad_onrrnd_zk_adres_bag_objectid on mb_kad_onrrnd_zk_adres_bag using btree (objectid); - ---Maakt dezelfde materialized view aan als mb_koz_rechth, maar de BAG gegevens worden uit mb_kad_onrrnd_zk_adres_bag gehaald. -create materialized view mb_koz_rechth_bag as -select row_number() over ()::integer as objectid, - koz.koz_identif, - koz.begin_geldigheid, - to_date(koz.begin_geldigheid::text, 'YYYY-MM-DD'::text) as begin_geldigheid_datum, - koz.type, - (coalesce(koz.sectie, ''::character varying)::text || ' '::text) || - coalesce(koz.perceelnummer, ''::character varying)::text as aanduiding, - (((((coalesce(koz.gemeentecode, ''::character varying)::text || ' '::text) || - coalesce(koz.sectie, ''::character varying)::text) || ' '::text) || - coalesce(koz.perceelnummer, ''::character varying)::text) || ' '::text) || - coalesce(koz.appartementsindex, ''::character varying)::text as aanduiding2, - koz.sectie, - koz.perceelnummer, - koz.appartementsindex, - koz.gemeentecode, - koz.aand_soort_grootte, - koz.grootte_perceel, - koz.oppervlakte_geom, - koz.deelperceelnummer, - koz.omschr_deelperceel, - koz.verkoop_datum, - koz.aard_cultuur_onbebouwd, - koz.bedrag, - koz.koopjaar, - koz.meer_onroerendgoed, - koz.valutasoort, - koz.loc_omschr, - zrr.zr_identif, - zrr.ingangsdatum_recht, - zrr.subject_identif, - zrr.aandeel, - zrr.omschr_aard_verkregen_recht, - zrr.indic_betrokken_in_splitsing, - zrr.soort, - zrr.geslachtsnaam, - zrr.voorvoegsel, - zrr.voornamen, - zrr.aand_naamgebruik, - zrr.geslachtsaand, - zrr.naam, - zrr.woonadres, - zrr.geboortedatum, - zrr.geboorteplaats, - zrr.overlijdensdatum, - zrr.bsn, - zrr.organisatie_naam, - zrr.rechtsvorm, - zrr.statutaire_zetel, - zrr.rsin, - zrr.kvk_nummer, - zrr.aantekeningen, - koz.gemeente, - koz.woonplaats, - koz.straatnaam, - koz.huisnummer, - koz.huisletter, - koz.huisnummertoevoeging, - koz.postcode, - koz.lon, - koz.lat, - koz.begrenzing_perceel -from mb_zr_rechth zrr - right join mb_kad_onrrnd_zk_adres_bag koz on zrr.koz_identif = koz.koz_identif -with no data; - -comment on materialized view mb_kad_onrrnd_zk_adres_bag is 'kadastrale percelen een appartementsrechten met rechten en rechthebbenden en objectid voor geoserver/arcgis'; --- View indexes: -create index mb_koz_rechth_bag_begrenzing_perceel_idx on mb_koz_rechth_bag using gist (begrenzing_perceel); -create index mb_koz_rechth_bag_identif on mb_koz_rechth_bag using btree (koz_identif); -create unique index mb_koz_rechth_bag_objectid on mb_koz_rechth_bag using btree (objectid); - - ---Maakt dezelfde materialized view aan als mb_avg_koz_rechth, maar de BAG gegevens worden uit mb_kad_onrrnd_zk_adres_bag gehaald. -create materialized view mb_avg_koz_rechth_bag as -select row_number() over ()::integer as objectid, - koz.koz_identif, - koz.begin_geldigheid, - to_date(koz.begin_geldigheid::text, 'YYYY-MM-DD'::text) as begin_geldigheid_datum, - koz.type, - (coalesce(koz.sectie, ''::character varying)::text || ' '::text) || - coalesce(koz.perceelnummer, ''::character varying)::text as aanduiding, - (((((coalesce(koz.gemeentecode, ''::character varying)::text || ' '::text) || - coalesce(koz.sectie, ''::character varying)::text) || ' '::text) || - coalesce(koz.perceelnummer, ''::character varying)::text) || ' '::text) || - coalesce(koz.appartementsindex, ''::character varying)::text as aanduiding2, - koz.sectie, - koz.perceelnummer, - koz.appartementsindex, - koz.gemeentecode, - koz.aand_soort_grootte, - koz.grootte_perceel, - koz.oppervlakte_geom, - koz.deelperceelnummer, - koz.omschr_deelperceel, - koz.verkoop_datum, - koz.aard_cultuur_onbebouwd, - koz.bedrag, - koz.koopjaar, - koz.meer_onroerendgoed, - koz.valutasoort, - koz.loc_omschr, - zrr.zr_identif, - zrr.ingangsdatum_recht, - zrr.subject_identif, - zrr.aandeel, - zrr.omschr_aard_verkregen_recht, - zrr.indic_betrokken_in_splitsing, - zrr.soort, - zrr.geslachtsnaam, - zrr.voorvoegsel, - zrr.voornamen, - zrr.aand_naamgebruik, - zrr.geslachtsaand, - zrr.naam, - zrr.woonadres, - zrr.geboortedatum, - zrr.geboorteplaats, - zrr.overlijdensdatum, - zrr.bsn, - zrr.organisatie_naam, - zrr.rechtsvorm, - zrr.statutaire_zetel, - zrr.rsin, - zrr.kvk_nummer, - zrr.aantekeningen, - koz.gemeente, - koz.woonplaats, - koz.straatnaam, - koz.huisnummer, - koz.huisletter, - koz.huisnummertoevoeging, - koz.postcode, - koz.lon, - koz.lat, - koz.begrenzing_perceel -from mb_avg_zr_rechth zrr - right join mb_kad_onrrnd_zk_adres_bag koz on zrr.koz_identif = koz.koz_identif -with no data; - -comment on materialized view mb_kad_onrrnd_zk_adres_bag is 'kadastrale percelen een appartementsrechten met rechten en rechthebbenden geschoond voor avg en objectid voor geoserver/arcgis'; --- View indexes: -create index mb_avg_koz_rechth_bag_begrenzing_perceel_idx on mb_avg_koz_rechth_bag using gist (begrenzing_perceel); -create index mb_avg_koz_rechth_bag_identif on mb_avg_koz_rechth_bag using btree (koz_identif); -create unique index mb_avg_koz_rechth_bag_objectid on mb_avg_koz_rechth_bag using btree (objectid); - - diff --git a/datamodel/src/test/java/nl/b3p/brmo/datamodel/MaterializedViewsTest.java b/datamodel/src/test/java/nl/b3p/brmo/datamodel/MaterializedViewsTest.java index b4004937ff..7a353af395 100644 --- a/datamodel/src/test/java/nl/b3p/brmo/datamodel/MaterializedViewsTest.java +++ b/datamodel/src/test/java/nl/b3p/brmo/datamodel/MaterializedViewsTest.java @@ -146,9 +146,6 @@ public void testBasisMViews() throws SQLException { // bag 2 "mb_adres_bag", "mb_adresseerbaar_object_geometrie_bag", - "mb_avg_koz_rechth_bag", - "mb_kad_onrrnd_zk_adres_bag", - "mb_koz_rechth_bag", // bag 2 & brk 2 views in rsgb/public "mb_kadastraleonroerendezakenmetadres", "mb_onroerendezakenmetrechthebbenden", diff --git a/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/brk.sql b/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/brk.sql index 107ce40c00..96fdeb6117 100644 --- a/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/brk.sql +++ b/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/brk.sql @@ -121,6 +121,62 @@ COMMENT ON COLUMN onroerendezaak.begingeldigheid IS 'BRMO: metadata tbv archiver COMMENT ON COLUMN onroerendezaak.eindegeldigheid IS 'BRMO: metadata tbv archivering, de toestandsdatum van het opvolgende bericht.'; COMMENT ON COLUMN recht.begingeldigheid IS 'BRMO: metadata tbv archivering, de toestandsdatum van het bericht.'; +--https://b3partners.atlassian.net/browse/BRMO-332 +-- Haal de constraintnaam op uit de database. Oracle genereert geen voorspelbare namen voor constraints. +DECLARE +v_constraint_name VARCHAR2(255); +BEGIN + BEGIN + SELECT c.constraint_name + INTO v_constraint_name + FROM all_cons_columns col + JOIN all_constraints c + ON col.constraint_name = c.constraint_name + WHERE col.table_name = 'recht' + AND col.column_name = 'isbestemdtot' + AND c.constraint_type = 'R'; + EXECUTE IMMEDIATE 'ALTER TABLE recht DROP CONSTRAINT ' || v_constraint_name; + EXCEPTION + WHEN NO_DATA_FOUND THEN + DBMS_OUTPUT.PUT_LINE('Geen constraint gevonden voor recht.isbestemdtot'); + END; + + BEGIN + SELECT c.constraint_name + INTO v_constraint_name + FROM all_cons_columns col + JOIN all_constraints c + ON col.constraint_name = c.constraint_name + WHERE col.table_name = 'recht' + AND col.column_name = 'isontstaanuit' + AND c.constraint_type = 'R'; + EXECUTE IMMEDIATE 'ALTER TABLE recht DROP CONSTRAINT ' || v_constraint_name; + EXCEPTION + WHEN NO_DATA_FOUND THEN + DBMS_OUTPUT.PUT_LINE('Geen constraint gevonden voor recht.isontstaanuit'); + END; + + BEGIN + SELECT c.constraint_name + INTO v_constraint_name + FROM all_cons_columns col + JOIN all_constraints c + ON col.constraint_name = c.constraint_name + WHERE col.table_name = 'recht' + AND col.column_name = 'isbetrokkenbij' + AND c.constraint_type = 'R'; + EXECUTE IMMEDIATE 'ALTER TABLE recht DROP CONSTRAINT ' || v_constraint_name; + EXCEPTION + WHEN NO_DATA_FOUND THEN + DBMS_OUTPUT.PUT_LINE('Geen constraint gevonden voor recht.isbetrokkenbij'); + END; +END; +/ + +--https://b3partners.atlassian.net/browse/BRMO-379 +CREATE INDEX onroerendezaakfiliatie_betreft_idx ON onroerendezaakfiliatie (betreft); +CREATE INDEX onroerendezaakfiliatie_onroerendezaak_idx ON onroerendezaakfiliatie (onroerendezaak); + -- onderstaande dienen als laatste stappen van een upgrade uitgevoerd INSERT INTO brmo_metadata (naam,waarde) SELECT 'upgrade_3.0.2_naar_4.0.0','vorige versie was ' || waarde FROM brmo_metadata WHERE naam='brmoversie'; -- versienummer update diff --git a/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/rsgb.sql b/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/rsgb.sql index f624e2c742..1207964004 100644 --- a/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/rsgb.sql +++ b/datamodel/upgrade_scripts/3.0.2-4.0.0/oracle/rsgb.sql @@ -10,6 +10,11 @@ INSERT INTO aard_verkregen_recht (aand, omschr_aard_verkregenr_recht) VALUES ('2 INSERT INTO aard_recht_verkort (aand, omschr) VALUES ('25', 'Huur afhankelijk opstal (recht van)'); INSERT INTO aard_recht_verkort (aand, omschr) VALUES ('26', 'Pachtafhankelijk opstal (recht van)'); +--ihkv https://b3partners.atlassian.net/browse/BRMO-381 zouden onderstaande materialized views verwijderd kunnen worden. ivm potentiƫle afhankelijkheid wordt dit niet automatisch gedaan +-- drop materialized view mb_kad_onrrnd_zk_adres_bag; +-- drop materialized view mb_koz_rechth_bag; +-- drop materialized view mb_avg_koz_rechth_bag; + -- onderstaande dienen als laatste stappen van een upgrade uitgevoerd INSERT INTO brmo_metadata (naam,waarde) SELECT 'upgrade_3.0.2_naar_4.0.0','vorige versie was ' || waarde FROM brmo_metadata WHERE naam='brmoversie'; -- versienummer update diff --git a/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/brk.sql b/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/brk.sql index 6c62cfd09f..80b923d888 100644 --- a/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/brk.sql +++ b/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/brk.sql @@ -42,6 +42,15 @@ COMMENT ON COLUMN onroerendezaak.begingeldigheid IS 'BRMO: metadata tbv archiver COMMENT ON COLUMN onroerendezaak.eindegeldigheid IS 'BRMO: metadata tbv archivering, de toestandsdatum van het opvolgende bericht.'; COMMENT ON COLUMN recht.begingeldigheid IS 'BRMO: metadata tbv archivering, de toestandsdatum van het bericht.'; +--https://b3partners.atlassian.net/browse/BRMO-332 +ALTER TABLE IF EXISTS brk.recht DROP CONSTRAINT IF EXISTS recht_isbestemdtot_fkey; +ALTER TABLE IF EXISTS brk.recht DROP CONSTRAINT IF EXISTS recht_isontstaanuit_fkey; +ALTER TABLE IF EXISTS brk.recht DROP CONSTRAINT IF EXISTS recht_isbetrokkenbij_fkey; + +--https://b3partners.atlassian.net/browse/BRMO-379 +CREATE INDEX IF NOT EXISTS onroerendezaakfiliatie_betreft_idx ON brk.onroerendezaakfiliatie USING btree (betreft); +CREATE INDEX IF NOT EXISTS onroerendezaakfiliatie_onroerendezaak_idx ON brk.onroerendezaakfiliatie USING btree (onroerendezaak); + -- onderstaande dienen als laatste stappen van een upgrade uitgevoerd INSERT INTO brmo_metadata (naam,waarde) SELECT 'upgrade_3.0.2_naar_4.0.0','vorige versie was ' || waarde FROM brmo_metadata WHERE naam='brmoversie'; -- versienummer update diff --git a/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/rsgb.sql b/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/rsgb.sql index b27c74a313..9b33d76fc7 100644 --- a/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/rsgb.sql +++ b/datamodel/upgrade_scripts/3.0.2-4.0.0/postgresql/rsgb.sql @@ -10,6 +10,11 @@ INSERT INTO aard_verkregen_recht (aand, omschr_aard_verkregenr_recht) VALUES ('2 INSERT INTO aard_recht_verkort (aand, omschr) VALUES ('25', 'Huur afhankelijk opstal (recht van)'); INSERT INTO aard_recht_verkort (aand, omschr) VALUES ('26', 'Pachtafhankelijk opstal (recht van)'); +--ihkv https://b3partners.atlassian.net/browse/BRMO-381 zouden onderstaande materialized views verwijderd kunnen worden. ivm potentiƫle afhankelijkheid wordt dit niet automatisch gedaan +-- drop materialized view mb_kad_onrrnd_zk_adres_bag; +-- drop materialized view mb_koz_rechth_bag; +-- drop materialized view mb_avg_koz_rechth_bag; + -- onderstaande dienen als laatste stappen van een upgrade uitgevoerd INSERT INTO brmo_metadata (naam,waarde) SELECT 'upgrade_3.0.2_naar_4.0.0','vorige versie was ' || waarde FROM brmo_metadata WHERE naam='brmoversie'; -- versienummer update