/* * GEMWIJK een gemeente kan meer wijkcodes bevatten * GEMWIJK een wijk ligt maar in een gemeente * WPLWIJK een een woonplaats kan meer wijkcodes bevattea * WPLWIJK een wijk ligt maar in een woonplaats * WPLGEM een woonplaats kan in meer gemeentes vallen * WPLGEM een gemeente kan meer woonplaatsen bevatten * WIJKPC een wijk kan meer postcodes bevatten * WIJKSTR een wijk kan 0 of meer straten vebatten * PCSTR een postcode kan meer straten omvatten * PCRKS een postcode kan 0 of meer reeksen bevatten * STRRKS een straat kan 0 of meer reeksen bevatten * RSKPRC een reeks kan 0 of meer percelen bevatten (niet in gebruik!) * STRWIJK een straat kan in meer wijken vallen */ CREATE TABLE woonplaats ( id serial PRIMARY KEY, ptt varchar(255) NOT NULL, nen varchar(255) NOT NULL, extract char(4) NOT NULL ); CREATE TABLE gemeente ( id int4 PRIMARY KEY, -- ook gemeentecode naam varchar(255) NOT NULL, provinciecode char(1) NOT NULL, cebucocode int4 NOT NULL ); CREATE TABLE wijk ( id char(4) PRIMARY KEY, woonplaats_id int4 NOT NULL REFERENCES woonplaats(id), gemeente_id int4 NOT NULL REFERENCES gemeente(id) ); CREATE TABLE postcode ( id serial PRIMARY KEY, wijk_id int4 NOT NULL REFERENCES wijk (id), lettercombinatie char(2) NOT NULL ); CREATE UNIQUE INDEX postcode_pk2 ON postcode (wijk_id, lettercombinatie); CREATE TABLE straat ( id serial PRIMARY KEY, ptt varchar(255) NOT NULL, nen varchar(255) NOT NULL, extract char(5) NOT NULL, officieel varchar(255) NOT NULL ); CREATE TABLE reeks ( reeksindicatie char(1) NOT NULL, codebreekpuntvan int4 NOT NULL, codebreekpunttot int4 NOT NULL, straat_id int4 NOT NULL REFERENCES straat(id), postcode_id int4 NOT NULL REFERENCES postcode(id), PRIMARY KEY (postcode_id, straat_id, codebreekpuntvan) );