data-raw/01-creazione_databases.R

###################################################################
# PACCHETTO "OMI" - Creazione databases e tabelle in MySQL server #
###################################################################

library(masteRfun)

dbn <- 'omi'

crea_db(dbn)

## TABELLA <COMUNI> -------------------
x <- "
    `CMN` CHAR(6) NOT NULL,
    `catasto` CHAR(4) NOT NULL,
    `nazionale` CHAR(4) NOT NULL,
    `inizio` SMALLINT UNSIGNED NULL DEFAULT NULL,
    `termine` SMALLINT UNSIGNED NULL DEFAULT NULL,
    `PRVs` CHAR(2) NOT NULL,
    `CMNs` CHAR(6) NOT NULL,
    PRIMARY KEY (`CMN`),
    UNIQUE KEY `catasto` (`catasto`),
    KEY `PRVs` (`PRVs`),
    KEY `inizio` (`inizio`),
    KEY `CMNs` (`CMNs`)
"
crea_tabella_db(dbn, 'comuni', x)

## TABELLA <ZONE> ---------------------
x <- "
    `catasto` CHAR(4) NOT NULL,
    `OMI` CHAR(8) NOT NULL,
    `OMIk` CHAR(10) NOT NULL,
    `OMId` VARCHAR(140) NOT NULL,
    `fascia` CHAR(1) NOT NULL,
    `zona` CHAR(4) NOT NULL,
    `utilizzo` TINYINT UNSIGNED NOT NULL,
    `stato` CHAR(1) NULL DEFAULT NULL,
    `microzona` TINYINT UNSIGNED NULL DEFAULT NULL,
    `inizio` SMALLINT UNSIGNED NULL DEFAULT NULL,
    `termine` SMALLINT UNSIGNED NULL DEFAULT NULL,
    `ha_confini` TINYINT UNSIGNED NULL DEFAULT 0,
    PRIMARY KEY (`OMI`),
    UNIQUE KEY `OMIk` (`OMIk`),
    KEY `catasto` (`catasto`),
    KEY `fascia` (`fascia`),
    KEY `zona` (`zona`),
    KEY `utilizzo` (`utilizzo`),
    KEY `stato` (`stato`),
    KEY `microzona` (`microzona`),
    KEY `inizio` (`inizio`)
"
crea_tabella_db(dbn, 'zone', x)

## TABELLA <SZN_OMI> ------------------
x <- "
    `SZN` CHAR(9) NOT NULL,
    `SZNid` CHAR(15) NOT NULL,
    `OMI` CHAR(8) NOT NULL,
    `area_int` INT UNSIGNED NOT NULL,
    `copertura` TINYINT UNSIGNED NOT NULL,
    `N` TINYINT UNSIGNED NOT NULL,
    PRIMARY KEY (`SZN`, `OMI`),
    KEY `N` (`N`)
"
crea_tabella_db(dbn, 'szn_omi', x)

## TABELLA <QUOTAZIONI> ---------------
x <- "
    `periodo` SMALLINT UNSIGNED NOT NULL,
    `OMI` CHAR(8) NOT NULL,
    `tipologia` TINYINT UNSIGNED NOT NULL,
    `stato` CHAR(1) NOT NULL,
    `min_acq` SMALLINT UNSIGNED NULL DEFAULT NULL,
    `max_acq` SMALLINT UNSIGNED NULL DEFAULT NULL,
    `min_loc` DECIMAL(4,1) NULL DEFAULT NULL,
    `max_loc` DECIMAL(4,1) NULL DEFAULT NULL,
    PRIMARY KEY (`periodo`, `OMI`, `tipologia`, `stato`)
"
crea_tabella_db(dbn, 'quotazioni', x)

## TABELLA <TRANSAZIONI> --------------
x <- "
    `anno` SMALLINT UNSIGNED NOT NULL,
    `catasto` CHAR(4) NOT NULL,
    `tipologia` TINYINT UNSIGNED NOT NULL,
    `valore` DECIMAL(7, 5) UNSIGNED NOT NULL,
    PRIMARY KEY (`anno`, `catasto`, `tipologia`)
"
crea_tabella_db(dbn, 'transazioni', x)

## TABELLA <UTILIZZI> -----------------
x <- "
    `codice` TINYINT UNSIGNED NOT NULL,
    `descrizione` CHAR(30) NOT NULL,
    `ordine` TINYINT UNSIGNED NOT NULL,
    `gruppo` CHAR(20) NULL DEFAULT NULL,
    `ordineg` TINYINT UNSIGNED NOT NULL,
    PRIMARY KEY (`codice`),
    UNIQUE KEY `ordine` (`ordine`)
"
crea_tabella_db(dbn, 'utilizzi', x)

## TABELLA <TIPOLOGIE> ----------------
x <- "
    `codice` TINYINT UNSIGNED NOT NULL,
    `sigla` CHAR(11) NOT NULL,
    `descrizione` CHAR(30) NOT NULL,
    `gruppo` CHAR(20) NULL DEFAULT NULL,
    `ordineg` TINYINT UNSIGNED NOT NULL,
    PRIMARY KEY (`codice`),
    UNIQUE KEY `sigla` (`sigla`)
"
crea_tabella_db(dbn, 'tipologie', x)

## TABELLA <ERRORI> -------------------
x <- "
    `periodo` SMALLINT UNSIGNED NOT NULL,
    `catasto` CHAR(4) NOT NULL,
    `OMI` CHAR(8) NULL DEFAULT NULL,
    `errore` TINYINT UNSIGNED NOT NULL COMMENT '0-CaracterSet, 1-Vuoto, 2-Intersezione, 3-Annidato, 4-Anello, 5-Bucato, 6-Pochi Punti, 8-Nullo, 9-Altro',
    KEY (`periodo`),
    KEY (`catasto`)
"
crea_tabella_db(dbn, 'errori', x)

## FINE -------------------------------
rm(list = ls())
gc()
master-info/masteRomi documentation built on Oct. 25, 2023, 5:18 p.m.