source: trunk/import/pp_definition_ORACLE.sql @ 244

Revision 244, 9.3 KB checked in by astrid.emde, 11 years ago (diff)

Version ORACLE, Test steht noch aus

Line 
1-- Automatisch mit pg-to-oci_keytables.pl konvertiert.
2---
3---
4
5DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_GEMEINDE';
6BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_GEMEINDE CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
7/
8CREATE TABLE PP_GEMEINDE (
9    gid                 integer,
10    land                integer NOT NULL,
11    regierungsbezirk    integer,
12    kreis               integer,
13    gemeinde            integer NOT NULL,
14    gemeindename        character varying(80),
15    anz_gemarkg         integer,
16    CONSTRAINT ALKIS_KEY_0 PRIMARY KEY (land, gemeinde)
17  );
18CREATE UNIQUE INDEX ALKIS_KEY_1 ON pp_gemeinde (gid);
19SELECT AddGeometryColumn('pp_gemeinde','the_geom','25832','MULTIPOLYGON',2);
20CREATE INDEX ALKIS_KEY_2 ON PP_GEMEINDE(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
21SELECT AddGeometryColumn('pp_gemeinde','simple_geom','25832','MULTIPOLYGON',2);
22CREATE INDEX ALKIS_KEY_3 ON PP_GEMEINDE(SIMPLE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
23  COMMENT ON TABLE  pp_gemeinde                IS 'Post-Processing: Gemeinde';
24  COMMENT ON COLUMN pp_gemeinde.gemeinde       IS 'Gemeindenummer';
25  COMMENT ON COLUMN pp_gemeinde.the_geom       IS 'prÀzise Geometrie aus Summe aller Gemarkungen';
26  COMMENT ON COLUMN pp_gemeinde.simple_geom    IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Übersichten in kleinen MaßstÀben.';
27 
28DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_GEMARKUNG';
29BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_GEMARKUNG CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
30/
31CREATE TABLE PP_GEMARKUNG (
32    gid                 integer,
33    land                integer NOT NULL,
34    regierungsbezirk    integer,
35    kreis               integer,
36    gemeinde            integer NOT NULL,
37    gemarkung           integer NOT NULL,
38    gemarkungsname      character varying(80),
39    anz_flur            integer,
40    CONSTRAINT ALKIS_KEY_4 PRIMARY KEY (land, gemarkung)
41  );
42CREATE UNIQUE INDEX ALKIS_KEY_5 ON pp_gemarkung (gid);
43SELECT AddGeometryColumn('pp_gemarkung','the_geom','25832','MULTIPOLYGON',2);
44CREATE INDEX ALKIS_KEY_6 ON PP_GEMARKUNG(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
45SELECT AddGeometryColumn('pp_gemarkung','simple_geom','25832','MULTIPOLYGON',2);
46CREATE INDEX ALKIS_KEY_7 ON PP_GEMARKUNG(SIMPLE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
47COMMENT ON TABLE  pp_gemarkung               IS 'Post-Processing: Gemarkung. u.a. liegt in welcher Gemeinde';
48COMMENT ON COLUMN pp_gemarkung.gemeinde      IS 'Gemeindenummer';
49COMMENT ON COLUMN pp_gemarkung.gemarkung     IS 'Gemarkungsnummer';
50COMMENT ON COLUMN pp_gemarkung.the_geom      IS 'prÀzise Geometrie aus Summe aller Fluren';
51COMMENT ON COLUMN pp_gemarkung.simple_geom   IS 'vereinfachte Geometrie fÃŒr die Suche und die Anzeige von Übersichten in kleinen MaßstÀben.';
52 
53DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_FLUR';
54BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_FLUR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
55/
56CREATE TABLE PP_FLUR (
57    gid                 integer,
58    land                integer NOT NULL,
59    regierungsbezirk    integer,
60    kreis               integer,
61    gemarkung           integer NOT NULL,
62    flurnummer          integer NOT NULL,
63    anz_fs              integer,
64    CONSTRAINT ALKIS_KEY_8 PRIMARY KEY (land, gemarkung, flurnummer)
65  );
66CREATE UNIQUE INDEX ALKIS_KEY_9 ON pp_flur (gid);
67SELECT AddGeometryColumn('pp_flur','the_geom','25832','MULTIPOLYGON',2);
68CREATE INDEX ALKIS_KEY_10 ON PP_FLUR(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
69COMMENT ON TABLE  pp_flur                IS 'Post-Processing: Flur';
70COMMENT ON COLUMN pp_flur.gemarkung      IS 'Gemarkungsnummer';
71COMMENT ON COLUMN pp_flur.the_geom       IS 'Geometrie aus Summe aller FlurstÃŒcke';
72 
73DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='GEMEINDE_PERSON';
74BEGIN EXECUTE IMMEDIATE 'DROP TABLE GEMEINDE_PERSON CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
75/
76CREATE TABLE GEMEINDE_PERSON (
77    land                integer,
78    regierungsbezirk    integer,
79    kreis               integer,
80    gemeinde            integer,
81    person              character varying(16),
82    buchtyp             integer,
83    CONSTRAINT ALKIS_KEY_11 PRIMARY KEY (gemeinde, person)
84  );
85COMMENT ON TABLE  gemeinde_person            IS 'Person ist EigentÃŒmer von mindestens einem FlurstÃŒck in der Gemeinde';
86COMMENT ON COLUMN gemeinde_person.gemeinde   IS 'Gemeindenummer';
87COMMENT ON COLUMN gemeinde_person.buchtyp    IS 'Typ der Buchung 1=direkt, 2=Recht einer Buchungsstele an andere Buchungsstelle';
88COMMENT ON COLUMN gemeinde_person.person     IS 'gml_id von Person';
89CREATE INDEX ALKIS_KEY_12  ON gemeinde_person (person, gemeinde);
90 
91DELETE FROM user_sdo_geom_metadata WHERE upper(table_name)='PP_FLURSTUECK_NR';
92BEGIN EXECUTE IMMEDIATE 'DROP TABLE PP_FLURSTUECK_NR CASCADE CONSTRAINTS'; EXCEPTION WHEN OTHERS THEN NULL; END;
93/
94CREATE TABLE PP_FLURSTUECK_NR (
95    gid         integer,
96    fsgml       character(16),
97    fsnum       character varying(10),
98    CONSTRAINT ALKIS_KEY_13  PRIMARY KEY (gid)
99  );
100SELECT AddGeometryColumn('pp_flurstueck_nr','the_geom','25832','POINT',2);
101CREATE INDEX ALKIS_KEY_14 ON PP_FLURSTUECK_NR(THE_GEOM) INDEXTYPE IS MDSYS.SPATIAL_INDEX PARALLEL;
102CREATE INDEX ALKIS_KEY_15 ON pp_flurstueck_nr(fsgml);
103COMMENT ON TABLE  pp_flurstueck_nr           IS 'Post-Processing: Position der FlurstÃŒcksnummer in der Karte';
104COMMENT ON COLUMN pp_flurstueck_nr.fsgml     IS 'gml_id des zugehörigen FlurstÃŒcks-Objektes';
105COMMENT ON COLUMN pp_flurstueck_nr.fsnum     IS 'Label, Darzustellende FS-Nummer als Bruch';
106COMMENT ON COLUMN pp_flurstueck_nr.the_geom  IS 'Position der FlurstÃŒcksnummer in der Karte';
107CREATE VIEW gemeinde_gemarkung
108AS
109  SELECT g.land, g.regierungsbezirk, g.kreis, g.gemeinde, k.gemarkung, g.gemeindename, k.gemarkungsname
110  FROM pp_gemarkung k
111  JOIN pp_gemeinde  g
112    ON k.land = g.land
113   AND k.gemeinde = g.gemeinde;
114CREATE VIEW gemeinde_person_typ1
115AS
116  SELECT DISTINCT
117    p.gml_id          AS person,
118    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
119  FROM ax_person               p
120  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id
121  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
122  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id
123  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
124  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id
125  JOIN ax_buchungsstelle       s   ON bbg.beziehung_von  = s.gml_id
126  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s.gml_id
127  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id
128  JOIN ax_gemarkung            k   ON f.land             = k.land
129                                  AND f.gemarkungsnummer = k.gemarkungsnummer
130  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
131  WHERE bpn.beziehungsart = 'benennt'
132    AND bnb.beziehungsart = 'istBestandteilVon'
133    AND bbg.beziehungsart = 'istBestandteilVon'
134    AND bsf.beziehungsart = 'istGebucht';
135COMMENT ON VIEW gemeinde_person_typ1 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ1 = nomale Buchungen mit direkter Beziehung.';
136CREATE VIEW gemeinde_person_typ2
137AS
138  SELECT DISTINCT
139    p.gml_id          AS person,
140    g.land, g.regierungsbezirk, g.kreis, g.gemeinde
141  FROM ax_person               p
142  JOIN alkis_beziehungen      bpn  ON bpn.beziehung_zu   = p.gml_id
143  JOIN ax_namensnummer         n   ON bpn.beziehung_von  = n.gml_id
144  JOIN alkis_beziehungen      bnb  ON bnb.beziehung_von  = n.gml_id
145  JOIN ax_buchungsblatt        b   ON bnb.beziehung_zu   = b.gml_id
146  JOIN alkis_beziehungen      bbg  ON bbg.beziehung_zu   = b.gml_id
147  JOIN ax_buchungsstelle       s1  ON bbg.beziehung_von  = s1.gml_id
148  JOIN alkis_beziehungen      bss  ON bss.beziehung_von  = s1.gml_id
149  JOIN ax_buchungsstelle       s2  ON bss.beziehung_zu   = s2.gml_id
150  JOIN alkis_beziehungen      bsf  ON bsf.beziehung_zu   = s2.gml_id
151  JOIN ax_flurstueck           f   ON bsf.beziehung_von  = f.gml_id
152  JOIN ax_gemarkung            k   ON f.land             = k.land
153                                  AND f.gemarkungsnummer = k.gemarkungsnummer
154  JOIN gemeinde_gemarkung      g   ON k.gemarkungsnummer = g.gemarkung
155  WHERE bpn.beziehungsart = 'benennt'
156    AND bnb.beziehungsart = 'istBestandteilVon'
157    AND bbg.beziehungsart = 'istBestandteilVon'
158    AND bss.beziehungsart = 'an'
159    AND bsf.beziehungsart = 'istGebucht'
160;
161COMMENT ON VIEW gemeinde_person_typ2 IS 'Personen die EigentÃŒmer vom FlurstÃŒcken in einer Gemeinde sind. Typ2 = Buchungen mit Rechten einer Buchungssstelle an einer anderen.';
162CREATE VIEW gemeinde_person_statistik
163AS
164  SELECT p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp, count(p.person) as personen
165  FROM   gemeinde_person    p
166  JOIN   gemeinde_gemarkung g
167    ON   p.land     = g.land
168    AND  p.regierungsbezirk = g.regierungsbezirk
169    AND  p.kreis    = g.kreis
170    AND  p.gemeinde = g.gemeinde
171  GROUP BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, g.gemeindename, p.buchtyp
172  ORDER BY p.land, p.regierungsbezirk, p.kreis, p.gemeinde, p.buchtyp;
173COMMENT ON VIEW gemeinde_person_statistik IS 'ZÀhlen der Personen je Gemeinde und Buchungstyp';
174CREATE VIEW pp_gemeinde_analyse AS
175  SELECT land, gemeinde, gemeindename,
176         st_npoints(the_geom)    AS umring_alle_punkte,
177         st_npoints(simple_geom) AS umring_einfache_punkte
178  FROM pp_gemeinde;
179CREATE VIEW pp_gemarkung_analyse AS
180  SELECT land, gemeinde, gemarkung, gemarkungsname,
181         st_npoints(the_geom)    AS umring_alle_punkte,
182         st_npoints(simple_geom) AS umring_einfache_punkte
183  FROM pp_gemarkung;
184purge recyclebin;
185QUIT;
Note: See TracBrowser for help on using the repository browser.