Metodi per la Gestione dei Dati (lezioni di laboratorio)



Documenti analoghi
Il programma di oggi. Gli indici. Ottimizzazione. Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi per la Gestione dei Dati (lezioni di laboratorio)

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

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

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

Basi di Dati Corso di Laura in Informatica Umanistica

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

Esercitazione: Il DBMS MySQL

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

Definizione di domini

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:

User Tools: DataBase Manager

Volumi di riferimento

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

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

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

Metodi per la Gestione dei Dati (lezioni di laboratorio)

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

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

MAX, SUM, AVG, COUNT)

Istruzioni DML di SQL

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

Corso di Basi di Dati A.A. 2014/2015

SQL: definizione schema

CONCETTO DI ANNIDAMENTO

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

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

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Unità 2.1 Comandi sui database

Introduzione a MySQL

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

ISTRUZIONI PER L INSTALLAZIONE DI MINGW

Corso di Informatica (Basi di Dati)

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

Linguaggio SQL. Structured Query Language

SOMMARIO... 3 INTRODUZIONE...

MODULO 5 ACCESS Basi di dati. Lezione 4

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

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

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

Corso di Laboratorio di Basi di Dati

Indice GAMMA. Guida utente

Esercitazione 4 JDBC

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

Informatica per le discipline umanistiche 2 lezione 10

DBMS (Data Base Management System)

Riferimenti semi-bibliografici:

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

Laboratorio di Basi di Dati e Web

DINAMIC: gestione assistenza tecnica

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

GERARCHIE RICORSIVE - SQL SERVER 2008

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

Progetto di Basi di Dati e Multimidia Laboratorio Struttura dell applicazione web

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

OSSIF WEB. Manuale query builder

2.1 Installazione e configurazione LMS [4]

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a

Esercitazione su SQL

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

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

1) Il client(browser utilizzato) invia al server i dati inseriti dall utente. Server

Corso sul linguaggio SQL

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

Dispensa di database Access

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Basi di Dati: Corso di laboratorio

Introduzione a phpmyadmin

Dispense Corso Access

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

Come modificare la propria Home Page e gli elementi correlati

Vogliamo creare una anagrafe e poi creare delle query che rispondono a delle domandi. Utilizzando Microsoft Access

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

SQL (STRUCTURED QUERY LANGUAGE)

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

19. LA PROGRAMMAZIONE LATO SERVER

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Sistemi per la gestione di database: MySQL ( )

Libero Emergency PC. Sommario

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

L architettura di un DBMS

CERTIFICATI DIGITALI. Manuale Utente

Il linguaggio SQL: viste e tabelle derivate. Versione elettronica: SQLd-viste.pdf

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

MODULO 5 DATA BASE PROGRAMMA. Progettazione rapida introduzione alla progettazione di DB

Database 3 affitto veicoli. Testo del quesito

Istruzioni SQL 1. Query di selezione 2 Istruzione SELECT 2 Istruzione SELECT DISTINCT 2 ORDER BY 3 WHERE 3 La condizione LIKE 4 BETWEEN AND 5

GUIDA ALLE SOLUZIONI

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

SQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server

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

SQL Server. Applicazioni principali

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Laboratorio di Basi di Dati

Lezione 8. Metadati, Viste e Trigger

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

MySQL Command Line Client: operazioni fondamentali

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Transcript:

Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Anno Accademico 2005/06 Metodi per la Gestione dei Dati (lezioni di laboratorio) Titolare del corso: ing. Stefano SETTI Lezioni di laboratorio: gruppo A-K - dott. Fabio RUINI gruppo M-Z - dott. Alessandro FILISETTI 1

Il programma di oggi Ottimizzazione delle procedure attraverso l introduzione di indici (creazione di tabelle con indici, aggiunta di indici alle tabelle, comparazione dei risultati con indici e senza indici) Esercitazioni Chiarimenti di varia natura 2

Ottimizzazione I dati di un database sono contenuti all interno del disco fisso e le operazioni di inserimento e aggiornamento consistono di una serie di operazioni di input/output (I/O) sul disco. Ottimizzare una query SQL significa ridurre al minimo il numero di operazioni di I/O 3

Gli indici L arma principale per ottimizzare le query sono gli indici Analizziamo questa query: SELECT nome FROM Dipendente WHERE codfis = ABCDFG66A31Z999M In che modo il nostro database recupera il dato cercato? 4

Gli indici -2- Procedura standard -> MySQL passerà attraverso tutti i record della tabella fino al ritrovamento del valore contenuto nella clausola WHERE Se avessimo ad esempio 1.000.000 di record? 5

Gli indici -3- Attribuendo un indice su di un dato attributo MySQL prima di eseguire la query vera e propria farà un ordinamento su quell attributo e la ricerca del record potrà poi avvenire in modalità dicotomica Attraverso una ricerca standard su 1.000.000 avremmo una media di 500.000 (N/2) operazioni di I/O Attraverso una ricerca dicotomica (basata sugli indici) su 1.000.000 avremmo al massimo log2 N = circa 20 6

Gli indici -4- Per creare un indice su di una relazione esistente si esegue il seguente comando (Es. Vogliamo attribuire un indice sull attributo codice_fiscale all interno della relazione agente) mysql> ALTER TABLE `agente` ADD INDEX ( `codice_fiscale` ) 7

Gli indici -5- Fare click qui Lo stesso comando in PhpMyAdmin 8

Gli indici -6- Per creare un indice su di una tabella in fase di creazione della stessa ) mysql> CREATE TABLE `agente` ( `matricola` char(3) NOT NULL default '', `codice_fiscale` varchar(16) NOT NULL default '', `nome` varchar(20) NOT NULL default '', `cognome` varchar(20) NOT NULL default '', PRIMARY KEY (`matricola`), KEY `codice_fiscale` (`codice_fiscale`) 9

Gli indici -6- Fare click qui La stessa operazione in PhpMyAdmin 10

Connessione a MySQL step 1 Una volta entrati nel prompt dei comandi, occorre spostarsi all interno della directory nella quale è stato installato il client. Se durante l installazione non sono stati variati i parametri di default, per accedere alla cartella dovrebbe essere sufficiente digitare l istruzione: C:\>cd \Programmi\EasyPHP1-8\mysql\bin seguita dalla pressione del tasto INVIO 11

Connessione a MySQL step 2 Per comodità possiamo accedere a MySQL con le credenziali di root : C:\Programmi\EasyPHP1-8\mysql\bin\>mysql u root (il parametro -u indica a MySQL che la stringa seguente rappresenta il nome dell utente che sta tentando di collegarsi al DBMS). 12

Interrogazioni ad una tabella 13

Query 1 Visualizzare il numero delle contravvenzioni elevate. mysql> select count(*) from infrazione; 14

Query 2 Visualizzare la targa delle automobili a cui sono state elevate contravvenzioni (senza che vi sia, nell output, la stessa targa ripetuta più volte). mysql> select distinct(targa) from infrazione; 15

Query 3 Visualizzare il numero di infrazioni contestate nel corso dell anno 2004. mysql> select count(*) as infrazioni elevate nell anno 2004 from infrazione where data like 2004% ; 16

Interrogazioni su due tabelle 17

Query 4 Visualizzare il proprietario dell auto a cui è stata elevata una contravvenzione il 25 maggio 2005. mysql> select proprietario from infrazione i, auto a where i.targa = a.targa and i.data = 2005-05-25 ; = Ridenominatori di relazione mysql> select proprietario from infrazione as i, auto as a where i.targa = a.targa and i.data = 2005-05-25 ; 18

Query 5 Visualizzare nome e cognome degli agenti che hanno elevato contravvenzioni nel corso dell anno 2004. mysql> select a.nome as nome agente, a.cognome as cognome agente from agente a, infrazione i where a.matricola = i.agente and i.data like 2004% group by a.matricola; 19

Query 6 Visualizzare l elenco degli articoli infranti da Luca Bini. mysql> select distinct(i.articolo) as articoli infranti from infrazione i, auto a where i.targa = a.targa and a.proprietario = Luca Bini ; 20

Interrogazioni su tre tabelle 21

Query 7 Visualizzare numero di matricola, nome e cognome dell agente che, in data 26 ottobre 2004, ha elevato una contravvenzione a Piero Verdi. mysql> select ag.matricola, ag.nome, ag.cognome from agente ag, infrazione i, auto a where i.targa = a.targa and i.agente = ag.matricola and a.proprietario = Piero Verdi and i.data = 2004-10-26 ; 22

Query 8 Visualizzare nome ed indirizzo di tutti coloro a cui l agente Luigi Neri ha elevato contravvenzioni nel corso dell ottobre 2004. mysql> select a.proprietario, a.indirizzo from agente ag, infrazione i, auto a where i.targa = a.targa and i.agente = ag.matricola and ag.nome = Luigi and ag.cognome = Neri and i.data like 2004% ; 23

Query 9 Visualizzare il codice fiscale degli agenti che hanno elevato contravvenzioni a Luca Bini. mysql> select ag.codice_fiscale from agente ag, infrazione i, auto a where i.targa = a.targa and i.agente = ag.matricola and a.proprietario = Luca Bini ; 24

Fine della sesta lezione 25