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

MySQL Command Line Client: operazioni fondamentali

MySQL 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

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

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

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

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

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

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

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

----------------------------------------------------------------------------

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

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

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

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

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

Laboratorio di Basi di Dati

Laboratorio 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

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

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

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

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

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

Create la tabella Dipendenti:

Create la tabella Dipendenti: Create la tabella Dipendenti: create table Dipendenti( id int(3) not null auto_increment, livello int(1) not null, stipendio int(4) not null, primary key(id)); mysql> describe Dipendenti; --------+------+-----+---------+----------------+

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

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

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

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

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

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

Gestione delle tabelle

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 Creazione di una tabella (1/3) Si utilizza

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

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL 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

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

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

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

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

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

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

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client

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

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

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

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

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

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

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

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

Basi di dati e sistemi informativi I

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

Dettagli

07. Ottimizzare le istruzioni SQL

07. Ottimizzare le istruzioni SQL 07. Ottimizzare le istruzioni SQL Introduzione Union, subquery e Join Il piano di esecuzione L ottimizzatore Le statistiche Il comando EXPLAIN Gli Hint A.A. 2005 Laboratorio di basi di dati - LB 2 La UNION

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

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

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

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

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

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

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

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

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

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

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

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:

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

Dettagli

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi 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 Titolare del corso: ing. Stefano SETTI Lezioni di laboratorio

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

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

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

Corso Sistemi Informativi Avanzati. Programma 30 set 2015. Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Corso 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

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

Riferimenti semi-bibliografici:

Riferimenti semi-bibliografici: 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

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

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

DATA BASE MANAGEMENT SYSTEM

DATA BASE MANAGEMENT SYSTEM DATA BASE (1) Problematica gestione dati: oggetti delle elaborazioni, difficili da gestire, memorizzare, reperire, modificare; talvolta ridondanti/incongruenti; non sufficientemente protetti; spesso comuni

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

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

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

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

Indice generale. Capitolo 3 Introduzione a PHP...43 Sintassi e istruzioni di base... 45 Variabili, operatori e commenti... 47 Array...

Indice 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

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

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

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

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Vincoli 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

Dettagli

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria.

Domini Numerici Esatti (1) I domini numerici esatti permettono di definire attributi che contenegono valori esatti interi o con parte frazionaria. 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

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

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

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

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

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