APPUNTI DELLA LEZIONE DI DATABASE DEL 27/10/2016 (POMERIGGIO)

Documenti analoghi
Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

Manuale SQL. Manuale SQL - 1 -

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)

Structured Query Language

Database Lezione 2. Sommario. - Progettazione di un database - Join - Valore NULL - Operatori aggregati

Utilizzo delle Maschere in Microsoft Access

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Caratteristiche dei linguaggi per Database

GUIDA MYSQL ( da html.it) Data Base Data Base Management System Edgar F. Codd tabelle colonne proprietà attributi righe ricorrenze linguaggio SQL

Phpmyadmin. Creazione Database

Access 2007 Colonna di ricerca

SQL - Structured Query Language

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

<Nome Tabella>.<attributo>

Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

ESERCITAZIONI ACCESS

Esercizio per Access

Filtri. Microsoft Access. Filtri. Filtri

CORSO ACCESS 2000 PARTE VI

Analisi dei dati con Excel

LINGUAGGIO SQL. Introduzione

2011 Politecnico di Torino 1

Utilizzo delle Maschere in Microsoft Access

CORSO ACCESS PARTE IV

GUIDA D USO PER L IMPORTAZIONE DI FILE.CSV

MODULO 5 ACCESS Basi di dati

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Operazioni preliminari: creare una cartella in Documenti

Cultura Tecnologica di Progetto

Elenchi numerati. Il procedimento per gli elenchi numerati è simile: o l icona o la finestra del menu formato

MODULO 2. Query normali e parametriche Query di:

Laboratorio di Alfabetizzazione Informatica - Simulazione d esame 29 aprile 2013

Interrogazioni nidificate

LE MASCHERE. Maschera standard. Maschera semplice. Questa maschera però non consente di nascondere alcuni campi e visualizza i record uno ad uno.

Basi di Dati: Corso di laboratorio

Creare tabelle in MySQL

Menù principale di Calc

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Esercitazione: Interrogazioni SQL

SEE Electrical Expert V3R7: FAQ

Programma del corso Che cosa è Excel. Il comando File \ Impostazione Pagina. Come selezionare le celle con il mouse.

MODULO 5 ACCESS Basi di dati

C3 IL DBMS MICROSOFT ACCESS

Introduzione a MySQL. Definizione SQL. Esempio

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Access. Microsoft Access. Aprire Access. Aprire Access

GESTIONE ASSICURAZIONI AUTO

Grafici e Pagina web

Manuale Utente Webbiobank

U88 Automatico. Versione 3.0

EXCEL: FORMATTAZIONE E FORMULE

PROGETTAZIONE DI DATABASE Linguaggio SQL

Corso di Access. Prerequisiti. Modulo L2 A (Access) Le query

Capitolo 4: Tabelle. y(x) = x 3 ì 2x. Capitolo 4: Tabelle 67. Nota: le tabelle non sono disponibili nel modo di rappresentazione grafica 3D.

Modulo 3 - Elaborazione Testi 3.4 Oggetti

Formazione a Supporto dell Inserimento Lavorativo. Elementi di Word avanzato. Docente Franchini Gloria

ISCRIZIONI. Impostazioni form ECDL

Procedura Recupero Carenze per Alunni con Giudizio Sospeso

Relazioni. Microsoft Access. Relazioni. Relazioni

SQL: DDL, VI, Aggiornamenti e Viste

I DOCENTI. Indice Del Manuale. 1 - Introduzione al Manuale Operativo. 1.1 Visualizzazioni degli Elenchi dei Docenti

Aule. La classe in questo caso è composta solamente dal nome. Inserire quindi tale attributo all'interno della casella di testo indicata.

APVE in Rete Modulo 8 Excel nozioni di base e esercitazioni su economia domestica

EXCEL: FORMATTAZIONE E FORMULE

Trenitalia Gruppo Ferrovie dello Stato

Corso di Informatica. Software di produttività personale e database. Ing Pasquale Rota

Procedura operativa per la gestione della funzione di formazione classi prime

PARTITIONING PARTITIONING. 27/11/08 /home/scotty/enrico/corso web/finale/architettura/partit page 1

SEE Electrical Expert V4: FAQ

MS ACCESS. Obiettivi. Creare e popolare un database. Interrogare un database. Accedere al database tramite input e output grafici

Istruzioni per il caricamento di un file CSV. Avvertenze generali. Struttura e formato del file CSV

usare le funzioni aritmetiche e logiche di base come. Volgiamo costruire un foglio elettronico in cui registriamo i voti presi

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Definire una chiave primaria. Microsoft Access. Definire una chiave primaria. Definire una chiave primaria. Definire una chiave primaria

Introduzione a MySQL

GESTIONE ABBONAMENTI RIVISTE

03FYZ TECNICHE DI PROGRAMMAZIONE Esercitazione di Laboratorio 03 es.1 23 Marzo 2016

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1

Importazione ed esportazione anagrafiche cliente

Foglio elettronico Microsoft Office Excel 2003

La Back Office Console consente di costruire lo scheletro degli schema.

Errore. Il segnalibro non è definito.

per immagini guida avanzata Modificare il contenuto del foglio di lavoro Geometra Luigi Amato Guida Avanzata per immagini Excel

(Lezione SQL 2) Barbara Di Camillo Dipartimento di Ingegneria dell Informazione. Università degli Studi di Padova

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Word Formattazione del testo. Samuele Mazzolini

Basi di Dati: Corso di laboratorio

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.

Proprietà delle potenze

Database Modulo 6 CREAZIONE DI MASCHERE

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

Laboratorio di Basi di Dati

FASE 1: ISTRUZIONI PER ESPORTARE GLI ALUNNI DAL SIDI

La stampa unione in Word 2007

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

Servizi e-business TRASPORTI a carico pieno

Transcript:

APPUNTI DELLA LEZIONE DI DATABASE DEL 27/10/2016 (POMERIGGIO) Studenti: Lorenzo Caputo, Mattia Marzano. Prof. Lucia Vaira Lo scopo della lezione è quello di andare a riempiere un database con dei dati casuali. I database sono principalmente di due categorie: -MYISAM -INNODB MyISAM non utilizza le chiavi esterne nelle sue relazioni e non esistono le transazioni ma ha il vantaggio di essere molto veloce, inoltre, ogni tipo di dato viene rappresentato attraverso 3 diversi file:.frm -> dove viene rappresentata la parte strutturale.myd -> dove vengono salvati i dati.myi -> dove vengono salvati gli indici relativi alla tabella INNODB utilizza delle tabelle più complete ma allo stesso tempo più lente, però al contrario di MyISAM permette l utilizzo di chiavi esterne e transazioni (commit e rollback) Le Transazioni sono delle operazioni atomiche che vengono eseguite sul DB come per esempio un bonifico, l acquisto di un biglietto ecc. per default tutti gli aggiornamenti sono istantanei durante le transazioni, per evitare l aggiornamento automatico bisogna cambiare il valore di AUTOCOMMIT. Nella creazione del DB ci troveremo ad avere delle tabelle in cui saranno presenti delle chiavi esterne, ciò che succede quando una tupla relativa ad una chiave esterna viene cancellata deve essere impostato durante la creazione del database utilizzando la clausola ON DELETE seguita da uno dei seguenti valori:

- CASCADE: viene cancellata anche la tupla della tabella in cui è presente la chiave esterna - SET NULL: viene impostato il valore della chiave esterna a NULL - SET DEFAULT: viene impostato il valore della chiave esterna al valore di default impostato - RESTRICT/NO ACTION: si verifica prima o dopo aver tentato di aggiornare la casella Tipi DI Dato In MySQL Numerici: - BIT[(M)] - TINYINT[(M)] [UNSIGNED] [ZEROFILL] - SMALLINT[(M)] [UNSIGNED] [ZEROFILL] - MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] - INT[(M)] [UNSIGNED] [ZEROFILL] - BIGINT[(M)] [UNSIGNED] [ZEROFILL] - FLOAT[(M,D)] [UNSIGNED] [ZEROFILL] - DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] - DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL] Alfanumerici: - [NATIONAL] CHAR(M) [BINARY ASCII UNICODE] - [NATIONAL] VARCHAR(M) [BINARY] - BINARY(M) - VARBINARY(M) - TINYBLOB - TINYTEXT - BLOB[(M)] - TEXT[(M)] - MEDIUMBLOB - MEDIUMTEXT - LONGBLOB - LONGTEXT - ENUM( valore1, valore2, ) - SET( valore1, valore2, )

Date e tempo - DATE - DATETIME - TIMESTAMP[(M)] - TIME - YEAR[(2 4)] Attributi Oltre ad impostare il valore di ogni colonna possiamo impostare altri valori tra cui: - Primary Key: rappresenta quale campo viene usato come chiave primaria nella tabella, deve essere necessariamente unica e usando l attributo AUTOINCREMENT viene incrementata automaticamente ad ogni inserimento usando il primo valore libero - UNIQUE: può essere impostato anche se il campo non è una chiave primaria e richiede che ogni valore sia diverso dagli altri - INDEX: velocizza l accesso ai dati generando degli indici, a differenza della PRIMARY KEY non è un valore unico Funzioni di Aggregazione La clausola GROUP BY serve a specificare quali sono i campi sui cui effettuare i raggruppamenti: il motore di query, per ogni riga esaminerà tali campi e la classificherà nel gruppo corrispondente. Si possono specificare calcoli da effettuare per ogni gruppo. Esempi di operazioni sono: - DISTINCT: visualizza solo valori distinti nel raggruppamento; - COUNT(*): conta il numero di occorrenze nel raggruppamento; - AVG: calcola la media dei valori; - SUM: somma i valori del raggruppamento. Con la clausola HAVING possiamo imporre delle condizioni ai soli raggruppamenti e ai soli campi per cui è stata utilizzata la clausola GROUP BY.

Popolazione del DataBase 1. Creare nel DB la tabella che si vuole riempire. Nel nostro caso, usiamo una tabella di esempio, Persona, con gli attributi che si vedono nella figura. 2. Creare un novo foglio, in Excel, in cui andremo a generare i valori casuali da inserire nel DB. 3. Fare il download delle seguenti liste: - Lista nomi italiani : https://gist.github.com/pdesterlich/2562329 - Lista cognomi italiani : https://gist.github.com/pdesterlich/2562407 - Lista comuni italiani, con relativi CAP, province e regioni : http://lab.comuni-italiani.it/download/comuni.html (Quest ultimo file è in formato CSV, quindi si può aprire con Excel)

4. Importare nel nostro file Excel, le liste sopraelencate Nelle celle A, D, G, K, N, c è il numero totale di elementi delle liste che si trovano nelle colonne successive a quelle indicate. 5. Premere Alt + F11 per aprire la finestra che permette di implementare le nostre funzioni per generare i dati casuali.

6. Cliccare con il tasto destro nella sezione indicata e selezionare inserisci modulo. 7. Una volta creato il nuovo modulo, è possibile implementare le nostre funzioni per la generazione di dati casuali.

Nel nostro caso abbiamo bisogno delle seguenti funzioni: Function random_name() b = Range("a50").Value r = Range("B" & CStr(x)) random_name = r Function random_surname() b = Range("d50").Value r = Range("E" & CStr(x)) random_surname = r Function random_date_between(x, y) As Date b = DateDiff("d", x, y) r = CDate(x) + CDate(Int(a * b)) random_date_between = r Function cap(x) i = 50 For Each c In [i50:i8141] If c.value = x.value Then y = i i = i + 1 Next cap = Range("h" & CStr(y)).Value

Function random_city() b = Range("g50").Value r = Range("i" & CStr(x)) random_city = r Function random_region() b = Range("n50").Value r = Range("o" & CStr(x)) random_region = r Function random_province() b = Range("k50").Value r = Range("l" & CStr(x)) random_province = r Bisogna fare attenzione agli indici delle celle utilizzati, se le liste sono state inserite in una posizione differente, è necessario aggiornare gli indici nelle funzioni che sono scritte sopra.

8. A questo punto è sufficiente utilizzare in Excel, le funzioni appena implementate per generare i dati. In B F(x) =random_name() In C F(x) =random_surname() In D F(x) =random_region() In E F(x) =random_province() In F F(x) =random_city() In G F(x) =cap(x) In H F(x) =random_surname() In I F(x) =CASUALE.TRA(1;50) In J F(x) =random_date_between("01/01/1950";"01/01/2016")