-- SQL Table definition as the Adressen Woning CSV is exported from.
--
-- Note that the following integer fields are valued 0 or 1 and in effect boolean:
--
-- nevenadres 
-- woonfunctie 
-- bijeenkomstfunctie 
-- celfunctie 
-- gezondheidszorgfunctie 
-- industriefunctie 
-- kantoorfunctie 
-- logiesfunctie 
-- onderwijsfunctie 
-- sportfunctie 
-- winkelfunctie 
-- overige_gebruiksfunctie 
-- vbo_pnd_1_op_1  (is VBO gerelateerd aan 1 PND and v.v.?)
-- pchnhlht_uniek (is postcode + huisnummer + huisletter + huisnummertoevoeging uniek ?) 
-- pchn_uniek (is postcode + huisnummer uniek ?) 
--
DROP TYPE typeadresseerbaarobject CASCADE;

CREATE TYPE typeadresseerbaarobject AS ENUM
    ('Verblijfsobject', 'Standplaats', 'Ligplaats');

DROP TYPE pandstatus CASCADE;

CREATE TYPE pandstatus AS ENUM
    ('Bouwvergunning verleend', 'Niet gerealiseerd pand', 'Bouw gestart', 'Verbouwing pand', 'Pand in gebruik (niet ingemeten)', 'Pand in gebruik', 'Sloopvergunning verleend', 'Pand gesloopt', 'Pand buiten gebruik', 'Pand ten onrechte opgevoerd');

DROP TABLE adres_woning CASCADE;

CREATE TABLE adres_woning
(
    openbareruimtenaam character varying(80),
    verkorteopenbareruimtenaam character varying(80),
    openbareruimte_id character varying(16),
    huisnummer numeric(5,0),
    huisletter character varying(1),
    huisnummertoevoeging character varying(4),
    postcode character varying(6),
    nummeraanduiding_id character varying(16),
    buurtnaam character varying(60),
    buurtcode character varying(10),
    wijknaam character varying(60),
    wijkcode character varying(10),
    woonplaats character varying(80),
    woonplaatscode character varying(16),
    gemeente character varying(80),
    gemeentecode character varying(4),
    provincienaam character varying(80),
    provinciecode numeric(4,0),
    nevenadres integer,
    typeadresseerbaarobject typeadresseerbaarobject,
    adresseerbaarobject_status text,
    opp_adresseerbaarobject_m2 numeric,
    aantal_nad_per_adresobject bigint,
    adresseerbaarobject_id character varying(16),
    x double precision,
    y double precision,
    lon numeric,
    lat numeric,
    woonfunctie integer,
    bijeenkomstfunctie integer,
    celfunctie integer,
    gezondheidszorgfunctie integer,
    industriefunctie integer,
    kantoorfunctie integer,
    logiesfunctie integer,
    onderwijsfunctie integer,
    sportfunctie integer,
    winkelfunctie integer,
    overige_gebruiksfunctie integer,
    aantal_pand_relaties_dit_vbo bigint,
    pand_id character varying,
    aantal_vbo_relaties_dit_pnd bigint,
    vbo_pnd_1_op_1 integer,
    opp_pand numeric,
    woningtype text,
    omtrek_pand numeric,
    verhouding_opp_vbo_opp_pnd numeric,
    pandstatus pandstatus,
    bouwjaar double precision,
    uniq_key text NOT NULL,
    pchnhlht text,
    pchnhlht_uniek integer,
    pchn_uniek integer,
    rangorde_pchn bigint,
    CONSTRAINT adres_woning_pkey PRIMARY KEY (uniq_key)
);

-- Voorbeelden

-- \copy adres_woning FROM '/Users/just/Desktop/bag-adressen-woning-voorbeeld.csv' DELIMITER ';' CSV HEADER
-- \copy adres_woning FROM '/Users/just/Desktop/bagadres-woning.csv' DELIMITER ';' CSV HEADER

