

# ---------------------------------------------------------------------- #
# Add table "ATTIVITA_APPL"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `ATTIVITA_APPL` (
    `id_attivitaAppl` INTEGER NOT NULL AUTO_INCREMENT,
    `id_tipoAttivita` INTEGER,
    `id_clifor` INTEGER NOT NULL,
    `nomeAttivita` VARCHAR(60),
    `descrizioneAttivita` TEXT,
    `indirizzoAttivita` VARCHAR(60),
    `numeroCivicoAttivita` VARCHAR(30),
    `id_comune` INTEGER,
    `descrizioneComuneAttivita` VARCHAR(60),
    `descrizioneProvinciaAttivita` CHAR(2),
    `capComuneAttivita` CHAR(5),
    `flgPayPal` INTEGER,
    `flgGusti` INTEGER,
    `dataIscrizione` DATE,
    `codiceAttivita` VARCHAR(40),
    `noteAttivita` TEXT,
    CONSTRAINT `PK_ATTIVITA_APPL` PRIMARY KEY (`id_attivitaAppl`)
);

CREATE UNIQUE INDEX `IDX_ATTIVITA_APPL_1` ON `ATTIVITA_APPL` (`codiceAttivita`);

# ---------------------------------------------------------------------- #
# Add table "TIPO_ATTIVITA"                                              #
# ---------------------------------------------------------------------- #

CREATE TABLE `TIPO_ATTIVITA` (
    `id_tipoAttivita` INTEGER NOT NULL AUTO_INCREMENT,
    `descrizione` VARCHAR(40),
    CONSTRAINT `PK_TIPO_ATTIVITA` PRIMARY KEY (`id_tipoAttivita`)
);

# ---------------------------------------------------------------------- #
# Add table "ABBONAMENTO"                                                #
# ---------------------------------------------------------------------- #

CREATE TABLE `ABBONAMENTO` (
    `id_attivitaAppl` INTEGER,
    `id_abbonamento` INTEGER NOT NULL AUTO_INCREMENT,
    `dataInizio` VARCHAR(40),
    `dataFine` VARCHAR(40),
    `costoMensile` DECIMAL(18,4),
    CONSTRAINT `PK_ABBONAMENTO` PRIMARY KEY (`id_abbonamento`)
);

# ---------------------------------------------------------------------- #
# Add foreign key constraints                                            #
# ---------------------------------------------------------------------- #

ALTER TABLE `ATTIVITA_APPL` ADD CONSTRAINT `CLIFOR_ATTIVITA_APPL` 
    FOREIGN KEY (`id_clifor`) REFERENCES `CLIFOR` (`id_clifor`);

ALTER TABLE `ATTIVITA_APPL` ADD CONSTRAINT `COMUNE_ATTIVITA_APPL` 
    FOREIGN KEY (`id_comune`) REFERENCES `COMUNE` (`id_comune`);

ALTER TABLE `ATTIVITA_APPL` ADD CONSTRAINT `TIPO_ATTIVITA_ATTIVITA_APPL` 
    FOREIGN KEY (`id_tipoAttivita`) REFERENCES `TIPO_ATTIVITA` (`id_tipoAttivita`);

ALTER TABLE `ABBONAMENTO` ADD CONSTRAINT `ATTIVITA_APPL_ABBONAMENTO` 
    FOREIGN KEY (`id_attivitaAppl`) REFERENCES `ATTIVITA_APPL` (`id_attivitaAppl`);