Istruzioni DML. Istruzioni DML (Data Manipulation Language)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Istruzioni DML. Istruzioni DML (Data Manipulation Language)"

Transcript

1 Istruzioni DML Istruzioni DML pag. 2 Inserimento dati in una tabella : INSERT pag. 2 Aggiornamento dati in una tabella : UPDATE pag. 6 Cancellazione record in una tabella : DELETE pag. 10 Esercizi di riepilogo pag. 13 Bibliografia pag. 14 appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

2 Istruzioni DML Una delle principali funzioni di un database è quella di consentire la manipolazione dei dati contenuti nelle tabelle. Gli utenti devono essere in grado di inserire, aggiornare e cancellare i dati necessari per mantenere aggiornato il database e garantire che vengano introdotti solo dati corretti. Le istruzioni DML (Data Manipulation Language), fornite da SQL, vengono utilizzate per aggiungere, modificare o cancellare i dati memorizzati nelle tabelle del database. L istruzione INSERT consente di aggiungere dati ad una tabella, l istruzione UPDATE consente di modificare i dati contenuti in una tabella e l istruzione DELETE consente di cancellare i dati memorizzati in una tabella. Inserimento dati in una tabella : INSERT L istruzione INSERT consente di aggiungere dati alle tabelle del database secondo la seguente sintassi : INSERT INTO <nome tabella> [ ( <nome colonna> [ {, <nome colonna> }...] ) ] VALUES ( <valore> [ {, <valore>}... ] ) Sono obbligatorie solo la prima e l ultima riga della sintassi mentre la seconda riga è opzionale. Sia la prima che la seconda riga fanno parte della clausola INSERT INTO in cui occorre identificare il nome della tabella in cui si stanno inserendo i dati. Il nome della tabella è specificato dopo le parole riservate INSERT INTO. Quindi si ha la possibilità, nella seconda riga della sintassi, di identificare il nome delle colonne che riceveranno i dati. E possibile specificare una o più colonne, il tutto incluso fra parentesi tonde. Se si specificano più colonne, queste devono essere separate da una virgola. Se si specifica il nome delle colonne, tutte le colonne della tabella di destinazione che non sono state specificate devono supportare l impiego di valori null o devono essere definite con un valore di default; in caso contrario il database non saprà quale valore inserire in queste colonne. Nella terza riga della sintassi, riguardante la clausola VALUES, occorre specificare uno o più valori che verranno inseriti nella tabella. I valori devono essere racchiusi fra parentesi e, se ne viene specificato più d uno, devono essere separati da una virgola. I valori, inoltre, devono rispondere ai seguenti requisiti : appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

3 Ciascun valore di tipo stringa (carattere) deve essere racchiuso fra singoli o doppi apici Se nella clausola INSERT INTO non vengono specificate le colonne, allora vi deve essere un valore per ciascuna colonna della tabella ed i valori devono essere esattamente nello stesso ordine in cui sono stati definiti nella tabella. Si supponga di avere una tabella definita dalla seguente struttura : Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tbdipendenti Matricola Primaria Intero 4 Cognome Carattere 20 Nome Carattere 20 Indirizzo Carattere 40 SI CodiceFiscale Carattere 16 SI Vincolo : valori unici L istruzione che consente di inserire un nuovo record è la seguente : INSERT INTO tbdipendenti VALUES (1, "ROSSI", "MARIO", "VIA MAZZINI, 7", Null); oppure : INSERT INTO tbdipendenti VALUES (1, 'ROSSI', 'MARIO', 'VIA MAZZINI, 7', Null); Matricola Cognome Nome Indirizzo CodiceFiscale 1 ROSSI MARIO VIA MAZZINI, 7 INSERT INTO tbdipendenti VALUES (1, 'ROSSI', 'MARIO', 'VIA MAZZINI, 7'); è errata in quanto manca il valore corrispondente alla colonna CodiceFiscale. Se la colonna può accettare il valore Null è sufficiente indicare tale valore per la colonna, se non si attribuisce uno specifico valore. L istruzione, pertanto, corretta è : INSERT INTO tbdipendenti VALUES (1, 'ROSSI', 'MARIO', 'VIA MAZZINI, 7',Null); INSERT INTO tbdipendenti VALUES (1, 'ROSSI', Null, 'VIA MAZZINI, 7', Null); è errata in quanto si è attribuito il valore Null alla colonna Nome che, dalla definizione della tabella, risulta non accettare tale valore. Per correggere l istruzione è sufficiente attribuire alla colonna un valore qualsiasi, purché diverso da Null. appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

4 Se nella clausola INSERT INTO vengono specificate delle colonne, vi deve essere esattamente un valore per la colonna specificata e tutti i valori devono trovarsi esattamente nello stesso ordine in cui sono stati definiti nella clausola INSERT INTO. Tuttavia le colonne ed i valori non devono necessariamente essere nello stesso ordine in cui si trovano nella tabella. Con la seguente istruzione si inserisce un nuovo record specificando solo i valori corrispondenti alle colonne indicate nella clausola INSERT INTO : INSERT INTO tbdipendenti ( Matricola, Cognome, Nome ) VALUES (2, 'VERDI', 'LUCA'); Matricola Cognome Nome Indirizzo CodiceFiscale 1 ROSSI MARIO VIA MAZZINI, 7 2 VERDI LUCA Lo stesso risultato si ottiene con la seguente istruzione in cui nella clausola INSERT INTO l elenco delle colonne non è lo stesso di quello utilizzato nella definizione della tabella : INSERT INTO tbdipendenti (Nome, Cognome, Matricola ) VALUES ('FRANCA', 'BIANCHI', 3); è importante, come si può notare, la corrispondenza fra il nome della colonna ed il valore ad essa associato. Matricola Cognome Nome Indirizzo CodiceFiscale 1 ROSSI MARIO VIA MAZZINI, 7 2 VERDI LUCA 3 BIANCHI FRANCA INSERT INTO tbdipendenti (Cognome, Matricola ) VALUES ('BIANCHI', 3); è errata in quanto nell elenco delle colonne non è indicata la colonna Nome che, dalla definizione della tabella, non può assumere il valore Null. Nota : nel caso in cui la chiave primaria viene definita come contatore, la colonna corrispondente può essere omessa dall elenco in quanto il nuovo record inserito avrebbe, in tale colonna un valore, pari all incremento impostato in fase di definizione. appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

5 Una colonna può, nella creazione di una tabella, essere definita come contatore nei seguenti modi : In Microsoft Jet (ACCESS, DAO) : NomeColonna Counter per, es. : Matricola Counter In SQL Server o ADO : NomeColonna TipoDato IDENTITY(ValoreIniziale, Incremento) per, es. : Matricola int IDENTITY (in questo modo il valore iniziale e l incremento, per default, sono uguali a 1.) Se il campo Matricola, per es., viene definito come contatore, l istruzione successiva è corretta : INSERT INTO tbdipendenti (Cognome, Nome ) VALUES ('VERDONE', 'VITO'); In questo caso il record inserito avrebbe nel campo Matricola un valore uguale a 4: Matricola Cognome Nome Indirizzo CodiceFiscale 1 ROSSI MARIO VIA MAZZINI, 7 2 VERDI LUCA 3 BIANCHI FRANCA 4 VERDONE VITO Ovviamente è anche corretta, ma non consigliabile l uso altrimenti viene a decadere il concetto di contatore, la seguente istruzione : INSERT INTO tbdipendenti (Matricola,Cognome, Nome ) VALUES (8,'VERDONE', 'VITO'); Matricola Cognome Nome Indirizzo CodiceFiscale 1 ROSSI MARIO VIA MAZZINI, 7 2 VERDI LUCA 3 BIANCHI FRANCA 8 VERDONE VITO Nota : i valori specificati nella clausola VALUES devono rispondere a tutte le restrizioni imposte sulla tabella. Questo significa che i valori devono essere conformi ai tipi di dati e ai domini associati alla colonna. Inoltre i valori sono limitati dai vincoli imposti sulla tabella. Per esempio, un vincolo a chiave esterna può limitare l intervallo di valori che possono essere inseriti nella tabella. Occorre, quindi, assicurarsi di conoscere le restrizioni imposte su una tabella prima di tentare di inserirvi dei dati. appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

6 Aggiornamento dati in una tabella : UPDATE L istruzione UPDATE consente di aggiornare i dati contenuti in un database. Col questa istruzione è possibile modificare i dati contenuti in una o più righe e una o più colonne. La sintassi dell istruzione UPDATE è la seguente : UPDATE <nome tabella> SET <nome colonna> = <espressione> [{,<nome colonna> = < espressione>}...] [WHERE <condizione di ricerca>] Come si può notare, la clausola UPDATE e SET sono obbligatorie mentre la clausola WHERE è opzionale. Nella clausola UPDATE occorre specificare il nome della tabella che si sta aggiornando. Nella clausola SET occorre specificare una o più espressioni. Nella clausola WHERE occorre specificare una condizione o in insieme di condizioni che fungono da filtro per le righe che vengono aggiornate. Verranno, pertanto, aggiornate solo le righe che restituiscono il valore vero (true) per la condizione specificata. E importante sottolineare che se la condizione proposta nella clausola WHERE prende in considerazione la chiave primaria si aggiorna un solo record altrimenti si aggiornano tutti quei record che soddisfano la condizione. La clausola SET include il termine <nome colonna> = <espressione>. E possibile specificare una o più espressioni, in tal caso occorre separarle con una virgola. Fondamentalmente occorre specificare una colonna (della tabella che si sta aggiornando) e fornire un valore da assegnare alla colonna. Si supponga di avere una tabella definita dalla seguente struttura : Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tbarticoli idarticolo Primaria Intero 4 Articolo Carattere 30 CostoAcquisto Numerico 6 2 SI PrezzoVendita Numerico 6 2 SI Sconto Numerico 4 2 SI Giacenza Intero 4 Categoria Carattere 10 e contenente i seguenti dati : appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

7 idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda UPDATE tbarticoli SET Sconto = 10; modifica ogni riga della tabella tbarticoli in modo che la colonna Sconto di ogni riga contenga il valore 10 : idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda Naturalmente questa è un operazione legittima ma in realtà è molto improbabile che si debba cambiare il valore di una colonna di tutte le righe di una tabella in modo da renderle tutti uguali. E molto più probabile che si voglia qualificare l aggiornamento tramite la clausola WHERE. UPDATE tbarticoli SET Sconto = 10 WHERE Sconto = 0 cambia il contenuto della colonna Sconto in 10 ma esegue l operazione solo per le righe che rispondono alla condizione di ricerca contenuta nella clausola WHERE, ovvero per le righe in cui lo Sconto è uguale a 0. Rispetto alla tabella originale, il risultato è il seguente : appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

8 idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda Se, come già detto, nella condizione di ricerca della clausola WHERE è specificata la chiave primaria, allora viene aggiornata solo la riga il cui valore coincide con quello indicato nell espressione. UPDATE tbarticoli SET Sconto = 10 WHERE idarticolo = 1 modifica il valore della colonna Sconto solo in corrispondenza dell unica riga, in quanto si tratta della chiave primaria, la cui colonna idarticolo è uguale a 1. Si potrebbe,inoltre, avere l esigenza di cambiare un valore sulla base del valore preesistente, per esempio facendo riferimento alla giacenza attualmente disponibile. Per esempio si può sommare 5 al valore attualmente contenuto nella colonna Giacenza. UPDATE tbarticoli SET Giacenza = (Giacenza + 5); aggiunge, nella colonna Giacenza, 5 a tutte le righe della tabella, in quanto non viene specificata la clausola WHERE. Rispetto alla tabella originale, il risultato è il seguente : idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda L espressione utilizzata per effettuare la modifica può, ovviamente, essere anche più complessa. appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

9 La seguente istruzione consente di aumentare lo Sconto del 10% in tutte le righe della tabella in cui il valore dello Sconto è maggiore o uguale a 10. UPDATE tbarticoli SET Sconto = Sconto+(Sconto*10)/100 WHERE Sconto >=10; Rispetto alla tabella originale, il risultato è il seguente : idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO ,5 5 Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda La clausola WHERE consente anche di specificare più predicati. Nel seguente esempio si raddoppia il valore della colonna relativa al PrezzoVendita per ogni riga che in cui lo Sconto è minore di 10 e la Categoria è uguale a Video : UPDATE tbarticoli SET PrezzoVendita = 2*[PrezzoVendita] WHERE Sconto<10 And Categoria='Video'; Rispetto alla tabella originale, il risultato è il seguente : idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda in cui è effettivamente raddoppiato il valore della colonna PrezzoVendita nelle righe il cui idarticolo è uguale a 7 ed 8, ovvero le uniche righe che soddisfano la condizione espressa nella clausola WHERE. In una clausola SET è anche possibile specificare più espressioni. In altre parole si possono cambiare i valori di più colonne per volta. Per esempio, si supponga di voler raddoppiare il valore PrezzoVendita ed azzerare il valore Sconto nelle righe in cui la Categoria è uguale a Cartuccia. L istruzione UPDATE avrà il seguente aspetto : appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

10 UPDATE tbarticoli SET PrezzoVendita = 2*PrezzoVendita, Sconto = 0 WHERE Categoria='Cartuccia'; Rispetto alla tabella originale, il risultato è il seguente : idarticolo Articolo CostoAcquisto PrezzoVendita Sconto Giacenza Categoria 1 CARTUCCIA FAX Cartuccia 2 CARTUCCIA COLORE Cartuccia 3 CARTUCCIA NERO Cartuccia 4 COPRISTAMPANTE Accessori 5 MODEM USB 56K Modem 6 MODEM 128K USB Modem 7 MONITOR Video 8 MONITOR Video 9 MOUSE Mouse 10 MOUSE SERIALE Mouse 11 SCHEDA DI RETE Scheda in cui sono state modificate le prime tre righe in base alle espressioni e alla condizione presente nell istruzione. appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

11 Cancellazione record in una tabella : DELETE Una volta che i record di una tabella sono stati inseriti e/o modificati, è possibile che si debba provvedere alla loro cancellazione. La eliminazione di dati da una tabella avviene tramite l istruzione DELETE secondo la seguente sintassi : DELETE FROM <nome tabella> [WHERE <condizione di ricerca>] Come si può notare, la clausola DELETE FROM richiese che venga specificato il nome della tabella dalla quale si stanno cancellando le righe. La clausola WHERE richiede che venga specificata la condizione di ricerca. Se non si include la clausola WHERE, l istruzione DELETE cancellerà tutte le righe della tabella specificata. Nota : l istruzione DELETE può cancellare solo le righe di una tabella; non può cancellare la definizione dei dati contenuti nella tabella. Per cancellare i dati e la loro definizione si deve usare l istruzione DROP TABLE. Si noti che nell istruzione DELETE on vengono indicati i nome delle colonne; questo è dovuto al fatto che non è possibile cancellare da una tabella solo i valori di determinate colonne. E possibile solo cancellare intere righe. Per cancellare il nome di una determinata colonna si usa l istruzione UPDATE che assegna alla colonna il valore nullo. Naturalmente ciò è possibile solo se la colonna supporta i valori null. DELETE FROM tbarticoli ; cancella tutte le righe della tabella tbarticoli. DELETE FROM tbarticoli WHERE Sconto = 0 cancella tutte le righe della tabella in cui il valore della colonna Sconto è uguale a 0. Naturalmente, come già visto nell istruzione UPDATE, la clausola WHERE consente anche di specificare più predicati. In effetti la clausola WHERE consente di specificare esattamente quali righe devono essere cancellate dalla tabella. DELETE FROM tbarticoli WHERE Sconto = 0 AND Giacenza = 0; cancella tutte le righe, se ovviamente esistono, in cui i valori della colonna Sconto e della colonna Giacenza sono uguali a 0. appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

12 Se la chiave primaria è di tipo contatore, se si cancella e poi si inserisce il contatore cosa fa? Osservazione : si supponga si avere la tabella tbprofessioni definita con i campi idprofessione (contatore) e Professione (carattere). La chiave primaria è il campo idprofessione. La tabella contiene, per es., i seguenti dati : idprofessione Professione 1 Operaio 2 Insegnante 3 Medico 4 Ingegnere 5 Avvocato 6 Impiegato es. : Se sulla tabella viene effettuata un istruzione per la cancellazione di una riga, per DELETE FROM tbprofessioni WHERE idprofessione=4; e successivamente un istruzione per l inserimento di una nuova riga, per es. : INSERT INTO tbprofessione (Professione) VALUES ('Infermiere'); il risultato ottenuto è il seguente : idprofessione Professione 1 Operaio 2 Insegnante 3 Medico 5 Avvocato 6 Scrittore 7 Infermiere Come si può notare la riga corrispondente al valore 4 della colonna idprofessione non è stata sostituita dal nuovo inserimento ma, il valore attribuito alla nuova riga inserita è esattamente uguale al valore dell ultima riga della tabella incrementato di 1. Quindi i valori assunti da una chiave primaria, definita come contatore, non possono essere più recuperati in caso di cancellazione. Questo, ovviamente, non accade se la chiave primaria è definita con un altro tipo di dati (intero, carattere, ecc.). appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

13 ESERCIZI Si supponga di avere una tabella definita dalla seguente struttura : Tabella Nome campo Chiave Tipo dati Dim. Dec. Null Descrizione tbdipendenti Matricola Primaria Intero 4 Cognome Carattere 20 Nome Carattere 20 Indirizzo Carattere 40 SI Telefono Carattere 15 SI Comune Carattere 20 SI Inserire una nuova riga nella tabella specificando tutte le colonne ed i valori corrispondenti : INSERT INTO tbdipendenti ( Codice, Cognome, Nome, Indirizzo, Telefono) VALUES ( 15, 'PICCOLO', 'MARCO', 'Via Lombardia, 14', ' ' ) Inserire nella colonna Comune il nome del comune NAPOLI in base al prefisso telefonico indicato nella colonna Telefono (081). UPDATE tbdipendenti SET Comune='NAPOLI' WHERE Telefono >= '081' AND Telefono < '082' Tabella prima dell aggiornamento : Matricola Nome Cognome Indirizzo Telefono Comune 1 Mario Rossi Antonio Verdi Monica Marzo Luca Bianchi Francesca Roma Giovanna Verdone appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

14 Tabella dopo l aggiornamento : Matricola Nome Cognome Indirizzo Telefono Comune 1 Mario Rossi Antonio Verdi NAPOLI 3 Monica Marzo Luca Bianchi NAPOLI 5 Francesca Roma Giovanna Verdone BIBLIOGRAFIA Titolo Autore Casa Editrice Visual Basic 6.0 Accesso ai database Jeffrey P. McManus Mondadori Le basi di dati Il linguaggio SQL Lorenzi - Rossi Atlas Fondamenti di SQL Robert Sheldon Mc GRAW HILL SQL I Portatili Mondadori Programmare Visual Basic 6.0 Francesco Balena Mondadori Visual Basic 6.0 Guida per lo sviluppatore di database MSDN Library (Visual Studio 6.0) Roger Jennings Microsoft Mondadori appunti rielaborati dai testi indicati nella bibliografia (a cura del Prof. Salvatore DE GIORGI) pag

Manuale SQL. Manuale SQL - 1 -

Manuale SQL. Manuale SQL - 1 - Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,

Dettagli

Corso sul linguaggio SQL

Corso sul linguaggio SQL Corso sul linguaggio SQL Modulo L2B (SQL) 3 - Aggiornamento dati 1 Prerequisiti Conoscenza tipi di dato in SQL Creare e gestire tabelle e indici 2 1 Introduzione In questa Unità descriviamo la parte di

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 0 1 8 / 1 9 Concetti Introduttivi 1/2 SQL (Structured Query Language) permette di manipolare i dati, interrogare un database relazionale e modellarne

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2017/2018 1 Settima parte Interrogazione di una

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Docente: Alberto Belussi Lezione 2 Vincoli di integrità Proprietà che devono essere soddisfatte da ogni istanza della base di dati. Il soddisfacimento è definito rispetto al

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi ordinati: order By... 3 Sintassi generale:... 3 Ordinamanto su PIU campi... 3 DML (Data Manipulation Language per inserimento e modifica

Dettagli

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language)

DDL (Data Definition Language) schemi DML (Data Manipulation Language) DQL (Data Query Language) DCL (Data Control Language) o o o o o DDL (Data Definition Language): consente di creare e modificare schemi di database; DML (Data Manipulation Language): consente di inserire, modificare e gestire i dati memorizzati; DQL (Data

Dettagli

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Introduzione a SQL FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Introduzione a SQL Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Le Origini di SQL Principali Versioni Anni 70 1986 SEQUEL Structured English QUEry Language

Dettagli

Tabelle esempio: Impiegato/Dipartimento

Tabelle esempio: Impiegato/Dipartimento Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (4) Query di aggiornamento Prof. Alberto Postiglione

Dettagli

PROGETTAZIONE DI DATABASE

PROGETTAZIONE DI DATABASE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI PROGETTAZIONE DI DATABASE Manipolazione dei dati in SQL Lezione 12 Questa dispensa è rilasciata sotto la licenza Creative Common CC BY-NC-SA. Chiunque

Dettagli

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 (2/3) INSERT inserimento di nuove tuple

Dettagli

Elena Baralis 2013 Politecnico di Torino 1

Elena Baralis 2013 Politecnico di Torino 1 Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE Linguaggio SQL: fondamenti D B M G 2 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple D B M G 4 (2/3) INSERT inserimento

Dettagli

Laboratorio di Sistemi Informativi

Laboratorio di Sistemi Informativi Laboratorio di Sistemi Informativi Corso di Laurea in Informatica - A. A. 2006-2007 Modifica degli schemi Inserimento, cancellazione e modifica dei dati Donatella Merlini Dipartimento di Sistemi e Informatica

Dettagli

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

Structured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB

Dettagli

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL

Manuale Comandi SQL SQL. Sito per esercitarsi (on line) SQL Manuale Comandi SQL Sito per esercitarsi (on line)... 1 SQL... 1 Convenzioni e simboli usati... 2 Query Language... 2 Comando Select... 2 Order By:... 3 Sintassi generale:... 3 Ordinamanto su PIU campi...

Dettagli

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 11. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 11 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

SQL: le funzioni di aggregazione

SQL: le funzioni di aggregazione SQL: le funzioni di aggregazione funzioni predefinite che agiscono sui valori contenuti in insiemi di righe della tabella: Conteggi Somme Medie Massimi, minimi Funzione Count La funzione COUNT conta il

Dettagli

Linguaggio SQL: fondamenti

Linguaggio SQL: fondamenti Introduzione Istruzione INSERT Istruzione DELETE Istruzione UPDATE 2 2007 Politecnico di Torino 1 (1/3) Inserimento di tuple Cancellazione di tuple Modifica di tuple 4 2007 Politecnico di Torino 2 (2/3)

Dettagli

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini

SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA. 3. Panoramica su SQL Prof. Mauro Giacomini SISTEMI INFORMATIVI E TELEMEDICINA INFORMATICA MEDICA 3. Panoramica su SQL Prof. Mauro Giacomini Sommario Introduzione Istruzione SELECT Tipi di Join Subquery Comandi DML Creazione delle tabelle Introduzione

Dettagli

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

A.A. 2018/2019. Esercitazione 12. Strutturazione di Istruzioni in Linguaggio SQL. [ Possibili Soluzioni ] FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE A.A. 2018/2019 Esercitazione 12 Strutturazione di Istruzioni in Linguaggio SQL [ Possibili Soluzioni ] Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Esercizio 1 Scrivere

Dettagli

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto

SQL. Università degli Studi di Salerno. Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto SQL Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 Select La forma di select cui siamo arrivati

Dettagli

Select From Where...

Select From Where... Select From Where... SELECT Le colonne che saranno mostrate e in che ordine. Calcoli su colonne FROM La tabella o le tabelle usate dall interrogazione WHERE Condizione che deve essere soddisfatta dalle

Dettagli

Corso di Basi di Dati A.A. 2015/2016

Corso di Basi di Dati A.A. 2015/2016 Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 - Esercizi Tiziana Catarci, Andrea Marrella Ultimo aggiornamento : 06/04/2016 Esercizio 1 Dare

Dettagli

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

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL

Principi di Progettazione del Software a.a Il linguaggio SQL. Il Linguaggio SQL Principi di Progettazione del Software a.a. 2017-2018 Ing. Università del Salento Il Linguaggio SQL Due componenti principali: Ø DDL (Data Definition Language) Contiene i costrutti necessari per la creazione/modifica

Dettagli

Istruzioni DML. Istruzioni DDL pag. 2 CREATE TABLE pag. 2. ALTER TABLE pag. 6. DROP TABLE pag. 25 CREATE INDEX pag. 26

Istruzioni DML. Istruzioni DDL pag. 2 CREATE TABLE pag. 2. ALTER TABLE pag. 6. DROP TABLE pag. 25 CREATE INDEX pag. 26 Istruzioni DML Istruzioni DDL pag. 2 CREATE TABLE pag. 2 La clausola IDENTITY o COUNTER Valori predefiniti DEFAULT Definizione dei vincoli di integrità dei dati Vincolo NOT NULL Vincolo CHECK Vincolo UNIQUE

Dettagli

Interpretazione delle query nidificate

Interpretazione delle query nidificate Interpretazione delle query nidificate Per analizzare il risultato di una interrogazione nidificata si può supporre di valutare prima il risultato dell interrogazione nidificata (query interna) per poi

Dettagli

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe SQL SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe Operazioni di aggiornamento Abbiamo visto come creare tabelle e come interrogarle. Vedremo ora come popolarle

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Il Linguaggio SQL Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Il Linguaggio SQL SQL (Structured Query Language) è il linguaggio di riferimento per le basi di dati

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

SQL DDL. Create database. Alter database. Drop database

SQL DDL. Create database. Alter database. Drop database SQL In informatica, SQL (Structured Query Language) è un linguaggio standardizzato per database basati sul modello relazionale (RDBMS), progettato per le seguenti operazioni: creare e modificare schemi

Dettagli

Inserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52)

Inserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52) Inserimento insert into Dipartimento(NomeDip, Città) values('produzione','torino') Si utilizza in genere mediante una maschera (form) per consentire agli utenti di inserire dati. L'ordinamento degli attributi

Dettagli

La connessione ai database MySQL tramite script PHP versione 5.5

La connessione ai database MySQL tramite script PHP versione 5.5 La connessione ai database MySQL tramite script PHP versione 5.5 Php è un linguaggio di scripting che estende le funzionalità del server Web, mentre MySQL è un programma server che si occupa della gestione

Dettagli

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati

Corso di. Basi di Dati I. 7. Esercitazioni in SQL: Definizione e manipolazione dei dati Corso di Basi di Dati 7. Esercitazioni in SQL: Definizione e manipolazione dei dati A.A. 2016 2017 Collegarsi a MySQL, caricare e salvare basi di dati Per collegarsi a mysql, aprire un terminale e inserire

Dettagli

IL MODELLO RELAZIONALE

IL MODELLO RELAZIONALE Basi di dati 1 IL MODELLO RELAZIONALE (CAPITOLO 2) Codd 1970 Indipendenza dei dati Distinzione nella descrizione dei dati tra livello fisico e livello logico Vendors IBM,Informix,Microsoft,Oracle,Sybase

Dettagli

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

SQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri

Dettagli

Appunti su SQL. Query Language. Comando Select

Appunti su SQL. Query Language. Comando Select Appunti su SQL Query Language... 1 Comando Select... 1 Select con campi calcolati e order By... 4 campi calcolati Sintassi generale:... 4 order By Sintassi generale:... 4 Select con Join (due tabelle)...

Dettagli

QL (Query Language) Alice Pavarani

QL (Query Language) Alice Pavarani QL (Query Language) Alice Pavarani QL Query Language Linguaggio di interrogazione dei dati, permette di: Interrogare la base di dati per estrarre informazioni Elaborare i dati Il risultato di un interrogazione

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti

Dettagli

Caratteristiche dei linguaggi per Database

Caratteristiche dei linguaggi per Database IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati 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 SQL è

Dettagli

PRODOTTO CARTESIANO Caso Generale

PRODOTTO CARTESIANO Caso Generale PRODOTTO CARTESIANO Caso Generale Vincoli di integrità dei dati Un database non deve solamente memorizzare i dati, ma garantire che i dati memorizzati siano corretti; se i dati sono imprecisi o incoerenti,

Dettagli

Silvia Chiusano, Paolo Garza 1

Silvia Chiusano, Paolo Garza 1 Creazione di un trigger Sviluppo ed utilizzo dei trigger in Oracle Silvia Chiusano Paolo Garza CREATE TRIGGER nome_trigger modo evento [OR evento] ON tabella [REFERENCING referenza] [] [WHEN (predicato

Dettagli

SQL. Dott.ssa Elisa Quintarelli

SQL. Dott.ssa Elisa Quintarelli Corso Basi di Dati Dott.ssa Elisa Quintarelli SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio universale dei sistemi relazionali È un linguaggio con varie funzionalità:

Dettagli

SQL: DDL, VI, Aggiornamenti e Viste

SQL: DDL, VI, Aggiornamenti e Viste SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce

Dettagli

Stringhe di caratteri

Stringhe di caratteri Domini primitivi In SQL sono disponibili alcune famiglie di domini elementari attraverso le quali è possibile definire i domini di appartenenza dei campi. Stringhe di caratteri CHARACTER [VARYING] [(NumeroCaratteri)]

Dettagli

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste Corso di Basi di Dati 9. Esercitazioni in SQL: Check, asserzioni, viste A.A. 2016 2017 Check Come abbiamo visto, SQL permette di specificare vincoli sugli attributi e le tabelle attraverso il comando check

Dettagli

Interrogazioni nidificate

Interrogazioni nidificate Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,

Dettagli

3. Le routine evento in Access 2000/2003

3. Le routine evento in Access 2000/2003 LIBRERIA WEB 3. Le routine evento in Access 2000/2003 Le routine evento possono essere associate a un singolo controllo grafico (caselle di testo, pulsanti di comando, ecc.) presente all interno di una

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo

Dettagli

Per la tabella RelArticoloAutore bisogna creare una chiave multicampo; definiti i campi IdArticolo Numerico e Nome TEXT,

Per la tabella RelArticoloAutore bisogna creare una chiave multicampo; definiti i campi IdArticolo Numerico e Nome TEXT, PROSEGUENDO. Ora sapete creare le altre tabelle; cominciamo da: Autori, con due campi: Nome chiave primaria TEXT Contatto campo non obbligatorio di tipo NOTE, con ad es. email, inirizzo,. RelArticoloAutore,

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

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno

Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (1) Interrogazioni semplici Prof. Alberto Postiglione

Dettagli

Informatica Grafica. Basi di dati parte 2

Informatica Grafica. Basi di dati parte 2 Informatica Grafica Corso di Laurea in Ingegneria Edile Architettura Basi di dati parte 2 Michele Lombardi su materiale originario di Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica

Dettagli

DATABASE PER IL WEB. Programmazione Web 1

DATABASE PER IL WEB. Programmazione Web 1 DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca

Dettagli

Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL

Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL Corso di Basi di Dati Prime nozioni relative all utilizzo del DBMS MySQL Francesco Leotta Ultimo aggiornamento : 03/04/2013 Il DBMS che utilizzeremo: MySQL MySQL è un RDBMS open-source disponibile gratuitamente

Dettagli

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

I.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1 I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice

Dettagli

Queries su più tabelle

Queries su più tabelle Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola: Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare

Dettagli

PHP ESSENTIALS #10. By WI400 Team. : database e sql

PHP ESSENTIALS #10. By WI400 Team. : database e sql PHP ESSENTIALS #10 By WI400 Team : database e sql sql dialetto e sintassi SQL: Sintassi SQL E possibile inserire un record con l istruzione SQL INSERT: INSERT INTO users VALUES mario', md5 mario'), Mario',

Dettagli

VARIABILI, ASSEGNAZIONE, DECISIONI

VARIABILI, ASSEGNAZIONE, DECISIONI LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) PAG. 1 / 6 LEZIONE-TSQL-03 PROGRAMMAZIONE (VER02) T-SQL PROGRAMMAZIONE PARTE TERZA VARIABILI, ASSEGNAZIONE, DECISIONI Tratto da Gregory A. Larsen, http://www.databasejournal.com/features/mssql/article.php/3087431/t-sql-programming-part-1---defining-variables-and-if-logic.htm

Dettagli

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi Corso di Basi di Dati 10. Esercitazioni in SQL: Complementi A.A. 2016 2017 Funzioni condizionali Vediamo qualche altro comando utile di SQL. Il comando coalesce ammette come argomento una sequenza di espressioni

Dettagli

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE ARCHIVIAZIONE DEI DATI I vari S.O. e i cosiddetti linguaggi ad alto livello mettono a disposizione varie tipologie di file per l archiviazione e gestione

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : SQL (3) Tabelle multiple, variabili, operatori di aggregazione QUERIES SU PIU TABELLE Queries su più tabelle 17 mar 010 Dia 3 17 mar 010 Dia 4 Per formulare un interrogazione su più tabelle, la clausola

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

SQL. Lezione 1. Docente: Alberto Belussi

SQL. Lezione 1. Docente: Alberto Belussi LaboratoriodiBasidiDatieWeb 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 SQL è

Dettagli

Basi di Dati: Corso di laboratorio

Basi di Dati: Corso di laboratorio Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML

Dettagli

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1 Vincoli, procedure e regole attive in SQL SQL: vincoli, trigger 1 Qualità dei dati Qualità dei dati: correttezza, completezza, attualità In molte applicazioni reali i dati sono di scarsa qualità (5% -

Dettagli

A. Veneziani Linguaggio SQL

A. Veneziani Linguaggio SQL A. Veneziani Linguaggio SQL Creazione di un DB istruzione CREATE DATABASE Per creare un nuovo database (DB), tramite il linguaggio SQL, si utilizza l istruzione SQL: CREATE DATABASE ; è possibile

Dettagli

Tipi di sottoquery SQL

Tipi di sottoquery SQL Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS

Dettagli

LEFT JOIN - RIGHT JOIN - SELF JOIN - CROSS JOIN

LEFT JOIN - RIGHT JOIN - SELF JOIN - CROSS JOIN Istruzione SELECT Istruzione SELECT pag. 3 Uso dell istruzione SELECT per prelevare i dati pag. 7 La clausola FROM pag. 8 Creare Alias per i nome di campi con subclausola AS pag. 10 Clausola WHERE pag.

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ PATENTE EUROPEA DEL COMPUTER 5.0 MODULO 5 Database (Microsoft Access 2007) Parte 3 A cura di Mimmo Corrado Gennaio 2012 MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ Il Modulo 5, richiede che il candidato

Dettagli

GESTIONE MAGAZZINO 2

GESTIONE MAGAZZINO 2 GESTIONE MAGAZZINO 2 Un azienda vuole automatizzare la procedura di gestione delle scorte del suo magazzino di articoli organizzato per reparti e classificati in base alla categoria merceologica. Nella

Dettagli

Viste come strumenti di programmazione

Viste come strumenti di programmazione Viste come strumenti di programmazione Trovare gli impiegati che hanno lo stesso capo di Rossi Senza vista: PROJ Impiegato ((Afferenza JOIN Direzione) JOIN REN ImpR,RepR Impiegato,Reparto ( SEL Impiegato='Rossi'

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) Struttura delle tabelle

Corso di Access. Prerequisiti. Modulo L2A (Access) Struttura delle tabelle Corso di Access Modulo L2A (Access) 1.3.1 Struttura delle tabelle 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati Gli oggetti di Access 2 1 Introduzione Il concetto

Dettagli

Sommario. Introduzione... 13

Sommario. Introduzione... 13 Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26

Dettagli

<Nome Tabella>.<attributo>

<Nome Tabella>.<attributo> Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto

Dettagli

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

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio Relazioni e tabelle Introduzione alle Basi di Dati Relazionali Nelle Basi di Dati relazionali le informazioni sono organizzate in tabelle Le tabelle sono rappresentate mediante griglie suddivise in colonne

Dettagli

Interrogazioni in SQL SQL1 1

Interrogazioni in SQL SQL1 1 Interrogazioni in SQL SQL1 1 Dichiaratività di SQL E un linguaggio di IV generazione: in SQL l'utente specifica QUALE informazione è di suo interesse ma non COME estrarla dai dati il sistema costruisce

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

Filtri. Microsoft Access. Filtri. Filtri

Filtri. Microsoft Access. Filtri. Filtri Filtri Microsoft Access Filtri, query Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo requisito Per applicare un filtro a una tabella è

Dettagli

Esempio di database relazionale con l utilizzo del prodotto MySQL

Esempio di database relazionale con l utilizzo del prodotto MySQL Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene

Dettagli

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

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL Operazioni di aggiornamento operazioni di inserimento: insert eliminazione: delete modifica: update di una o più ennuple di una

Dettagli

Linguaggio SQL: fondamenti D B M G

Linguaggio SQL: fondamenti D B M G Linguaggio SQL: fondamenti D B M G Introduzione Introduzione al linguaggio SQL Istruzioni del linguaggio Notazione D B M G 2 Il linguaggio SQL Linguaggio per gestire le basi di dati relazionali Structured

Dettagli

CORSO ACCESS 2000 PARTE VI

CORSO ACCESS 2000 PARTE VI Le Query Le Query selezionano dati, da una o più tabelle in un database, che soddisfano determinati requisiti e visualizzano i risultati in un foglio dati. I dati richiesti vengono visualizzati in un recordset

Dettagli

Alessandra Raffaetà. Esercizio: Cinema

Alessandra Raffaetà. Esercizio: Cinema Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà Lezione 8 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Esercizio: Cinema

Dettagli

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web PHP e MySQL Laboratorio di Progettazione Web AA 2007/2008 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it PHP e MySQL L accesso a MySQL server da PHP si può effettuare con semplici funzioni. La sequenza dei

Dettagli

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi Le basi di dati Le basi di dati dalla teoria all'utilizzo di tutti i giorni Alessandro Tanasi alessandro@lonerunners.net http://www.lonerunners.net 1 Sistemi Informativi Il problema: organizzare dati in

Dettagli

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

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere

Dettagli

Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle

Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2007 Politecnico di Torino 1 DB M B G Linguaggio SQL: fondamenti Introduzione Istruzione SELECT: fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle

Dettagli

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3 SQL originariamente

Dettagli