Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013



Documenti analoghi
Volumi di riferimento

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

User Tools: DataBase Manager

Laboratorio di Basi di Dati e Web

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

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

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:

Laboratorio di Basi di Dati

SQL: definizione schema

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

DBMS (Data Base Management System)

Corso di Laboratorio di Basi di Dati

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

Basi di Dati Corso di Laura in Informatica Umanistica

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base Variabili, operatori e commenti Array...

Definizione di domini

SQL Sintassi Dei Comandi

GERARCHIE RICORSIVE - SQL SERVER 2008

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Capitolo 13. Interrogare una base di dati

Creazione manuale delle tabelle (mediante scrittura del codice SQL corrispondente)

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

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Introduzione a MySQL

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

Corso di Informatica (Basi di Dati)

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

SQL (STRUCTURED QUERY LANGUAGE)

Esercizio data base "Biblioteca"

Informatica per le discipline umanistiche 2 lezione 10

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

Basi di Dati: Corso di laboratorio

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Esercitazione 01: DDL e DML di base

Installazione e configurazione di Java DB in Windows (7)

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

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

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

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

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

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Manuale per la configurazione di AziendaSoft in rete

Gestione delle tabelle

Lezione 9. Applicazioni tradizionali

MySQL Database Management System

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

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

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

Sistemi per la gestione di database: MySQL ( )

Introduzione a phpmyadmin

ESAME di INFORMATICA e ARCHIVIAZIONE

The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile L'Antipasto 11 Marzo

PROGRAMMA DI CLASSE 5AI

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

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

Le Basi di Dati. Le Basi di Dati

Metodi per la Gestione dei Dati (lezioni di laboratorio)

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

Introduzione ai Sistemi di Gestione di Basi di Dati XML

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

Corso sul linguaggio SQL

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

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

MySQL Command Line Client: operazioni fondamentali

Personalizzazione Stampe

Installazione & Configurazione Php e MySQL su Mac Os X. Php

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

Dispensa di database Access

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

Lezione 8. Metadati, Viste e Trigger

SQL Server. Applicazioni principali

Introduzione ai database relazionali

PIATTAFORMA DOCUMENTALE CRG

Strumenti Software per Esercitazioni (ambiente Windows) Basi di Dati L LS Ing. Gestionale

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

19. LA PROGRAMMAZIONE LATO SERVER

Istruzioni DML di SQL

Al giorno d oggi, i sistemi per la gestione di database

Progetto di Ingegneria del Software 2. SWIMv2

Database 1 biblioteca universitaria. Testo del quesito

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

Corso sul linguaggio SQL

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 12 FEBBRAIO 2015 PARTE 1

Esercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

I DATABASE Database relazionale

Università degli Studi di Catania Dipartimento di Matematica e Informatica Compilatori 2014/15

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

Transcript:

Tool Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A. 2012-2013 Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 1 / 26

Gli strumenti che vedremo Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 2 / 26

Come imposteremo le lezioni Per ogni strumento: Breve introduzione Installazione sul proprio pc del tool Creazione ed accesso a un DB Comandi SQL da terminale e da interfaccia grafica Esempio di implementazione di un piccolo DB Funzionalità avanzate Confronto tra i due strumenti Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 3 / 26

Introduzione a Postgres PostgreSQL è un Database system (relazionale e ad oggetti) open source Nasce da un progetto del 1986 del professor Michael Stonebraker Ad oggi PostgreSql supporta le piattaforme Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), e Windows. supporta la gestione di tabelle, foreign keys, joins, views, triggers, and stored procedures. Include i seguenti tipi di dato: INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e TIMESTAMP, inoltre salva immagini, suoni e video. Ha interfacce per i seguenti linguaggi C/C++, Java,.Net, Perl, Python, Ruby, Tcl, ODBC. per maggiori informazioni http://www.postgresql.org/docs/9.2/static/history.html Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 4 / 26

Licenza La licenza di Postgres è The PostgreSQL Licence (PostgreSQL) È una licenza simile a MIT e BSD le cui caratteristiche principali sono: La possibilità di utilizzare il codice di PostgreSQL o lo strumento gratuitamente L unico vincolo è quello di citare l autore del programma Per maggiori informazioni http://opensource.org/licenses/postgresql Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 5 / 26

Installazione Ci colleghiamo alla pagina http://www.postgresql.org/download/ Selezioniamo la piattaforma installata sul vostro computer Eseguire il download del programma Eseguiamo le istruzioni sul file README Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 6 / 26

Architettura PostgreSQL usa un modello client/server. Una sessione PostgreSQL consiste nei seguenti processi: Un processo server, che gestisce il database e accetta le connessioni da parte di un client. Il server gestisce le azioni sul database su indicazione dei client. È chiamato postmaster il programma server. L applicazione client che richiede le operazioni al database. L applicazione Client può essere un applicazione: uno strumento text-oriented uno strumento con interfaccia grafica, un web server che accede al database mostrando le pagine web uno strumento specializzato al mantenimento del database Alcune applicazioni client sono sviluppate da PostgreSQL distribution, molte sono sviluppate da altri utenti. Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 7 / 26

Accedere al Server Selezionare il programma PostgreSql e selezionare SQL shell, apparirà la seguente pagina Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 8 / 26

Connessione da shell Scrivere le seguenti linee di comando per connettersi da Shell Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 9 / 26

I primi passi Creazione e cancellazione di un nuovo DB da shell I comdandi per creare/cancellare un DB sono CREATE DATABASE/DROP DATABASE seguito dal nome che si vuole assegnare In BNF (Backus - Naur Form) i comandi createdb e dropdb sono definiti come segue: < command >::=< create >; < drop >; < create >::= CREATE DATABASE < identifier > < drop >::= DROP DATABASE < identifier > < identifier >::=< letter >< id > < id >::=< letter > < digit > < number >::=< digit > + < letter >::= a b... z A... Z < digit >::= 0 1... 9 Creare un DB che si chiami DB1 Cancellare il DB appena creato Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 10 / 26

Creazione delle tabelle Per connettersi a un DB da shell bisogna digitare il comando nome del DB Creiamo un Database dal nome IlMeteo Ci connettiamo al Database IlMeteo A questo punto creiamo le tabelle che appartengono a questo DB: La tabella Tempo che contiene almeno questi attributi: comune, tempmin, tempmax, precipitazione, data La tabella Comune che contiene almeno questi attributi: comune, posizione Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 11 / 26

I tipi I principali tipi che si possono utilizzare sono: I tipi numerici Smallint 2 bytes, integer 4 bytes, real 4 bytes e precisione a 6 numeri decimali Per approfondimenti http://www.postgresql.org/ docs/9.2/static/datatype-numeric.html I tipi Data Timestamp, date Per approfondimenti http://www.postgresql.org/ docs/9.2/static/datatype-datetime.html I tipi Geometrici Point, circle Per approfondimenti http://www.postgresql.org/ docs/9.2/static/datatype-geometric.html Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 12 / 26

Creazione delle tabelle CREATE TABLE Tempo ( comune varchar ( 8 0 ), nome temp_min int, temperatura minima temp_max int, temperatura massima p r e c i p i t a z i o n e real, p r e c i p i t a z i o n e data date ) ; CREATE TABLE Comune ( nome varchar ( 8 0 ), l o c a l i z z a z i o n e p o i n t ) ; Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 13 / 26

Inserimento dei dati nelle tabelle INSERT INTO Tempo VALUES ( Bologna,7, 11, 0.0, 2012 10 29 ) ; INSERT INTO Comune VALUES ( Bologna, ( 194.0, 53.0) ) ; INSERT INTO Tempo ( comune, temp_min, temp_max, p r e c i p i t a z i o n e, data ) VALUES ( Reggio Emilia, 6, 10, 0.05, 2012 10 29 ) ; INSERT INTO Tempo ( data, comune, temp_min, temp_max ) VALUES ( 2012 10 29, Modena, 5, 1 0 ) ; Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 14 / 26

Vincoli interni ed esterni alle tabelle Per inserire un vincolo interno a una tabella, bisogna inserire alla fine di insert il comando CONSTRAINT nomecost PRIMARY KEY (campo1,..., campon) Per inserire un vincolo esterno bisogna aggiungere il comando CONSTRAINT nomecost FOREIGN KEY (campotabelladavincolare) REFERENCES tabellasucuicreareilvincolo (campo) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 15 / 26

Esempi di Select Estrarre tutti i dati presenti nella tabella tempo Trovare per ogni comune la temperatura minima e la precipitazione per ciascun giorno Con i dati archiviati, calcolare la temperatura media di ciascun comune Estrarre le temperature e le precipitazioni e le date in cui il comune di Bologna non ha avuto precipitazioni. Ordinare i dati in tabella per comune e poi per comune e temperatura minima Selezionare i singoli comuni presenti nella tabella tempo, ripetere l esercizio ordinando i dati per comune Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 16 / 26

Esempi di Select SELECT FROM tempo ; SELECT comune, temp_min, p r e c i p i t a z i o n e, data FROM Tempo ; SELECT comune, ( temp_max+temp_min ) / 2 AS temp_m FROM Tempo ; SELECT FROM Tempo WHERE Comune = Bologna AND p r e c i p i t a t i o n = 0. 0 ; Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 17 / 26

Esempi di Select SELECT FROM Tempo ORDER BY comune ; SELECT FROM Tempo ORDER BY Comune, temp_min ; SELECT DISTINCT Comune FROM Tempo ; SELECT DISTINCT Comune FROM Tempo ORDER BY Comune ; Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 18 / 26

Join tra tabelle Estrarre tutti i comuni che sono presenti nella tabella tempo e di cui si ha la posizione Estrarre tutti i dati delle tabelle tempo e comune legati dal nome del comune Estrarre tutti i dati delle tabelle tempo e comune anche se il comune non è stato definito nella tabella comuni Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 19 / 26

Join tra tabelle SELECT C. FROM Comune C WHERE C. nome in ( select t. comune from tempo ) and c. posizione <> NULL; SELECT comune, temp_min, temp_max, p r e c i p i t a z i o n e data, posizione FROM tempo, comune WHERE comune = nome ; SELECT FROM Tempo LEFT OUTER JOIN Comune ON ( tempo. comune = comune. nome ) ; Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 20 / 26

Group by e Having SELECT comune, ( temp_min + temp_max ) / 2 temp_med FROM Tempo group by comune, ( temp_min + temp_max ) / 2 having ( temp_min + temp_max)/2 >8 ; Quali dati estrae questa query? Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 21 / 26

Trigger Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 22 / 26

Interfaccia grafica Selezionare il programma PostgreSql e poi pgadminiii Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 23 / 26

Import da file Decidere il separatore delle colonne Creare il file con tutti i dati da inserire in tabella col separatore scelto Selezionare la tabella su cui si vuole fare l import Importare il file dopo aver configurato l operazione Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 24 / 26

Esercizio Uno studio medico vuole di realizzare un archivio che permetta di gestire i dati utilizzati dai medici che ne fanno parte. I medici ad oggi sono cinque e ognuno di loro deve avere accesso al DB dal proprio computer con una propria password. Il medico deve poter inserire, gestire e cancellare i propri pazienti. Ogni paziente avrà una scheda anagrafica che avrà almeno i seguenti dati: nome, cognome, data di nascita, luogo di nascita, codice fiscale e numero di identificazione della tessera sanitaria. Il paziente avrà una scheda principale in cui verranno indicate le sue patologie croniche, la sua percentuale di invalidità, eventuale, e i medicinali prescritti permanentemente, come l insulina ad un diabetico per esempio. Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 25 / 26

Esercizio All interno di questa scheda si potranno visualizzare l elenco delle visite del paziente. Ogni visita contiene il giorno in cui è stata effettuata, la ragione, gli eventuali medicinali prescritti e un campo in cui sono annotabili alcune note a discrezione del medico curante. Vi è la possibilità di allegare file di tipo jpg e doc per eventuali referti di altre visite che si ritengono collegati alla visita. Basi di Dati e Sistemi Informativi () PostgreSQL A.A. 2012-2013 26 / 26