codice:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `L0_Data`
-- ----------------------------
DROP TABLE IF EXISTS `L0_Data`;
CREATE TABLE `L0_Data` (
`id` int(11) NOT NULL auto_increment,
`macroarea_id` int(11) NOT NULL,
`metric_id` int(11) NOT NULL,
`date` date NOT NULL,
`value` decimal(20,3) unsigned NOT NULL,
`period` enum('daily','weekly','monthly','double_weekly','triple_monthly') NOT NULL default 'daily',
`notes` text,
`modified_at` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`created_at` timestamp NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `macroarea_id` (`macroarea_id`,`metric_id`,`date`,`period`),
KEY `idx_created_at` USING BTREE (`created_at`),
KEY `idx_date` (`date`),
KEY `idx_metric_id` (`metric_id`),
KEY `idx_macroarea_id` (`macroarea_id`),
KEY `idx_period` (`period`),
CONSTRAINT `fk_data_macroarea_id` FOREIGN KEY (`macroarea_id`) REFERENCES `L0_macroareas_metrics` (`macroarea_id`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_data_metric_id` FOREIGN KEY (`metric_id`) REFERENCES `L0_macroareas_metrics` (`metric_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for `L0_Macroareas`
-- ----------------------------
DROP TABLE IF EXISTS `L0_Macroareas`;
CREATE TABLE `L0_Macroareas` (
`id` int(11) NOT NULL,
`name` varchar(100) character set latin1 collate latin1_bin NOT NULL,
`notes` varchar(1024) character set latin1 collate latin1_bin default NULL,
`url` varchar(1024) character set latin1 collate latin1_bin default NULL,
`type_id` int(11) NOT NULL default '1',
`depth` int(11) NOT NULL,
`parent_id` bigint(10) default '0',
`modified_at` timestamp NOT NULL default CURRENT_TIMESTAMP,
`created_at` timestamp NOT NULL default '2007-01-01 00:00:00',
PRIMARY KEY (`id`),
KEY `idx_macroarea_id` (`id`),
KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Table structure for `L0_Metrics`
-- ----------------------------
DROP TABLE IF EXISTS `L0_Metrics`;
CREATE TABLE `L0_Metrics` (
`id` int(11) NOT NULL,
`name` varchar(100) character set latin1 collate latin1_bin NOT NULL,
`unit` varchar(100) character set latin1 collate latin1_bin default NULL,
`metric_type` enum('base','calc') character set latin1 collate latin1_bin NOT NULL default 'base',
`dimension` enum('statistic','performance','quality','economic') character set latin1 collate latin1_bin NOT NULL,
`notes` varchar(1024) character set latin1 collate latin1_bin default NULL,
`description` varchar(100) NOT NULL,
`modified_at` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`created_at` timestamp NOT NULL default '0000-00-00 00:00:00',
`metric_type_dw` enum('avg','sum','extcalc') default NULL,
PRIMARY KEY (`id`),
KEY `idx_metric_id` (`id`),
KEY `idx_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of L0_Metrics
-- ----------------------------
Poi però serve l'analizzatore di tali dati. I dati li inserisco con Pentaho in modo che la sorgenti qualunque essa sia diventa adatta alle 3 tabelle qui sopra.