Elaborazione Automatica dei Dati. MySQL. Enrico Cavalli. Anno Accademico MySQL(1)
|
|
- Ottavia Bevilacqua
- 8 anni fa
- Visualizzazioni
Transcript
1 Elaborazione Automatica dei Dati MySQL Enrico Cavalli Anno Accademico MySQL(1) MySQL è un DBMS Open Source prodotto da MySQL AB acquistato ora da Oracle. MySQL è realizzato in architettura Client/Server Client MySQL Server MySQL DB Il client dialoga con l utente, ne accetta i comandi che invia al server per l esecuzione e visualizza i risultati Il server è responsabile della gestione dei dati. Interagisce con il DB e invia i risultati al client che li visualizza Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 2
2 MySQL(2) Esistono diverse versioni di MySQL: 5.5. è, al momento, la versione in uso Versione 5: caratteristiche aggiuntive rispetto alla versione 4 Viste Logiche, Trigger, Stored Procedure, Stored Function La scelta dei progettisti di MySQL è stata di ottimizzarne la velocità anche rinunciando ad alcune caratteristiche possedute da altri SQL Il server supporta diversi client sia da linea comandi che grafici, per esempio: MySQL Workbench, MySQL Query Browser, MySQL Administrator phpmyadmin MySQL-Front Manuali e documentazione: fra le guide scegliere phpmyadminb Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 3 MySQL(3) Esecuzione di MySQL dalla linea comandi: C:\>mysql u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: log.. Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> HELP For the complete MySQL Manual online, visit: For server side help, type 'help contents mysql>... l elenco dei comandi lato client è riportato nella prossima diapositiva Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 4
3 Comandi MySQL lato client MySQL(4)? (\?) Synonym for `help'. clear (\c) Clear command. connect (\r) Reconnect to the server. delimiter (\d) Set query delimiter. ego (\G) Send command to the server, result shown vertically. exit (\q) Exit mysql. Same as quit. go (\g) Send command to mysql server. help (\h) Display this help. notee (\t) Don't write into outfile. print (\p) Print current command. prompt (\R) Change your mysql prompt. quit (\q) Quit mysql. rehash (\#) Rebuild completion hash. source (\.) Execute a SQL script file. File name as argument. status (\s) Get status information from the server. tee (\T) Set outfile. Append everything into given outfile. use (\u) Use another database. Database name as argument. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 5 MySQL(5) Guida in linea per i principali comandi: mysql> HELP CONTENTS You asked for help about help category: "Contents" For more information, type 'help <item>', where <item> is one of the following categories: Administration Column Types Data Definition Data Manipulation Functions Geographic features Transactions Attraverso successive richieste si identifica il comando per il quale si vogliono informazioni mysql> help date Name: 'DATE' Description: A date. The supported range is ' ' to ' '. MySQL displays DATE values in 'YYYY-MM-DD' format,... Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 6
4 MySQL(6) mysql> /******************************************************* mysql> * Questo è un commento su più righe mysql> *******************************************************/ mysql> mysql> -- Questo è un commento su una sola riga mysql> mysql> SELECT 3*4; -- SELECT usato come Print * mysql> SELECT VERSION(); -- Versione di MySQL mysql> SELECT CURDATE(); -- Data attuale mysql> SELECT NOW(); -- Data e ora attuali mysql> SELECT USER(); -- Utente connesso al server mysql> SELECT (5+8) -- Un comando può essere scritto su -> *12 -- più righe e deve terminare con -> ; -- il carattere ;. Calcola: (5+8)*12 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 7 MySQL(7) mysql> SHOW DATABASES; Database mysql test rows in set (0.00 sec) mysql> USE TEST; Database changed -- Elenca i database sul server Mysql e Test sono sempre presenti Test db per prove -- Test diventa db di default mysql> SHOW TABLES; Empty set (0.00 sec) mysql> QUIT; -- Elenca tabelle/viste in Test -- SHOW [FULL] TABLES; In Test non ci sono tabelle -- oppure EXIT: fine sessione Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 8
5 Identificatori e Files fisici in MySQL Identificatori in MySQL Tipo di identificatore Lunghezzamax Caratteri ammessi Database 64 Tabella 64 I caratteri ammessi dal S.O. per i nomi delle directory ad eccezione di \, / e. I caratteri ammessi dal S.O. per i nomi dei file ad eccezione di / e. Colonna 64 Tutti Indice 64 Tutti Alias 255 Tutti Per ogni database MySQL crea una directory con quel nome. Ogni tabella del db è rappresentata con un insieme di file che hanno per nome il nome della tabella e estensione: MYD (per i dati), MYI (per gli indici), FRM (per la struttura). Le viste logiche sono rappresentate con un solo file di estensione FRM. I trigger danno origine a un solo file con estensione TRG. Procedure e funzioni sono salvate nella tabella Proc del database Mysql. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 10
6 Tabelle, Viste, Routine, Trigger (1) Nel database StudFac ci sono le due tabelle Facolta e Studenti (di tipo MyIsam), le viste logiche Disponibilita,.., VistaDiProva e un certo numero di stored routine: FunQB,.., e un trigger. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 11 Tabelle, Viste, Routine, Trigger (2) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 12
7 Tabelle, Viste, Routine, Trigger (3) Nel database CollezioneMusicale ci sono tabelle di tipo InnoDB, oltre a viste procedure e trigger. Dati e indici di tabelle InnoDB sono salvati nel (default) file: Ibdata1 di: C:\... \MySQL\Data Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 13 Tabelle, Viste, Routine, Trigger (4) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 14
8 Tabelle, Viste, Routine, Trigger (5) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 15 Tipi di dati di MySQL
9 Interi in MySQL (1) Tipi interi Limiti Note TINYINT(M) BOOLEAN SMALLINT(M) Interi con 1 byte (0..255) se UNSIGNED Sinonimo di TINYINT. 0 Falso. Ogni altro valore Vero Interi con 2 byte ( ) se UNSIGNED INT(M) INTEGER(M) (2 31-1) Interi con 4 byte ( ) se UNSIGNED BIGINT(M) (2 63-1) Interi con 8 byte ( ) se UNSIGNED C è anche un tipo MEDIUMINT che usa 3 byte e quindi... I valori logici True e False possono essere manipolati algebricamente. MySQL dispone di un ampia libreria di funzioni: DIV, MOD, ABS, POW, SQRT,... Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 17 Interi in MySQL (2) mysql> SELECT TRUE, FALSE, TRUE*2.5, FALSE-2; TRUE FALSE TRUE*2.5 FALSE mysql> SELECT 5/2, 5 div 2, 5 % 2; /2 5 div 2 5 % mysql> SELECT Floor(2.6),Ceiling(2.6),Round(2.6),Truncate(2.6,0); Floor(2.6) Ceiling(2.6) Round(2.6) Truncate(2.6,0) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 18
10 Reali in MySQL Tipi reali FLOAT(M,D) Limiti in valore assoluto E E+38 Note Rappresentazione in virgola mobile con 4 byte. Permette di rappresentare i valori reali con precisione massima di 7 cifre decimali (M <=7) DOUBLE PRECISION(M,D) E E-308 Rappresentazione in virgola mobile con 8 byte. Permette di rappresentare i valori reali con la precisione massima di 15 cifre decimali (M <=15) DECIMAL(M,D) NUMERIC(M,D) DECIMAL DECIMAL(M) Dipende da M e D Rappresentazione in virgola fissa con M cifre decimali di cui D per la parte frazionaria. Rappresentazione esatta. Memorizza i dati occupando M+2 byte Equivale a DECIMAL(10,0) Equivale a DECIMAL(M,0) Con le seguenti limitazioni: D <= M-2, D <= 30. Nel caso delle rappresentazioni in virgola fissa deve valere anche M <= 64 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 19 Date in MySQL(1) Tipi data/ora Limiti della rappresentazione Note DATE TIME -838:59: :59:59 Data nella forma aaaa-mm-gg memorizzata in 3 byte Ora nella forma hh:mm:ss memorizzata in 3 byte DATETIME YEAR YEAR(2) YEAR(4) TIMESTAMP :00: :59: ( ) :00:00 sino al 2037 Data ed ora memorizzati in 8 byte Anno memorizzato in 1 byte. Rappresentabile come valore numerico o come stringa. I campi di tipo TIMESTAMP sono utili per memorizzare data ed ora dell inserimento o dell aggiornamento di un record. Memorizzato in 4 byte Rappresentazioni equivalenti a: ' :05:25' '2006/12/25 14;05;25 ' ' Come valore numerico: Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 20
11 Date in MySQL(2) mysql> SELECT CURDATE(); ' mysql> SELECT CURDATE() + 0; mysql> SELECT CURTIME(); '23:50:26' mysql> SELECT CURTIME() + 0; mysql> SELECT Dayofyear(' '); 325 mysql> SELECT Day(' ') as Giorno, -> Monthname(' ') as Mese, -> Year(' ') as Anno; mysql> SELECT LAST_DAY(' '); ' ' mysql> SELECT LAST_DAY(' '); ' ' mysql> SELECT LAST_DAY(' :01:01'); ' ' SELECT Datediff(' ', ' '); 44 SELECT Date_Add(' ', Interval 3 month); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 21 Date in MySQL(3) mysql> SELECT MAKEDATE(2001,32); mysql> SELECT MAKEDATE(2001,365); mysql> SELECT MAKETIME(12,15,30); ' ' ' ' '12:15:30' mysql> SELECT NOW(); :50:26' mysql> SELECT NOW() + 0; mysql> SELECT DAY(NOW()), MONTH(NOW()),YEAR(NOW()); mysql> SELECT HOUR(NOW()), MINUTE(NOW()),SECOND(NOW()); mysql> SELECT DAYNAME(NOW()); mysql> SELECT NOW(), DATE(NOW()), TIME(NOW()), WEEK(NOW()); -- Confronto di date mysql> SELECT TRUE,FALSE,'12-17'>'12-05','10-05'>'11-21'; TRUE FALSE '12-17'>'12-05' '10-05'>'11-21' Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 22
12 Date in MySQL(4) Altre funzioni utili: DATE_FORMAT(data,formato) FROM_DAYS(intero) TO_DAYS(data); vedi manuale restituisce una data restituisce un intero intero rappresenta il numero di giorni trascorsi a partire dall anno 0 (ma significativo solo a partire dal 1582, avvento del calendario gregoriano) mysql> SELECT TO_DAYS(' '), 1582* /4; TO_DAYS(' ') 1582* / row in set (0.00 sec) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 23 Stringhe in MySQL(1) Tipo Stringa Limiti Note CHAR ( M ) CHARATCTER ( M ) VARCHAR ( M ) BINARY ( M ) VARBINARY ( M ) TEXT M = M = M = ver. 4 M = M = Fino a caratteri Stringhe a lunghezza fissa, non case sensitive, riempite con spazi. M byte Stringhe a lunghezza variabile, non case sensitive Occupano M + 1 byte Stringhe di tipo CHAR(M), VARCHAR(M) case sensitive Coincide con VARCHAR ( ) Occupa M+2 Byte BLOB Fino a byte E un TEXT case sensitive ENUM ( V1,.., Vn ) SET ( V1,.., Vn ) Fino a valori Fino a 64 valori Un dato di tipo ENUM assume un solo valore tra quelli elencati; occupa fino a 2 bytes Un dato di tipo SET è un qualsiasi insieme di valori tra quelli elencati; occupa fino a 8 bytes Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 24
13 Stringhe in MySQL(2) \0 Il carattere vuoto (Ascii 0) \' L apice. \ Il doppio apice. \b Ritorna di un carattere (backspace) \n Nuova riga (linefeed) \r Ritorno del carrello \t Tabulazione (tab) Sequenze di ESCAPE riconosciute da MySQL nelle stringhe di caratteri per rappresentare caratteri speciali \Z (Control Z) \\ Il carattere \ (backslash) \% Il carattere percentuale \_ Il carattere di sottolineatura. Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 25 Stringhe in MySQL(3) Il tipo ENUM ammette un insieme di valori ammissibili massimo di valori ENUM('one', 'two', 'three') Valore Indice NULL NULL '' 0 'one' 1 'two' 2 'three' 3 In assenza della dichiarazione NOT NULL, il valore NULL è ammesso; se c è la dichiarazione NOT NULL il valore di default è 'one'. Il tipo SET ammette insiemi formati da 0 fino a 64 valori SET ('a', 'b', 'c', 'd') Elemento Valore Binario 'a' 'b' 'c' 'd' Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 26
14 Stringhe in MySQL(4) mysql> CREATE TABLE TabellaDiInsiemi ( -> Colonna SET('a','b','c','d') ); mysql> INSERT INTO TabellaDiInsiemi VALUES -> ('a,b,c'), -> ('b,c'), -> ('b,b,c'), -> ('a,d'), -> ('d,a'), -> ('d,d,a'), -> (''), -> (\N), -> ('d,c'); mysql> SELECT Colonna, Colonna+0 -> FROM TabellaDiInsiemi; Colonna Colonna a,b,c 7 b,c 6 b,c 6 a,d 9 a,d 9 a,d 9 0 NULL NULL c,d Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 27 Stringhe in MySQL(5) mysql> SELECT ASCII('A'); 65 mysql> SELECT CHAR(65,65,77,77.3,'76'); 'AAMML' mysql> SELECT CONCAT('Pippo', ' ', 'Pluto'); 'Pippo Pluto' mysql> SELECT CONCAT_WS( -', AA, BB ); AA-BB' mysql> SELECT LEFT( stringa di car,3) mysql> SELECT RIGHT( stringa di car,5) mysql> SELECT MID( Stringa di car,5,3); mysql> SELECT SUBSTRING( Stringa di,2,3); mysql> SELECT REVERSE( Stringa ); str i car nga tri agnirts mysql> SELECT LOWER( Enrico ); enrico mysql> SELECT UPPER( Cavalli ); CAVALLI mysql> SELECT TRIM( Enrico ); Enrico mysql> SELECT REPEAT( W,3); WWW mysql> SELECT LENGTH( Stringa di ); 10 mysql> SELECT LOCATE( a, la mamma, 3); 5 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 28
15 Esempio con stringhe e date (1) Erica è nata il 21 novembre Quanti anni aveva il 12 ottobre 2000? -- Prima soluzione approssimata, spesso imprecisa SELECT Year(' ') - Year(' '); -- Espressione che considera il mese e il giorno -- restituisce 1 prima del 21 novembre e -- restituisce 0 dopo il 21 novembre mysql> SELECT Right(' ',5) < Right(' ',5); Right(' ',5) < Right(' ',5) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 29 Esempio con stringhe e date (2) -- Soluzione esatta mysql> SELECT Year(' ') - Year(' ') - -> ( Right(' ',5) < Right(' ',5) ) -> AS Età di Erica ; Età di Erica Età di Erica oggi mysql> SELECT Year(Curdate()) - Year(' ') - -> ( Right(Curdate(),5) < Right(' ',5) ) -> AS Età di Erica ; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 30
16 Esercizi (1) Si consideri il database dei conoscenti: Rubrica(Nome,Cognome,Nascita,Indirizzo,Telefono) 1. Elencare i conoscenti che compiono gli anni il prossimo mese 2. Elencare i conoscenti che compiono gli anni la prossima settimana 3. Elencare i conoscenti che compiono gli anni nei prossimi tre giorni 4. Elencare i conoscenti maggiorenni 5. Elencare i bambini con meno di 10 anni 6. Individuare i conoscenti che, nell anno corrente, compiono gli anni di domenica Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 31 Esercizi (2) 7. Elencare i conoscenti che non hanno ancora compiuto gli anni e il numero di giorni che mancano al rispettivo genetliaco 8. Elencare i conoscenti con Nome, Cognome, Prefisso, NumTelefono 9. Elencare i conoscenti con NomeCompleto e indirizzo 10. Elencare i conoscenti con NomeCompleto, ViaNumero, Città 11. Elencare i conoscenti che risiedono a Bergamo 12. Elencare i conoscenti che risiedono in provincia di Torino 13. Elencare i conoscenti con CAP del tipo 203XX 14. Elencare i conoscenti con le informazioni su ViaNumero, CodicePostale, Città, Provincia in colonne separate 15. Preparare un elenco con le informazioni necessarie per le spedizioni (NomeCompleto, ViaNumero, CodicePostale, Citta) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 32
17 Esercizi (3) Esercizio di discreta utilità pratica è quello di costruire funzioni per visualizzare le date con formati italiani: Giorno ( Data ) Nome giorno in italiano Mese (Data) Nome mese in italiano ItalData ( Data ) Lunedì, 4 ottobre 1492 ItalData (Data, Par) Lunedì, 4 ottobre ottobre Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 33 SQL come DDL in MySQL Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 34
18 Creazione di un database con MySQL (1) Database per gestire una collezione di dischi e cassette musicali Artista IDArtista Nome Genere Note {PK} Brano 1 N N 1 Eseguire IDBrano {PK} TitoloBrano Genere DurataBrano Dimensione Posizione Osservazioni Contenere Registrazione IDRegistrazione {PK} TitoloAlbum EtichettaAlbum TipoAlbum DurataMassima Capacita DataAggiornamento Note Artisti ( IDArtista, Nome, Genere, Note ) Registrazioni ( IDRegistrazione, TitoloAlbum, EtichettaAlbum, TipoAlbum, DurataMassima, Capacità, DataAggiornamento, Note ) Brani ( IDBrano, TitoloBrano, Genere, DurataBrano, Dimensione, Posizione, Osservazioni, IDArtista, IDRegistrazione ) Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 35 Creazione di un database con MySQL (2) mysql> CREATE DATABASE CollezioneMusicale; mysql> USE CollezioneMusicale; mysql> CREATE TABLE Artisti ( -> IDArtista INT UNSIGNED NOT NULL AUTO_INCREMENT -> PRIMARY KEY, -> Nome VARCHAR(50) NOT NULL, -> Genere VARCHAR(10), -> Noter VARCHAR(255) ); mysql> CREATE TABLE Registrazioni ( -> IDRegistrazione INT UNSIGNED NOT NULL AUTO_INCREMENT, -> TitoloAlbum VARCHAR(50) NOT NULL, -> EtichettaAlbum VARCHAR(20), -> TipoAlbum VARCHAR(10), -> DurataMassima INT UNSIGNED DEFAULT 1, -> Capacita INT UNSIGNED DEFAULT 1, -> DataAggiornamento DATE, -> Note VARCHAR(255), -> PRIMARY KEY (IDRegistrazione) ); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 36
19 Creazione di un database con MySQL (3) mysql> CREATE TABLE Brani ( -> IDBrano INT UNSIGNED NOT NULL AUTO_INCREMENT, -> TitoloBrano VARCHAR(50) NOT NULL, -> Genere VARCHAR(10), -> DurataBrano FLOAT(5,2) UNSIGNED DEFAULT 4, -> Dimensione INT UNSIGNED, -> Posizione SMALLINT UNSIGNED, -> Osservazioni VARCHAR(255), -> IDArtista INT UNSIGNED, -> IDRegistrazione INT UNSIGNED, -> PRIMARY KEY (IDBrano) -> ); AUTO_INCREMENT: intero progressivo automatico PRIMARY KEY ( Col1, Col2 ) mysql> DESCRIBE Artisti; Field Type Null Key Default Extra IDArtista int(10) unsigned PRI NULL auto_increment Nome varchar(50) Genere varchar(10) YES NULL Noter varchar(255) YES NULL Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 37 Creazione di un database con MySQL (4) mysql> CREATE TEMPORARY TABLE Tabella ( DefinizioneColonne ); mysql> DROP DATABASE NomeDataBase; mysql> DROP TABLE NomeTabella; mysql> ALTER TABLE NomeTabella DROP NomeColonna ADD NomeColonna DefizioneColonna CHANGE VecchioNome NuovoNome Definizione; Cambiamento di nome alla colonna Noter -- La colonna Genere passa da 10 a 20 caratteri --- mysql> ALTER TABLE Artisti CHANGE Noter Note VARCHAR(255), -> CHANGE Genere Genere VARCHAR(20); Definizione di indici --- mysql> CREATE [ UNIQUE ] INDEX NomeIndice ON NomeTabella ( Colonna [,Colonna] ); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 38
20 Creazione di un database con MySQL (5) -- Costruzione di un indice su Genere di Brani mysql> CREATE INDEX ind_genere ON Brani (Genere); mysql> DESCRIBE Brani Genere; Field Type Null Key Default Extra UNIQUE Genere varchar(10) YES MUL NULL indice con le caratteristiche di una chiave -- Indice senza duplicati su CodiceFiscale di Studenti mysql> CREATE UNIQUE INDEX ind_codfis ON Studenti(CodiceFiscale); mysql> DESCRIBE Studenti CodiceFiscale; Field Type Null Key Default Extra CodiceFiscale varchar(16) UNI Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 39 Creazione di un database con MySQL (6) -- Genere di Artisti campo di tipo ENUM mysql> ALTER TABLE Artisti CHANGE Genere Genere -> ENUM('Pop','Rock','Rap','Opera','Country','Jazz'); -- INSERT per inserire dati in una tabella mysql> INSERT INTO NomeTabella [ ElencoCampi ] VALUES -> ( ElencoValori) [,..., ( ElencoValori )]; -- Inserimento dati nella tabella Artisti mysql> INSERT INTO Artisti VALUES -> (null, 'Pierre Borg', 'Pop', ''), -> (null, 'Anatolia', 'Rock', ''); -> (3,'The Bees', 'Rap', ''), -> (\N,'Golden Eagles', 'Pop', ''); I campi di tipo data e le stringhe di caratteri vanno delimitati con apici o doppi apici Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 40
21 Creazione di un database con MySQL (7) -- Un artista di genere non previsto in ENUM mysql> INSERT INTO Artisti (Nome, Genere, Note) VALUES -> ('Nuovo Artista1', 'Dance','Artista genere Dance'), -> ('Nuovo Artista2', 'pop','artista pop'); Query OK, 2 rows affected, 1 warning (0.00 sec) mysql> SELECT * FROM Artisti; Al posto di Dance IDArtista Nome Genere Note viene immessa la stringa nulla. 1 Pierre Borg Pop Al posto di pop 2 Anatolia Rock compare Pop 3 The Bees Rap 4 Golden Eagles Pop Nuovo Artista1 Artista genere Dance 10 Nuovo Artista2 Pop Artista pop Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 41 Creazione di un database con MySQL (8) La definizione del database e delle tabelle si effettua anche MySQL Query Browser o con PHPMyAdmin. Entrambi i sistemi eseguono le operazioni e visualizzano il codice SQL eseguito Nel libro: MySQL e database in rete MySQL Query Browser: da pagina 123 PHPMyAdmin da pagina 203 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 42
22 Esercizi Si consideri il database CollezioneMusicale. Dopo ogni esercizio controllare l effetto dei comandi eseguiti con il comando DESCRIBE. 1. Creare il database CollezioneMusicale e le tabelle Artisti, Registrazioni e Brani, definendo le chiavi primarie per le tre tabelle 2. Modificare le precedenti definizioni per dichiarare che i campi Genere delle tabelle Artisti e Brani sono di tipo Enum 3. Creare indici sul campo Nome di Artisti, TitoloBrano di Brani e TitoloAlbum di Registrazioni 4. Rinominare il campo TitoloBrano di Brani in Titolo e TitoloAlbum di Registrazioni in NomeAlbum 5. Eliminare i campi Osservazioni e Note dalle tabelle Brani e, rispettivamente, Registrazioni. Ricreare le colonne eliminate nelle due tabelle 6. Usando il comando INSERT popolate ogni tabella con cinque righe Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 43 SQL come DML in MySQL Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 44
23 Manipolazione di tabelle (1) INSERT: inserisce righe in una tabella INSERT INTO TabellaEsistente VALUES ( Valori ),.., ( Valori ); INSERT INTO TabellaEsistente SELECT...; CREATE TABLE Tabella SELECT...; UPDATE: modifica uno o più campi in una tabella UPDATE Tabella SET Colonna1 = Espressione1,... WHERE Condizione; DELETE: elimina righe da una tabella DELETE FROM Tabella WHERE Condizione; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 45 Manipolazione di tabelle (2) IDArtista Nome Genere Note Pierre Borg Pop 2 Anatolia Rock 3 The Bees Rap 4 Golden Eagles Pop Nuovo Artista 1 Artista.. TRIM elimina gli spazi 10 Nuovo Artista 2 Pop Artista iniziali e finali di una mysql> UPDATE Artisti stringa -> SET Nome = TRIM(Nome); Query OK, 2 row affected (0.40 sec) Rows riconosciute: 6 Cambiate: 2 Warnings: 0 mysql> UPDATE Artisti -> SET Genere = 'Country' -> WHERE IDArtista = 7; mysql> DELETE FROM Artisti -> WHERE Note <> ''; mysql> DELETE FROM Artisti -- Comando equivalente -> WHERE IDArtista >= 9; -- al precedente Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 46
24 Manipolazione di tabelle (3) mysql> DELETE -> FROM Artisti; -- svuota la tabella Artisti mysql> TRUNCATE Artisti; -- equivalente al precedente \N;"Oxford road";"orange";"lp";48;1; ;\n \N;"Mixed songs: raccolta";\n;"nastro";120;1; ;\n \N;"Don't hurt her";"blue disc";"cd-rom";70;1; ;\n \N;"Best of winter";\n;"cd-rw";1;665600; ;\n LOAD DATA INFILE per caricare dati da un file testo Dati contenuti nel file: D:\PhpMySqlDati\Registrazioni.txt -- Si notino: separatori, delimitatori, a capo -- le date senza delimitatori, i valori nulli mysql> LOAD DATA INFILE 'D:\\PhpMySqlDati\\Registrazioni.txt' -> INTO TABLE Registrazioni -> FIELDS TERMINATED BY';' -> ENCLOSED BY '"' -> LINES TERMINATED BY '\r\n'; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 47 Manipolazione di tabelle (4) LOAD DATA INFILE è utile per trasferire dati da un database ad un altro. Esempi: Esportare dati da Access in un file di testo e poi importarli in MySQL con il comando LOAD DATA INFILE Esportare dati da una tabella di un certa versione di MySQL e poi importarla in un altro database con una differente versione di MySQL Trasferire dati tra tabelle MySQL in differenti installazioni Per esportare dati da una tabella MySQL in un file di testo c è un programma di utilità di nome mysqldump ( Si veda il manuale in linea al paragrafo 8.13 ) mysqldump A A Database Backup Backup Program Program =========================================== The The `mysqldump' client client can can be be used used to to dump dump a a database or or a a collection of of databases for for backup backup or for for transferring the the data data to to another another SQL SQL server server (not (not necessarily a MySQL a MySQL server). Meglio usare MySQL Query Browser (vedi pagina 140) o PhpMyAdmin (vedi pagina 218) per esportare i dati in un file di testo Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 48
25 Manipolazione di tabelle (5) IDArtista Nome Genere Note Pierre Borg Pop 2 Anatolia Rock 3 The Bees Rap 4 Golden Eagles Pop 5 Argolide Rock 6 Heavy Stones Opera 7 Steve Martin Country ArtistiPreferiti tabella con artisti di genere Rock o Pop mysql> CREATE TABLE ArtistiPreferiti -> SELECT * FROM Artisti -> WHERE Genere = 'Pop' or Genere = 'Rock'; ArtistiPreferiti con CREATE TABLE e INSERT INTO TABLE mysql> CREATE TABLE ArtistiPreferiti -> SELECT * FROM Artisti -> WHERE Genere = 'Pop'; mysql> INSERT INTO ArtistiPreferiti -> SELECT * FROM Artisti -> WHERE Genere = 'Rock'; Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 49 Esercizi Si suppone che il database CollezioneMusicale contenga almeno 5 righe per ogni tabella che lo compone. Provvedete a inserirle con il comando INSERT. Dopo ogni esercizio controllare l effetto dei comandi eseguiti. 1. Usate il comando DELETE per eliminare tutte le righe introdotte nella tabella Brani 2. Usate il comando DELETE per cancellare le righe con ID = 1 e 2 nella tabella Registrazioni 3. Usate il comando TRUNCATE per cancellare tutte le righe dalle tabelle Registrazioni e Artisti 4. Usate il comando LOAD DATA INFILE per popolare le tabelle del database con i dati contenuti nei file Artisti.txt, Registrazioni.txt, Brani.txt che troverete nello spazio riservato al corso 5. Usate il comando UPDATE per eliminare gli spazi inutili dai nomi dei brani 6. Inserite una riga per Artisti con il campo Genere contenente un valore non previsto per il tipo del campo 7. Create una tabella temporanea con i brani di genere Pop oppure Rock Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 50
26 Il comando SELECT (1) SELECT Colonna1, Colonna2,... FROM Tabella1, Tabella2,... WHERE CondizioniSulleRighe GROUP BY Colonna-e HAVING CondizioniSuiRaggruppamenti ORDER BY Col1 [ASC, DESC], Col2 [ASC, DESC],.. LIMIT NumeroRighe ; FROM R CROSS JOIN S FROM R JOIN S ON Condizione FROM R JOIN S USING (Colonna) FROM R NATURAL JOIN S FROM R LEFT JOIN S ON.. FROM R RIGHT JOIN S ON.. Rand() LIMIT 5 -- mostra solo 5 righe LIMIT 1,3 - mostra le righe 2,3,4 Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 51 Il comando SELECT (2) Congiunzione tra Artisti e Brani sul campo IDArtista mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti A, Brani B -> WHERE A.IDArtista = B.IDArtista; mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti A JOIN Brani B ON A.IDArtista = B.IDArtista; mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti JOIN Brani B USING(IDArtista); mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti NATURAL JOIN Brani B; Attenzione! -- Il JOIN precedente equivale a: mysql> SELECT Nome, TitoloBrano, B.Genere -> FROM Artisti JOIN Brani B USING(IDArtista, Genere); Elaborazione automatica dei dati - Enrico Cavalli - Università di Bergamo 52
Introduzione a MySQL
Introduzione a MySQL Cinzia Cappiello Alessandro Raffio Politecnico di Milano Prima di iniziare qualche dettaglio su MySQL MySQL è un sistema di gestione di basi di dati relazionali (RDBMS) composto da
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliPreparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL
Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi Stefania Marrara Elisa Quintarelli Lezione 1 2 ore a.a 2004/05 Preparazione Accesso all area condivisa Start -> Programs ->MySQL
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliSQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:
SQL SQL (pronunciato anche come l inglese sequel: acronimo di Structured Query Language (linguaggio di interrogazione strutturato Linguaggio completo che presenta anche proprietà di: DDL (Data Definition
DettagliGestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 Creazione di una tabella (1/3) Si utilizza
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 1 SQL SQL (Structured Query Language) è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali. Sono stati proposti
DettagliSQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
DettagliLezione 8. Metadati, Viste e Trigger
Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli
DettagliAppunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.
Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco
DettagliDUE GRUPPI DI COMANDI
LEZIONE16 SQL DDL PAG. 1 / 9 PROF. ANDREA ZOCCHEDDU LEZIONE16 SQL DDL LINGUAGGIO SQL DATA DESCRIPTION LANGUAGE DUE GRUPPI DI COMANDI I comandi del linguaggio SQL sono divisi in due grandi gruppi che formano
DettagliLinguaggio SQL: fondamenti D B M G. Gestione delle tabelle
Linguaggio SQL: fondamenti Creazione di una tabella Modifica della struttura di una tabella Cancellazione di una tabella Dizionario dei dati Integrità dei dati 2 2007 Politecnico di Torino 1 Creazione
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
DettagliSQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"
SQL SQL: concetti base originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia il DML ne esistono varie versioni vediamo gli aspetti essenziali,
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm dott.ssa Francesca A. Lisi francesca.lisi@uniba.it
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliGiovanna Rosone 04/03/2010. 04/03/2010 SQL, Istruzioni per la modifica dello schema
Giovanna Rosone 04/03/2010 04/03/2010 SQL, Istruzioni per la modifica dello schema 1 Riepilogo Impiegato Pagamenti Nome colonna PAG_COD PAG_MATR Tipo dati CHAR(6) CHAR(6) Nome colonna Tipo dati PAG_STIPENDIO
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliCorso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.
Programma 30 set 205 Installazione Macchina Virtuale Introduzione alla BI nelle Aziende Introduzione SQL Macchina Virtuale È un emulazione di un computer su un altro computer Stesso punto di partenza per
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle
DettagliSQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
DettagliINDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:
Date le tabelle: Clienti := < id, nome, cognome, indirizzo,città > Ordini := < id, data_ora_ordine, id_prodotto, id_cliente, quantità> Prodotti := < id, nome, descrizione, costo,scorte > INDICI Prevediamo
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici
Il linguaggio SQL Il linguaggio SQL il linguaggio SQL è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose (California) è diventato
DettagliSQL - Tipi di dato Il linguaggio SQL
SQL - Tipi di dato Il linguaggio SQL I tipi di dato in SQL:1999 si suddividono in tipi predefiniti tipi strutturati tipi user-defined ci concentreremo sui tipi predefiniti i tipi predefiniti sono suddivisi
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione
DettagliSQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)
26/03/2013 SQL SQL -DDL Esercizio 4.3 Dare le definizioni SQL delle tre tabelle FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza) rappresentando
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio
DettagliCorso di Laboratorio di Basi di Dati
Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs
DettagliSQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))
SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
DettagliI comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER
Caratteristiche generali del linguaggio SQL Il linguaggio SQL è il linguaggio usato per la gestione dei database relazionali, cioè dei database creati con un DBMS di tipo relazionale. Esso nacque nella
DettagliBasi di Dati e Sistemi Informativi. Structured Query Language
Basi di Dati e Sistemi Informativi Structured Query Language Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale SQL come DDL e DML SQL non è solo un linguaggio di interrogazione Linguaggio
DettagliTriggers. Basi dati attive. Trigger. Indipendenza della conoscenza
Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati
DettagliESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7
ESEMPI DI QUERY SQL Dati di esempio... 2 Query su una sola tabella... 2 Esempio 1 (Ordinamento)... 2 Esempio 2 (Scelta di alcune colonne)... 3 Esempio 3 (Condizioni sui dati)... 3 Esempio 4 (Condizioni
DettagliIndice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...
Prefazione...xiii A chi si rivolge il libro... xiv Struttura e contenuti del libro... xiv Dove trovare aiuto... xvii Le newsletter di SitePoint... xviii I vostri commenti... xviii Convenzioni adottate
DettagliDomini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5
Domini elementari, Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati Bit Valori booleani (vero/falso), singoli o in sequenza (la sequenza può essere di lunghezza variabile) Sintassi: bit
DettagliMySQL Command Line Client: operazioni fondamentali
MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge
DettagliVincoli di Integrità Approccio dichiarativo alla loro implementazione
Vincoli di Integrità Approccio dichiarativo alla loro implementazione Antonella Poggi Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
DettagliBasi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati
Basi di dati Linguaggi di Interrogazione: SQL Prof.Angela Bonifati 1 SQL Il nome stava per Structured Query Language Più che un semplice linguaggio di query: si compone di una parte DDL e di una DML DDL:
DettagliSQL PER LA DEFINIZIONE DI BASI DI DATI
SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
DettagliBasi di Da( MySQL & MySQL Workbench. Anna Monreale
Basi di Da( MySQL & MySQL Workbench Anna Monreale MySQL MySQL è un DBMS gratuito ed open- source (h@p://www.mysql.com) MySQL può essere uilizzato in Windows, Linux, MacOS X. MySQL è un RDBMS (relaional
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
DettagliOR true null false true true true true null true null null false true null false NOT
Il linguaggio SQL è un linguaggio standard per la definizione, manipolazione e interrogazione delle basi di dati relazionali ed ha le seguenti caratteristiche: è dichiarativo; opera su multiset di tuple,
DettagliSQL. Storia e standard
SQL Lorenzo Sarti 2009 Basi di Dati 1 Storia e standard Lorenzo Sarti 2009 Basi di Dati 2 SQL-2 È ricco e complesso e nessun sistema commerciale lo implementa in maniera completa Sono definiti 3 livelli
DettagliInsegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati
Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7 Il trattamento dei dati database: il linguaggio SQL seconda parte Prof. Valle D.ssa Folgieri Lez9 15.11.06 Trattamento dati. Database: il
DettagliDATABASE RELAZIONALI
1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.
DettagliIL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI
IL LINGUAGGIO SQL Il linguaggio SQL ( Structured Query Languages) è un linguaggio non procedurale che è diventato uno standard tra i linguaggi per la gestione dei database relazionali. Il linguaggio procedurale
DettagliSQL Sintassi Dei Comandi
SQL Sintassi Dei Comandi Di Roberto Aloi http://prof3ta.homeunix.org prof3ta@email.it Questo fascicolo è stato realizzato esclusivamente a fini divulgativi e per la libera consultazione. E' concessa la
DettagliVolumi di riferimento
Simulazione seconda prova Esame di Stato Gestione di un centro agroalimentare all ingrosso Parte prima) Un nuovo centro agroalimentare all'ingrosso intende realizzare una base di dati per l'attività di
DettagliIl linguaggio SQL: DDL di base
Il linguaggio SQL: DDL di base Sistemi Informativi T Versione elettronica: 04.1.SQL.DDLbase.pdf SQL: caratteristiche generali SQL (Structured Query Language) èil linguaggio standard de facto per DBMS relazionali,
DettagliEsercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica
Istituto di Istruzione Superiore Alessandrini - Marino 1 Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica Descrizione Un azienda commerciale che vende prodotti IT (computers,
DettagliDBMS: MySQL CORSO DI BASI DI DATI 2014/2015
DBMS: MySQL CORSO DI BASI DI DATI 2014/2015 MySQL La pronuncia ufficiale è MY- S- Q- L ma si può leggere anche MY- Sequel. MySQL è il secondo RDBMS più diffuso al mondo. OpenSource sono licenza GPL Scelto
DettagliStoria. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:
Corso di Basi di Dati Spaziali Linguaggi: SQL Angelo Montanari Donatella Gubiani Storia Storia: 1974: prima proposta SEQUEL 1981: prime implementazioni 1983: standard di fatto 1986, 1989, 1992 e 1999:
Dettagli********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;
CREAZIONE STRUTTURA DI UNA TABELLA by Marinsalta Fausto CREATE TABLE Personale Matricola char(5), Cognome char(30), Nome char(20), Codfis char(16) not null, Assunzione date, Filiale smallint, Funzione
DettagliMySQL Database Management System
MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare
DettagliUso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database
Uso delle basi di dati Uso delle Basi di Dati Il modulo richiede che il candidato comprenda il concetto di base dati (database) e dimostri di possedere competenza nel suo utilizzo. Cosa è un database,
DettagliStored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma
Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
DettagliObiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
DettagliJoin in SQL (primo modo) Informatica. Tabella Dipartimento. Interrogazione 4a. Interrogazione 4b. Interrogazione 4a
Join in SQL (primo modo) Informatica Lezione 7 Laurea magistrale in Psicologia Laurea magistrale in Psicologia dello sviluppo e dell'educazione Anno accademico: 09- Per formulare interrogazioni che coinvolgono
DettagliCostruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query
Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che
Dettagli----------------------------------------------------------------------------
APPUNTI DI SQL Gli appunti qui forniti vogliono essere un riferimento scritto di alcuni degli argomenti trattati a lezione per gli studenti a cui vengono messi a disposizione. Non viene fornita alcuna
DettagliLaboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
DettagliEsercitazione 1. Sistemi Informativi T. Versione elettronica: L01.2.DDLDMLbase.pdf
Esercitazione 1 SQL: DDL e DML di base Sistemi Informativi T Versione elettronica: L01.2.DDLDMLbase.pdf Prime cose da fare Fare login sul PC usando lo username di Facoltà Procedura descritta qui: http://ccib.ing.unibo.it/content/account
DettagliUser Tools: DataBase Manager
Spazio di lavoro Per usare T-SQL Assistant selezionare il link Simple Query e spostare a piacere la piccola finestra dove un menu a tendina mostra i diversi comandi SQL selezionabili, il pulsante Preview
DettagliL interfaccia a riga di comando di MySql
L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia
DettagliOperazioni sui database
Operazioni sui database Le operazioni nel modello relazionale sono essenzialmente di due tipi: Operazioni di modifica della base di dati (update) Interrogazioni della base di dati per il recupero delle
DettagliIstruzioni DML di SQL
Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,
DettagliIl sistema IBM DB2. Sistemi Informativi T. Versione elettronica: L01.1.IntroduzioneDB2.pdf
Il sistema IBM DB2 Sistemi Informativi T Versione elettronica: L01.1.IntroduzioneDB2.pdf IBM DB2 Il DBMS relazionale IBM DB2 è il prodotto di punta dell IBM per la gestione di basi di dati relazionali
DettagliEsercitazione: Il DBMS MySQL
Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console
DettagliCorso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati) Lezione 6 (15 gennaio 2009) Linguaggio SQL: Data Definition Language (DDL) Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliIl BACKUP è disponibile in http://www.dbgroup.unimo.it/sia/esercizio_21_novembre_2013/esercizio_21_novembre_2013.bak
ESEMPIO DELLE VENDITE: MISURE ED AGGREGABILITA E l esempio discusso nelle dispense è Dispense : http://www.dbgroup.unimo.it/sia/sia_2014_progettazionediundw_misure.pdf esteso e dettagliato. Il BACKUP è
DettagliCorso di Basi di Dati A.A. 2013/2014
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2013/2014 Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 29/03/2014 SQL : Structured Query Language
DettagliPROGRAMMA DI CLASSE 5AI
Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA
DettagliIl linguaggio SQL: query innestate
Il linguaggio SQL: query innestate Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLc-subquery.pdf Sistemi Informativi L-A DB di riferimento
DettagliSQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE
SQL e ACCESS Prof. Salvatore Multazzu (salvatoremultazzu@tiscali.it) Applicazioni Informatiche nella comunicazione Modello relazionale Entità Record o Ennuple Attributi o Campi Tipi Chiavi Primarie (PK)
DettagliBasi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1.
Università di Modena e Reggio Emilia Basi di dati (6) Docente: andrea.bulgarelli@gmail.com Argomento: T-SQL (1.0) 1 Panoramica T-SQL Variabili Controllo di flusso Trattamento errori Print Operatori e funzioni
DettagliECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2
ECDL - Database European Computer Driving Licence - Modulo 5 - Database LEZIONE 2 Ripasso Introduzione - Ripasso Cosa si intende per dbms? e cosa per database? Quali sono gli elementi che lo compongono?
DettagliLezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL
Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3 Lo Standard SQL Il linguaggio SQL è un linguaggio non procedurale (o di tipo dichiarativo), divenuto, ormai da tempo, il linguaggio
Dettagli2104 volume III Programmazione
2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106
DettagliDBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)
(DataBase Management System) Sistemi di ges3one di basi di da3 Un Database Management System è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (collezioni
DettagliPHP e Structured Query Language
Esercitazioni del corso di Tecnologie per la Comunicazione Aziendale PHP e Structured Query Language Marco Loregian loregian@disco.unimib.it www.siti.disco.unimib.it/didattica/tca2008 Interrogazioni (ripasso)
DettagliUnità 2.1 Comandi sui database
(A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: Linguaggi ospite Domini predefiniti Comando CREATE DATABASE Comando DROP DATABASE Comando SHOW DATABASES Comando SELECT DATABASE()
DettagliCorso di Informatica Generale 1 IN1. Linguaggio SQL
Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:
DettagliOSSIF WEB. Manuale query builder
OSSIF WEB Manuale query builder - Maggio 2010 1) Sommario 1) SOMMARIO... 2 INTRODUZIONE... 3 Scopo del documento... 3 Struttura del documento... 3 Descrizione dell interfaccia grafica... 3 SELEZIONE DI
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliLaboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control
DettagliSQL: Concetti Base -Prima Parte-
SQL: Concetti Base -Prima Parte- Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati: Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia Capitolo 4 SQL Structured Query Language Contiene: DDL (Data Definition
DettagliBasi di dati e sistemi informativi I
Basi di dati e sistemi informativi I mod. laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, 11 marzo 2015 Soluzione 1, creazione CREATE TABLE Impiegato ( Cod NUMBER(4),
DettagliUtilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi
Vogliamo creare una struttura per permettere di memorizzari i voti della classe in tutte le materie Per fare questo untilizziamo tre tabelle Alunni,materie,voti Alunni Materie Voti Creo un record per ogni
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliMetodi per la Gestione dei Dati (lezioni di laboratorio)
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
DettagliData warehouse in Oracle
Data warehouse in Oracle Viste materializzate ed estensioni al linguaggio i SQL per l analisi li i dei dati presenti nei data warehouse Estensioni al linguaggio SQL per l analisi dei dati presenti nei
DettagliBasi di dati Il linguaggio SQL
Riepilogando Basi di dati Il linguaggio SQL Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi degli attributi, domini, 2. una parte
DettagliBasi di dati Il linguaggio SQL
Basi di dati Il linguaggio SQL teoria e pratica con Microsoft Access Riepilogando Nelle basi di dati esiste 1. una parte invariante nel tempo, lo schema, costituita dalle caratteristiche dei dati (nomi
DettagliIstruzioni 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
Istruzioni SQL 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 Query di inserimento 5 INSERT INTO 5 Query di
Dettagli