Changeset 305 for trunk/import/sichten.sql
- Timestamp:
- 01/21/14 17:14:52 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/import/sichten.sql
r303 r305 25 25 -- 2014-01-17 View "exp_csv" fÃŒr den Export von CSV-Daten aus der Auskunft mit Modul alkisexport.php. 26 26 -- 2014-01-20 Erweiterung "exp_csv" fÃŒr alkisexport.php 27 -- 2014-01-21 In "exp_csv": Rechtsgemeinsachaft zu allen Personen statt als eigener Satz. 27 28 28 29 … … 75 76 76 77 77 -- Generelle Export-Struktur FlurstÃŒck - Buchung - Grundbuch - Person78 -- ------------------------------------------------------------------ 78 -- Generelle Export-Struktur "FlurstÃŒck - Buchung - Grundbuch - Person" 79 -- -------------------------------------------------------------------- 79 80 -- Verwendet den gespeicherten View "doppelverbindung". 80 81 -- Wird benötigt im Auskunft-Modul "alkisexport.php": … … 87 88 -- Diese Redundanzen mÃŒssen vom dem Programm gefiltert werden, das die Daten ÃŒber eine Schnittstelle einliest. 88 89 89 -- Durch LEFT-JOIN werden wahlweise Namennummern mit Person und Adresse erzeugt,90 -- oder auch Namensnummern einer einem Beschrieb der Rechtsgemeinschaft oder leere Felder zu einem fiktiven Grundbuch.91 -- Auch mit diesen Zeilen-Varianten muss das weiter verarbeitende Programm klar kommen.92 93 90 -- Anwendungs-Beispiel: Abrechnung von AnliegerbeitrÀgen. 94 91 92 -- 2014-01-21: "Rechtsgemeinschaft" in den Datensatz aller anderen Namen 95 93 -- DROP VIEW exp_csv; 96 94 CREATE OR REPLACE VIEW exp_csv … … 98 96 SELECT 99 97 -- FlurstÃŒck 100 101 102 103 104 105 98 f.gml_id AS fsgml, -- möglicher Filter FlurstÃŒcks-GML-ID 99 f.flurstueckskennzeichen AS fs_kennz, 100 f.gemarkungsnummer, -- Teile des FS-Kennz. noch mal einzeln 101 f.flurnummer, f.zaehler, f.nenner, 102 f.amtlicheflaeche AS fs_flae, 103 g.bezeichnung AS gemarkung, 106 104 107 105 -- Grundbuch 108 109 110 111 106 gb.gml_id AS gbgml, -- möglicher Filter Grundbuch-GML-ID 107 gb.bezirk AS gb_bezirk, 108 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 109 z.bezeichnung AS beznam, -- GB-Bezirks-Name 112 110 113 111 -- Buchungsstelle (GrundstÃŒck) 114 112 s.laufendenummer AS bu_lfd, -- BVNR 115 113 --s.zaehler, s.nenner, -- Anteil des GB am FS, einzelne Felder 116 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 117 s.buchungsart, -- verschlÃŒsselt 118 b.bezeichner AS bu_art, -- Buchungsart entschlÃŒsselt 119 120 --NamensNummer 121 nn.laufendenummernachdin1421 AS nam_lfd, 122 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 123 nn.artderrechtsgemeinschaft AS nam_adr, 124 nn.beschriebderrechtsgemeinschaft AS nam_bes, 125 126 -- Person 114 '=' || s.zaehler || '/' || s.nenner AS bu_ant, -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an') 115 s.buchungsart, -- verschlÃŒsselt 116 b.bezeichner AS bu_art, -- Buchungsart entschlÃŒsselt 117 118 -- NamensNummer (Normalfall mit Person) 119 nn.laufendenummernachdin1421 AS nam_lfd, 120 '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant, -- als Excel-Formel 121 122 -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer) 123 rg.artderrechtsgemeinschaft AS nam_adr, 124 rg.beschriebderrechtsgemeinschaft AS nam_bes, 125 126 -- Person 127 127 p.gml_id AS psgml, -- möglicher Filter Personen-GML-ID 128 128 p.anrede, … … 133 133 --p.geburtsname, p.akademischergrad 134 134 135 136 137 138 139 135 -- Adresse der Person 136 a.postleitzahlpostzustellung AS plz, 137 a.ort_post AS ort, -- Anschreifenzeile 1: PLZ+Ort 138 a.strasse, a.hausnummer, -- Anschriftenzeile 2: StraÃe+HsNr 139 a.bestimmungsland AS land 140 140 141 141 FROM ax_flurstueck f -- FlurstÃŒck … … 151 151 ON s.buchungsart = b.wert 152 152 153 JOIN alkis_beziehungen v3 153 JOIN alkis_beziehungen v3 -- Buchung --> Grundbuchblatt 154 154 ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon' 155 155 JOIN ax_buchungsblatt gb … … 159 159 ON gb.land=z.land AND gb.bezirk=z.bezirk 160 160 161 JOIN alkis_beziehungen v4 161 JOIN alkis_beziehungen v4 -- Blatt --> NamNum 162 162 ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon' 163 163 JOIN ax_namensnummer nn 164 164 ON v4.beziehung_von = nn.gml_id 165 165 166 LEFT JOIN alkis_beziehungen v5-- NamNum --> Person167 -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschrei nbung der Rechtsgemeinschaft" geliefert (ohne Person)166 JOIN alkis_beziehungen v5 -- NamNum --> Person 167 -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person) 168 168 ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt' 169 LEFTJOIN ax_person p169 JOIN ax_person p 170 170 ON v5.beziehung_zu = p.gml_id 171 171 … … 174 174 LEFT JOIN ax_anschrift a 175 175 ON v6.beziehung_zu = a.gml_id 176 176 177 -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery: 178 179 -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft". 180 -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person. 181 LEFT JOIN 182 ( SELECT v7.beziehung_zu, 183 rg.artderrechtsgemeinschaft, 184 rg.beschriebderrechtsgemeinschaft 185 FROM ax_namensnummer rg 186 JOIN alkis_beziehungen v7 -- Blatt --> NamNum (Rechtsgemeinschaft) 187 ON v7.beziehung_von = rg.gml_id 188 WHERE v7.beziehungsart = 'istBestandteilVon' 189 AND NOT rg.artderrechtsgemeinschaft IS NULL 190 ) AS rg -- Rechtsgemeinschaft 191 ON rg.beziehung_zu = gb.gml_id -- zum GB 192 177 193 ORDER BY f.flurstueckskennzeichen, 178 194 gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer, … … 182 198 IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Generelle Struktur. FÃŒr eine bestimmte gml_id noch den Filter setzen.'; 183 199 184 --GRANT SELECT ON TABLE exp_csv TO mb27; -- User fÃŒr Auskunfts-Programme200 GRANT SELECT ON TABLE exp_csv TO mb27; -- User fÃŒr Auskunfts-Programme 185 201 --GRANT SELECT ON TABLE exp_csv TO alkisbuch; -- User fÃŒr Auskunfts-Programme RLP-Demo 202 203 204 -- Analyse: Kann es mehr als 1 "Rechtsgemeinschaft" zu einem GB-Blatt geben? 205 -- (Diese Frage stellte sich beim Design des View "exp_csv".) 206 -- Schritt 1: alle vorhandenen 207 CREATE OR REPLACE VIEW rechtsgemeinschaften_zum_grundbuch 208 AS 209 SELECT 210 gb.gml_id, 211 gb.bezirk, 212 gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt, 213 nn.artderrechtsgemeinschaft, 214 nn.beschriebderrechtsgemeinschaft 215 FROM ax_buchungsblatt gb 216 JOIN alkis_beziehungen v 217 ON v.beziehung_zu = gb.gml_id AND v.beziehungsart = 'istBestandteilVon' 218 JOIN ax_namensnummer nn 219 ON v.beziehung_von = nn.gml_id 220 WHERE NOT nn.artderrechtsgemeinschaft IS NULL 221 ORDER BY gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, 222 nn.laufendenummernachdin1421; 223 224 COMMENT ON VIEW rechtsgemeinschaften_zum_grundbuch 225 IS 'Rechtsgemeinschaften zum Grundbuchblatt.'; 226 227 -- Schritt 2: Wo gibt es mehrere zu einem GB-Blatt 228 CREATE OR REPLACE VIEW rechtsgemeinschaften_zaehlen 229 AS 230 SELECT gml_id, bezirk, gb_blatt, count(artderrechtsgemeinschaft) AS anzahl 231 FROM rechtsgemeinschaften_zum_grundbuch 232 GROUP BY gml_id, bezirk, gb_blatt 233 HAVING count(artderrechtsgemeinschaft) > 1 234 ORDER BY bezirk, gb_blatt; 235 236 COMMENT ON VIEW rechtsgemeinschaften_zaehlen 237 IS 'Rechtsgemeinschaften zum Grundbuchblatt zaehlen. Anzeigen, wenn es mehrere gibt.'; 238 -- Ja, kann es geben 239 240 -- Schritt 3: alle vorhandenen Zeilen anzeigen zu den GB-BlÀttern, bei denen es mehrere gibt. 241 CREATE OR REPLACE VIEW rechtsgemeinschaften_mehrfachzeilen 242 AS 243 SELECT * 244 FROM rechtsgemeinschaften_zum_grundbuch 245 WHERE gml_id IN (SELECT gml_id FROM rechtsgemeinschaften_zaehlen); 246 247 COMMENT ON VIEW rechtsgemeinschaften_mehrfachzeilen 248 IS 'GrundbuchblÀtter mit mehr als einer Zeile Rechtsgemeinschaft.'; 249 -- Fazit: 250 -- Man findet einige wenige identische oder Àhnlich aussehende Zeilen zu einem Grundbuch. 251 -- Das sieht also eher nach einem PostNAS-FortfÃŒhrungsproblem aus, als nach unabhÀngigen Zeilen. 252 -- Wurde hier eine Relation nicht sauber gelöscht? 186 253 187 254
Note: See TracChangeset
for help on using the changeset viewer.