Elaborazione Automatica dei Dati. MySQL. Enrico Cavalli. Anno Accademico MySQL(1)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elaborazione Automatica dei Dati. MySQL. Enrico Cavalli. Anno Accademico 2012-2013. MySQL(1)"

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

DUE GRUPPI DI COMANDI

DUE 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

Dettagli

Introduzione a MySQL

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

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (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

Dettagli

SQL (STRUCTURED QUERY LANGUAGE)

SQL (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

Dettagli

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

Preparazione. 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

Dettagli

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Storia. 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

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

GUIDA MYSQL ( da html.it) Data Base Data Base Management System Edgar F. Codd tabelle colonne proprietà attributi righe ricorrenze linguaggio SQL GUIDA MYSQL ( da html.it) Un Data Base (traducibile in italiano come base di dati ) non è un altro che un insieme di dati logicamente correlati fra loro. I Data Base Management System (DBMS) sono quindi

Dettagli

L interfaccia a riga di comando di MySql

L 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

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

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: 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

Dettagli

Lezione 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 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

Dettagli

OR true null false true true true true null true null null false true null false NOT

OR 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,

Dettagli

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

Corso 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

Dettagli

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

Basi 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,

Dettagli

Appunti 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. 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

Dettagli

SQL: Concetti Base -Prima Parte-

SQL: 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

Dettagli

Esercitazione 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: 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

Dettagli

Il 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. 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

Dettagli

SQL - Tipi di dato Il linguaggio SQL

SQL - 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

Dettagli

Il linguaggio SQL: le basi

Il linguaggio SQL: le basi Il linguaggio SQL: le basi Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: SQLa-basi.pdf Sistemi Informativi L-A SQL: caratteristiche generali

Dettagli

DBMS: MySQL CORSO DI BASI DI DATI 2014/2015

DBMS: 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

Dettagli

http://technet.microsoft.com/it-it/library/bb500469.aspx Le versioni di SQL Server sono state molte; traggo le principali da Wikipedia:

http://technet.microsoft.com/it-it/library/bb500469.aspx Le versioni di SQL Server sono state molte; traggo le principali da Wikipedia: LEZIONE-TSQL-01 DDL (VER01 PAG. 1 / 11 LEZIONE-TSQL-01 DDL (VER01 T-SQL PROGRAMMAZIONE PARTE PRIMA MICROSOFT SQL SERVER IL PRODOTTO MICROSOFT SQL SERVER Le dispense SQL descrivono un generico SQL utilizzato

Dettagli

Basi di Dati e Sistemi Informativi. Structured Query Language

Basi 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

Dettagli

Laboratorio di Basi di Dati e Web

Laboratorio 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

Dettagli

Basi di dati Il linguaggio SQL

Basi 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

Dettagli

Basi di dati Il linguaggio SQL

Basi 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

Dettagli

Il linguaggio SQL. ing. Alfredo Cozzi 1

Il linguaggio SQL. ing. Alfredo Cozzi 1 Il linguaggio SQL ing. Alfredo Cozzi 1 Il linguaggio SQL Il linguaggio SQL (Structured Query Language) è nato con l intento di soddisfare alle seguenti richieste nei db relazionali: - definire e creare

Dettagli

Lezione 8. Metadati, Viste e Trigger

Lezione 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

Dettagli

Sommario. Pag. 1 di 34 rev 3

Sommario. Pag. 1 di 34 rev 3 Sommario GNU-Linux e i Database...2 MySQL...3 Installazione...3 Accedere al DB...4 Tipi di dati...7 Formato numerico:...7 Formato carattere e/o stringa:...8 Formato data:...8 Altri formati:...8 Creazione

Dettagli

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

Il 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

Dettagli

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

SQL. 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

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server.

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server. Cosa vediamo web server Programmazione lato server PHP + MySQL request response web client database server Cosa vediamo MySQL browser Apache PHP engine MySQL server MySQL is a very fast, robust, relational

Dettagli

Basi di Dati prof. Letizia Tanca

Basi di Dati prof. Letizia Tanca Basi di Dati prof. Letizia Tanca (lucidi tratti dal libro Atzeni-Ceri-Paraboschi-Torlone) AA 2003-04 Linguaggi di interrogazione commerciali per il Modello Relazionale dei Dati: SQL - il DDL Domini I domini

Dettagli

DBMS. DataBase Management System. L. Vigliano

DBMS. DataBase Management System. L. Vigliano DBMS DataBase Management System DBMS Un DataBase Management System è un sistema di gestione il cui obiettivo generale è mantenere le informazioni (ovvero qualsiasi cosa sia ritenuta interessante da un

Dettagli

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf Il linguaggio SQL: le basi Versione elettronica: SQLa-basi.pdf SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che riunisce in sé funzionalità

Dettagli

MANUALE ESSENZIALE MYSQL

MANUALE ESSENZIALE MYSQL Autore: Classe: Luciano Viviani TERZA INFORMATICA SERALE (3IS) Anno scolastico: 2003/2004 Scuola: Itis Euganeo MANUALE ESSENZIALE MYSQL Manuale La dispensa vuole fornire agli studenti delle classi quinte

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

SQL 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

Dettagli

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

Linguaggio 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

Dettagli

SQL Manuale introduttivo

SQL Manuale introduttivo SQL Manuale introduttivo SOMMARIO INTRODUZIONE... 3 TIPI DI DATI... 3 STRINGHE DI CARATTERI... 3 NUMERI... 3 DATA/ORA... 4 COSTANTI STRINGA... 4 COSTANTI NUMERICHE... 4 COSTANTI DATA/ORA... 5 NOTE SULLA

Dettagli

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Linguaggio SQL. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Linguaggio SQL Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni SQL: caratteristiche generali SQL (Structured Query Language) è il linguaggio standard de facto per DBMS relazionali, che

Dettagli

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003

SQL. Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Structured Query Language 1974: SEQUEL by IBM 1981: SQL by IBM 1986 1992: SQL ISO 9075:1992 SQL:1999 SQL:2003 SQL Il linguaggio SQL è stato originariamente dichiarativo, diventando nel tempo sempre

Dettagli

SQL. Storia e standard

SQL. 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

Dettagli

SOLUZIONI COMMENTATE

SOLUZIONI COMMENTATE Nel database Biblioteca vi sono le seguenti tabelle: SOLUZIONI COMMENTATE Utenti := < id, nome, cognome, indirizzo,città, tel_fisso,cellulare > Prestiti := < id, id_libro, id_utente, data_ora_prestito,

Dettagli

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

Triggers. 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

Dettagli

Basi di Dati: Corso di laboratorio

Basi 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

Dettagli

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema}

Documentazione SQL. Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Documentazione SQL Argomento Sintassi Note Definizione schema create schema [NomeSchema] [[authorization] Autorizzazione] {DefElementoSchema} Definizione tabella Definizione dominio Specifica di valori

Dettagli

Il Linguaggio SQL. Il Linguaggio SQL

Il Linguaggio SQL. Il Linguaggio SQL Il Linguaggio SQL 23 Il Linguaggio SQL SQL è l acronimo di Standard Query Language e identifica un linguaggio di interrogazione (gestione) per basi di dati relazionali. Le sue origini risalgono alla fine

Dettagli

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

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a. 2010-2011 Corso di Laurea in Informatica Basi di Dati a.a. 2010-2011 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare i dati della realtà di interesse

Dettagli

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati

Dettagli

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

IL 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

Dettagli

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172

Structured Query Language. Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Structured Query Language Informatica Generale - SQL Versione 1.0, aa 2005-2006 p.1/172 Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e

Dettagli

DBMS (Data Base Management System)

DBMS (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

Dettagli

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

SQL 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

Dettagli

Il linguaggio SQL: DDL di base

Il 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,

Dettagli

Programmazione lato server PHP + MySQL

Programmazione lato server PHP + MySQL Programmazione lato server PHP + MySQL Cosa vediamo web server [Apache + PHP] request response web client database server [MySQL server in ascolto sulla porta 3306] Esempio: negozio virtuale Esempio: negozio

Dettagli

Esercitazione di riepilogo sulle Query MySQL Giugno 2011 Classe VB Informatica

Esercitazione 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,

Dettagli

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

SQL: 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,

Dettagli

Costruzione 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 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

MYSQL. Avviare MySQL Per avviare il server MySQL basta lanciare il Servizio Mysql presente (aggiunto) tra i servizi di sistema.

MYSQL. Avviare MySQL Per avviare il server MySQL basta lanciare il Servizio Mysql presente (aggiunto) tra i servizi di sistema. Documento creato da Andrea www.ceccherini.net Per informazioni : andrea@ceccherini.net MYSQL MySQL è un database piuttosto popolare, reso ancor più interessante da almeno due fattori: primo, la sua gratuità;

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso 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:

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio Coadiutore: Dott.ssa D. Nicotera PROGETTAZIONE FISICA SQL-DDL OBIETTIVO: Rappresentare

Dettagli

********************* MODIFICA STRUTTURA DI UNA TABELLA (inserimento di un nuovo campo) ALTER TABLE Personale ADD Nascita date;

********************* 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

Dettagli

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

Basi 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

Dettagli

Antonello Alonzi a.alonzi@risorse.net

Antonello Alonzi a.alonzi@risorse.net PowerStats Statistiche professionali per il tuo sito MySQL 5 Le novità e le caratteristiche Antonello Alonzi a.alonzi@risorse.net La copia di questo documento Antonello è permessa Alonzi a.alonzi@risorse.net

Dettagli

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language

Il linguaggio SQL. Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. SQL: Structured Query Language 1 Il linguaggio SQL Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova SQL: Structured Query Language 2 Generalita Linguaggio di interrogazione per le basi di dati. Sviluppato presso i

Dettagli

LINGUAGGIO SQL. Introduzione

LINGUAGGIO SQL. Introduzione LINGUAGGIO SQL Introduzione Il linguaggio SQL (Structured Query Language) è un linguaggio di tipo non procedurale o di tipo dichiarativo e rappresenta lo standard per l'interrogazione delle basi di dati

Dettagli

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

I 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

Dettagli

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili.

Impararlo è molto semplice, esistono manuali, o meglio mattoni, su SQL, ma qui verranno illustrati tutti i comandi più utilizzati... e utili. Sql è un linguaggio standard che permette di operare con i database. Per database intendo uno qualsiasi e non il solito Access, ma anche Oracle, Microsoft SQL Server, Informix, DB2, Sybase... Sql sta per

Dettagli

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza

Il Domino Character Il domino CHARACTER permette di definire attributi che contengono un singolo carattere o stringhe di caratteri di lunghezza Linguaggio SQL (1) Il linguaggio SQL, acronimo di Structured Query Language è un linguaggio per la definizione e la manipolazione dei dati, sviluppato originariamente presso il laboratorio IBM a San Jose

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 1 Raffaella Gentilini 1 / 67 Sommario 1 Introduzine al Linguaggio SQL Concetti Preliminari 2 3 2 / 67 Concetti Preliminari Il linguaggio SQL SQL Acronimo per

Dettagli

Basi di Dati - VI. Il DDL di SQL. SQL per la definizione di Basi di Dati. SQL per la definizione di Basi di Dati

Basi di Dati - VI. Il DDL di SQL. SQL per la definizione di Basi di Dati. SQL per la definizione di Basi di Dati Basi di Dati - VI Corso di Laurea in Informatica Anno Accademico 2012/2013 Il DDL di SQL Paolo Baldan baldan@math.unipd.it http://www.math.unipd.it/~baldan SQL per la definizione di Basi di Dati 3 SQL

Dettagli

GUIDA BASE ALL SQL by DaD

GUIDA BASE ALL SQL by DaD GUIDA BASE ALL SQL by DaD Introduzione L'SQL, è un linguaggio per database anche se sarebbe meglio definirlo un sublinguaggio in quanto a differenza dei linguaggi veri e propri non possiede alcun comando

Dettagli

MySQL: principali comandi

MySQL: principali comandi MySQL: principali comandi Ing. Davide Vetrale Sommario Introduzione a MySQL e alle sue licenze Connessione/Disconnessione da un database MySQL Creazione utenti Programmi client SQL in MySQL DDL e DML Tipi

Dettagli

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Basi 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:

Dettagli

Oracle PL/SQL. Motivazioni

Oracle PL/SQL. Motivazioni Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

Domini 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

Dettagli

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

Data 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

Dettagli

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null Capitolo 4 Esercizio 4.1 Ordinare i seguenti domini in base al valore massimo rappresentable, supponendo che integer abbia una rappresentazione a 32 bit e smallint a 16 bit: numeric(12,4), decimal(10),

Dettagli

Il 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 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

Dettagli

Il linguaggio SQL e Access

Il linguaggio SQL e Access Il linguaggio SQL e Access 1 Linguaggio SQL Caratteristiche generali L SQL (structured query language) è un linguaggio utilizzato per definire, gestire, controllare e reperire dati di un DBMS; prevede

Dettagli

Linguaggio SQL Descriviamo la notazione usata nel seguito:

Linguaggio SQL Descriviamo la notazione usata nel seguito: Descriviamo la notazione usata nel seguito: i termini del linguaggio sono sottolineati; i termini variabili sono scritti in corsivo; le parentesi angolari (< >)permettono di isolare un termine della sintassi;

Dettagli

SQL Sintassi Dei Comandi

SQL 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

Dettagli

CAPITOLO 5: DATABASE INTRODUZIONE

CAPITOLO 5: DATABASE INTRODUZIONE CAPITOLO 5: DATABASE INTRODUZIONE Una base di dati (o database) è semplicemente una collezione di dati organizzati in qualche modo e con qualche criterio. Il modello più diffuso è quello relazionale, ovvero

Dettagli

SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

SQL 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)

Dettagli

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1

Il linguaggio SQL. Evoluzione del linguaggio. I linguaggi dentro SQL. I dialeu SQL. U@lizzo di SQL SQL. A. Ferrari 1 Il linguaggio SQL Structured Query Language SQL è un linguaggio di interrogazione per database proge

Dettagli

MAX, SUM, AVG, COUNT)

MAX, SUM, AVG, COUNT) INTRODUZIONE A SQL Definizione di tabelle e domini Alcuni vincoli di integrità Struttura base SELECT FROM WHERE Funzioni di aggregazione (MIN, MAX, SUM, AVG, COUNT) Query da più tabelle (FROM R1, Rk) Join

Dettagli

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012

INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 1 INTRODUZIONE AD SQL (CAPITOLO 4) R. Basili a.a. 2011-2012 SQL Dopo aver eseguito l installazione del DBMS e di uno o più database: Accesso al DBMS Interpretazione di uno script Descrizione dello schema

Dettagli

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

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

Dettagli

Corso sul linguaggio SQL

Corso 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

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini SQL SQL = Structured Query Language Linguaggio

Dettagli

Università degli studi di Urbino C.d.L : Informatica Applicata Anno Accademico : 2007/2008. .: FastResearch :. Gestionale per Negozio Informatico

Università degli studi di Urbino C.d.L : Informatica Applicata Anno Accademico : 2007/2008. .: FastResearch :. Gestionale per Negozio Informatico Università degli studi di Urbino C.d.L : Informatica Applicata Anno Accademico : 2007/2008.: FastResearch :. Gestionale per Negozio Informatico..: Realizzato da Giorgio Rosolia Mat. 205993 :.. Corso: Basi

Dettagli

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione

Data base relazionale ed SQL. Modello relazionale dei data base e il linguaggio standard per la loro gestione Data base relazionale ed SQL Modello relazionale dei data base e il linguaggio standard per la loro gestione Contenuti Modello relazionale Cenni sulla progettazione di un data base Normalizzazione delle

Dettagli

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

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

Architettura a tre livelli (1)

Architettura a tre livelli (1) Elaborazione Automatica dei Dati Php e MySQL Enrico Cavalli Anno Accademico 2012-2013 Architettura a tre livelli (1) Le applicazioni sono sviluppate secondo una architettura a tre livelli, affermatasi

Dettagli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli Attività svolta 1. UNITÀ DI APPRENDIMENTO 1: RIPASSO E APPROFONDIMENTO DEGLI ARGOMENTI PRECEDENTI 1.1. Concetti elementari di informatica Algoritmo, Dato, Informazione Campi di applicazione e classificazione

Dettagli

Database e SQL. A cura del prof. Gennaro Cavazza

Database e SQL. A cura del prof. Gennaro Cavazza Database e SQL A cura del prof. Gennaro Cavazza Introduzione ai database La base di qualsiasi esigenza pratica da parte di una qualsiasi organizzazione è quella di gestire dei dati in maniera logica e

Dettagli

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

DDL, 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

Dettagli