Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini



Documenti analoghi
Volumi di riferimento

Corso di Informatica (Basi di Dati)

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

ESAME di INFORMATICA e ARCHIVIAZIONE

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Laboratorio di Basi di Dati e Web

Corso sul linguaggio SQL

I Sistemi Informativi

Progettazione della componente applicativa

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Basi di Dati Corso di Laura in Informatica Umanistica

Traccia di soluzione dell esercizio del 25/1/2005

cin>>c8 s.r.l. Norme di Progetto Pagina 1 di 7 Norme di Progetto

Manuale di Conservazione

Appunti sulle basi di dati. Cos è una base base di dati? Introduzione. D. Gubiani. 19 Luglio 2005

Access. P a r t e p r i m a

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Ministero dello Sviluppo Economico

Amministrazione Trasparente

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Esercizio data base "Biblioteca"

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

Software Servizi Web UOGA

Soluzione dell esercizio del 2 Febbraio 2004

Database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi per

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Gestione delle tabelle

Concetti fondamentali dei database database Cos'è un database Principali database

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Una metodologia di progettazione di applicazioni web centrate sui dati

LA MIGRAZIONE DEI DATI DA ASFI A SIASFI: PROBLEMI E SOLUZIONI. La migrazione dei dati da ASFi a SIASFi: problemi e soluzioni.

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

1. BASI DI DATI: GENERALITÀ

Ottimizzazione delle interrogazioni (parte I)

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Esercizio sui data base "Gestione conti correnti"

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Sistema G.U.S. Capitolato di Gara ALLEGATO A

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Sistema Pagamenti del SSR. Manuale Utente funzionalità Gestione Cessioni. Utente del sistema di fatturazione regionale

Presidenza del Consiglio dei Ministri

Capitolato per la selezione di una cooperativa sociale di tipo b per la realizzazione di attività relative all ambito disabilità e protezione civile

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 25 Marzo 03 Nome: Cognome: Matricola: Esercizio 1

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Fiat Group Purchasing Supplier Quality SQP Manuale Utente Versione 1, Dicembre 2008

Introduzione alla teoria dei database relazionali. Come progettare un database

Progettaz. e sviluppo Data Base

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

- OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Manuale Utente (Presentazione dei Progetti di Servizio civile nazionale per l'attuazione del programma "Garanzia Giovani") Versione 1.0.

Manuale di Conservazione. Versione

PROGETTO TESSERA SANITARIA FORNITURA DA PARTE DEL MINISTERO DELLA SALUTE DELL ELENCO NAZIONALE DELLE DISCIPLINE (DECRETO 2 NOVEMBRE 2011)

La progettazione centrata sull utente nei bandi di gara

I database relazionali (Access)

SELENE rel Sintesi Principali Modifiche ed Implementazioni

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Dispensa di database Access

Regolamento per l introduzione del bilancio unico e dei sistemi di contabilità economico-patrimoniale e analitica.

Corso di Laboratorio di Basi di Dati

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Lezione V. Aula Multimediale - sabato 29/03/2008

a) Si progetti uno schema concettuale Entità-Relazioni per lo scenario più sotto descritto.

Uff. I. - OLIMPIADI DI PROBLEM SOLVING - Informatica e pensiero algoritmico nella scuola dell'obbligo

Progettazione di Database. Un Esempio

database: modello entityrelationship

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Informatica per le discipline umanistiche 2 lezione 10

Area Amministrativa Prima nota IVA e Contabile Bolla Doganale

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Progettazione Logica. Progettazione Logica

Università degli Studi di Verona. Laboratorio di Basi di Dati

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Rapporto conclusivo di accessibilità

Organizzazione delle informazioni: Database

Linguaggio SQL. Structured Query Language

Un DataBase SQL per la Henry Books

IL FITOFOR: UNO STRUMENTO PER LA GESTIONE DELLE INFORMAZIONI FITOSANITARIE. Marino Vignoli, Elisa Moneti, M. Miozzo DREAM - Italia

MANUALE PARCELLA FACILE PLUS INDICE

L apposizione di firme e informazioni su documenti firmati

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

EXPLOit Content Management Data Base per documenti SGML/XML

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

IL DAT A B A S E DI ALGE B R A N D O

GCEWEB Denunce mensili in WEB

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Comunicazione spese mediche entro il 31.01

Gestione dei teatri in vari comuni italiani

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Transcript:

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini Dipartimento di Scienze Ambientali, Informatica e Statistica Università Ca Foscari Venezia La base di dati del Catalogo dei Dati della Pubblica Amministrazione è realizzata attraverso un database relazionale gestito dal sistema open source PostgreSQL. In queste note si riportano gli schemi dalla base di dati e il codice SQL per la sua creazione. Introduzione La base di dati del Catalogo dei Dati della Pubblica Amministrazione è uno strumento in divenire, nato con l obiettivo di facilitare la diffusione e la conoscenza dei dati della Pubblica Amministrazione, e favorire la condivisione dei dati e il riuso degli stessi secondo i principi dell open data. Quella presentata in queste note è la prima versione del Catalogo, realizzata nei mesi di Dicembre 2014 e Gennaio 2015 per permetterne l accesso pubblico attraverso il sito http:// basidati.agid.gov.it. La struttura della base di dati è quindi quella derivante dalla prima raccolta dei dati, avvenuta in due riprese nel 2014, con i dati inseriti in forma di fogli di calcolo tramite un opportuna applicazione web. In futuro, verrà sviluppata un applicazione web per l inserimento dei dati e la loro modifica da parte delle Pubbliche Amministrazioni fornitrici del dato, e, contestualmente, lo schema della base di dati verrà arricchito di nuove informazioni che faciliteranno il raggiungimento degli obiettivi del Catalogo. La metodologia usata per sviluppare questa base di dati è stata quindi quella di progettarla a partire dalla struttura prefissata dei fogli di calcolo. Si è seguito un approccio di progettazione standard: dalla definizione di uno schema ad alto livello, detto schema concettuale o schema entity-relationship, si è successivamente derivato uno schema relazionale, che è stato infine realizzato usando il linguaggio SQL. In queste note si riportano i risultati di queste fasi, utilizzando una delle notazioni comunemente impiegate a questo scopo. In particolare, si è usata la notazione presentata in [1], che prevede che lo schema concettuale sia descritto in una forma simile ai diagrammi UML, e che lo schema relazionale sia descritto attraverso diagrammi che riportano gli attributi delle tabelle evidenziandone chiavi primarie e chiavi esterne. Schema concettuale Lo schema concettuale è il seguente (per semplicità sono omessi i tipi degli attributi e i nomi delle associazioni):

TipoAmministrazione CodiceTipologia «PK» Amministrazioni CodiceIPA «PK» CF Pec Localizzazioni Comune «PK» Spedizioni DataEOra ContattoOReferente Mail File Soggetti «PK» Norme «PK» TipiFruibilità «PK» BasiDiDati Identificatore locale Formati Formato «PK» TipiLicenzeBasiDati «PK» Applicativi Rilevanza Prodotti Titolo «PK» TipiLicenzeApplicativi «PK» Produttori «PK» L elemento centrale è costituito da una base di dati di una Amministrazione, alla quale possono essere associati uno o più applicativi. Gli altri elementi rilevanti sono l Amministrazione, ovvero il soggetto che detiene/gestisce la base di dati, le eventuali norme che la base di dati soddisfa, la licenza ed eventualmente il tipo di fruibilità esterna. Una base di dati è descritta in un determinato formato dei dati, ed è eventualmente realizzata con un prodotto definito. L applicativo, infine, può essere relativo anch esso a un prodotto (che a volte può essere lo stesso prodotto della base di dati), e ha una sua specifica licenza. Si noti la classe Spedizioni, che tiene traccia dell orgine dei dati, con le informazioni relative alla spedizione del foglio di calcolo che ha dato origine ai dati. Questa classe sarà presente solo in questa versione della base di dati, in quanto le versioni successive, come già detto, prevederanno l accesso diretto delle Amministrazioni per l inserimento e la correzione dei dati. Schema relazionale Dallo schema precedente è stato ricavato il seguente schema relazionale:

TipoAmministrazione CodiceTipologia «PK» Spedizioni CodiceSpedizione «PK» CodiceIPA «FK» ContattoOReferente Mail DataEOra File Amministrazioni CodiceIPA «PK» CF Pec CodiceTipologia «FK» CodiceComune «FK» Comuni CodiceComune «PK» Comune Soggetti CodiceSoggetto «PK» Norme CodiceNorma «PK» Norma TipiFruibilità CodiceFruibilita «PK» TipiLicenzeBasiDati CodiceLicenzaBD «PK» TipiLicenzeApplicativi CodiceLicenzaA «PK» BasiDiDati CodiceBD «PK» IdentificatoreLocale CodiceFormato «FK» CodiceIPA «FK» CodiceSpedizione «FK» CodiceSoggetto «FK» CodiceNorma «FK» CodiceFruibilita «FK» CodiceLicenzaBD «FK» Applicativi CodiceApplicativo «PK» CodiceBD Rilevanza CodiceLicenzaA «FK» Formati CodiceFormato «PK» Formato Prodotti CodiceProdotto «PK» Titolo CodiceProduttore «FK» Produttori CodiceProduttore «PK» La trasformazione è stata fatta seguendo il metodo descritto nel testo sopra citato. Schema SQL A partire dallo schema sopra descritto, si è infine scritto il codice SQL per la creazione della base di dati con il sistema relazionale PostgreSQL: create table tipi_amministrazioni (codice_tipologia varchar(7) primary key, nome text not null unique); create table localizzazioni (codice_localizzazione serial primary key,

comune text not null, provincia text not null, regione text not null, unique (comune, provincia)); create table amministrazioni (codice_ipa varchar(100) primary key, denominazione text not null, codice_fiscale varchar(16), mail text, mail_pec boolean, codice_tipologia varchar(7) not null references tipi_amministrazioni, codice_localizzazione integer not null references localizzazioni); create table spedizioni (codice_spedizione serial primary key, codice_ipa varchar(100) not null, contatto_o_referente text not null, mail text not null, data_ora timestamp not null, url text not null); create table norme (codice_norma serial primary key, create table tipi_fruibilita (codice_fruibilita serial primary key, denominazione text unique); create table tipi_licenze_db (codice_licenza_db serial primary key, create table soggetti (codice_soggetto serial primary key, create table produttori (codice_produttore serial primary key, nome text not null unique); create table prodotti (codice_prodotto serial primary key, titolo text not null, codice_produttore integer references produttori); create table formati (codice_formato serial primary key, formato text not null unique, codice_prodotto integer references prodotti); create table tipi_licenze_app (codice_licenza_app serial primary key,

create table basi_dati (codice_bd serial primary key, id_locale text, descrizione text, codice_ipa varchar(100) not null references amministrazioni, codice_spedizione integer references spedizioni, codice_norma integer references norme, codice_soggetto integer references soggetti, codice_formato integer references formati, codice_prodotto integer references prodotti, codice_fruibilita integer references tipi_fruibilita, codice_licenza_db integer references tipi_licenze_db); create table applicativi (codice_applicativo serial primary key, codice_bd integer not null references basi_dati, codice_prodotto integer references prodotti, descrizione text, rilevanza integer, codice_licenza_app integer references tipi_licenze_app); Riferimenti [1] Albano A., Ghelli G., Orsini R., Fondamenti di Basi di Dati, Zanichelli, 2005. (sito web di supporto: http://fondamentidibasididati.it) Siti: PostgreSQL - http://postgresql.org Catalogo dei dati della pubblica amministrazione: http://basidati.agid.gov.it