
CREATE TABLE IF NOT EXISTS public.dm_predictions
(
    prediction_id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 5 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
	name character varying COLLATE pg_catalog."default",
	prediction_date date,
	begin_cycle_id integer,
	end_cycle_id integer,
      
   
    CONSTRAINT dm_prediction_pkey PRIMARY KEY (prediction_id),
	CONSTRAINT dm_begin_cycle_id_cycles_fk FOREIGN KEY (begin_cycle_id)
        REFERENCES public.cycles (cycle_id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE RESTRICT,
	CONSTRAINT dm_end_cycle_id_cycles_fk FOREIGN KEY (end_cycle_id)
       REFERENCES public.cycles (cycle_id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE RESTRICT
	   
);


CREATE TABLE IF NOT EXISTS public.dm_predictions_data
(
    meas_id integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 5 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
	element_id integer NOT NULL,
	prediction_id integer NOT NULL,
	prediction_date date,
	meas double precision,
	
      
   
    CONSTRAINT dm_prediction_data_pkey PRIMARY KEY (meas_id),
	CONSTRAINT dm_prediction_data_dm_elements_fk FOREIGN KEY (element_id)
        REFERENCES public.dm_elements (element_id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE,
	CONSTRAINT dm_prediction_data_dm_predictions_fk FOREIGN KEY (prediction_id)
       REFERENCES public.dm_predictions (prediction_id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
		
	
	   
);

