SQL per la modifica di basi di dati

Slides:



Advertisements
Presentazioni simili
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Advertisements

SQL (Standard query language) Istruzioni per la creazione di una tabella: Create table ( tipo, (, [vincoli]) Primary key ( ) CHIVE PRIMARIA Foreign key(
SQL Structured Query Language
SQL per la modifica di basi di dati. 29/01/2014SQL per la modifica di basi di dati2 Data Manipulation Language Introduciamo ora il Data Manipulation Language.
SQL Per la modifica di basi di dati
Basi di dati Claudia Raibulet
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
CORSO elementare su DATABASE Applicativo utilizzato OpenOffice 3.0.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Basi di dati - Fondamenti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Database Accesso Utenti diversi Programmi diversi Modelli di database
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Ingegneria del Web A A
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Corso di Basi di Dati Il Linguaggio SQL
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Integrità referenziale
Corso di Basi di Dati Il Linguaggio SQL
La normalizzazione delle relazioni
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Corso di Basi di Dati Il Linguaggio SQL
Excel 1 - Introduzione.
Corso di Basi di Dati Il Linguaggio SQL
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I FILES AD ACCESSO SEQUENZIALE
Creare un server casalingo - 3
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Introduzione alle basi di dati
© 2007 SEI-Società Editrice Internazionale, Apogeo
Access.
INTRODUZIONE A EXCEL Il foglio elettronico o foglio di calcolo è una tabella che contiene parole e numeri che possono essere elaborati applicando formule.
Interrogazioni Nidificate
Dino Pedreschi Dipartimento di Informatica a.a. 2011– 2012
Structured Query Language
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
La struttura dei primi programma in C
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Excel 3 - le funzioni.
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Fogli di Calcolo Elettronici
Operatori aggregati e raggruppamenti
Docente: Sabato Bufano
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

SQL per la modifica di basi di dati

Data Manipulation Language Introduciamo ora il Data Manipulation Language (DML) ossia il linguaggio SQL che serve per manipolare i dati e interrogare il database. Inizialmente descriveremo le istruzioni che servono a inserire, cancellare e modificare i dati. In seguito introdurremo le istruzioni per estrarre dal database le informazioni che ci interessano. 03/01/2019 SQL per la modifica di basi di dati

SQL per modificare basi di dati I dati possono essere modificati mediante tre istruzioni: Insert Delete Update 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Insert semplice Supponiamo di volere inserire un nuovo dato in una tabella. Tale operazione si realizza mediante l’istruzione INSERT INTO… VALUES Sintassi: INSERT INTO nome tabella [(ListaAttributi)] VALUES (ListaDiValori) | SQLSelect 03/01/2019 SQL per la modifica di basi di dati

Inserimento caratteri e date I dati char, varchar, vanno inseriti tra apici Una data deve essere inserita fra apici e deve essere espressa nel formato di default di ORACLE. Questa edizione di Oracle accetta il formato di data italiano ossia giorno, mese, anno, inframezzati da / o da - , dove il mese va espresso con le sue prime tre lettere (gen,feb,…) e l’anno per intero. Esempio: ’15/giu/2004’ , ’21-gen-2007’ 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Insert, Esempio 1 Supponiamo di avere definito la tabella: Esami Corso Insegnante Matricola Voto INSERT INTO Esami (Corso, Matricola, Voto) VALUES (‘DB1’, ‘123456’, 27) Corso Insegnante Matricola Voto DB1 NULL 123456 27 Ai valori non attribuiti viene assegnato NULL, a meno che non sia specificato un diverso valore di default. L’inserimento fallisce se NULL non è permesso per gli attributi mancanti. 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Insert, Esempio 2 INSERT INTO Esami VALUES (‘DB2’, ‘Verdi’, ‘123123’, 30) Corso Insegnante Matricola Voto DB1 NULL 123456 27 DB2 Verdi 123123 30 Non specificare gli attributi equivale a specificare tutte le colonne della tabella. NB: Si deve rispettare l’ordine degli attributi 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio 1 Inserire nella tabella categorie i seguenti elementi Cat_cod Cat_descrizione L10 Libreria M10 Mobile M20 Armadio S10 Sedia T10 Tavolo 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio 1, soluzione Insert into categorie Values (‘L10’, ‘Libreria’) Insert into Categorie Values(‘M10’, ‘Mobile’) Values(‘M20’, ‘Armadio’) Values(‘S10’, ‘Sedia’) Insert into Categorie Values(‘T10’, ‘Tavolo’) 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio 2 Inserire nella tabella Componenti i valori Com_cod = 0010 Com_descrizione = Montante laterale 100 cm Com_costo = 50.00 Lab_cod = 0010 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio 2… Problemi? Il DBMS si rifiuta di inserire questo dato? Perché secondo voi? La colonna lab_cod di Componenti fa riferimento alla Colonna lab_cod della tabella Laboratori, i cui elementi non sono ancora stati inseriti. In particolare, il valore ‘0010’ non è ancora presente nella colonna lab_cod della tabella Laboratori, quindi il DBMS non sa a cosa si riferisce il valore 0010 inserito nella colonna lab_cod della tabella Componenti. Occorre prima inserire i valori nella tabella Laboratori! 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio 3 Inserire nella tabella Articoli la riga contenente i valori Art_cod=L100 Cat_cod=L10 Art_descrizione=Libreria 100 cm x 120 cm Art_prezzo=475.00 Art_IVA=20 Art_Spese_trasporto=48.00 Continuare con l’inserimento dei dati nel foglio di esercizi 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio 4 Inserire i valori della tabella Laboratori, come figurano nel foglio di esercitazione. Quindi inserire i valori di Componenti! 03/01/2019 SQL per la modifica di basi di dati

Insert mediante SELECT E’ possibile effettuare un insert prendendo i dati da un’altra tabella. Questo è possibile mediante il comando di interrogazione del database SELECT, che vedremo nelle prossime lezioni. Parleremo in seguito di questo tipo di inserimento di dati. Con questo tipo di insert si possono effettuare tanti inserimenti simultaneamente. Esempio: Tabella: Indirizzi_Studenti( Indirizzo, Telefono, Email) INSERT INTO Indirizzi_Studenti (Indirizzo, Telefono) SELECT Indirizzo, Telefono FROM Studenti 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Delete Cancellazione di righe da tabelle Sintassi: DELETE FROM nome_tabella [WHERE Condizione] Per eliminare un elemento bisogna individuare quale. Questo si può stabilire mediante la clausola WHERE, dove viene stabilita una condizione che individua l’elemento (o gli elementi) da cancellare. Spesso un particolare elemento può essere individuato mediante il valore che assume nell’attributo che definisce la chiave primaria. 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Delete, esempio Cancellare dalla tabella Esami i dati relativi allo studente il cui numero di matricola è ‘123456’ DELETE FROM Esami WHERE Matricola = ‘123456’ Operazione non (facilmente) reversibile Se la condizione e’ omessa cancella l’intero contenuto della tabella (!!! Attenzione quindi !!!) Lo schema invece resta DELETE FROM Esami Restituisce la tabella Esami con l’istanza vuota 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Esercizio Cancellare dalla tabella Categorie la riga la cui descrizione è ‘Sedia’ Delete from Categorie Where cat_descrizione=‘Sedia’ 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Delete La condizione può essere una normale condizione di SELECT (vedremo dopo) Questa modalità di delete permette di cancellare più righe con un’unica istruzione, purchè le righe soddisfino la condizione. Esempio: Eliminare tutti le righe della tabella esami in cui il numero di matricola non si trova nella tabella Studenti DELETE FROM Esami WHERE Matricola NOT IN (SELECT Matricola FROM Studenti) 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Update Inoltre è possibile aggiornare alcuni dati seguendo la seguente sintassi: UPDATE Tabella SET Attributo = Espr WHERE Condizione 03/01/2019 SQL per la modifica di basi di dati

SQL per la modifica di basi di dati Update, esempi Esempio: Dalla tabella Aule modificare il numero dell’aula da 3 a 7. UPDATE Aule SET Aula = 7 WHERE Aula = 3 Esempio: modificare il valore del reddito delle persone più giovani di 30 anni attribuendo loro un aumento del 10%. UPDATE Persone SET Reddito = Reddito * 1.1 WHERE Eta < 30 03/01/2019 SQL per la modifica di basi di dati