241 lines
8.3 KiB
SQL
241 lines
8.3 KiB
SQL
-- **************************************************** stato_attivita
|
|
|
|
create table stato_attivita
|
|
(
|
|
id varchar(2) not null primary key,
|
|
nome varchar(250) not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null
|
|
);
|
|
|
|
-- **************************************************** tipo_categoria
|
|
|
|
create table tipo_categoria
|
|
(
|
|
id varchar(2) not null primary key,
|
|
nome varchar(250) not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null
|
|
);
|
|
|
|
-- **************************************************** tipo_paragrafo
|
|
|
|
create table tipo_paragrafo
|
|
(
|
|
id varchar(10) not null primary key,
|
|
nome varchar(250) not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null
|
|
);
|
|
|
|
-- **************************************************** attivita
|
|
|
|
create table attivita
|
|
(
|
|
id int not null primary key auto_increment,
|
|
nome varchar(250) not null,
|
|
autore varchar(250) not null,
|
|
padre int null,
|
|
stato varchar(2) not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
constraint fk_attivita_attivita foreign key (padre) references attivita (id),
|
|
constraint fk_attivita_stato_attivita foreign key (stato) references stato_attivita (id)
|
|
);
|
|
|
|
create index fk_attivita_attivita_idx on attivita (padre);
|
|
|
|
create index fk_attivita_stato_attivita_idx on attivita (stato);
|
|
|
|
-- **************************************************** branca
|
|
|
|
create table branca
|
|
(
|
|
id int not null primary key auto_increment,
|
|
nome varchar(250) not null,
|
|
inizio_eta int null,
|
|
fine_eta int null,
|
|
colore varchar(10) null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null
|
|
);
|
|
|
|
-- **************************************************** branca_attivita
|
|
|
|
create table branca_attivita
|
|
(
|
|
attivita_id int not null,
|
|
branca_id int not null,
|
|
cancellato tinyint not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
primary key (attivita_id, branca_id),
|
|
|
|
constraint fk_branca_attivita_attivita foreign key (attivita_id) references attivita (id),
|
|
constraint fk_branca_attivita_branca foreign key (branca_id) references branca (id)
|
|
);
|
|
|
|
create index fk_branca_attivita_attivita_idx on branca_attivita (attivita_id);
|
|
|
|
create index fk_branca_attivita_branca_idx on branca_attivita (branca_id);
|
|
|
|
-- **************************************************** periodo_anno
|
|
|
|
create table periodo_anno
|
|
(
|
|
id int not null primary key auto_increment,
|
|
nome varchar(250) not null,
|
|
inizio_mese int null,
|
|
fine_mese int null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null
|
|
);
|
|
|
|
-- **************************************************** periodo_anno_attivita
|
|
|
|
create table periodo_anno_attivita
|
|
(
|
|
attivita_id int not null,
|
|
periodo_anno_id int not null,
|
|
cancellato tinyint not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
primary key (attivita_id, periodo_anno_id),
|
|
|
|
constraint fk_periodo_anno_attivita_attivita foreign key (attivita_id) references attivita (id),
|
|
constraint fk_periodo_anno_attivita_periodo_anno foreign key (periodo_anno_id) references periodo_anno (id)
|
|
);
|
|
|
|
create index fk_periodo_anno_attivita_attivita_idx on periodo_anno_attivita (attivita_id);
|
|
|
|
create index fkperiodo_anno_attivita_periodo_anno_idx on periodo_anno_attivita (periodo_anno_id);
|
|
|
|
-- **************************************************** paragrafo
|
|
|
|
create table paragrafo
|
|
(
|
|
id int not null primary key auto_increment,
|
|
attivita_id int not null,
|
|
corpo varchar(500) not null,
|
|
autore varchar(250) not null,
|
|
tipo varchar(10) not null,
|
|
ordine int not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
constraint fk_paragrafo_tipo_paragrafo foreign key (tipo) references tipo_paragrafo (id),
|
|
constraint fk_paragrafo_attivita foreign key (attivita_id) references attivita (id)
|
|
);
|
|
|
|
create index fk_paragrafo_tipo_paragrafo_idx on paragrafo (tipo);
|
|
|
|
-- **************************************************** categoria
|
|
|
|
create table categoria
|
|
(
|
|
id int not null primary key auto_increment,
|
|
nome varchar(250) not null,
|
|
padre int null,
|
|
tipo varchar(2) not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
constraint fk_categoria_categoria foreign key (padre) references categoria (id),
|
|
constraint fk_categoria_tipo_categoria foreign key (tipo) references tipo_categoria (id)
|
|
);
|
|
|
|
create index fk_categoria_categoria_idx on categoria (padre);
|
|
|
|
create index fk_categoria_tipo_categoria_idx on categoria (tipo);
|
|
|
|
-- **************************************************** categoria_attivita
|
|
|
|
create table categoria_attivita
|
|
(
|
|
attivita_id int not null,
|
|
categoria_id int not null,
|
|
cancellato tinyint not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
primary key (attivita_id, categoria_id),
|
|
|
|
constraint fk_categoria_attivita_attivita foreign key (attivita_id) references attivita (id),
|
|
constraint fk_categoria_attivita_categoria foreign key (categoria_id) references categoria (id)
|
|
);
|
|
|
|
create index fk_categoria_attivita_attivita_idx on categoria_attivita (attivita_id);
|
|
|
|
create index fk_categoria_attivita_categoria_idx on categoria_attivita (categoria_id);
|
|
|
|
-- **************************************************** materiale
|
|
|
|
create table materiale
|
|
(
|
|
id int not null primary key auto_increment,
|
|
nome varchar(250) not null,
|
|
proprieta json,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null
|
|
);
|
|
|
|
-- **************************************************** materiale_attivita
|
|
|
|
create table materiale_attivita
|
|
(
|
|
attivita_id int not null,
|
|
materiale_id int not null,
|
|
proprieta json null,
|
|
cancellato tinyint not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
primary key (attivita_id, materiale_id),
|
|
|
|
constraint fk_materiale_attivita_attivita foreign key (attivita_id) references attivita (id),
|
|
constraint fk_materiale_attivita_materiale foreign key (materiale_id) references materiale (id)
|
|
);
|
|
|
|
create index fk_materiale_attivita_attivita_idx on materiale_attivita (attivita_id);
|
|
|
|
create index fk_materiale_attivita_materiale_idx on materiale_attivita (materiale_id);
|
|
|
|
-- **************************************************** categoria_materiale
|
|
|
|
create table categoria_materiale
|
|
(
|
|
materiale_id int not null,
|
|
categoria_id int not null,
|
|
cancellato tinyint not null,
|
|
data_creazione datetime not null,
|
|
data_modifica datetime not null,
|
|
utente_modifica varchar(50) not null,
|
|
|
|
primary key (materiale_id, categoria_id),
|
|
|
|
constraint fk_categoria_materiale_categoria foreign key (categoria_id) references categoria (id),
|
|
constraint fk_categoria_materiale_materiale foreign key (materiale_id) references materiale (id)
|
|
);
|
|
|
|
create index fk_categoria_materiale_categoria_idx on categoria_materiale (categoria_id);
|
|
|
|
create index fk_categoria_materiale_materiale_idx on categoria_materiale (materiale_id);
|
|
|
|
|