CREATE SCHEMA dw; CREATE TABLE dw.dim_pazienti ( id_paziente BIGINT PRIMARY KEY, nome VARCHAR(100), citta VARCHAR(100) ); COMMENT ON TABLE dw.dim_pazienti IS 'Anagrafica pazienti'; COMMENT ON COLUMN dw.dim_pazienti.citta IS 'Comune di residenza'; CREATE TABLE dw.dim_periodi ( anno INT NOT NULL, mese INT NOT NULL, descrizione VARCHAR(50), PRIMARY KEY (anno, mese) ); CREATE TYPE dw.tipo_ricovero AS ENUM ('ordinario', 'day_hospital', 'urgenza'); CREATE TABLE dw.fct_ricoveri ( id_ricovero BIGINT PRIMARY KEY, id_paziente BIGINT REFERENCES dw.dim_pazienti (id_paziente), anno INT, mese INT, diagnosi VARCHAR(200), procedura TEXT, reparto VARCHAR(50), tipo dw.tipo_ricovero, lettera_dimissione TEXT, etl_last_update TIMESTAMP, FOREIGN KEY (anno, mese) REFERENCES dw.dim_periodi (anno, mese) ); COMMENT ON TABLE dw.fct_ricoveri IS 'Fatti: ricoveri ospedalieri'; COMMENT ON COLUMN dw.fct_ricoveri.diagnosi IS 'Diagnosi principale (testo)'; INSERT INTO dw.dim_pazienti VALUES (1, 'Mario Rossi', 'Milano'), (2, 'Anna Bianchi', 'Bergamo'), (3, 'Luca Verdi', 'Brescia'); INSERT INTO dw.dim_periodi VALUES (2025, 1, 'Gennaio 2025'), (2025, 2, 'Febbraio 2025'); INSERT INTO dw.fct_ricoveri VALUES (10, 1, 2025, 1, 'fibrillazione atriale', 'ablazione transcatetere', 'cardiologia', 'ordinario', 'Si dimette il paziente in condizioni cliniche stabili dopo ablazione transcatetere della fibrillazione atriale; si raccomanda terapia anticoagulante orale e controllo cardiologico ambulatoriale a trenta giorni dalla dimissione.', '2025-02-01 03:00:00'), (11, 2, 2025, 1, 'infarto miocardico acuto', 'angioplastica coronarica', 'cardiologia', 'urgenza', 'Paziente ricoverato per infarto miocardico acuto trattato con angioplastica coronarica primaria e impianto di stent medicato; decorso post-procedurale regolare, si dimette con doppia antiaggregazione e indicazione a riabilitazione cardiologica.', '2025-02-01 03:00:00'), (12, 3, 2025, 2, 'fibrillazione ventricolare', 'defibrillazione', 'cardiologia', 'urgenza', 'Ricovero in urgenza per fibrillazione ventricolare con arresto cardiocircolatorio rianimato; stabilizzato in terapia intensiva cardiologica, si dimette con indicazione a impianto di defibrillatore e follow-up elettrofisiologico.', '2025-03-01 03:00:00'), (13, 1, 2025, 2, 'scompenso cardiaco', NULL, 'pronto soccorso', 'ordinario', NULL, '2025-03-01 03:00:00'); CREATE ROLE psd_ro LOGIN PASSWORD 'psd_ro'; GRANT USAGE ON SCHEMA dw TO psd_ro; GRANT SELECT ON ALL TABLES IN SCHEMA dw TO psd_ro; ANALYZE;