BASI DI DATI - MySql Centro di Ateneo per i Servizi Informatici

Slides:



Advertisements
Presentazioni simili
DBMS (DataBase Management System)
Advertisements

Database MySql.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Connessione con MySQL.
BASI DI DATI 1 1.
L’uso dei database in azienda
Corso di Informatica (Basi di Dati)
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
Appunti informatica- prof. Orlando De Pietro
Daniel Stoilov Tesi di Laurea
Corso di PHP.
DBMS ( Database Management System)
Implementare un modello di dati
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
Elementi di gestione di dati con MS Access
Creazione di un database MySQL
INFORMATICA Corso Base Modulo G: I DataBase  Access.
STRUTTURA GENERALE DI UN ELABORATORE
Concetti di base sul Software dei PC Unitre Anno
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Lezione 17 Riccardo Sama' Copyright Riccardo Sama' Access.
Progettare un database
Introduzione a Oracle 9i
Realizzato da Roberto Savino
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mySQL) come supporto Open Source ad un piccolo progetto di Data Base relazionale,
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
EIPASS MODULO 5 Access 2007.
Corso di informatica - Database & DBMS - Raffaele Grande
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
Lavorare con le query Federica Scarrione 18/05/2009 fonte:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
IV D Mercurio DB Lezione 1
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Accesso a basi di dati con ASP.
Corso Serale 3 Windows e Office Automation 19 settembre – 19 dicembre 2005.
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
Microsoft Access Maschere (II).
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Database Concetti di base
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
IV D Mercurio DB Lezione 2
Indice argomenti Installazione e configurazione
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
MySQL Database Management System
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Data Base ACCESS EM 09.
Esercitazione no. 4 EXCEL II Laboratorio di Informatica AA 2009/2010.
Modulo 5 Uso delle Basi di dati Paola Pupilli
Joomlahost.it1 Presentato da Fustini Alessandro Myslq DBA e Developer certified Joomlahost.it.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Microsoft Access (parte 3) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Le basi di dati.
Caratteristiche generali
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Lezione 4 – Linguaggi ed Interazione. Linguaggi La comunicazione è essenziale tra gli esseri umani Se vogliamo chiedere informazioni stradali ad un passante.
Transcript della presentazione:

BASI DI DATI - MySql Centro di Ateneo per i Servizi Informatici Docente: Mario Di Ture Centro di Ateneo per i Servizi Informatici Università degli Studi di Cassino CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Prodotti di riferimento In questo corso utilizzeremo i seguenti prodotti in ambiente Windows: MySQL Server 4.1.8 MySQL Query Browser 1.1.13 PHP 5.0.4 phpMyAdmin 2.6.2 CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Cos’è un database Un database è un insieme di informazioni correlate a un oggetto o a uno scopo particolare. In un database i dati sono memorizzati in tabelle, costituite da righe e colonne MySql è un RDBMS (Relational DataBase Management System) che gestisce tutte le informazioni in più file di database, all'interno dei quali sono disponibili diversi oggetti utili a tale scopo: tabelle, indici ecc. CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Il modello relazionale - 1 E’ il modello organizzativo dei database più diffuso. In base a tale modello: Un database è un insieme di tabelle in relazione tra loro Ciascuna tabella è un insieme di tuple (anche righe o records) Ciascuna tupla (riga) è una sequenza di attributi (anche colonne o campi) L’attributo (colonna) è l’unità elementare di informazione, contraddistinto dal dominio, cioè dall’insieme predefinito di valori che può assumere CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Il modello relazionale - 2 Esemplificando, vediamo le caratteristiche definite nella diapositiva precedente in riferimento alla relazione (tabella) ‘film’ disponibili in una videoteca: Film Codice Titolo Regista Attore protagonista Anno di produzione Supporto Prestito … 1 Roma città aperta Roberto Rossellini Anna Magnani 1945 DVD Rossi P. 2 Jurassic Park Steven Spielberg Sam Neill 1993 Cassetta (VHS) Verdi G. Tupla (riga,record) Attributo (colonna, campo) Il Dominio è costituito dai valori che ‘supporto’ può assumere, cioè DVD e cassetta (VHS) CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Tabella Excel e tabella MySql Una tabella è costituita da righe e colonne, come in un foglio elettronico. Molte volte le righe vengono chiamate ‘record’, le colonne ‘campi’. In questo foglio abbiamo una riga per ogni attore ed una colonna per gli ‘attributi’ associati. CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Progettazione di un database 1 – Definiamo lo scopo e le modalità di utilizzo del database tramite: La valutazione delle esigenze degli utenti La raccolta della modulistica in uso 2 – Ogni tabella contiene informazioni relative ad uno stesso argomento. Procediamo, quindi, alla definizione delle tabelle necessarie e alle colonne da cui sono formate 3 – Individuiamo, tra le colonne di ogni tabella, quale contiene un dato univoco sempre valorizzato per ogni riga, ad es. il codice in una tabella ‘attori’, questa colonna viene detta ‘chiave primaria’ 4 – Impostiamo le relazioni tra le varie tabelle, basandoci sulla chiave primaria come sopra definita CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Il linguaggio SQL Il linguaggio SQL (Structured Query Language) viene usato per definire le tabelle, per vederne e manipolarne i dati contenuti. Le istruzioni SQL possono essere costruite manualmente o col supporto degli strumenti visuali. CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Un semplice database per archiviare i film presenti in una videoteca Per costruire il database abbiamo bisogno di almeno tre tabelle: Film – Registi - Attori. Nella tabella ‘Film’ inseriremo il titolo e altri dati, mentre la tabella ‘Registi’ potrebbe sembrare superflua ma, a seguito di un processo detto di ‘normalizzazione’, questa viene derivata come segue: FILM (dopo la normalizzazione) codice titolo codice regista anno … 1 Roma città … 1945 2 Jurassic Park 1993 FILM (originaria) codice titolo regista anno … 1 Roma città aperta R. Rossellini 1945 2 Jurassic Park S. Spielberg 1993 ... REGISTI (nuova tabella) codice_regista nome 1 Roberto Rossellini 2 Steven Spielberg CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Perché normalizzare ? I motivi sono diversi, quelli principali sono: Ripetizione di dati Non normalizzando, devo inserire nome e cognome completi del regista per ogni film diretto (con la possibilità di commettere errori di digitazione), al posto di inserire il solo codice; non aumenterei la quantità di dati significativi e, in conclusione, occuperei anche più memoria. Anomalie di aggiornamento Se devo correggere il nome di un regista, posso cambiare il dato su una sola riga nella tabella ‘registi’, anziché su tutte le righe della tabella ‘film’ (se non la normalizzo) dove il regista compare. CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Le prime tre forme normali NF = Normal Form (Definizioni) 1NF Uno schema è in 1NF se e solo se ogni attributo ha un valore atomico, non ulteriormente scomponibile. 2NF Uno schema è in 2NF se e solo se ogni attributo non chiave primaria dipende completamente dalla chiave primaria. 3NF Uno schema T è in 3NF se e solo se ogni attributo non chiave primaria non dipende transitivamente dalla chiave. CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Le proprietà ACID Una transazione è insieme di operazioni elementari sui dati per l’esecuzione di una determinata funzione. Le proprietà ACID delle transazioni di un RDBMS consentono una condivisione sicura dei dati e sono: Atomicità: o vengono eseguite tutte le operazioni elementari o nessuna Consistenza: una transazione viene avviata e deve terminare con uno stato dei dati consistente, cioè che non viola le regole di integrità dei dati Isolamento: gli effetti di più transazioni simultanee non sono visibili a ciascuna singola transazione, e divengono manifesti solo dopo che una transazione si è conclusa con successo Durabilità: (o persistenza) una volta che una transazione è stata eseguita con successo gli effetti sono permanenti CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Il prompt dei comandi di MySql (shell) MySQL è un sistema client-server. Il server gestisce i dati tramite comandi SQL, per potersi collegare al server e impartire ad esso dei comandi, è necessario un programma client.   Il più utilizzato è il prompt dei comandi di MySQL, inoltre funziona sostanzialmente allo stesso modo su tutte le piattaforme (Linux, Windows, Unix …). RDBMS MySql Server MySql Client Numero di film archiviati ? 2.500 CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Avvio e chiusura di MySql (I) Dopo aver installato il server MySql per Windows, esaminiamo i comandi per avviare ed arrestare il relativo processo. In genere a fine installazione il server viene avviato automaticamente. I comandi per la gestione del server variano a seconda del tipo di installazione. Se MySql è stato installato come servizio di Windows (raccomandato), i comandi sono i seguenti (oltre alla esecuzione dal pannello dei Servizi di Windows): Arresto: C:\>NET STOP MySQL Avvio: C:\>NET START MySQL Il comando NET si trova nella cartella di sistema system32 CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Avvio e chiusura di MySql (II) Se MySql è stato installato per una gestione da riga di comando (non come servizio), i comandi sono i seguenti: Arresto: mysqladmin -u root -p shutdown Avvio: mysqld-nt --defaults-file= "C:\Programmi\MySQL\MySQL Server 4.1\my.ini" Dove: -u: è l’opzione per specificare il nome dell’utente (in questo caso ‘root’, cioè l’amministratore); -p: è l’opzione che permette l’inserimento della password; --defaults-file: permette di specificare il percorso del file di configurazione del database. CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Il prompt dei comandi di MySql Il prompt dei comandi può essere lanciato in due modi. 1 - Attraverso il menu dei Programmi di Windows: START > Tutti i programmi > MySQL Server 4 > MySQL Command Line Client 2 - Attraverso il prompt dei comandi di Windows: START > Tutti i programmi > Accessori > Prompt dei comandi ed eseguendo i due comandi: cd C:\Programmi\MySQL\MySQL Server 4.1\bin mysql -u root -p -h pc_docente (-h per indicare il nome del sever) CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005

Test di MySql mysql> SHOW DATABASES; (Invio) E’ possibile testare se il server è attivo eseguendo alcuni comandi (che terminano con ;) dal prompt di MySQL: mysql> SHOW DATABASES; (Invio) mostra i database creati mysql> USE MYSQL; (Invio) seleziona il database di default mysql> SHOW TABLES; (Invio) mostra le tabelle del database di default mysql> SHOW PROCESSLIST ; (Invio) mostra la lista degli utenti collegati CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 1 - Novembre 2005